blob: 633c68be31fb40a9f0b8ddc5e8078e4e6e66cb24 [file] [log] [blame]
Ken Wakasa1a9ef012012-07-06 20:29:08 +09001<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2012 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
Doug Zongker4fc01932010-01-27 14:32:42 -080017<manifest xmlns:android="http://schemas.android.com/apk/res/android"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070018 coreApp="true"
19 package="com.android.inputmethod.latin"
Yohei Yukawa360052f2021-06-14 20:32:50 -070020 android:versionCode="30">
Jeff Hamiltone11e2832010-02-12 18:55:34 -060021
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070022 <uses-sdk android:minSdkVersion="21"
Yohei Yukawa360052f2021-06-14 20:32:50 -070023 android:targetSdkVersion="30"/>
Yohei Yukawa69ceec92018-11-13 13:49:23 -080024
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070025 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
26 <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
27 <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
28 <uses-permission android:name="android.permission.READ_CONTACTS"/>
29 <uses-permission android:name="android.permission.READ_PROFILE"/>
30 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
31 <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
32 <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
33 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
34 <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
35 <uses-permission android:name="android.permission.VIBRATE"/>
36 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
37 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
38 <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/>
The Android Open Source Project923bf412009-03-13 15:11:42 -070039
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070040 <!-- A signature-protected permission to ask AOSP Keyboard to close the software keyboard.
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070041 To use this, add the following line into calling application's AndroidManifest.xml
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070042 <pre>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070043 {@code
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070044 <uses-permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070045 }
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070046 </pre>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070047 then call {@link android.content.Context#sendBroadcast(Intent)} as follows:
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070048 <pre>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070049 {@code
50 sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT")
51 .setPackage("com.android.inputmethod.latin"));
52 }
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070053 </pre> -->
54 <permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070055 android:protectionLevel="signature"/>
Yohei Yukawafdfc55d2017-09-01 00:22:21 -070056
Rhed Jaoa630a5f2022-09-06 20:48:59 +080057 <!-- To query enabled input methods. -->
58 <queries>
59 <intent>
60 <action android:name="android.view.InputMethod" />
61 </intent>
62 </queries>
63
Tadashi G. Takaoka842e2452013-04-26 14:01:41 +090064 <application android:label="@string/english_ime_name"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070065 android:icon="@drawable/ic_launcher_keyboard"
66 android:supportsRtl="true"
67 android:allowBackup="true"
68 android:defaultToDeviceProtectedStorage="true"
69 android:directBootAware="true">
Jeff Hamilton43d34da2009-05-08 18:57:10 -070070
Sandeep Siddharthad4aec652014-09-22 16:45:05 -070071 <!-- Services -->
The Android Open Source Project923bf412009-03-13 15:11:42 -070072 <service android:name="LatinIME"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070073 android:label="@string/english_ime_name"
74 android:permission="android.permission.BIND_INPUT_METHOD"
Rhed Jaoa630a5f2022-09-06 20:48:59 +080075 android:exported="true"
76 android:visibleToInstantApps="true">
The Android Open Source Project923bf412009-03-13 15:11:42 -070077 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070078 <action android:name="android.view.InputMethod"/>
The Android Open Source Project923bf412009-03-13 15:11:42 -070079 </intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070080 <meta-data android:name="android.view.im"
81 android:resource="@xml/method"/>
The Android Open Source Project923bf412009-03-13 15:11:42 -070082 </service>
Doug Zongker4fc01932010-01-27 14:32:42 -080083
satokc2b6a352011-08-08 19:16:20 +090084 <service android:name=".spellcheck.AndroidSpellCheckerService"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070085 android:label="@string/spell_checker_service_name"
86 android:permission="android.permission.BIND_TEXT_SERVICE"
87 android:exported="true">
satokc2b6a352011-08-08 19:16:20 +090088 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070089 <action android:name="android.service.textservice.SpellCheckerService"/>
satokc2b6a352011-08-08 19:16:20 +090090 </intent-filter>
Ken Wakasaa7d2fc62013-07-22 12:43:37 +090091 <meta-data android:name="android.view.textservice.scs"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070092 android:resource="@xml/spellchecker"/>
satokc2b6a352011-08-08 19:16:20 +090093 </service>
Jean Chalard31fd54c2011-08-12 17:18:32 +090094
Sandeep Siddharthad4aec652014-09-22 16:45:05 -070095 <service android:name="com.android.inputmethod.dictionarypack.DictionaryService"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -070096 android:label="@string/dictionary_service_name">
Sandeep Siddharthad4aec652014-09-22 16:45:05 -070097 </service>
98
99 <!-- Activities -->
Tadashi G. Takaokacb0beaf2013-02-14 15:01:53 +0900100 <activity android:name=".setup.SetupActivity"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700101 android:theme="@style/platformActivityTheme"
102 android:label="@string/english_ime_name"
103 android:icon="@drawable/ic_launcher_keyboard"
104 android:launchMode="singleTask"
105 android:noHistory="true"
106 android:exported="true">
Tadashi G. Takaokacb0beaf2013-02-14 15:01:53 +0900107 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700108 <action android:name="android.intent.action.MAIN"/>
109 <category android:name="android.intent.category.LAUNCHER"/>
Tadashi G. Takaokacb0beaf2013-02-14 15:01:53 +0900110 </intent-filter>
111 </activity>
112
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700113 <activity android:name=".permissions.PermissionsActivity"
114 android:theme="@android:style/Theme.Translucent.NoTitleBar"
115 android:exported="false"
116 android:taskAffinity="">
Mohammadinamul Sheik60415862015-07-15 13:32:50 -0700117 </activity>
118
Tadashi G. Takaoka2b5c9722013-05-09 13:14:18 +0900119 <activity android:name=".setup.SetupWizardActivity"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700120 android:theme="@style/platformActivityTheme"
121 android:label="@string/english_ime_name"
122 android:clearTaskOnLaunch="true"
123 android:exported="true">
Tadashi G. Takaoka2b5c9722013-05-09 13:14:18 +0900124 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700125 <action android:name="android.intent.action.MAIN"/>
Tadashi G. Takaoka2b5c9722013-05-09 13:14:18 +0900126 </intent-filter>
127 </activity>
128
Ken Wakasaa7d2fc62013-07-22 12:43:37 +0900129 <activity android:name=".settings.SettingsActivity"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700130 android:theme="@style/platformSettingsTheme"
131 android:label="@string/english_ime_settings"
132 android:exported="true">
The Android Open Source Project923bf412009-03-13 15:11:42 -0700133 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700134 <action android:name="android.intent.action.MAIN"/>
The Android Open Source Project923bf412009-03-13 15:11:42 -0700135 </intent-filter>
Amith Yamasani36fcf252009-10-12 13:48:35 -0700136 </activity>
137
Ken Wakasaa7d2fc62013-07-22 12:43:37 +0900138 <activity android:name=".spellcheck.SpellCheckerSettingsActivity"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700139 android:theme="@style/platformSettingsTheme"
140 android:label="@string/android_spell_checker_settings"
141 android:exported="true">
Jean Chalard31fd54c2011-08-12 17:18:32 +0900142 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700143 <action android:name="android.intent.action.MAIN"/>
Jean Chalard31fd54c2011-08-12 17:18:32 +0900144 </intent-filter>
145 </activity>
146
Jean Chalard0cc05442013-03-15 19:00:51 +0900147 <activity android:name="com.android.inputmethod.dictionarypack.DictionarySettingsActivity"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700148 android:theme="@style/platformSettingsTheme"
149 android:label="@string/dictionary_settings_title"
150 android:uiOptions="splitActionBarWhenNarrow"
151 android:exported="true">
Jean Chalard0cc05442013-03-15 19:00:51 +0900152 <intent-filter>
153 <action android:name="android.intent.action.MAIN"/>
154 </intent-filter>
155 </activity>
156
157 <activity android:name="com.android.inputmethod.dictionarypack.DownloadOverMeteredDialog"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700158 android:theme="@style/platformActivityTheme"
159 android:label="@string/dictionary_install_over_metered_network_prompt"
Wilson Wu54d44212022-08-10 14:46:45 +0800160 android:exported="false">
Jean Chalard0cc05442013-03-15 19:00:51 +0900161 <intent-filter>
162 <action android:name="android.intent.action.MAIN"/>
163 </intent-filter>
164 </activity>
Sandeep Siddhartha84185142014-09-16 15:53:32 -0700165
166 <!-- Unexported activity used for tests. -->
167 <activity android:name=".settings.TestFragmentActivity"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700168 android:exported="false"/>
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700169
170 <!-- Broadcast receivers -->
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700171 <receiver android:name="SystemBroadcastReceiver"
172 android:exported="true">
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700173 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700174 <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
175 <action android:name="android.intent.action.BOOT_COMPLETED"/>
176 <action android:name="android.intent.action.USER_INITIALIZE"/>
177 <action android:name="android.intent.action.LOCALE_CHANGED"/>
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700178 </intent-filter>
179 </receiver>
180
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700181 <receiver android:name="DictionaryPackInstallBroadcastReceiver"
182 android:exported="false">
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700183 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700184 <action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT"/>
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700185 </intent-filter>
186 </receiver>
187
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700188 <receiver android:name="com.android.inputmethod.dictionarypack.EventHandler"
189 android:exported="true">
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700190 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700191 <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
192 <action android:name="android.intent.action.DATE_CHANGED"/>
193 <action android:name="com.android.inputmethod.dictionarypack.aosp.UPDATE_NOW"/>
194 <action android:name="com.android.inputmethod.dictionarypack.aosp.INIT_AND_UPDATE_NOW"/>
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700195 </intent-filter>
196 </receiver>
197
198 <!-- Broadcast receiver for AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION. -->
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700199 <receiver android:name=".accounts.AccountsChangedReceiver"
200 android:exported="true">
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700201 <intent-filter>
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700202 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700203 </intent-filter>
204 </receiver>
205
206 <!-- Content providers -->
207 <provider android:name="com.android.inputmethod.dictionarypack.DictionaryProvider"
Ashwini Oruganti7c1b5492020-03-23 16:23:26 -0700208 android:grantUriPermissions="true"
209 android:exported="false"
210 android:authorities="@string/authority"
211 android:multiprocess="false"
212 android:label="@string/dictionary_provider_name">
Sandeep Siddharthad4aec652014-09-22 16:45:05 -0700213 </provider>
The Android Open Source Project923bf412009-03-13 15:11:42 -0700214 </application>
215</manifest>