From 5d82f6a648352e29ecb9d32dcb16527923d6bba7 Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Wed, 17 Apr 2024 16:26:52 +0800 Subject: [PATCH] Remove the package name restriction of ACTION_UNINSTALL_PACKAGE PackageInstaller has protected the intent action by setting "android:priority=1". Test: manual Fix: 332228634 Change-Id: If0794e5957366d8b26acd0362b59c6c9076a0c4f --- .../ToggleAccessibilityServicePreferenceFragment.java | 3 +-- .../applications/appinfo/AppButtonsPreferenceController.java | 2 -- .../applications/appinfo/AppInfoDashboardFragment.java | 1 - .../settings/applications/manageapplications/CloneBackend.java | 3 --- src/com/android/settings/spa/app/AppUtil.kt | 2 -- 5 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index 0e50a5c90d5..72e1ad8eb93 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -443,8 +443,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends final ApplicationInfo appInfo = a11yServiceInfo.getResolveInfo().serviceInfo.applicationInfo; final Uri packageUri = Uri.parse("package:" + appInfo.packageName); - final Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri) - .setPackage(getString(R.string.config_package_installer_package_name)); + final Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri); return uninstallIntent; } diff --git a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java index 277f54b7464..f508caf2885 100644 --- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java @@ -539,8 +539,6 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp // Create new intent to launch Uninstaller activity Uri packageUri = Uri.parse("package:" + packageName); Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri); - uninstallIntent.setPackage(mContext.getString( - R.string.config_package_installer_package_name)); uninstallIntent.putExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, allUsers); mMetricsFeatureProvider.action(mActivity, SettingsEnums.ACTION_SETTINGS_UNINSTALL_APP); diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java index afb33ae48d9..90d733e6fe1 100644 --- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java @@ -642,7 +642,6 @@ public class AppInfoDashboardFragment extends DashboardFragment // Create new intent to launch Uninstaller activity final Uri packageURI = Uri.parse("package:" + packageName); final Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageURI); - uninstallIntent.setPackage(getString(R.string.config_package_installer_package_name)); uninstallIntent.putExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, allUsers); mMetricsFeatureProvider.action( getContext(), SettingsEnums.ACTION_SETTINGS_UNINSTALL_APP); diff --git a/src/com/android/settings/applications/manageapplications/CloneBackend.java b/src/com/android/settings/applications/manageapplications/CloneBackend.java index 06b4a997e17..406c9304386 100644 --- a/src/com/android/settings/applications/manageapplications/CloneBackend.java +++ b/src/com/android/settings/applications/manageapplications/CloneBackend.java @@ -34,7 +34,6 @@ import android.util.Log; import androidx.fragment.app.FragmentActivity; -import com.android.settings.R; import com.android.settings.Utils; import java.util.HashSet; @@ -79,8 +78,6 @@ public class CloneBackend { // Create new intent to launch Uninstaller activity. Uri packageUri = Uri.parse("package:" + packageName); Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri); - uninstallIntent.setPackage(mContext.getString( - R.string.config_package_installer_package_name)); uninstallIntent.putExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, allUsers); uninstallIntent.putExtra(Intent.EXTRA_USER, UserHandle.of(mCloneUserId)); // Trigger uninstall as clone user. diff --git a/src/com/android/settings/spa/app/AppUtil.kt b/src/com/android/settings/spa/app/AppUtil.kt index 2b30c6f0808..64da61380f5 100644 --- a/src/com/android/settings/spa/app/AppUtil.kt +++ b/src/com/android/settings/spa/app/AppUtil.kt @@ -20,7 +20,6 @@ import android.content.Context import android.content.Intent import android.net.Uri import android.os.UserHandle -import com.android.settings.R /** * Based on PackageManagerService design, and it looks like the suggested replacement in the @@ -37,7 +36,6 @@ fun Context.startUninstallActivity( val packageUri = Uri.parse("package:$packageName") val intent = Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri).apply { - setPackage(getString(R.string.config_package_installer_package_name)) putExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, forAllUsers) } startActivityAsUser(intent, userHandle)