Merge "Add an exported flag in manifest"

main
Treehugger Robot 2020-03-31 21:10:45 +00:00 committed by Gerrit Code Review
commit 2e60c56ea9
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>