Merge "Add an exported flag in manifest" am: 2e60c56ea9

Change-Id: I3fbd69e4f9e5b38c108335bdfc8b83d7a998fd65
main
Treehugger Robot 2020-03-31 21:31:52 +00:00 committed by Automerger Merge Worker
commit 6f1b6d7a94
2 changed files with 120 additions and 114 deletions

View File

@ -15,132 +15,141 @@
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
coreApp="true" coreApp="true"
package="com.android.inputmethod.latin" package="com.android.inputmethod.latin"
android:versionCode="28"> 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.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_PROFILE" /> <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_SETTINGS"/>
<uses-permission android:name="android.permission.READ_SYNC_STATS" /> <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" /> <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <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_SYNC_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" /> <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/>
<!-- A signature-protected permission to ask AOSP Keyboard to close the software keyboard. <!-- 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> <pre>
{@code {@code
<uses-permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/> <uses-permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/>
} }
</pre> </pre>
then call {@link android.content.Context#sendBroadcast(Intent)} as follows: then call {@link android.content.Context#sendBroadcast(Intent)} as follows:
<pre> <pre>
{@code {@code
sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT") sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT")
.setPackage("com.android.inputmethod.latin")); .setPackage("com.android.inputmethod.latin"));
} }
</pre> --> </pre> -->
<permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT" <permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"
android:protectionLevel="signature" /> android:protectionLevel="signature"/>
<application android:label="@string/english_ime_name" <application android:label="@string/english_ime_name"
android:icon="@drawable/ic_launcher_keyboard" android:icon="@drawable/ic_launcher_keyboard"
android:supportsRtl="true" android:supportsRtl="true"
android:allowBackup="true" android:allowBackup="true"
android:defaultToDeviceProtectedStorage="true" android:defaultToDeviceProtectedStorage="true"
android:directBootAware="true"> android:directBootAware="true">
<!-- Services --> <!-- Services -->
<service android:name="LatinIME" <service android:name="LatinIME"
android:label="@string/english_ime_name" android:label="@string/english_ime_name"
android:permission="android.permission.BIND_INPUT_METHOD"> android:permission="android.permission.BIND_INPUT_METHOD"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.view.InputMethod" /> <action android:name="android.view.InputMethod"/>
</intent-filter> </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>
<service android:name=".spellcheck.AndroidSpellCheckerService" <service android:name=".spellcheck.AndroidSpellCheckerService"
android:label="@string/spell_checker_service_name" android:label="@string/spell_checker_service_name"
android:permission="android.permission.BIND_TEXT_SERVICE"> android:permission="android.permission.BIND_TEXT_SERVICE"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.service.textservice.SpellCheckerService" /> <action android:name="android.service.textservice.SpellCheckerService"/>
</intent-filter> </intent-filter>
<meta-data android:name="android.view.textservice.scs" <meta-data android:name="android.view.textservice.scs"
android:resource="@xml/spellchecker" /> android:resource="@xml/spellchecker"/>
</service> </service>
<service android:name="com.android.inputmethod.dictionarypack.DictionaryService" <service android:name="com.android.inputmethod.dictionarypack.DictionaryService"
android:label="@string/dictionary_service_name"> android:label="@string/dictionary_service_name">
</service> </service>
<!-- Activities --> <!-- Activities -->
<activity android:name=".setup.SetupActivity" <activity android:name=".setup.SetupActivity"
android:theme="@style/platformActivityTheme" android:theme="@style/platformActivityTheme"
android:label="@string/english_ime_name" android:label="@string/english_ime_name"
android:icon="@drawable/ic_launcher_keyboard" android:icon="@drawable/ic_launcher_keyboard"
android:launchMode="singleTask" android:launchMode="singleTask"
android:noHistory="true"> android:noHistory="true"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity android:name=".permissions.PermissionsActivity"
android:name=".permissions.PermissionsActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="false"
android:exported="false" android:taskAffinity="">
android:taskAffinity="" >
</activity> </activity>
<activity android:name=".setup.SetupWizardActivity" <activity android:name=".setup.SetupWizardActivity"
android:theme="@style/platformActivityTheme" android:theme="@style/platformActivityTheme"
android:label="@string/english_ime_name" android:label="@string/english_ime_name"
android:clearTaskOnLaunch="true"> android:clearTaskOnLaunch="true"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".settings.SettingsActivity" <activity android:name=".settings.SettingsActivity"
android:theme="@style/platformSettingsTheme" android:theme="@style/platformSettingsTheme"
android:label="@string/english_ime_settings"> android:label="@string/english_ime_settings"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".spellcheck.SpellCheckerSettingsActivity" <activity android:name=".spellcheck.SpellCheckerSettingsActivity"
android:theme="@style/platformSettingsTheme" android:theme="@style/platformSettingsTheme"
android:label="@string/android_spell_checker_settings"> android:label="@string/android_spell_checker_settings"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name="com.android.inputmethod.dictionarypack.DictionarySettingsActivity" <activity android:name="com.android.inputmethod.dictionarypack.DictionarySettingsActivity"
android:theme="@style/platformSettingsTheme" android:theme="@style/platformSettingsTheme"
android:label="@string/dictionary_settings_title" android:label="@string/dictionary_settings_title"
android:uiOptions="splitActionBarWhenNarrow"> android:uiOptions="splitActionBarWhenNarrow"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name="com.android.inputmethod.dictionarypack.DownloadOverMeteredDialog" <activity android:name="com.android.inputmethod.dictionarypack.DownloadOverMeteredDialog"
android:theme="@style/platformActivityTheme" android:theme="@style/platformActivityTheme"
android:label="@string/dictionary_install_over_metered_network_prompt"> android:label="@string/dictionary_install_over_metered_network_prompt"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
</intent-filter> </intent-filter>
@ -148,47 +157,51 @@
<!-- Unexported activity used for tests. --> <!-- Unexported activity used for tests. -->
<activity android:name=".settings.TestFragmentActivity" <activity android:name=".settings.TestFragmentActivity"
android:exported="false" /> android:exported="false"/>
<!-- Broadcast receivers --> <!-- Broadcast receivers -->
<receiver android:name="SystemBroadcastReceiver"> <receiver android:name="SystemBroadcastReceiver"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
<action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_INITIALIZE" /> <action android:name="android.intent.action.USER_INITIALIZE"/>
<action android:name="android.intent.action.LOCALE_CHANGED" /> <action android:name="android.intent.action.LOCALE_CHANGED"/>
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name="DictionaryPackInstallBroadcastReceiver" android:exported="false"> <receiver android:name="DictionaryPackInstallBroadcastReceiver"
android:exported="false">
<intent-filter> <intent-filter>
<action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT" /> <action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT"/>
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name="com.android.inputmethod.dictionarypack.EventHandler"> <receiver android:name="com.android.inputmethod.dictionarypack.EventHandler"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" /> <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
<action android:name="android.intent.action.DATE_CHANGED" /> <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.UPDATE_NOW"/>
<action android:name="com.android.inputmethod.dictionarypack.aosp.INIT_AND_UPDATE_NOW" /> <action android:name="com.android.inputmethod.dictionarypack.aosp.INIT_AND_UPDATE_NOW"/>
</intent-filter> </intent-filter>
</receiver> </receiver>
<!-- Broadcast receiver for AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION. --> <!-- Broadcast receiver for AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION. -->
<receiver android:name=".accounts.AccountsChangedReceiver"> <receiver android:name=".accounts.AccountsChangedReceiver"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /> <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
</intent-filter> </intent-filter>
</receiver> </receiver>
<!-- Content providers --> <!-- Content providers -->
<provider android:name="com.android.inputmethod.dictionarypack.DictionaryProvider" <provider android:name="com.android.inputmethod.dictionarypack.DictionaryProvider"
android:grantUriPermissions="true" android:grantUriPermissions="true"
android:exported="false" android:exported="false"
android:authorities="@string/authority" android:authorities="@string/authority"
android:multiprocess="false" android:multiprocess="false"
android:label="@string/dictionary_provider_name"> android:label="@string/dictionary_provider_name">
</provider> </provider>
</application> </application>
</manifest> </manifest>

