├── .gitignore
├── LICENSE
├── MIUIVerificationCode.pattern
├── Makefile
├── README.md
├── SMSCodeHelper.iml
├── Screener
├── 20151225190538.png
├── 20151225190615.png
├── 20151225190651.png
├── 20151225190757.png
└── 20151225191021.png
├── apk
├── me.gitai.smscodehelper-release-c1-v0.0.1-t12251854.apk
├── me.gitai.smscodehelper-release-c10-v0.0.8.apk
├── me.gitai.smscodehelper-release-c2-v0.0.2-t12261829.apk
├── me.gitai.smscodehelper-release-c3-v0.0.3.apk
├── me.gitai.smscodehelper-release-c4-v0.0.4.apk
├── me.gitai.smscodehelper-release-c5-v0.0.5.apk
├── me.gitai.smscodehelper-release-c7-v0.0.6.apk
└── me.gitai.smscodehelper-release-c8-v0.0.7.apk
├── app
├── .gitignore
├── app.iml
├── build.gradle
├── deps
│ └── xposed_api_54.jar
├── libs
│ ├── libMokeeCloud.jar
│ └── systembartint-1.0.4.jar
├── mapping.txt
├── proguard-rules.pro
└── src
│ ├── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ └── xposed_init
│ ├── java
│ │ └── me
│ │ │ └── gitai
│ │ │ ├── library
│ │ │ ├── Charsets.java
│ │ │ ├── utils
│ │ │ │ ├── ActivityUtils.java
│ │ │ │ ├── AndroidUtils.java
│ │ │ │ ├── AssertUtils.java
│ │ │ │ ├── CrashUtil.java
│ │ │ │ ├── CryptoUtils.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── IOUtils.java
│ │ │ │ ├── L.java
│ │ │ │ ├── PackageUtils.java
│ │ │ │ ├── ParseAboutXml.java
│ │ │ │ ├── SharedPreferencesUtil.java
│ │ │ │ ├── StringUtils.java
│ │ │ │ ├── ThreadUtils.java
│ │ │ │ ├── ToastUtil.java
│ │ │ │ ├── adapter
│ │ │ │ │ ├── BaseAdapterHelper.java
│ │ │ │ │ ├── BaseQuickAdapter.java
│ │ │ │ │ └── QuickAdapter.java
│ │ │ │ └── io
│ │ │ │ │ ├── BoundedInputStream.java
│ │ │ │ │ ├── CountingInputStream.java
│ │ │ │ │ ├── CountingOutputStream.java
│ │ │ │ │ ├── NameGenerator.java
│ │ │ │ │ ├── ProxyInputStream.java
│ │ │ │ │ ├── ProxyOutputStream.java
│ │ │ │ │ ├── SafeFileNameGenerator.java
│ │ │ │ │ └── StringBuilderWriter.java
│ │ │ └── widget
│ │ │ │ └── MaterialDialog.java
│ │ │ └── smscodehelper
│ │ │ ├── Constant.java
│ │ │ ├── SMSApp.java
│ │ │ ├── bean
│ │ │ └── MSG.java
│ │ │ ├── bundle
│ │ │ ├── BundleScrubber.java
│ │ │ └── PluginBundleManager.java
│ │ │ ├── hook
│ │ │ ├── Patch.java
│ │ │ └── SmsReceiver.java
│ │ │ ├── receiver
│ │ │ ├── CopyReceiver.java
│ │ │ ├── QueryReceiver.java
│ │ │ ├── SMSBroadcastReceiver.java
│ │ │ └── SecretCodeReceiver.java
│ │ │ ├── ui
│ │ │ ├── AbstractPluginActivity.java
│ │ │ ├── MainPreferences.java
│ │ │ └── TaskerActivity.java
│ │ │ ├── utils
│ │ │ ├── Captchas.java
│ │ │ └── TaskerPlugin.java
│ │ │ └── widget
│ │ │ ├── EditPreference.java
│ │ │ ├── GuessPreference.java
│ │ │ ├── InertCheckBox.java
│ │ │ ├── TestPreference.java
│ │ │ └── VersionPreference.java
│ └── res
│ │ ├── drawable-hdpi
│ │ └── ic_notify.png
│ │ ├── drawable-mdpi
│ │ └── ic_notify.png
│ │ ├── drawable-xhdpi
│ │ └── ic_notify.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_notify.png
│ │ ├── drawable-xxxhdpi
│ │ └── ic_notify.png
│ │ ├── drawable
│ │ ├── button.xml
│ │ ├── material_card.xml
│ │ ├── material_card_nos.xml
│ │ ├── material_card_nos_pressed.xml
│ │ └── material_dialog_window.xml
│ │ ├── layout
│ │ ├── item_log.xml
│ │ ├── layout_about.xml
│ │ ├── layout_editdialog.xml
│ │ ├── layout_materialdialog.xml
│ │ ├── layout_tasker.xml
│ │ ├── layout_test.xml
│ │ └── spinner_item.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── values-v14
│ │ └── styles.xml
│ │ ├── values-v19
│ │ └── strings.xml
│ │ ├── values-v21
│ │ └── styles.xml
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ ├── values-zh-rCN-v19
│ │ └── strings.xml
│ │ ├── values-zh-rCN
│ │ └── strings.xml
│ │ ├── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ │ └── xml
│ │ ├── about.xml
│ │ └── preferences.xml
│ └── test
│ └── java
│ └── me
│ └── gitai
│ └── smscodehelper
│ └── utils
│ ├── CaptchasTest.java
│ ├── ParseAboutXmlTest.java
│ └── testSMS.json
├── build.gradle
├── buildscripts
├── jacoco.gradle
└── utils.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── ic_launcher.png
├── localeapi
├── build.gradle
├── demo
│ ├── display.zip
│ ├── display
│ │ ├── locale-api
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── License.txt
│ │ │ ├── Read Me.txt
│ │ │ ├── build.xml
│ │ │ ├── lint.xml
│ │ │ ├── proguard-project.txt
│ │ │ ├── project.properties
│ │ │ ├── res
│ │ │ │ ├── drawable-hdpi-v14
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ │ ├── drawable-ldpi-v14
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ │ ├── drawable-mdpi-v14
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ │ ├── drawable-xhdpi-v14
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ │ ├── drawable
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.xml
│ │ │ │ │ ├── twofortyfouram_locale_ic_menu_help.xml
│ │ │ │ │ └── twofortyfouram_locale_ic_menu_save.xml
│ │ │ │ ├── menu
│ │ │ │ │ └── twofortyfouram_locale_help_save_dontsave.xml
│ │ │ │ ├── values-cs
│ │ │ │ │ └── strings-cs.xml
│ │ │ │ ├── values-de
│ │ │ │ │ └── strings-de.xml
│ │ │ │ ├── values-es
│ │ │ │ │ └── strings-es.xml
│ │ │ │ ├── values-fr
│ │ │ │ │ └── strings-fr.xml
│ │ │ │ ├── values-hdpi
│ │ │ │ │ └── integers.xml
│ │ │ │ ├── values-it
│ │ │ │ │ └── strings-it.xml
│ │ │ │ ├── values-ja
│ │ │ │ │ └── strings-ja.xml
│ │ │ │ ├── values-ko
│ │ │ │ │ └── strings-ko.xml
│ │ │ │ ├── values-ldpi
│ │ │ │ │ └── integers.xml
│ │ │ │ ├── values-mdpi
│ │ │ │ │ └── integers.xml
│ │ │ │ ├── values-nb
│ │ │ │ │ └── strings-nb.xml
│ │ │ │ ├── values-nl
│ │ │ │ │ └── strings-nl.xml
│ │ │ │ ├── values-pt-rBR
│ │ │ │ │ └── strings-pt-rBR.xml
│ │ │ │ ├── values-ru
│ │ │ │ │ └── strings-ru.xml
│ │ │ │ ├── values-sv
│ │ │ │ │ └── strings-sv.xml
│ │ │ │ ├── values-v11
│ │ │ │ │ └── styles.xml
│ │ │ │ ├── values-v14
│ │ │ │ │ └── styles.xml
│ │ │ │ ├── values-v9
│ │ │ │ │ └── styles.xml
│ │ │ │ ├── values-vi
│ │ │ │ │ └── strings-vi.xml
│ │ │ │ └── values
│ │ │ │ │ ├── id.xml
│ │ │ │ │ ├── strings-en.xml
│ │ │ │ │ └── styles.xml
│ │ │ └── src
│ │ │ │ └── com
│ │ │ │ └── twofortyfouram
│ │ │ │ └── locale
│ │ │ │ ├── BreadCrumber.java
│ │ │ │ ├── Constants.java
│ │ │ │ ├── Intent.java
│ │ │ │ └── PackageUtilities.java
│ │ ├── locale-display_condition_plugin-test
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── ant.properties
│ │ │ ├── build.xml
│ │ │ ├── proguard-project.txt
│ │ │ ├── project.properties
│ │ │ ├── res
│ │ │ │ └── values
│ │ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ │ └── com
│ │ │ │ └── yourcompany
│ │ │ │ └── yourcondition
│ │ │ │ ├── bundle
│ │ │ │ ├── BundleScrubberTest.java
│ │ │ │ └── PluginBundleManagerTest.java
│ │ │ │ ├── receiver
│ │ │ │ └── ReceiverTest.java
│ │ │ │ ├── test
│ │ │ │ ├── BundleTestHelper.java
│ │ │ │ └── ManifestTest.java
│ │ │ │ └── ui
│ │ │ │ ├── EditActivityTest.java
│ │ │ │ └── InfoActivityTest.java
│ │ └── locale-display_condition_plugin
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── License.txt
│ │ │ ├── Read Me.txt
│ │ │ ├── build.xml
│ │ │ ├── lint.xml
│ │ │ ├── proguard-project.txt
│ │ │ ├── project.properties
│ │ │ ├── res
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_locale_plugin.png
│ │ │ ├── drawable-ldpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_locale_plugin.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_locale_plugin.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_locale_plugin.png
│ │ │ ├── layout
│ │ │ │ └── main.xml
│ │ │ └── values
│ │ │ │ ├── arrays.xml
│ │ │ │ └── strings.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── yourcompany
│ │ │ └── yourcondition
│ │ │ ├── Constants.java
│ │ │ ├── PluginApplication.java
│ │ │ ├── bundle
│ │ │ ├── BundleScrubber.java
│ │ │ └── PluginBundleManager.java
│ │ │ ├── receiver
│ │ │ ├── BackgroundService.java
│ │ │ ├── QueryReceiver.java
│ │ │ └── ServiceWakeLockManager.java
│ │ │ └── ui
│ │ │ ├── AbstractPluginActivity.java
│ │ │ ├── EditActivity.java
│ │ │ └── InfoActivity.java
│ ├── toast.zip
│ └── toast
│ │ ├── locale-api
│ │ ├── AndroidManifest.xml
│ │ ├── License.txt
│ │ ├── Read Me.txt
│ │ ├── build.xml
│ │ ├── lint.xml
│ │ ├── proguard-project.txt
│ │ ├── project.properties
│ │ ├── res
│ │ │ ├── drawable-hdpi-v14
│ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ ├── drawable-ldpi-v14
│ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ ├── drawable-mdpi-v14
│ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ ├── drawable-xhdpi-v14
│ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ │ │ │ ├── twofortyfouram_locale_ic_menu_help.png
│ │ │ │ └── twofortyfouram_locale_ic_menu_save.png
│ │ │ ├── drawable
│ │ │ │ ├── twofortyfouram_locale_ic_menu_dontsave.xml
│ │ │ │ ├── twofortyfouram_locale_ic_menu_help.xml
│ │ │ │ └── twofortyfouram_locale_ic_menu_save.xml
│ │ │ ├── menu
│ │ │ │ └── twofortyfouram_locale_help_save_dontsave.xml
│ │ │ ├── values-cs
│ │ │ │ └── strings-cs.xml
│ │ │ ├── values-de
│ │ │ │ └── strings-de.xml
│ │ │ ├── values-es
│ │ │ │ └── strings-es.xml
│ │ │ ├── values-fr
│ │ │ │ └── strings-fr.xml
│ │ │ ├── values-hdpi
│ │ │ │ └── integers.xml
│ │ │ ├── values-it
│ │ │ │ └── strings-it.xml
│ │ │ ├── values-ja
│ │ │ │ └── strings-ja.xml
│ │ │ ├── values-ko
│ │ │ │ └── strings-ko.xml
│ │ │ ├── values-ldpi
│ │ │ │ └── integers.xml
│ │ │ ├── values-mdpi
│ │ │ │ └── integers.xml
│ │ │ ├── values-nb
│ │ │ │ └── strings-nb.xml
│ │ │ ├── values-nl
│ │ │ │ └── strings-nl.xml
│ │ │ ├── values-pt-rBR
│ │ │ │ └── strings-pt-rBR.xml
│ │ │ ├── values-ru
│ │ │ │ └── strings-ru.xml
│ │ │ ├── values-sv
│ │ │ │ └── strings-sv.xml
│ │ │ ├── values-v11
│ │ │ │ └── styles.xml
│ │ │ ├── values-v14
│ │ │ │ └── styles.xml
│ │ │ ├── values-v9
│ │ │ │ └── styles.xml
│ │ │ ├── values-vi
│ │ │ │ └── strings-vi.xml
│ │ │ └── values
│ │ │ │ ├── id.xml
│ │ │ │ ├── strings-en.xml
│ │ │ │ └── styles.xml
│ │ └── src
│ │ │ └── com
│ │ │ └── twofortyfouram
│ │ │ └── locale
│ │ │ ├── BreadCrumber.java
│ │ │ ├── Constants.java
│ │ │ ├── Intent.java
│ │ │ └── PackageUtilities.java
│ │ ├── locale-toast_setting_plugin-test
│ │ ├── AndroidManifest.xml
│ │ ├── build.xml
│ │ ├── lint.xml
│ │ ├── proguard-project.txt
│ │ ├── project.properties
│ │ ├── res
│ │ │ └── values
│ │ │ │ └── strings.xml
│ │ └── src
│ │ │ └── com
│ │ │ └── yourcompany
│ │ │ └── yoursetting
│ │ │ ├── bundle
│ │ │ ├── BundleScrubberTest.java
│ │ │ └── PluginBundleManagerTest.java
│ │ │ ├── receiver
│ │ │ └── ReceiverTest.java
│ │ │ ├── test
│ │ │ ├── BundleTestHelper.java
│ │ │ └── ManifestTest.java
│ │ │ └── ui
│ │ │ ├── EditActivityTest.java
│ │ │ └── InfoActivityTest.java
│ │ └── locale-toast_setting_plugin
│ │ ├── AndroidManifest.xml
│ │ ├── License.txt
│ │ ├── Read Me.txt
│ │ ├── build.xml
│ │ ├── lint.xml
│ │ ├── proguard-project.txt
│ │ ├── project.properties
│ │ ├── res
│ │ ├── drawable-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_locale_plugin.png
│ │ ├── drawable-ldpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_locale_plugin.png
│ │ ├── drawable-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_locale_plugin.png
│ │ ├── drawable-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_locale_plugin.png
│ │ ├── layout
│ │ │ └── main.xml
│ │ └── values
│ │ │ └── strings.xml
│ │ └── src
│ │ └── com
│ │ └── yourcompany
│ │ └── yoursetting
│ │ ├── Constants.java
│ │ ├── PluginApplication.java
│ │ ├── bundle
│ │ ├── BundleScrubber.java
│ │ └── PluginBundleManager.java
│ │ ├── receiver
│ │ └── FireReceiver.java
│ │ └── ui
│ │ ├── AbstractPluginActivity.java
│ │ ├── EditActivity.java
│ │ └── InfoActivity.java
├── lint.xml
├── localeapi.iml
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── twofortyfouram
│ │ └── locale
│ │ ├── BreadCrumber.java
│ │ ├── Constants.java
│ │ ├── Intent.java
│ │ └── PackageUtilities.java
│ └── res
│ ├── drawable-hdpi-v14
│ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ ├── twofortyfouram_locale_ic_menu_help.png
│ └── twofortyfouram_locale_ic_menu_save.png
│ ├── drawable-ldpi-v14
│ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ ├── twofortyfouram_locale_ic_menu_help.png
│ └── twofortyfouram_locale_ic_menu_save.png
│ ├── drawable-mdpi-v14
│ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ ├── twofortyfouram_locale_ic_menu_help.png
│ └── twofortyfouram_locale_ic_menu_save.png
│ ├── drawable-xhdpi-v14
│ ├── twofortyfouram_locale_ic_menu_dontsave.png
│ ├── twofortyfouram_locale_ic_menu_help.png
│ └── twofortyfouram_locale_ic_menu_save.png
│ ├── drawable
│ ├── twofortyfouram_locale_ic_menu_dontsave.xml
│ ├── twofortyfouram_locale_ic_menu_help.xml
│ └── twofortyfouram_locale_ic_menu_save.xml
│ ├── menu
│ └── twofortyfouram_locale_help_save_dontsave.xml
│ ├── values-cs
│ └── strings-cs.xml
│ ├── values-de
│ └── strings-de.xml
│ ├── values-es
│ └── strings-es.xml
│ ├── values-fr
│ └── strings-fr.xml
│ ├── values-hdpi
│ └── integers.xml
│ ├── values-it
│ └── strings-it.xml
│ ├── values-ja
│ └── strings-ja.xml
│ ├── values-ko
│ └── strings-ko.xml
│ ├── values-ldpi
│ └── integers.xml
│ ├── values-mdpi
│ └── integers.xml
│ ├── values-nb
│ └── strings-nb.xml
│ ├── values-nl
│ └── strings-nl.xml
│ ├── values-pt-rBR
│ └── strings-pt-rBR.xml
│ ├── values-ru
│ └── strings-ru.xml
│ ├── values-sv
│ └── strings-sv.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-v9
│ └── styles.xml
│ ├── values-vi
│ └── strings-vi.xml
│ └── values
│ ├── id.xml
│ ├── strings-en.xml
│ └── styles.xml
├── settings.gradle
└── test.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | #*.apk
3 | *.ap_
4 |
5 | # Files for the Dalvik VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # Generated files
12 | bin/
13 | gen/
14 |
15 | # Gradle files
16 | .gradle/
17 | build/
18 | /*/build/
19 |
20 | # Local configuration file (sdk path, etc)
21 | local.properties
22 |
23 | # Proguard folder generated by Eclipse
24 | proguard/
25 |
26 | # Log Files
27 | *.log
28 |
29 | .idea
30 |
31 | build.sh
32 | aquamail
--------------------------------------------------------------------------------
/MIUIVerificationCode.pattern:
--------------------------------------------------------------------------------
1 | ::= 验证码|校验码|动态码|确认码|随机码|验证|校验|验证密码|动态密码|校验密码|随机密码|确认密码|激活码|兑换码|认证码|认证号码|认证密码|交易码|交易密码|授权码|操作码
2 |
3 | ::= 。!!??;;,,
4 | ::= 验证码|校验码|动态码|确认码|随机码|验证密码|动态密码|校验密码|随机密码|确认密码|激活码|兑换码|认证码|认证号码|认证密码|交易码|交易密码|授权码|操作码
5 | ::= 验证|校验
6 | ::= 是:|为:|是:|为:|是|为|:|:
7 | ::= ,|;| |,|.|。|!|!|(|)|(|)|[|]|【|】|{|}|“|"|”
8 |
9 |
10 | ?字符验证码内容> ::= <#char> Ext_verificationCode:0 CharLenLonger:0:2 CharLenLess:0:18
11 |
12 | ?有标志验证码内容> ::= <“>?字符验证码内容><”>|||<">?字符验证码内容><">|||< >?字符验证码内容>< >|||<(>?字符验证码内容><)>|||<(>?字符验证码内容><)>|||<[>?字符验证码内容><]>|||<【>?字符验证码内容><】>
13 | ::= ?有标志验证码内容> Score:1:1.0
14 | ::= ?有标志验证码内容> Score:1:0.9
15 |
16 | ::= ?字符验证码内容> Score:1:1.0
17 | // ::= ?字符验证码内容> Score:1:1.0
18 |
19 | //待测试验证
20 | ::= < |!空>?字符验证码内容>< |!标点符号|$End> Score:1:1.0
21 |
22 | ?验证码中缀插入> ::= <(><*><)>|||<(><*><)> CharLenLess:1:10 CharLenLonger:1:2
23 | ::= ?验证码中缀插入>?字符验证码内容> Score:1:1.0
24 |
25 | //?括号中验证码提示词> ::= <(><*><)>|||<(><*><)>|||<[><*><]>|||<【><*><】> CharLenLess:1:10 NoContainDic:1:
26 | ?括号中验证码提示词> ::= <(><*>|||<(><*>|||<[><*>|||<【><*> CharLenLess:1:10 NoContainDic:1:
27 |
28 | ::= ?字符验证码内容>?括号中验证码提示词> Score:1:1.0
29 |
30 | ?括号中验证码提示词_无码> ::= <(><*><)>|||<(><*><)>|||<[><*><]>|||<【><*><】> CharLenLess:1:10 NoContainDic:1:
31 | ::= ?字符验证码内容>?括号中验证码提示词_无码> Score:1:1.0
32 | ::= ?字符验证码内容>< |!空><是|为><*> Score:1:1.0 CharLenLess:3:10 NoContainDic:3:
33 | // ::= < |!标点符号|$Start>?字符验证码内容>< |!空><*>< |!标点符号|$End> Score:1:1.0 CharLenLess:3:10 NoContainDic:3:
34 |
35 | //非数字、英文字符验证码
36 | // ::= < |!空><*>< |!标点符号|$End> Score:1:1.0 Ext_verificationCode:3 CharLenLonger:3:2 CharLenLess:3:10 NoContainDic:3:<诈骗|欺诈|发>
37 | // ::= <$Start>< |!空><*>< |!标点符号|$End> Score:1:1.0 Ext_verificationCode:4 CharLenLonger:4:2 CharLenLess:4:10 NoContainDic:4:<诈骗|欺诈>
38 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | clean:
2 | gradle clean
3 |
4 | debug:
5 | ./build.sh
6 |
7 | install:
8 | adb uninstall me.gitai.smscodehelper.debug
9 | adb install app/build/outputs/apk/me.gitai.smscodehelper-debug-c12-v0.1.0.apk
--------------------------------------------------------------------------------
/SMSCodeHelper.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Screener/20151225190538.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/Screener/20151225190538.png
--------------------------------------------------------------------------------
/Screener/20151225190615.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/Screener/20151225190615.png
--------------------------------------------------------------------------------
/Screener/20151225190651.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/Screener/20151225190651.png
--------------------------------------------------------------------------------
/Screener/20151225190757.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/Screener/20151225190757.png
--------------------------------------------------------------------------------
/Screener/20151225191021.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/Screener/20151225191021.png
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c1-v0.0.1-t12251854.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c1-v0.0.1-t12251854.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c10-v0.0.8.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c10-v0.0.8.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c2-v0.0.2-t12261829.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c2-v0.0.2-t12261829.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c3-v0.0.3.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c3-v0.0.3.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c4-v0.0.4.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c4-v0.0.4.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c5-v0.0.5.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c5-v0.0.5.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c7-v0.0.6.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c7-v0.0.6.apk
--------------------------------------------------------------------------------
/apk/me.gitai.smscodehelper-release-c8-v0.0.7.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/apk/me.gitai.smscodehelper-release-c8-v0.0.7.apk
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | .apk
--------------------------------------------------------------------------------
/app/deps/xposed_api_54.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/deps/xposed_api_54.jar
--------------------------------------------------------------------------------
/app/libs/libMokeeCloud.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/libs/libMokeeCloud.jar
--------------------------------------------------------------------------------
/app/libs/systembartint-1.0.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/libs/systembartint-1.0.4.jar
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\Rikka\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -dontwarn com.mokee.volley.**
20 | -dontwarn com.mokee.google.**
21 | -dontwarn com.mokee.cloud.**
22 | -dontwarn com.mokee.os.**
23 | -dontwarn com.mokee.security.**
24 |
25 | -printmapping mapping.txt
--------------------------------------------------------------------------------
/app/src/main/assets/xposed_init:
--------------------------------------------------------------------------------
1 | me.gitai.smscodehelper.hook.Patch
2 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/ActivityUtils.java:
--------------------------------------------------------------------------------
1 | package me.gitai.library.utils;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.content.ContextWrapper;
6 |
7 | /**
8 | * Created by dphdjy on 15-11-5.
9 | */
10 | public class ActivityUtils {
11 | public static Activity findActivityFromContext(Context ctx){
12 | if (ctx != null){
13 | if (ctx instanceof Activity){
14 | return (Activity)ctx;
15 | }
16 | if(ctx instanceof ContextWrapper){
17 | ContextWrapper cw = (ContextWrapper)ctx;
18 | return findActivityFromContext(cw.getBaseContext());
19 | }
20 | }
21 | return null;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/CrashUtil.java:
--------------------------------------------------------------------------------
1 | package me.gitai.library.utils;
2 |
3 | import android.content.Context;
4 | import android.os.Build;
5 |
6 | import java.util.ArrayList;
7 | import java.util.List;
8 | import java.util.Locale;
9 |
10 | /**
11 | * Created by gitai on 16-2-18.
12 | */
13 | public class CrashUtil implements Thread.UncaughtExceptionHandler {
14 | private static CrashUtil mCrashUtil = new CrashUtil();
15 |
16 | private Context mContext;
17 | private OnCrash mOnCrash;
18 | private Thread.UncaughtExceptionHandler mDefHandler;
19 |
20 | public static CrashUtil getInstance(){
21 | return mCrashUtil;
22 | }
23 |
24 | public void init(Context ctx){
25 | init(ctx, null);
26 | }
27 |
28 | public void init(Context ctx, OnCrash onCrash){
29 | this.mContext = ctx;
30 |
31 | mDefHandler = Thread.getDefaultUncaughtExceptionHandler();
32 |
33 | Thread.setDefaultUncaughtExceptionHandler(this);
34 | }
35 |
36 | @Override
37 | public void uncaughtException(Thread thread, Throwable ex) {
38 | L.e(ex);
39 |
40 | if (mOnCrash != null){
41 | if (mOnCrash.onCrash(thread,ex)){
42 | exit();
43 | }
44 | }
45 | }
46 |
47 | public static String collectDeviceInfo(Context ctx){
48 | List info = new ArrayList<>();
49 | info.add("================ Device Info ================");
50 | info.add("SDK: " + AndroidUtils.getSDKIntStr(Build.VERSION.SDK_INT));
51 | info.add(AndroidUtils.getBatteryInfo(AndroidUtils.getBatteryStatus(ctx)));
52 | info.add(AndroidUtils.getSignatureInfo(ctx));
53 | info.add("Locale: " + AndroidUtils.getLocale(Locale.getDefault()));
54 | info.add("VM: " + AndroidUtils.getVMType(System.getProperty("java.vm.version")));
55 | info.add("==================== END ====================");
56 | return StringUtils.join(info, "\n");
57 | }
58 |
59 | public void exit(){
60 | android.os.Process.killProcess(android.os.Process.myPid());
61 | System.exit(1);
62 | }
63 |
64 | public interface OnCrash{
65 | boolean onCrash(Thread thread, Throwable ex);
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/FileUtils.java:
--------------------------------------------------------------------------------
1 | package me.gitai.library.utils;
2 |
3 | import android.content.Context;
4 | import android.database.Cursor;
5 | import android.net.Uri;
6 |
7 | /**
8 | * Created by dphdjy on 15-11-6.
9 | */
10 | public class FileUtils {
11 | public static String getPath(Context ctx,Uri uri){
12 | if ("content".equalsIgnoreCase(uri.getScheme())){
13 | String[] projection = {"_data"};
14 | Cursor cursor = null;
15 | try{
16 | cursor = ctx.getContentResolver().query(uri,projection,null,null,null);
17 | int colemn_index = cursor.getColumnIndexOrThrow("_data");
18 | if (cursor.moveToFirst()){
19 | return cursor.getString(colemn_index);
20 | }
21 | }catch (Exception ex){
22 |
23 | }
24 | }else if("file".equalsIgnoreCase(uri.getScheme())){
25 | return uri.getPath();
26 | }
27 | return null;
28 | };
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/SharedPreferencesUtil.java:
--------------------------------------------------------------------------------
1 | package me.gitai.library.utils;
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 | import android.preference.PreferenceManager;
6 |
7 | /**
8 | * Created by dp on 15-8-22.
9 | */
10 | public class SharedPreferencesUtil {
11 | private static Context ctx;
12 |
13 | public static void initialize(Context context){
14 | ctx = context;
15 | }
16 |
17 | public synchronized static SharedPreferences getInstence(String name){
18 | if (name !=null)
19 | return ctx.getSharedPreferences(name, 0);
20 | return PreferenceManager.getDefaultSharedPreferences(ctx);
21 | }
22 | public synchronized static SharedPreferences.Editor getEditor(String name){
23 | if (name !=null)
24 | return ctx.getSharedPreferences(name, 0).edit();
25 | return PreferenceManager.getDefaultSharedPreferences(ctx).edit();
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/adapter/QuickAdapter.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2013 Joan Zapata
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package me.gitai.library.utils.adapter;
17 |
18 | import android.content.Context;
19 | import android.view.View;
20 | import android.view.ViewGroup;
21 |
22 | import java.util.List;
23 |
24 | import static me.gitai.library.utils.adapter.BaseAdapterHelper.get;
25 |
26 | /**
27 | * Abstraction class of a BaseAdapter in which you only need
28 | * to provide the convert() implementation.
29 | * Using the provided BaseAdapterHelper, your code is minimalist.
30 | * @param The type of the items in the list.
31 | */
32 | public abstract class QuickAdapter extends BaseQuickAdapter {
33 |
34 | /**
35 | * Create a QuickAdapter.
36 | * @param context The context.
37 | * @param layoutResId The layout resource id of each item.
38 | */
39 | public QuickAdapter(Context context, int layoutResId) {
40 | super(context, layoutResId);
41 | }
42 |
43 | /**
44 | * Same as QuickAdapter#QuickAdapter(Context,int) but with
45 | * some initialization data.
46 | * @param context The context.
47 | * @param layoutResId The layout resource id of each item.
48 | * @param data A new list is created out of this one to avoid mutable list
49 | */
50 | public QuickAdapter(Context context, int layoutResId, List data) {
51 | super(context,layoutResId,data);
52 | }
53 |
54 | protected BaseAdapterHelper getAdapterHelper(int position, View convertView, ViewGroup parent) {
55 | return get(context, convertView, parent, layoutResId, position);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/io/NameGenerator.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2011-2013 Sergey Tarasevich
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 | package me.gitai.library.utils.io;
17 |
18 | public interface NameGenerator {
19 |
20 | String generate(String key);
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/library/utils/io/SafeFileNameGenerator.java:
--------------------------------------------------------------------------------
1 | package me.gitai.library.utils.io;
2 |
3 | import me.gitai.library.utils.StringUtils;
4 |
5 | /**
6 | * User: mcxiaoke
7 | * Date: 14-3-25
8 | * Time: 15:55
9 | */
10 | public class SafeFileNameGenerator implements NameGenerator {
11 |
12 | @Override
13 | public String generate(String key) {
14 | return StringUtils.toSafeFileName(key);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/Constant.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper;
2 |
3 | /**
4 | * Created by gitai on 16-1-3.
5 | */
6 | public class Constant {
7 | public static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";
8 |
9 | public static final String COMPONENTNAME_MAIN = "me.gitai.smscodehelper.MainPreferences";
10 |
11 |
12 | public static final String KEY_CLIP_LABEL = "SMSCode";
13 | public static final String KEY_BUNDLE_SMS_CODE = "smscode";
14 | public static final String KEY_SMS_PDUS = "pdus";
15 |
16 | public static final String KEY_GENERAL_RUN = "general_enable";
17 | public static final String KEY_GENERAL_HIDDEN_ICON = "general_hidden_icon";
18 | public static final String KEY_GENERAL_GUESS = "general_guess";
19 | public static final String KEY_GENERAL_TEST = "general_test";
20 |
21 | public static final String KEY_PARSE_TYPE = "parse_type";
22 | public static final String KEY_PARSE_KEYWORDS = "parse_keywords";
23 | public static final String KEY_PARSE_AMBIGUITIES = "parse_ambiguities";
24 | public static final String KEY_PARSE_REGEXS_PROVIDER = "parse_provider_regexs";
25 | public static final String KEY_PARSE_REGEXS_CAPTCHAS = "parse_captchas_regexs";
26 |
27 | public static final String KEY_TASK_COPY = "task_copy";
28 | public static final String KEY_TASK_CLIPBOARD_CHECK = "task_clipboard_check";
29 | public static final String KEY_TASK_NOTIFICATION = "task_notification";
30 | public static final String KEY_TASK_INTERCEPT = "task_intercept";
31 |
32 | public static final String KEY_ABOUT_HELP_FEEDBACK = "parse_captchas_regexs";
33 | public static final String KEY_ABOUT_RATE_APP = "about_rate_app";
34 | public static final String KEY_ABOUT_DONATE = "about_donate";
35 | public static final String KEY_ABOUT_LICENSE = "about_license";
36 | public static final String KEY_ABOUT_VERSION = "about_version";
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/SMSApp.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper;
2 |
3 | import android.app.Application;
4 | import android.content.Intent;
5 |
6 | import me.gitai.library.utils.CrashUtil;
7 | import me.gitai.library.utils.IOUtils;
8 | import me.gitai.library.utils.L;
9 | import me.gitai.library.utils.SharedPreferencesUtil;
10 | import me.gitai.library.utils.StringUtils;
11 | import me.gitai.library.utils.ToastUtil;
12 | import me.gitai.smscodehelper.ui.MainPreferences;
13 |
14 | /**
15 | * Created by gitai on 15-12-12.
16 | */
17 | public class SMSApp extends Application{
18 | @Override
19 | public void onCreate() {
20 | super.onCreate();
21 | L.setLogcatEnable(this, true);
22 | L.setLogToFileEnable(true, this);
23 | SharedPreferencesUtil.initialize(this);
24 | ToastUtil.initialize(this);
25 |
26 | CrashUtil.getInstance().init(this, new CrashUtil.OnCrash() {
27 | @Override
28 | public boolean onCrash(Thread thread, Throwable th) {
29 | ToastUtil.show(CrashUtil.collectDeviceInfo(SMSApp.this),th);
30 | try{
31 | IOUtils.writeString(CrashUtil.collectDeviceInfo(SMSApp.this)+th.getLocalizedMessage(),
32 | openFileOutput(StringUtils.toSafeFileName("crash-" + System.nanoTime() + ".log"), MODE_WORLD_WRITEABLE));
33 | }catch (Exception ex){
34 | L.e(ex);
35 | }
36 | restart();
37 | return false;
38 | }
39 | });
40 | }
41 |
42 | public void restart(){
43 | Intent intent = new Intent();
44 | intent.setClass(this, MainPreferences.class);
45 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
46 | this.startActivity(intent);
47 | android.os.Process.killProcess(android.os.Process.myPid());
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/hook/SmsReceiver.java:
--------------------------------------------------------------------------------
1 | /*
2 | package me.gitai.smscodehelper.hook;
3 |
4 | import android.content.BroadcastReceiver;
5 | import android.content.ComponentName;
6 | import android.content.Context;
7 | import android.content.Intent;
8 | import android.provider.Telephony.Sms.Intents;
9 |
10 | public class SmsReceiver extends BroadcastReceiver {
11 | private final ComponentName componentName;
12 |
13 | public SmsReceiver(ComponentName componentName) {
14 | this.componentName = componentName;
15 | }
16 |
17 | @Override
18 | public void onReceive(Context context, Intent intent) {
19 | if (intent.getAction().equals(Intents.SMS_RECEIVED_ACTION)) {
20 | intent.setAction(Intents.SMS_DELIVER_ACTION);
21 | } else if (intent.getAction().equals(Intents.WAP_PUSH_RECEIVED_ACTION)) {
22 | intent.setAction(Intents.WAP_PUSH_DELIVER_ACTION);
23 | }
24 | intent.setComponent(componentName);
25 |
26 | context.sendBroadcast(intent);
27 | }
28 |
29 | public ComponentName getComponentName() {
30 | return componentName;
31 | }
32 | }*/
33 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/receiver/CopyReceiver.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper.receiver;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.ClipData;
5 | import android.content.ClipboardManager;
6 | import android.content.Context;
7 | import android.content.Intent;
8 | import android.os.Bundle;
9 |
10 | import me.gitai.library.utils.ToastUtil;
11 | import me.gitai.smscodehelper.Constant;
12 | import me.gitai.smscodehelper.R;
13 | import me.gitai.library.utils.StringUtils;
14 |
15 | /**
16 | * Created by gitai on 15-12-30.
17 | */
18 | public class CopyReceiver extends BroadcastReceiver {
19 | @Override
20 | public void onReceive(Context context, Intent intent) {
21 | Bundle b = intent.getExtras();
22 | if (b != null){
23 | String code = b.getString(Constant.KEY_BUNDLE_SMS_CODE);
24 |
25 | if (StringUtils.isEmpty(code)){
26 | return;
27 | }
28 |
29 | // 复制到剪贴板
30 | ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
31 | ClipData clipData = ClipData.newPlainText(Constant.KEY_CLIP_LABEL, code);
32 | clipboardManager.setPrimaryClip(clipData);
33 |
34 | // toast
35 | ToastUtil.showId(R.string.format_copy_success,code);
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/receiver/QueryReceiver.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper.receiver;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 | import android.os.Bundle;
7 |
8 | import me.gitai.library.utils.L;
9 | import me.gitai.library.utils.SharedPreferencesUtil;
10 | import me.gitai.library.utils.StringUtils;
11 | import me.gitai.library.utils.ToastUtil;
12 | import me.gitai.smscodehelper.Constant;
13 | import me.gitai.smscodehelper.R;
14 | import me.gitai.smscodehelper.bean.MSG;
15 | import me.gitai.smscodehelper.bundle.BundleScrubber;
16 | import me.gitai.smscodehelper.bundle.PluginBundleManager;
17 | import me.gitai.smscodehelper.ui.TaskerActivity;
18 | import me.gitai.smscodehelper.utils.TaskerPlugin;
19 |
20 | /**
21 | * Created by gitai on 16-2-4.
22 | */
23 | public final class QueryReceiver extends BroadcastReceiver{
24 | protected static final Intent INTENT_REQUEST_REQUERY =
25 | new Intent(com.twofortyfouram.locale.Intent.ACTION_REQUEST_QUERY).putExtra(com.twofortyfouram.locale.Intent.EXTRA_ACTIVITY,
26 | TaskerActivity.class.getName());
27 | @Override
28 | public void onReceive(Context context, Intent intent) {
29 | if (!com.twofortyfouram.locale.Intent.ACTION_QUERY_CONDITION.equals(intent.getAction())){
30 | L.d(String.format("Received unexpected Intent action %s", intent.getAction()));
31 | return;
32 | }
33 |
34 | BundleScrubber.scrub(intent);
35 |
36 | final Bundle bundle = intent.getBundleExtra(com.twofortyfouram.locale.Intent.EXTRA_BUNDLE);
37 | BundleScrubber.scrub(bundle);
38 |
39 | if (PluginBundleManager.isBundleValid(bundle)){
40 | L.d(String.format("Screen state is b and condition state is b"));
41 | /*if ( messageID == -1 ){
42 | setResultCode( com.twofortyfouram.locale.Intent.RESULT_CONDITION_UNKNOWN );
43 | }*/
44 | TaskerPlugin.Event.addPassThroughMessageID( INTENT_REQUEST_REQUERY );
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/receiver/SecretCodeReceiver.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper.receiver;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import me.gitai.library.utils.L;
8 | import me.gitai.library.utils.PackageUtils;
9 | import me.gitai.smscodehelper.Constant;
10 | import me.gitai.smscodehelper.ui.MainPreferences;
11 |
12 | /**
13 | * Created by gitai on 16-1-2.
14 | */
15 | public class SecretCodeReceiver extends BroadcastReceiver {
16 | @Override
17 | public void onReceive(Context context, Intent intent) {
18 | PackageUtils.enableComponent(context, MainPreferences.class);
19 | L.d(intent.getAction());
20 | if (intent.getAction().equals(Constant.SECRET_CODE_ACTION)){
21 | L.i("Start via SECRET_CODE");
22 | Intent i = new Intent(Intent.ACTION_MAIN);
23 | i.setClass(context, MainPreferences.class);
24 | i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
25 | context.startActivity(i);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/me/gitai/smscodehelper/widget/InertCheckBox.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.view.KeyEvent;
6 | import android.view.MotionEvent;
7 | import android.widget.CheckBox;
8 |
9 | /**
10 | * CheckBox that does not react to any user event in order to let the container handle them.
11 | */
12 | public class InertCheckBox extends CheckBox {
13 |
14 | public InertCheckBox(Context context, AttributeSet attrs, int defStyle) {
15 | super(context, attrs, defStyle);
16 | }
17 |
18 | public InertCheckBox(Context context, AttributeSet attrs) {
19 | super(context, attrs);
20 | }
21 |
22 | public InertCheckBox(Context context) {
23 | super(context);
24 | }
25 |
26 | @Override
27 | public boolean onTouchEvent(MotionEvent event) {
28 | return false;
29 | }
30 |
31 | @Override
32 | public boolean onKeyDown(int keyCode, KeyEvent event) {
33 | return false;
34 | }
35 |
36 | @Override
37 | public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
38 | return false;
39 | }
40 |
41 | @Override
42 | public boolean onKeyPreIme(int keyCode, KeyEvent event) {
43 | return false;
44 | }
45 |
46 | @Override
47 | public boolean onKeyShortcut(int keyCode, KeyEvent event) {
48 | return false;
49 | }
50 |
51 | @Override
52 | public boolean onKeyUp(int keyCode, KeyEvent event) {
53 | return false;
54 | }
55 |
56 | @Override
57 | public boolean onTrackballEvent(MotionEvent event) {
58 | return false;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_notify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/drawable-hdpi/ic_notify.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_notify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/drawable-mdpi/ic_notify.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_notify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/drawable-xhdpi/ic_notify.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_notify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/drawable-xxhdpi/ic_notify.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_notify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/drawable-xxxhdpi/ic_notify.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/material_card.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/material_card_nos.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/material_card_nos_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/material_dialog_window.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_log.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
14 |
22 |
23 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_about.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
18 |
19 |
27 |
28 |
40 |
41 |
42 |
43 |
47 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_editdialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_tasker.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
19 |
20 |
27 |
28 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
14 |
15 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/spinner_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v19/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Enable intercept
3 |
4 | Android does not allow apps other than the default SMS app to intercept
5 | SMS messages or write to the SMS inbox.\n\nTo bypass this restriction,
6 | you must install the Xposed and enable. Until you do so, this function will not work.
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zh-rCN-v19/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 启用拦截
3 |
4 | 不允许非默认收信应用拦截短信或者操作收件箱。\n\n为了突破这个限制,你必须安装 Xposed 并且启用。在此之前,这个功能将无法使用。
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #E91E63
4 | #C2185B
5 | #F8BBD0
6 | #607D8B
7 |
8 | #212121
9 | #727272
10 | #B6B6B6
11 |
12 | #EEE
13 | #ffffff
14 | #10000000
15 | #ff359ff2
16 | #00000000
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 | 16dp
6 | 16dp
7 | 8dp
8 | 4dp
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/app/src/test/java/me/gitai/smscodehelper/utils/ParseAboutXmlTest.java:
--------------------------------------------------------------------------------
1 | package me.gitai.smscodehelper.utils;
2 |
3 | import junit.framework.TestCase;
4 |
5 | /**
6 | * Created by gitai on 16-2-5.
7 | */
8 | public class ParseAboutXmlTest extends TestCase {
9 | public void testParse(){
10 |
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:1.3.1'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | jcenter()
15 | }
16 | }
17 |
18 | task clean(type: Delete) {
19 | delete rootProject.buildDir
20 | }
21 |
22 | subprojects {
23 | ext {
24 | config = [
25 | applicationId : "me.gitai.smscodehelper",
26 |
27 | compileSdkVersion : 23,
28 | buildToolsVersion : "23.0.1",
29 | minSdkVersion : 15,
30 | targetSdkVersion : 23,
31 |
32 | releaseSigning : [
33 | storeFile : System.getenv("KEYSTORE"),
34 | storePassword : System.getenv("KEYSTORE_PASSWORD"),
35 | alias : System.getenv("KEY_ALIAS"),
36 | aliasPassword: System.getenv("KEY_PASSWORD")
37 | ],
38 |
39 | versionCode : 10,
40 | versionName : "0.0.8"
41 | ]
42 |
43 | versions = [
44 | androidSupport : "23.1.1",
45 | junit:"4.1.2",
46 | robolectric:"3.0-rc3",
47 | espresso:"2.2.1",
48 | runner:"0.4.1",
49 | fastjson:"1.2.7"
50 | ]
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/buildscripts/jacoco.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'jacoco'
2 |
3 | jacoco {
4 | toolVersion = versions.jacoco
5 | }
6 |
7 | /**
8 | * Create a code-coverage report task for the given build variant
9 | */
10 | def createJacocoTask(variant) {
11 | def buildTypeName = variant.buildType.name.capitalize()
12 | def flavorName = variant.flavorName.capitalize()
13 |
14 | def testTaskName = "test${flavorName}${buildTypeName}UnitTest"
15 |
16 | //noinspection GroovyAssignabilityCheck
17 | task "${testTaskName}Coverage"(type: JacocoReport, dependsOn: testTaskName) {
18 | group = "Reporting"
19 | description = "Generate Jacoco coverage reports for variant ${variant.name}"
20 |
21 | classDirectories = fileTree(
22 | dir: "${project.buildDir}/intermediates/classes/${variant.dirName}",
23 | excludes: ['**/R.class',
24 | '**/R$*.class',
25 | '**/*$$*.*',
26 | '**/*_MembersInjector.*',
27 | '**/BuildConfig.*',
28 | '**/Manifest*.*',
29 |
30 | // App-specific classes
31 | 'com/dphdjy/android/seed/module/*',
32 | 'com/dphdjy/android/seed/mvp/view/*',
33 |
34 | // These classes either aren't testable or aren't important..
35 | 'com/dphdjy/android/seed/util/CrashlyticsLogger.*']
36 | )
37 |
38 | def coverageSourceDirs = ["${rootDir}/app/src/main/java"]
39 | additionalSourceDirs = files(coverageSourceDirs)
40 | sourceDirectories = files(coverageSourceDirs)
41 | executionData = files("${project.buildDir}/jacoco/${testTaskName}.exec")
42 |
43 | reports {
44 | xml.enabled = true
45 | html.enabled = true
46 | }
47 | }
48 | }
49 |
50 | // Export our functions
51 | ext {
52 | createJacocoTask = this.&createJacocoTask
53 | }
--------------------------------------------------------------------------------
/buildscripts/utils.gradle:
--------------------------------------------------------------------------------
1 | def isCiBuild() {
2 | def buildTag = System.getenv("BUILD_TAG")
3 | return buildTag?.startsWith("jenkins") ? true : false
4 | }
5 |
6 | def getBuildTime() {
7 | return new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'").format(new Date())
8 | }
9 |
10 | /**
11 | * Get the Git Sha
12 | * @return The abbreviated git sha
13 | */
14 | def gitSha() {
15 | return 'git rev-parse --short HEAD'.execute().text.trim()
16 | }
17 |
18 | /**
19 | * Extracts Git branch name from env variable or using local Git.
20 | *
21 | * @return Branch name, e.g. "develop".
22 | */
23 | def gitBranchName() {
24 | def branchName = System.getenv("GIT_BRANCH")
25 | if (branchName != null) {
26 | // Use env value, check for undesired "origin/" prefix (passed by Jenkins)
27 | def originPrefix = "origin/"
28 | if (branchName.startsWith(originPrefix)) {
29 | branchName = branchName.substring(originPrefix.length())
30 | }
31 | } else {
32 | // Otherwise, attempt to extract branch from local Git
33 | branchName = "git --work-tree=${rootDir}/.. rev-parse --abbrev-ref HEAD".execute().text.trim()
34 | }
35 | return branchName.replaceAll("/", "_").replaceAll(" ", "_")
36 | }
37 |
38 | def getCiBuildNumber() {
39 | String buildNumber = System.getenv('BUILD_NUMBER');
40 | if (buildNumber == null) {
41 | return 'local'
42 | } else {
43 | return buildNumber
44 | }
45 | }
46 |
47 | // Export our functions
48 | ext {
49 | isCiBuild = this.&isCiBuild
50 | gitBranchName = this.&gitBranchName
51 | getCiBuildNumber = this.&getCiBuildNumber
52 | getGitSha = this.&gitSha
53 | getBuildTime = this.&getBuildTime
54 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Sat Dec 12 19:17:04 CST 2015
16 | systemProp.http.proxyHost=mirrors.opencas.cn
17 | systemProp.http.proxyPort=80
18 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Oct 21 11:34:03 PDT 2015
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
7 |
--------------------------------------------------------------------------------
/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion config.compileSdkVersion
5 | buildToolsVersion config.buildToolsVersion
6 |
7 | defaultConfig {
8 | minSdkVersion 3
9 | targetSdkVersion 17
10 | }
11 |
12 | buildTypes {
13 | release {
14 | minifyEnabled false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/localeapi/demo/display.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display.zip
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/License.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 two forty four a.m. LLC
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
4 |
5 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/Read Me.txt:
--------------------------------------------------------------------------------
1 | This is a library project for the Locale Developer API. For documentation on Android Library Projects, please visit .
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | android.library=true
11 | # Project target.
12 | target=android-17
13 | manifestmerger.enabled=true
14 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable/twofortyfouram_locale_ic_menu_dontsave.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable/twofortyfouram_locale_ic_menu_help.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/drawable/twofortyfouram_locale_ic_menu_save.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
18 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/menu/twofortyfouram_locale_help_save_dontsave.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-cs/strings-cs.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Zrušit
20 | Nápověda
21 | Hotovo
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-de/strings-de.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Abbrechen
20 | Hilfe
21 | Fertig
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-es/strings-es.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Cancelar
20 | Ayuda
21 | Listo
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-fr/strings-fr.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annuler
20 | Aide
21 | OK
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-hdpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 60
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-it/strings-it.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annulla
20 | Aiuto
21 | Fine
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-ja/strings-ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | キャンセル
20 | ヘルプ
21 | 完了
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-ko/strings-ko.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | 취소
20 | 도움말
21 | 완료
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-ldpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 45
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-mdpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | 50
19 |
20 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-nb/strings-nb.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Avbryt
20 | Hjelp
21 | Ferdig
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-nl/strings-nl.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annuleren
20 | Help
21 | Gereed
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-pt-rBR/strings-pt-rBR.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Cancelar
20 | Ajuda
21 | Concluído
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-ru/strings-ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Отмена
20 | Помощь
21 | Готово
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-sv/strings-sv.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Avbryt
20 | Hjälp
21 | Klar
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-v9/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values-vi/strings-vi.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Hủy
20 | Giúp đỡ
21 | Xong
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values/id.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values/strings-en.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | %1$s%2$s%3$s
19 |
20 |
21 | \u0020>\u0020
22 |
23 |
24 | Cancel
25 |
26 |
27 | Help
28 |
29 |
30 | Done
31 |
32 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-api/src/com/twofortyfouram/locale/Constants.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 two forty four a.m. LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
5 | * compliance with the License. You may obtain a copy of the License at
6 | *
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
9 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 | * See the License for the specific language governing permissions and limitations under the License.
11 | */
12 |
13 | package com.twofortyfouram.locale;
14 |
15 | /**
16 | * Utility class containing constants for the Locale Developer Platform.
17 | */
18 | /*
19 | * This class is NOT part of the public API.
20 | */
21 | /* package */final class Constants
22 | {
23 | /**
24 | * Log tag for logcat messages generated by the Locale Developer Platform
25 | */
26 | /*
27 | * This is NOT a public API. Third party apps should NOT use this log tag for their own log messages.
28 | */
29 | /* package */static final String LOG_TAG = "LocaleApiLibrary"; //$NON-NLS-1$
30 |
31 | /**
32 | * String package name for Locale.
33 | */
34 | /*
35 | * This is NOT a public API. Third parties should NOT rely on this being the only package name for Locale.
36 | */
37 | /* package */static final String LOCALE_PACKAGE = "com.twofortyfouram.locale"; //$NON-NLS-1$
38 |
39 | /**
40 | * Private constructor prevents instantiation
41 | *
42 | * @throws UnsupportedOperationException because this class cannot be instantiated.
43 | */
44 | private Constants()
45 | {
46 | throw new UnsupportedOperationException("This class is non-instantiable"); //$NON-NLS-1$
47 | }
48 | }
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin-test/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
24 |
25 |
28 |
29 |
32 |
33 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin-test/ant.properties:
--------------------------------------------------------------------------------
1 | # This file is used to override default values used by the Ant build system.
2 | #
3 | # This file must be checked in Version Control Systems, as it is
4 | # integral to the build system of your project.
5 |
6 | # This file is only used by the Ant script.
7 |
8 | # You can use this to override default values such as
9 | # 'source.dir' for the location of your java source folder and
10 | # 'out.dir' for the location of your output folder.
11 |
12 | # You can also use it define how the release builds are signed by declaring
13 | # the following properties:
14 | # 'key.store' for the location of your keystore and
15 | # 'key.alias' for the name of the key to use.
16 | # The password will be asked during the build when you use the 'release' target.
17 |
18 | tested.project.dir=../locale-display_condition_plugin
19 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin-test/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin-test/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Project target.
11 | target=android-17
12 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin-test/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | Locale Display Plug-in Test
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin-test/src/com/yourcompany/yourcondition/ui/InfoActivityTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 two forty four a.m. LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
5 | * compliance with the License. You may obtain a copy of the License at
6 | *
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
9 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 | * See the License for the specific language governing permissions and limitations under the License.
11 | */
12 |
13 | package com.yourcompany.yourcondition.ui;
14 |
15 | import android.test.ActivityUnitTestCase;
16 | import android.test.UiThreadTest;
17 | import android.test.suitebuilder.annotation.MediumTest;
18 |
19 | /**
20 | * Tests the {@link InfoActivity}.
21 | */
22 | public final class InfoActivityTest extends ActivityUnitTestCase
23 | {
24 |
25 | /**
26 | * Constructor for the test class; required by Android.
27 | */
28 | public InfoActivityTest()
29 | {
30 | super(InfoActivity.class);
31 | }
32 |
33 | /**
34 | * A simple test to verify the Activity opens. Primarily, this is a regression test to ensure the
35 | * InfoActivity entry is correctly in the plug-in's Android Manifest.
36 | */
37 | @MediumTest
38 | @UiThreadTest
39 | public void testDisplayActivity()
40 | {
41 | // start the Activity. If the Activity isn't properly registered in the Manifest, this will fail.
42 | getActivity();
43 | }
44 | }
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/License.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 two forty four a.m. LLC
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
4 |
5 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/Read Me.txt:
--------------------------------------------------------------------------------
1 | This is a sample Locale Plug-in condition that detects when the device's display is turned on and off. We encourage plug-in developers to use this sample as a template for building new plug-ins. This plug-in has been implemented using best practices and it includes an extensive test suite that verifies compatibility with Locale.
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Indicates whether an apk should be generated for each density.
11 | split.density=false
12 | # Project target.
13 | target=android-17
14 | android.library.reference.1=../locale-api
15 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-hdpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-hdpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-ldpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-ldpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-ldpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-ldpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-mdpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-mdpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/drawable-xhdpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/display/locale-display_condition_plugin/res/drawable-xhdpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 | - @string/list_off
20 | - @string/list_on
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/display/locale-display_condition_plugin/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | Locale Display Plug-in
18 | Display
19 | On
20 | Off
21 | On
22 | Off
23 |
24 |
--------------------------------------------------------------------------------
/localeapi/demo/toast.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast.zip
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/License.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 two forty four a.m. LLC
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
4 |
5 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/Read Me.txt:
--------------------------------------------------------------------------------
1 | This is a library project for the Locale Developer API. For documentation on Android Library Projects, please visit .
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | android.library=true
11 | # Project target.
12 | target=android-17
13 | manifestmerger.enabled=true
14 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-api/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable/twofortyfouram_locale_ic_menu_dontsave.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable/twofortyfouram_locale_ic_menu_help.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/drawable/twofortyfouram_locale_ic_menu_save.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
18 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/menu/twofortyfouram_locale_help_save_dontsave.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-cs/strings-cs.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Zrušit
20 | Nápověda
21 | Hotovo
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-de/strings-de.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Abbrechen
20 | Hilfe
21 | Fertig
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-es/strings-es.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Cancelar
20 | Ayuda
21 | Listo
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-fr/strings-fr.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annuler
20 | Aide
21 | OK
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-hdpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 60
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-it/strings-it.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annulla
20 | Aiuto
21 | Fine
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-ja/strings-ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | キャンセル
20 | ヘルプ
21 | 完了
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-ko/strings-ko.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | 취소
20 | 도움말
21 | 완료
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-ldpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 45
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-mdpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | 50
19 |
20 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-nb/strings-nb.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Avbryt
20 | Hjelp
21 | Ferdig
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-nl/strings-nl.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annuleren
20 | Help
21 | Gereed
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-pt-rBR/strings-pt-rBR.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Cancelar
20 | Ajuda
21 | Concluído
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-ru/strings-ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Отмена
20 | Помощь
21 | Готово
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-sv/strings-sv.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Avbryt
20 | Hjälp
21 | Klar
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-v9/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values-vi/strings-vi.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Hủy
20 | Giúp đỡ
21 | Xong
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values/id.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values/strings-en.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | %1$s%2$s%3$s
19 |
20 |
21 | \u0020>\u0020
22 |
23 |
24 | Cancel
25 |
26 |
27 | Help
28 |
29 |
30 | Done
31 |
32 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-api/src/com/twofortyfouram/locale/Constants.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 two forty four a.m. LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
5 | * compliance with the License. You may obtain a copy of the License at
6 | *
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
9 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 | * See the License for the specific language governing permissions and limitations under the License.
11 | */
12 |
13 | package com.twofortyfouram.locale;
14 |
15 | /**
16 | * Utility class containing constants for the Locale Developer Platform.
17 | */
18 | /*
19 | * This class is NOT part of the public API.
20 | */
21 | /* package */final class Constants
22 | {
23 | /**
24 | * Log tag for logcat messages generated by the Locale Developer Platform
25 | */
26 | /*
27 | * This is NOT a public API. Third party apps should NOT use this log tag for their own log messages.
28 | */
29 | /* package */static final String LOG_TAG = "LocaleApiLibrary"; //$NON-NLS-1$
30 |
31 | /**
32 | * String package name for Locale.
33 | */
34 | /*
35 | * This is NOT a public API. Third parties should NOT rely on this being the only package name for Locale.
36 | */
37 | /* package */static final String LOCALE_PACKAGE = "com.twofortyfouram.locale"; //$NON-NLS-1$
38 |
39 | /**
40 | * Private constructor prevents instantiation
41 | *
42 | * @throws UnsupportedOperationException because this class cannot be instantiated.
43 | */
44 | private Constants()
45 | {
46 | throw new UnsupportedOperationException("This class is non-instantiable"); //$NON-NLS-1$
47 | }
48 | }
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin-test/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
24 |
25 |
28 |
29 |
32 |
33 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin-test/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin-test/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin-test/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Project target.
11 | target=android-17
12 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin-test/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | Locale Toast Plug-in Test
19 |
20 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin-test/src/com/yourcompany/yoursetting/ui/InfoActivityTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 two forty four a.m. LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
5 | * compliance with the License. You may obtain a copy of the License at
6 | *
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
9 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 | * See the License for the specific language governing permissions and limitations under the License.
11 | */
12 |
13 | package com.yourcompany.yoursetting.ui;
14 |
15 | import android.test.ActivityInstrumentationTestCase2;
16 | import android.test.UiThreadTest;
17 |
18 | /**
19 | * Tests the {@link InfoActivity}.
20 | */
21 | public final class InfoActivityTest extends ActivityInstrumentationTestCase2
22 | {
23 |
24 | /**
25 | * Constructor for the test class; required by Android.
26 | */
27 | public InfoActivityTest()
28 | {
29 | super(InfoActivity.class);
30 | }
31 |
32 | /**
33 | * A simple test to verify the Activity opens. Primarily, this is a regression test to ensure the
34 | * MarketActivity entry is correctly in the plug-in's Android Manifest.
35 | */
36 | @UiThreadTest
37 | public void testDisplayActivity()
38 | {
39 | // start the Activity. If the Activity isn't properly registered in the Manifest, this will fail.
40 | getActivity();
41 | }
42 | }
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/License.txt:
--------------------------------------------------------------------------------
1 | Copyright 2013 two forty four a.m. LLC
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
4 |
5 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/Read Me.txt:
--------------------------------------------------------------------------------
1 | This is a sample Locale Plug-in setting that will display a customizable Toast message when fired. We encourage plug-in developers to use this sample as a template for building new plug-ins. This plug-in has been implemented using best practices and it includes an extensive test suite that verifies compatibility with Locale.
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Indicates whether an apk should be generated for each density.
11 | split.density=false
12 | # Project target.
13 | target=android-17
14 | android.library.reference.1=../locale-api
15 | proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
16 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-hdpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-hdpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-ldpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-ldpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-ldpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-ldpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-mdpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-mdpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-xhdpi/ic_locale_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/demo/toast/locale-toast_setting_plugin/res/drawable-xhdpi/ic_locale_plugin.png
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
19 |
20 |
28 |
29 |
--------------------------------------------------------------------------------
/localeapi/demo/toast/locale-toast_setting_plugin/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | Locale Toast Plug-in
19 |
20 |
21 | Toast
22 |
23 |
24 | Scheduled Toast
25 |
26 |
--------------------------------------------------------------------------------
/localeapi/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/localeapi/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/localeapi/src/main/java/com/twofortyfouram/locale/Constants.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 two forty four a.m. LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
5 | * compliance with the License. You may obtain a copy of the License at
6 | *
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
9 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 | * See the License for the specific language governing permissions and limitations under the License.
11 | */
12 |
13 | package com.twofortyfouram.locale;
14 |
15 | /**
16 | * Utility class containing constants for the Locale Developer Platform.
17 | */
18 | /*
19 | * This class is NOT part of the public API.
20 | */
21 | /* package */final class Constants
22 | {
23 | /**
24 | * Log tag for logcat messages generated by the Locale Developer Platform
25 | */
26 | /*
27 | * This is NOT a public API. Third party apps should NOT use this log tag for their own log messages.
28 | */
29 | /* package */static final String LOG_TAG = "LocaleApiLibrary"; //$NON-NLS-1$
30 |
31 | /**
32 | * String package name for Locale.
33 | */
34 | /*
35 | * This is NOT a public API. Third parties should NOT rely on this being the only package name for Locale.
36 | */
37 | /* package */static final String LOCALE_PACKAGE = "com.twofortyfouram.locale"; //$NON-NLS-1$
38 |
39 | /**
40 | * Private constructor prevents instantiation
41 | *
42 | * @throws UnsupportedOperationException because this class cannot be instantiated.
43 | */
44 | private Constants()
45 | {
46 | throw new UnsupportedOperationException("This class is non-instantiable"); //$NON-NLS-1$
47 | }
48 | }
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-hdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-ldpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-mdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_dontsave.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_help.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitaiQAQ/SMSCodeHelper/2bbad74aa020a1f028948446f4803833274de89e/localeapi/src/main/res/drawable-xhdpi-v14/twofortyfouram_locale_ic_menu_save.png
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable/twofortyfouram_locale_ic_menu_dontsave.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable/twofortyfouram_locale_ic_menu_help.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/drawable/twofortyfouram_locale_ic_menu_save.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
18 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/menu/twofortyfouram_locale_help_save_dontsave.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-cs/strings-cs.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Zrušit
20 | Nápověda
21 | Hotovo
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-de/strings-de.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Abbrechen
20 | Hilfe
21 | Fertig
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-es/strings-es.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Cancelar
20 | Ayuda
21 | Listo
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-fr/strings-fr.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annuler
20 | Aide
21 | OK
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-hdpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 60
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-it/strings-it.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annulla
20 | Aiuto
21 | Fine
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-ja/strings-ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | キャンセル
20 | ヘルプ
21 | 完了
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-ko/strings-ko.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | 취소
20 | 도움말
21 | 완료
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-ldpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 45
18 |
19 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-mdpi/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | 50
19 |
20 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-nb/strings-nb.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Avbryt
20 | Hjelp
21 | Ferdig
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-nl/strings-nl.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Annuleren
20 | Help
21 | Gereed
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-pt-rBR/strings-pt-rBR.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Cancelar
20 | Ajuda
21 | Concluído
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-ru/strings-ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Отмена
20 | Помощь
21 | Готово
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-sv/strings-sv.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Avbryt
20 | Hjälp
21 | Klar
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-v9/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values-vi/strings-vi.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | %1$s%2$s%3$s
18 | \u0020>\u0020
19 | Hủy
20 | Giúp đỡ
21 | Xong
22 |
23 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values/id.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values/strings-en.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | %1$s%2$s%3$s
19 |
20 |
21 | \u0020>\u0020
22 |
23 |
24 | Cancel
25 |
26 |
27 | Help
28 |
29 |
30 | Done
31 |
32 |
--------------------------------------------------------------------------------
/localeapi/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | include ':localeapi'
3 |
--------------------------------------------------------------------------------