diff options
author | 2020-03-31 21:31:52 +0000 | |
---|---|---|
committer | 2020-03-31 21:31:52 +0000 | |
commit | 6f1b6d7a94499382cf64fab14d7c4294b7d20a52 (patch) | |
tree | 58e5647daf083def1c0ce5077b9c2edcc04d7e2f /java | |
parent | fc2bc1053014d88a1052fcec9b206845bcf5ab4e (diff) | |
parent | 2e60c56ea9fa78d011a66115d86f8c9b1c73ce11 (diff) | |
download | latinime-6f1b6d7a94499382cf64fab14d7c4294b7d20a52.tar.gz latinime-6f1b6d7a94499382cf64fab14d7c4294b7d20a52.tar.xz latinime-6f1b6d7a94499382cf64fab14d7c4294b7d20a52.zip |
Merge "Add an exported flag in manifest" am: 2e60c56ea9
Change-Id: I3fbd69e4f9e5b38c108335bdfc8b83d7a998fd65
Diffstat (limited to 'java')
-rw-r--r-- | java/AndroidManifest.xml | 193 |
1 files changed, 103 insertions, 90 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml index 79d337310..9b149287a 100644 --- a/java/AndroidManifest.xml +++ b/java/AndroidManifest.xml @@ -15,132 +15,141 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - coreApp="true" - package="com.android.inputmethod.latin" - android:versionCode="28"> - - <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" /> - - <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> - <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> - <uses-permission android:name="android.permission.GET_ACCOUNTS" /> - <uses-permission android:name="android.permission.READ_CONTACTS" /> - <uses-permission android:name="android.permission.READ_PROFILE" /> - <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> - <uses-permission android:name="android.permission.READ_SYNC_STATS" /> - <uses-permission android:name="android.permission.READ_USER_DICTIONARY" /> - <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> - <uses-permission android:name="android.permission.USE_CREDENTIALS" /> - <uses-permission android:name="android.permission.VIBRATE" /> - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> - <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> - <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" /> + coreApp="true" + package="com.android.inputmethod.latin" + android:versionCode="28"> + + <uses-sdk android:minSdkVersion="21" + android:targetSdkVersion="28"/> + + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> + <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/> + <uses-permission android:name="android.permission.GET_ACCOUNTS"/> + <uses-permission android:name="android.permission.READ_CONTACTS"/> + <uses-permission android:name="android.permission.READ_PROFILE"/> + <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/> + <uses-permission android:name="android.permission.READ_SYNC_STATS"/> + <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/> + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> + <uses-permission android:name="android.permission.USE_CREDENTIALS"/> + <uses-permission android:name="android.permission.VIBRATE"/> + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> + <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/> + <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/> <!-- A signature-protected permission to ask AOSP Keyboard to close the software keyboard. - To use this, add the following line into calling application's AndroidManifest.xml + To use this, add the following line into calling application's AndroidManifest.xml <pre> - {@code + {@code <uses-permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/> - } + } </pre> - then call {@link android.content.Context#sendBroadcast(Intent)} as follows: + then call {@link android.content.Context#sendBroadcast(Intent)} as follows: <pre> - {@code - sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT") - .setPackage("com.android.inputmethod.latin")); - } + {@code + sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT") + .setPackage("com.android.inputmethod.latin")); + } </pre> --> <permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT" - android:protectionLevel="signature" /> + android:protectionLevel="signature"/> <application android:label="@string/english_ime_name" - android:icon="@drawable/ic_launcher_keyboard" - android:supportsRtl="true" - android:allowBackup="true" - android:defaultToDeviceProtectedStorage="true" - android:directBootAware="true"> + android:icon="@drawable/ic_launcher_keyboard" + android:supportsRtl="true" + android:allowBackup="true" + android:defaultToDeviceProtectedStorage="true" + android:directBootAware="true"> <!-- Services --> <service android:name="LatinIME" - android:label="@string/english_ime_name" - android:permission="android.permission.BIND_INPUT_METHOD"> + android:label="@string/english_ime_name" + android:permission="android.permission.BIND_INPUT_METHOD" + android:exported="true"> <intent-filter> - <action android:name="android.view.InputMethod" /> + <action android:name="android.view.InputMethod"/> </intent-filter> - <meta-data android:name="android.view.im" android:resource="@xml/method" /> + <meta-data android:name="android.view.im" + android:resource="@xml/method"/> </service> <service android:name=".spellcheck.AndroidSpellCheckerService" - android:label="@string/spell_checker_service_name" - android:permission="android.permission.BIND_TEXT_SERVICE"> + android:label="@string/spell_checker_service_name" + android:permission="android.permission.BIND_TEXT_SERVICE" + android:exported="true"> <intent-filter> - <action android:name="android.service.textservice.SpellCheckerService" /> + <action android:name="android.service.textservice.SpellCheckerService"/> </intent-filter> <meta-data android:name="android.view.textservice.scs" - android:resource="@xml/spellchecker" /> + android:resource="@xml/spellchecker"/> </service> <service android:name="com.android.inputmethod.dictionarypack.DictionaryService" - android:label="@string/dictionary_service_name"> + android:label="@string/dictionary_service_name"> </service> <!-- Activities --> <activity android:name=".setup.SetupActivity" - android:theme="@style/platformActivityTheme" - android:label="@string/english_ime_name" - android:icon="@drawable/ic_launcher_keyboard" - android:launchMode="singleTask" - android:noHistory="true"> + android:theme="@style/platformActivityTheme" + android:label="@string/english_ime_name" + android:icon="@drawable/ic_launcher_keyboard" + android:launchMode="singleTask" + android:noHistory="true" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.LAUNCHER" /> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> - <activity - android:name=".permissions.PermissionsActivity" - android:theme="@android:style/Theme.Translucent.NoTitleBar" - android:exported="false" - android:taskAffinity="" > + <activity android:name=".permissions.PermissionsActivity" + android:theme="@android:style/Theme.Translucent.NoTitleBar" + android:exported="false" + android:taskAffinity=""> </activity> <activity android:name=".setup.SetupWizardActivity" - android:theme="@style/platformActivityTheme" - android:label="@string/english_ime_name" - android:clearTaskOnLaunch="true"> + android:theme="@style/platformActivityTheme" + android:label="@string/english_ime_name" + android:clearTaskOnLaunch="true" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.MAIN" /> + <action android:name="android.intent.action.MAIN"/> </intent-filter> </activity> <activity android:name=".settings.SettingsActivity" - android:theme="@style/platformSettingsTheme" - android:label="@string/english_ime_settings"> + android:theme="@style/platformSettingsTheme" + android:label="@string/english_ime_settings" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.MAIN" /> + <action android:name="android.intent.action.MAIN"/> </intent-filter> </activity> <activity android:name=".spellcheck.SpellCheckerSettingsActivity" - android:theme="@style/platformSettingsTheme" - android:label="@string/android_spell_checker_settings"> + android:theme="@style/platformSettingsTheme" + android:label="@string/android_spell_checker_settings" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.MAIN" /> + <action android:name="android.intent.action.MAIN"/> </intent-filter> </activity> <activity android:name="com.android.inputmethod.dictionarypack.DictionarySettingsActivity" - android:theme="@style/platformSettingsTheme" - android:label="@string/dictionary_settings_title" - android:uiOptions="splitActionBarWhenNarrow"> + android:theme="@style/platformSettingsTheme" + android:label="@string/dictionary_settings_title" + android:uiOptions="splitActionBarWhenNarrow" + android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN"/> </intent-filter> </activity> <activity android:name="com.android.inputmethod.dictionarypack.DownloadOverMeteredDialog" - android:theme="@style/platformActivityTheme" - android:label="@string/dictionary_install_over_metered_network_prompt"> + android:theme="@style/platformActivityTheme" + android:label="@string/dictionary_install_over_metered_network_prompt" + android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN"/> </intent-filter> @@ -148,47 +157,51 @@ <!-- Unexported activity used for tests. --> <activity android:name=".settings.TestFragmentActivity" - android:exported="false" /> + android:exported="false"/> <!-- Broadcast receivers --> - <receiver android:name="SystemBroadcastReceiver"> + <receiver android:name="SystemBroadcastReceiver" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> - <action android:name="android.intent.action.BOOT_COMPLETED" /> - <action android:name="android.intent.action.USER_INITIALIZE" /> - <action android:name="android.intent.action.LOCALE_CHANGED" /> + <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/> + <action android:name="android.intent.action.BOOT_COMPLETED"/> + <action android:name="android.intent.action.USER_INITIALIZE"/> + <action android:name="android.intent.action.LOCALE_CHANGED"/> </intent-filter> </receiver> - <receiver android:name="DictionaryPackInstallBroadcastReceiver" android:exported="false"> + <receiver android:name="DictionaryPackInstallBroadcastReceiver" + android:exported="false"> <intent-filter> - <action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT" /> + <action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT"/> </intent-filter> </receiver> - <receiver android:name="com.android.inputmethod.dictionarypack.EventHandler"> + <receiver android:name="com.android.inputmethod.dictionarypack.EventHandler" + android:exported="true"> <intent-filter> - <action android:name="android.intent.action.DOWNLOAD_COMPLETE" /> - <action android:name="android.intent.action.DATE_CHANGED" /> - <action android:name="com.android.inputmethod.dictionarypack.aosp.UPDATE_NOW" /> - <action android:name="com.android.inputmethod.dictionarypack.aosp.INIT_AND_UPDATE_NOW" /> + <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/> + <action android:name="android.intent.action.DATE_CHANGED"/> + <action android:name="com.android.inputmethod.dictionarypack.aosp.UPDATE_NOW"/> + <action android:name="com.android.inputmethod.dictionarypack.aosp.INIT_AND_UPDATE_NOW"/> </intent-filter> </receiver> <!-- Broadcast receiver for AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION. --> - <receiver android:name=".accounts.AccountsChangedReceiver"> + <receiver android:name=".accounts.AccountsChangedReceiver" + android:exported="true"> <intent-filter> - <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /> + <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/> </intent-filter> </receiver> <!-- Content providers --> <provider android:name="com.android.inputmethod.dictionarypack.DictionaryProvider" - android:grantUriPermissions="true" - android:exported="false" - android:authorities="@string/authority" - android:multiprocess="false" - android:label="@string/dictionary_provider_name"> + android:grantUriPermissions="true" + android:exported="false" + android:authorities="@string/authority" + android:multiprocess="false" + android:label="@string/dictionary_provider_name"> </provider> </application> </manifest> |