mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
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
This commit is contained in:
parent
fc2bc10530
commit
7c1b5497f2
@ -15,132 +15,141 @@
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
coreApp="true"
|
||||
package="com.android.inputmethod.latin"
|
||||
android:versionCode="28">
|
||||
coreApp="true"
|
||||
package="com.android.inputmethod.latin"
|
||||
android:versionCode="28">
|
||||
|
||||
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="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" />
|
||||
<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>
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user