diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml index 79d337310a72c18835b255cbce2f93387f39fe97..9b149287a891d6dbe07d2f936474c1c908dbb994 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> diff --git a/tools/EditTextVariations/AndroidManifest.xml b/tools/EditTextVariations/AndroidManifest.xml index 96c244b3289267a502aa9774b92ae10c75900dfe..b5a27b9c8c84f411b9bd5a4e4b4e8ffd24f0f022 100644 --- a/tools/EditTextVariations/AndroidManifest.xml +++ b/tools/EditTextVariations/AndroidManifest.xml @@ -14,34 +14,27 @@ limitations under the License. --> -<manifest - xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.inputmethod.tools.edittextvariations" - android:versionName="0.67" - android:versionCode="67" -> - <supports-screens android:resizeable="true" /> - <uses-sdk - android:targetSdkVersion="27" - android:minSdkVersion="11" /> - <application - android:icon="@drawable/ic_launcher" - android:label="@string/app_name" - android:allowBackup="false" - > - <activity - android:name=".EditTextVariations" - android:windowSoftInputMode="stateHidden|adjustPan" - android:theme="@style/defaultActivityTheme" - android:label="@string/app_name" - > +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.inputmethod.tools.edittextvariations" + android:versionName="0.67" + android:versionCode="67"> + <supports-screens android:resizeable="true"/> + <uses-sdk android:targetSdkVersion="27" + android:minSdkVersion="11"/> + <application android:icon="@drawable/ic_launcher" + android:label="@string/app_name" + android:allowBackup="false"> + <activity android:name=".EditTextVariations" + android:windowSoftInputMode="stateHidden|adjustPan" + android:theme="@style/defaultActivityTheme" + android:label="@string/app_name" + 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> - <receiver - android:name=".NotificationBroadcastReceiver" - android:exported="false" /> + <receiver android:name=".NotificationBroadcastReceiver" + android:exported="false"/> </application> </manifest>