mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
195 lines
8.8 KiB
XML
195 lines
8.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2012 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
package="org.futo.inputmethod.latin">
|
|
|
|
<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.POST_NOTIFICATIONS" />
|
|
<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.RECORD_AUDIO"/>
|
|
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
|
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
|
|
|
<!-- 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
|
|
<pre>
|
|
{@code
|
|
<uses-permission android:name="org.futo.inputmethod.latin.HIDE_SOFT_INPUT"/>
|
|
}
|
|
</pre>
|
|
then call {@link android.content.Context#sendBroadcast(Intent)} as follows:
|
|
<pre>
|
|
{@code
|
|
sendBroadcast(new Intent("org.futo.inputmethod.latin.HIDE_SOFT_INPUT")
|
|
.setPackage("org.futo.inputmethod.latin"));
|
|
}
|
|
</pre> -->
|
|
<permission android:name="org.futo.inputmethod.latin.HIDE_SOFT_INPUT"
|
|
android:protectionLevel="signature"/>
|
|
|
|
<application android:label="@string/english_ime_name"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:roundIcon="@mipmap/ic_launcher_round"
|
|
android:supportsRtl="true"
|
|
android:allowBackup="true"
|
|
android:defaultToDeviceProtectedStorage="true"
|
|
android:directBootAware="true"
|
|
android:name=".CrashLoggingApplication">
|
|
|
|
<!-- Services -->
|
|
<service android:name=".LatinIME"
|
|
android:label="@string/english_ime_name"
|
|
android:permission="android.permission.BIND_INPUT_METHOD"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.view.InputMethod"/>
|
|
</intent-filter>
|
|
<meta-data android:name="android.view.im"
|
|
android:resource="@xml/method"/>
|
|
</service>
|
|
|
|
<service
|
|
android:name="org.futo.inputmethod.updates.UpdateCheckingService"
|
|
android:label="@string/update_checking_service"
|
|
android:permission="android.permission.BIND_JOB_SERVICE" >
|
|
</service>
|
|
|
|
<service android:name=".spellcheck.AndroidSpellCheckerService"
|
|
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"/>
|
|
</intent-filter>
|
|
<meta-data android:name="android.view.textservice.scs"
|
|
android:resource="@xml/spellchecker"/>
|
|
</service>
|
|
|
|
<service android:name="org.futo.inputmethod.dictionarypack.DictionaryService"
|
|
android:label="@string/dictionary_service_name">
|
|
</service>
|
|
|
|
<!-- Activities -->
|
|
<activity android:name=".uix.settings.SettingsActivity"
|
|
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:roundIcon="@mipmap/ic_launcher_round"
|
|
android:launchMode="singleTask"
|
|
android:noHistory="false"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
<category android:name="android.intent.category.LAUNCHER"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".uix.voiceinput.downloader.DownloadActivity"
|
|
android:exported="false"
|
|
android:label="@string/model_downloader"
|
|
android:clearTaskOnLaunch="true"
|
|
android:launchMode="singleTask"
|
|
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" />
|
|
|
|
<activity android:name=".permissions.PermissionsActivity"
|
|
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
|
android:exported="false"
|
|
android:taskAffinity="">
|
|
</activity>
|
|
|
|
<activity android:name=".spellcheck.SpellCheckerSettingsActivity"
|
|
android:theme="@style/platformSettingsTheme"
|
|
android:label="@string/android_spell_checker_settings"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name="org.futo.inputmethod.dictionarypack.DownloadOverMeteredDialog"
|
|
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>
|
|
</activity>
|
|
|
|
<!-- Broadcast receivers -->
|
|
<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"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name="DictionaryPackInstallBroadcastReceiver"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="org.futo.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- Broadcast receiver for AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION. -->
|
|
<receiver android:name=".accounts.AccountsChangedReceiver"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name="org.futo.inputmethod.updates.InstallReceiver" />
|
|
|
|
<!-- Content providers -->
|
|
<provider android:name="org.futo.inputmethod.dictionarypack.DictionaryProvider"
|
|
android:grantUriPermissions="true"
|
|
android:exported="false"
|
|
android:authorities="@string/authority"
|
|
android:multiprocess="false"
|
|
android:label="@string/dictionary_provider_name">
|
|
</provider>
|
|
|
|
<service
|
|
android:name="androidx.work.impl.foreground.SystemForegroundService"
|
|
android:foregroundServiceType="specialUse"
|
|
tools:node="merge">
|
|
|
|
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
|
android:value="Neural network model training"/>
|
|
|
|
</service>
|
|
</application>
|
|
</manifest>
|