apk(点击下载) / AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="12010005" android:versionName="12.1.0.1" android:compileSdkVersion="34" android:compileSdkVersionCodename="14" package="app.lawnchair" platformBuildVersionCode="34" platformBuildVersionName="14"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="32" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="com.google.android.apps.nexuslauncher.permission.QSB" />
    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
    <uses-permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
    <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
    <uses-permission android:name="android.permission.REMOVE_TASKS" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS" />
    <uses-permission android:name="android.permission.STATUS_BAR" />
    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
    <uses-permission android:name="android.permission.SET_ORIENTATION" />
    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
    <uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY" />
    <uses-permission android:name="android.permission.MONITOR_INPUT" />
    <uses-permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES" />
    <uses-permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY" />
    <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.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
    <uses-permission android:name="android.permission.ACCESS_RESTRICTED_SETTINGS" />
    <uses-permission android:name="android.permission.ROTATE_SURFACE_FLINGER" />
    <uses-permission android:name="app.lawnchair.permission.READ_SETTINGS" />
    <uses-permission android:name="app.lawnchair.permission.WRITE_SETTINGS" />
    <permission android:name="app.lawnchair.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature" />
    <uses-permission android:name="app.lawnchair.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
    <application android:theme="@style/AppTheme" android:label="@string/derived_app_name" android:icon="@drawable/ic_launcher_home" android:name="app.lawnchair.LawnchairApp" android:backupAgent="com.android.launcher3.LauncherBackupAgent" android:restoreAnyVersion="true" android:hardwareAccelerated="true" android:largeHeap="@bool/config_largeHeap" android:supportsRtl="true" android:fullBackupOnly="true" android:extractNativeLibs="false" android:fullBackupContent="@xml/backupscheme" android:backupInForeground="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory">
        <activity android:name="app.lawnchair.LawnchairLauncher" android:enabled="true" android:exported="true" android:taskAffinity="" android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:launchMode="singleTask" android:screenOrientation="unspecified" android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize" android:windowSoftInputMode="adjustPan" android:resumeWhilePausing="true" android:resizeableActivity="true">
            <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>
            <meta-data android:name="com.android.launcher3.grid.control" android:value="app.lawnchair.grid_control" />
            <meta-data android:name="com.android.launcher3.themedicon.option" android:value="app.lawnchair.grid_control" />
        </activity>
        <meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts" />
        <activity android:theme="@style/Theme.Lawnchair" android:label="@string/settings_button_text" android:name="app.lawnchair.ui.preferences.PreferenceActivity" android:exported="true" android:windowSoftInputMode="adjustResize" android:autoRemoveFromRecents="true">
            <intent-filter android:priority="1">
                <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:theme="@style/Theme.Transparent" android:name="app.lawnchair.BlankActivity" />
        <activity android:theme="@style/Theme.Transparent" android:name="app.lawnchair.smartspace.SmartspacePreferencesShortcut" />
        <receiver android:label="@string/derived_app_name" android:name="app.lawnchair.gestures.handlers.SleepMethodDeviceAdmin$SleepDeviceAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN" android:exported="true" android:description="@string/dt2s_admin_hint">
            <meta-data android:name="android.app.device_admin" android:resource="@xml/sleep_policy" />
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>
        <service android:label="@string/derived_app_name" android:name="app.lawnchair.LawnchairAccessibilityService" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" android:exported="false">
            <intent-filter>
                <action android:name="android.accessibilityservice.AccessibilityService" />
            </intent-filter>
        </service>
        <provider android:name="app.lawnchair.bugreport.FileProvider" android:exported="false" android:authorities="app.lawnchair.fileprovider" android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
        </provider>
        <receiver android:name="app.lawnchair.bugreport.BugReportReceiver" android:exported="false">
            <intent-filter>
                <action android:name="app.lawnchair.bugreport.COPY" />
                <action android:name="app.lawnchair.bugreport.UPLOAD" />
                <action android:name="app.lawnchair.bugreport.UPLOAD_COMPLETE" />
            </intent-filter>
        </receiver>
        <service android:name="app.lawnchair.bugreport.UploaderService" android:enabled="true" android:exported="false" android:process=":bugReport" />
        <receiver android:name="app.lawnchair.smartspace.SmartspaceAppWidgetProvider" android:exported="false">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider" android:resource="@xml/smartspace_appwidget_info" />
        </receiver>
        <meta-data android:name="xyz.paphonb.quickstepswitcher.minSdk" android:value="32" />
        <meta-data android:name="xyz.paphonb.quickstepswitcher.maxSdk" android:value="32" />
        <service android:name="com.android.quickstep.TouchInteractionService" android:permission="android.permission.STATUS_BAR_SERVICE" android:exported="true" android:directBootAware="true">
            <intent-filter>
                <action android:name="android.intent.action.QUICKSTEP_SERVICE" />
            </intent-filter>
        </service>
        <activity android:theme="@style/LauncherTheme" android:name="com.android.quickstep.RecentsActivity" android:taskAffinity="" android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:excludeFromRecents="true" android:launchMode="singleTask" android:screenOrientation="unspecified" android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize" android:resumeWhilePausing="true" android:resizeableActivity="true" />
        <provider android:name="com.android.quickstep.LauncherSearchIndexablesProvider" android:permission="android.permission.READ_SEARCH_INDEXABLES" android:exported="true" android:multiprocess="true" android:authorities="app.lawnchair" android:grantUriPermissions="true">
            <intent-filter>
                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
            </intent-filter>
        </provider>
        <provider android:name="androidx.core.content.FileProvider" android:exported="false" android:authorities="app.lawnchair.overview.fileprovider" android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/overview_file_provider_paths" />
        </provider>
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:name="com.android.launcher3.proxy.ProxyActivityStarter" android:exported="false" android:clearTaskOnLaunch="true" android:launchMode="singleTask" />
        <activity android:name="com.android.quickstep.interaction.GestureSandboxActivity" android:exported="true" android:excludeFromRecents="true" android:autoRemoveFromRecents="true">
            <intent-filter>
                <action android:name="com.android.quickstep.action.GESTURE_SANDBOX" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:theme="@style/AllSetTheme" android:label="@string/allset_title" android:name="com.android.quickstep.interaction.AllSetActivity" android:permission="android.permission.REBOOT" android:exported="true" android:excludeFromRecents="true" android:autoRemoveFromRecents="true">
            <intent-filter>
                <action android:name="com.android.quickstep.action.GESTURE_ONBOARDING_ALL_SET" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <receiver android:name="com.android.launcher3.SessionCommitReceiver" android:exported="true">
            <intent-filter>
                <action android:name="android.content.pm.action.SESSION_COMMITTED" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver" android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
            </intent-filter>
        </receiver>
        <service android:label="@string/notification_dots_service_title" android:name="com.android.launcher3.notification.NotificationListener" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" android:exported="true">
            <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:theme="@style/AddItemActivityTheme" android:name="com.android.launcher3.dragndrop.AddItemActivity" android:exported="true" android:excludeFromRecents="true" android:autoRemoveFromRecents="true">
            <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>
        <provider android:name="com.android.launcher3.LauncherProvider" android:readPermission="app.lawnchair.permission.READ_SETTINGS" android:writePermission="app.lawnchair.permission.WRITE_SETTINGS" android:exported="true" android:authorities="app.lawnchair.settings" />
        <provider android:name="com.android.launcher3.graphics.GridCustomizationsProvider" android:exported="true" android:authorities="app.lawnchair.grid_control" />
        <activity android:theme="@style/HomeSettings.Theme" android:label="@string/settings_button_text" android:name="com.android.launcher3.settings.SettingsActivity" android:exported="true" android:autoRemoveFromRecents="true">
            <intent-filter android:priority="-1">
                <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <provider android:name="com.android.launcher3.testing.TestInformationProvider" android:readPermission="android.permission.WRITE_SECURE_SETTINGS" android:writePermission="android.permission.WRITE_SECURE_SETTINGS" android:enabled="false" android:exported="true" android:authorities="app.lawnchair.TestInfo" />
        <activity android:name="androidx.slice.compat.SlicePermissionActivity" android:excludeFromRecents="true" />
        <uses-library android:name="androidx.window.extensions" android:required="false" />
        <uses-library android:name="androidx.window.sidecar" android:required="false" />
        <service android:name="androidx.room.MultiInstanceInvalidationService" android:exported="false" android:directBootAware="true" />
        <receiver android:name="androidx.profileinstaller.ProfileInstallReceiver" android:permission="android.permission.DUMP" android:enabled="true" android:exported="true" android:directBootAware="false">
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.SKIP_FILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
            </intent-filter>
        </receiver>
    </application>
</manifest>