371 lines
18 KiB
XML
371 lines
18 KiB
XML
<?xml version="1.0" encoding="utf-8"?><!--
|
|
/*
|
|
**
|
|
** Copyright 2016, 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="com.aoleyun.os"
|
|
android:sharedUserId="android.uid.system">
|
|
|
|
<!--
|
|
The manifest defines the common entries that should be present in any derivative of Launcher3.
|
|
The components should generally not require any changes.
|
|
|
|
Rest of the components are defined in AndroidManifest.xml which is merged with this manifest
|
|
at compile time. Note that the components defined in AndroidManifest.xml are also required,
|
|
with some minor changed based on the derivative app.
|
|
-->
|
|
<permission
|
|
android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
|
|
android:description="@string/permdesc_install_shortcut"
|
|
android:label="@string/permlab_install_shortcut"
|
|
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
|
|
android:protectionLevel="dangerous" />
|
|
|
|
<uses-permission android:name="android.permission.CALL_PHONE" />
|
|
<uses-permission android:name="android.permission.SET_WALLPAPER" />
|
|
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
|
|
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
|
|
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
|
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<!--
|
|
Permissions required for read/write access to the workspace data. These permission name
|
|
should not conflict with that defined in other apps, as such an app should embed its package
|
|
name in the permissions. eq com.mypackage.permission.READ_SETTINGS
|
|
-->
|
|
<permission
|
|
android:name="${packageName}.permission.READ_SETTINGS"
|
|
android:description="@string/permdesc_read_settings"
|
|
android:label="@string/permlab_read_settings"
|
|
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
|
|
android:protectionLevel="signatureOrSystem" />
|
|
<permission
|
|
android:name="${packageName}.permission.WRITE_SETTINGS"
|
|
android:description="@string/permdesc_write_settings"
|
|
android:label="@string/permlab_write_settings"
|
|
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
|
|
android:protectionLevel="signatureOrSystem" />
|
|
|
|
<uses-permission android:name="${packageName}.permission.READ_SETTINGS" />
|
|
<uses-permission android:name="${packageName}.permission.WRITE_SETTINGS" />
|
|
|
|
<application
|
|
android:name="com.aoleyun.os.base.BaseApplication"
|
|
android:backupAgent="com.aoleyun.os.LauncherBackupAgent"
|
|
android:fullBackupContent="@xml/backupscheme"
|
|
android:fullBackupOnly="true"
|
|
android:hardwareAccelerated="true"
|
|
android:icon="@drawable/ic_launcher_home"
|
|
android:label="@string/derived_app_name"
|
|
android:largeHeap="@bool/config_largeHeap"
|
|
android:networkSecurityConfig="@xml/network"
|
|
android:restoreAnyVersion="true"
|
|
android:supportsRtl="true">
|
|
|
|
<!-- Intent received used to install shortcuts from other applications -->
|
|
<receiver
|
|
android:name="com.aoleyun.os.InstallShortcutReceiver"
|
|
android:enabled="@bool/enable_install_shortcut_api"
|
|
android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
|
|
<intent-filter>
|
|
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- Intent received when a session is committed -->
|
|
<receiver android:name="com.aoleyun.os.SessionCommitReceiver">
|
|
<intent-filter>
|
|
<action android:name="android.content.pm.action.SESSION_COMMITTED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- Intent received used to initialize a restored widget -->
|
|
<receiver android:name="com.aoleyun.os.AppWidgetsRestoredReceiver">
|
|
<intent-filter>
|
|
<action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<service
|
|
android:name="com.aoleyun.os.uioverrides.dynamicui.WallpaperManagerCompatVL$ColorExtractionService"
|
|
android:exported="false"
|
|
android:permission="android.permission.BIND_JOB_SERVICE"
|
|
android:process=":wallpaper_chooser" />
|
|
|
|
<service
|
|
android:name="com.aoleyun.os.notification.NotificationListener"
|
|
android:enabled="@bool/notification_dots_enabled"
|
|
android:label="@string/notification_dots_service_title"
|
|
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.notification.NotificationListenerService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<meta-data
|
|
android:name="android.nfc.disable_beam_default"
|
|
android:value="true" />
|
|
|
|
<activity
|
|
android:name="com.aoleyun.os.dragndrop.AddItemActivity"
|
|
android:autoRemoveFromRecents="true"
|
|
android:excludeFromRecents="true"
|
|
android:label="@string/action_add_to_workspace"
|
|
android:theme="@style/AppItemActivityTheme">
|
|
<intent-filter>
|
|
<action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT" />
|
|
<action android:name="android.content.pm.action.CONFIRM_PIN_APPWIDGET" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!--
|
|
Should point to the content provider which can be used to dump Launcher3 compatible
|
|
worspace configuration to the dump's file descriptor by using launcher_dump.proto
|
|
-->
|
|
<meta-data
|
|
android:name="com.aoleyun.os.launcher_dump_provider"
|
|
android:value="com.aoleyun.os.LauncherProvider" />
|
|
|
|
<!--
|
|
The settings provider contains Home's data, like the workspace favorites. The permissions
|
|
should be changed to what is defined above. The authorities should also be changed to
|
|
represent the package name.
|
|
-->
|
|
<provider
|
|
android:name="com.aoleyun.os.LauncherProvider"
|
|
android:authorities="${packageName}.settings"
|
|
android:exported="true"
|
|
android:readPermission="${packageName}.permission.READ_SETTINGS"
|
|
android:writePermission="${packageName}.permission.WRITE_SETTINGS" />
|
|
|
|
<!--
|
|
The content provider for exposing various launcher grid options.
|
|
TODO: Add proper permissions
|
|
-->
|
|
<provider
|
|
android:name="com.aoleyun.os.graphics.GridOptionsProvider"
|
|
android:authorities="${packageName}.grid_control"
|
|
android:enabled="false"
|
|
android:exported="true" />
|
|
|
|
<!--
|
|
The settings activity. To extend point settings_fragment_name to appropriate fragment class
|
|
-->
|
|
<activity
|
|
android:name="com.aoleyun.os.settings.SettingsActivity"
|
|
android:autoRemoveFromRecents="true"
|
|
android:label="@string/settings_button_text"
|
|
android:theme="@android:style/Theme.DeviceDefault.Settings">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name="com.aoleyun.os.Launcher"
|
|
android:clearTaskOnLaunch="true"
|
|
android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize"
|
|
android:enabled="true"
|
|
android:launchMode="singleTask"
|
|
android:resizeableActivity="true"
|
|
android:resumeWhilePausing="true"
|
|
android:screenOrientation="unspecified"
|
|
android:stateNotNeeded="true"
|
|
android:taskAffinity=""
|
|
android:windowSoftInputMode="adjustPan">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.HOME" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.MONKEY" />
|
|
<category android:name="android.intent.category.LAUNCHER_APP" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<provider
|
|
android:name="com.aoleyun.os.testing.TestInformationProvider"
|
|
android:authorities="${packageName}.TestInfo"
|
|
android:enabled="false"
|
|
android:exported="true"
|
|
android:readPermission="android.permission.WRITE_SECURE_SETTINGS"
|
|
android:writePermission="android.permission.WRITE_SECURE_SETTINGS" />
|
|
|
|
|
|
<!-- Rich push 核心功能 since 2.0.6-->
|
|
<!-- <activity-->
|
|
<!-- android:name="cn.jpush.android.ui.PopWinActivity"-->
|
|
<!-- android:exported="false"-->
|
|
<!-- android:theme="@style/MyDialogStyle"-->
|
|
<!-- tools:replace="android:exported"></activity>-->
|
|
|
|
<!-- Required SDK核心功能-->
|
|
<!-- <activity-->
|
|
<!-- android:name="cn.jpush.android.ui.PushActivity"-->
|
|
<!-- android:configChanges="orientation|keyboardHidden"-->
|
|
<!-- android:exported="false"-->
|
|
<!-- android:theme="@android:style/Theme.NoTitleBar"-->
|
|
<!-- tools:replace="android:exported">-->
|
|
<!-- <intent-filter>-->
|
|
<!-- <action android:name="cn.jpush.android.ui.PushActivity" />-->
|
|
|
|
<!-- <category android:name="android.intent.category.DEFAULT" />-->
|
|
<!-- <category android:name="${applicationId}" />-->
|
|
<!-- </intent-filter>-->
|
|
<!-- </activity>-->
|
|
|
|
<!-- Required SDK 核心功能-->
|
|
<!-- 可配置android:process参数将PushService放在其他进程中 -->
|
|
<!-- <service-->
|
|
<!-- android:name="cn.jpush.android.service.PushService"-->
|
|
<!-- android:exported="false"-->
|
|
<!-- android:process=":pushcore">-->
|
|
<!-- <intent-filter>-->
|
|
<!-- <action android:name="cn.jpush.android.intent.REGISTER" />-->
|
|
<!-- <action android:name="cn.jpush.android.intent.REPORT" />-->
|
|
<!-- <action android:name="cn.jpush.android.intent.PushService" />-->
|
|
<!-- <action android:name="cn.jpush.android.intent.PUSH_TIME" />-->
|
|
<!-- </intent-filter>-->
|
|
<!-- </service>-->
|
|
|
|
<!-- since 3.0.9 Required SDK 核心功能-->
|
|
<!-- <provider-->
|
|
<!-- android:name="cn.jpush.android.service.DataProvider"-->
|
|
<!-- android:authorities="${applicationId}.DataProvider"-->
|
|
<!-- android:exported="false"-->
|
|
<!-- android:process=":pushcore"-->
|
|
<!-- tools:replace="android:authorities" />-->
|
|
|
|
<!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
|
|
<!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
|
|
<!-- <service-->
|
|
<!-- android:name="cn.jpush.android.service.DaemonService"-->
|
|
<!-- android:enabled="true"-->
|
|
<!-- android:exported="true">-->
|
|
<!-- <intent-filter>-->
|
|
<!-- <action android:name="cn.jpush.android.intent.DaemonService" />-->
|
|
<!-- <category android:name="${applicationId}" />-->
|
|
<!-- </intent-filter>-->
|
|
|
|
<!-- </service>-->
|
|
|
|
<!-- since 3.1.0 Required SDK 核心功能-->
|
|
<!-- <provider-->
|
|
<!-- android:name="cn.jpush.android.service.DownloadProvider"-->
|
|
<!-- android:authorities="${applicationId}.DownloadProvider"-->
|
|
<!-- android:exported="true"-->
|
|
<!-- tools:replace="android:authorities" />-->
|
|
|
|
<!-- Required SDK核心功能-->
|
|
<!-- <receiver-->
|
|
<!-- android:name="cn.jpush.android.service.PushReceiver"-->
|
|
<!-- android:enabled="true"-->
|
|
<!-- android:exported="false"-->
|
|
<!-- tools:replace="android:exported">-->
|
|
<!-- <intent-filter android:priority="1000">-->
|
|
<!-- <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!–Required 显示通知栏 –>-->
|
|
<!-- <category android:name="${applicationId}" />-->
|
|
<!-- </intent-filter>-->
|
|
<!-- <intent-filter>-->
|
|
<!-- <action android:name="android.intent.action.USER_PRESENT" />-->
|
|
<!-- <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />-->
|
|
<!-- </intent-filter>-->
|
|
<!-- <!– Optional –>-->
|
|
<!-- <intent-filter>-->
|
|
<!-- <action android:name="android.intent.action.PACKAGE_ADDED" />-->
|
|
<!-- <action android:name="android.intent.action.PACKAGE_REMOVED" />-->
|
|
|
|
<!-- <data android:scheme="package" />-->
|
|
<!-- </intent-filter>-->
|
|
<!-- </receiver>-->
|
|
|
|
<!-- Required SDK核心功能-->
|
|
<!-- <receiver-->
|
|
<!-- android:name="cn.jpush.android.service.AlarmReceiver"-->
|
|
<!-- android:exported="false" />-->
|
|
|
|
|
|
<!-- User defined. For test only 用户自定义的广播接收器-->
|
|
<receiver
|
|
android:name="com.aoleyun.os.jpush.MyReceiver"
|
|
android:enabled="true"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required 用户注册SDK的intent-->
|
|
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required 用户接收SDK消息的intent-->
|
|
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required 用户接收SDK通知栏信息的intent-->
|
|
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required 用户打开自定义通知栏的intent-->
|
|
<action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收网络变化 连接/断开 since 1.6.3 -->
|
|
<category android:name="${applicationId}" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
|
|
<!-- User defined. For test only 用户自定义接收消息器,3.0.7开始支持,目前新tag/alias接口设置结果会在该广播接收器对应的方法中回调-->
|
|
<!--since 3.3.0 接收JPush相关事件-->
|
|
<receiver android:name="com.aoleyun.os.jpush.MyJPushMessageReceiver">
|
|
<intent-filter>
|
|
<action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
|
|
<category android:name="${applicationId}" />
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver
|
|
android:name="com.aoleyun.os.receiver.InstallResultReceiver"
|
|
android:enabled="true"
|
|
android:exported="true" />
|
|
|
|
<!--since 3.3.0 Required SDK核心功能-->
|
|
<!-- <activity-->
|
|
<!-- android:name="cn.jpush.android.service.JNotifyActivity"-->
|
|
<!-- android:exported="true"-->
|
|
<!-- android:taskAffinity="jpush.custom"-->
|
|
<!-- android:theme="@android:style/Theme.Translucent.NoTitleBar">-->
|
|
<!-- <intent-filter>-->
|
|
<!-- <action android:name="cn.jpush.android.intent.JNotifyActivity" />-->
|
|
<!-- <category android:name="${applicationId}" />-->
|
|
<!-- </intent-filter>-->
|
|
<!-- </activity>-->
|
|
|
|
<!-- since 3.3.0 Required SDK 核心功能-->
|
|
<!-- 可配置android:process参数将PushService放在其他进程中 -->
|
|
<!--User defined. For test only 继承自cn.jpush.android.service.JCommonService-->
|
|
<service
|
|
android:name="com.aoleyun.os.jpush.PushService"
|
|
android:process=":pushcore">
|
|
<intent-filter>
|
|
<action android:name="cn.jiguang.user.service.action" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<!-- Required . Enable it you can get statistics data with channel -->
|
|
<!-- <meta-data-->
|
|
<!-- android:name="JPUSH_CHANNEL"-->
|
|
<!-- android:value="${JPUSH_CHANNEL}" />-->
|
|
<!-- <meta-data-->
|
|
<!-- android:name="JPUSH_APPKEY"-->
|
|
<!-- android:value="${JPUSH_APPKEY}" /> -->
|
|
<!-- <!– </>值来自开发者平台取得的AppKey–>-->
|
|
</application>
|
|
</manifest>
|