aboutsummaryrefslogtreecommitdiffstats
path: root/java/AndroidManifest.xml
diff options
context:
space:
mode:
authorAshwini Oruganti <ashfall@google.com>2020-03-23 16:23:26 -0700
committerAshwini Oruganti <ashfall@google.com>2020-03-23 16:23:26 -0700
commit7c1b5497f28f19913baf0d14f3aca4034a071a87 (patch)
tree58e5647daf083def1c0ce5077b9c2edcc04d7e2f /java/AndroidManifest.xml
parentfc2bc1053014d88a1052fcec9b206845bcf5ab4e (diff)
downloadlatinime-7c1b5497f28f19913baf0d14f3aca4034a071a87.tar.gz
latinime-7c1b5497f28f19913baf0d14f3aca4034a071a87.tar.xz
latinime-7c1b5497f28f19913baf0d14f3aca4034a071a87.zip
Add an exported flag in manifest
With b/150232615, we will need an explicit value set for the exported flag when intent filters are present, as the default behavior is changing for S+. This change adds the value reflecting the previous default to the manifest. These changes were made using an automated tool, the xml file may be reformatted slightly creating a larger diff. The only "real" change is the addition of "android:exported" to activities, services, and receivers that have one or more intent-filters. Bug: 150232615 Test: TH Exempt-From-Owner-Approval: mechanical refactoring Change-Id: Idc43e262fd2911e19f0bcd20add29e4c3392d3da
Diffstat (limited to 'java/AndroidManifest.xml')
-rw-r--r--java/AndroidManifest.xml193
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>