DeepLinkConfirmActivity shared the default task affinity with the main Aurora task, so when the app was already running the system brought the existing task to the foreground instead of launching the gate. Giving the trampoline an empty task affinity decouples it from the main task, so the confirmation sheet and target listing load every time.
237 lines
9.4 KiB
XML
237 lines
9.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?><!--
|
|
~ Aurora Store
|
|
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
|
|
~ Copyright (C) 2022, The Calyx Institute
|
|
~ Copyright (C) 2023, grrfe <grrfe@420blaze.it>
|
|
~
|
|
~ Aurora Store is free software: you can redistribute it and/or modify
|
|
~ it under the terms of the GNU General Public License as published by
|
|
~ the Free Software Foundation, either version 2 of the License, or
|
|
~ (at your option) any later version.
|
|
~
|
|
~ Aurora Store is distributed in the hope that it will be useful,
|
|
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
~ GNU General Public License for more details.
|
|
~
|
|
~ You should have received a copy of the GNU General Public License
|
|
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
|
~
|
|
-->
|
|
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools">
|
|
|
|
<uses-sdk tools:overrideLibrary="rikka.shizuku.api, rikka.shizuku.provider, rikka.shizuku.shared, rikka.shizuku.aidl" />
|
|
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
|
|
|
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
|
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
|
|
|
|
<uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
|
|
<uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION" />
|
|
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
|
|
<uses-permission
|
|
android:name="android.permission.USE_CREDENTIALS"
|
|
android:maxSdkVersion="22" />
|
|
|
|
<uses-feature
|
|
android:name="android.software.leanback"
|
|
android:required="false" />
|
|
|
|
<uses-feature
|
|
android:name="android.hardware.touchscreen"
|
|
android:required="false" />
|
|
|
|
<uses-feature
|
|
android:name="android.hardware.gamepad"
|
|
android:required="false" />
|
|
|
|
<uses-feature
|
|
android:name="android.software.device_admin"
|
|
android:required="false" />
|
|
|
|
<application
|
|
android:name=".AuroraApp"
|
|
android:allowBackup="true"
|
|
android:banner="@drawable/ic_tv_banner"
|
|
android:dataExtractionRules="@xml/backup_rules"
|
|
android:enableOnBackInvokedCallback="true"
|
|
android:fullBackupContent="@xml/backup_rules_legacy"
|
|
android:hardwareAccelerated="true"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:label="@string/app_name"
|
|
android:preserveLegacyExternalStorage="true"
|
|
android:requestLegacyExternalStorage="true"
|
|
android:roundIcon="@mipmap/ic_launcher_round"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/AppTheme"
|
|
tools:targetApi="tiramisu">
|
|
|
|
<activity
|
|
android:name=".ComposeActivity"
|
|
android:exported="true"
|
|
android:windowSoftInputMode="adjustResize">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.APP_MARKET" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="text/plain" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SHOW_APP_INFO" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Confirmation gate for external app-listing deep links (market:// & play.google.com) -->
|
|
<activity
|
|
android:name=".DeepLinkConfirmActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="true"
|
|
android:launchMode="singleTop"
|
|
android:taskAffinity=""
|
|
android:theme="@style/AppTheme.Translucent.Transparent">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="market" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="market.android.com" />
|
|
<data android:host="play.google.com" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Notification Action (Download Complete) -->
|
|
<activity
|
|
android:name=".data.activity.InstallActivity"
|
|
android:exported="false"
|
|
android:theme="@style/AppTheme.Translucent" />
|
|
|
|
<activity
|
|
android:name=".data.activity.MicroGInstallerActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/AppTheme.Translucent" />
|
|
|
|
<!-- DownloadWorker -->
|
|
<service
|
|
android:name="androidx.work.impl.foreground.SystemForegroundService"
|
|
android:foregroundServiceType="dataSync"
|
|
tools:node="merge" />
|
|
|
|
<!-- Third-party installers -->
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="${applicationId}.fileProvider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/paths" />
|
|
</provider>
|
|
|
|
<!-- Shizuku (Installer) -->
|
|
<provider
|
|
android:name="rikka.shizuku.ShizukuProvider"
|
|
android:authorities="${applicationId}.shizuku"
|
|
android:enabled="true"
|
|
android:exported="true"
|
|
android:multiprocess="false"
|
|
android:permission="android.permission.INTERACT_ACROSS_USERS_FULL"
|
|
tools:ignore="MissingClass" />
|
|
|
|
<!-- Hilt (WorkManager) -->
|
|
<provider
|
|
android:name="androidx.startup.InitializationProvider"
|
|
android:authorities="${applicationId}.androidx-startup"
|
|
android:exported="false"
|
|
tools:node="merge">
|
|
<!-- Lifecycle (isForeground method in CommonUtils) -->
|
|
<meta-data
|
|
android:name="androidx.work.WorkManagerInitializer"
|
|
android:value="androidx.startup"
|
|
tools:node="remove" />
|
|
</provider>
|
|
|
|
<!-- Installation Status Receiver (Session Installer) -->
|
|
<receiver
|
|
android:name=".data.receiver.InstallerStatusReceiver"
|
|
android:exported="false" />
|
|
|
|
<!-- Cancel Download Receiver-->
|
|
<receiver
|
|
android:name=".data.receiver.DownloadCancelReceiver"
|
|
android:exported="false" />
|
|
|
|
<!-- Retry Download Receiver-->
|
|
<receiver
|
|
android:name=".data.receiver.DownloadRetryReceiver"
|
|
android:exported="false" />
|
|
|
|
<!-- SessionInstaller (as device owner) -->
|
|
<receiver
|
|
android:name=".data.receiver.DeviceOwnerReceiver"
|
|
android:exported="true"
|
|
android:permission="android.permission.BIND_DEVICE_ADMIN">
|
|
<meta-data
|
|
android:name="android.app.device_admin"
|
|
android:resource="@xml/device_owner_receiver" />
|
|
<intent-filter>
|
|
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- MigrationReceiver (for running migrations) -->
|
|
<receiver
|
|
android:name=".data.receiver.MigrationReceiver"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- Android15+ package unarchive feature -->
|
|
<receiver
|
|
android:name=".data.receiver.UnarchivePackageReceiver"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.UNARCHIVE_PACKAGE" />
|
|
</intent-filter>
|
|
</receiver>
|
|
</application>
|
|
</manifest>
|