View File

@ -14,34 +14,27 @@
limitations under the License. limitations under the License.
--> -->
<manifest <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.inputmethod.tools.edittextvariations"
package="com.android.inputmethod.tools.edittextvariations" android:versionName="0.67"
android:versionName="0.67" android:versionCode="67">
android:versionCode="67" <supports-screens android:resizeable="true"/>
> <uses-sdk android:targetSdkVersion="27"
<supports-screens android:resizeable="true" /> android:minSdkVersion="11"/>
<uses-sdk <application android:icon="@drawable/ic_launcher"
android:targetSdkVersion="27" android:label="@string/app_name"
android:minSdkVersion="11" /> android:allowBackup="false">
<application <activity android:name=".EditTextVariations"
android:icon="@drawable/ic_launcher" android:windowSoftInputMode="stateHidden|adjustPan"
android:label="@string/app_name" android:theme="@style/defaultActivityTheme"
android:allowBackup="false" android:label="@string/app_name"
> android:exported="true">
<activity
android:name=".EditTextVariations"
android:windowSoftInputMode="stateHidden|adjustPan"
android:theme="@style/defaultActivityTheme"
android:label="@string/app_name"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </intent-filter>
</activity> </activity>
<receiver <receiver android:name=".NotificationBroadcastReceiver"
android:name=".NotificationBroadcastReceiver" android:exported="false"/>
android:exported="false" />
</application> </application>
</manifest> </manifest>