Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d77047b authored by Rohit Goyal's avatar Rohit Goyal
Browse files

Fix uninstallation flow for archived apps on UI side.

Test: Manually tested the uninstallation flow.
Bug: 305926659
Change-Id: I2639f2c51fea5f24a66ecb1ddfc55841b0b72a99
parent 80923392
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -176,7 +176,8 @@ public class UninstallerActivity extends Activity {

        try {
            mDialogInfo.appInfo = pm.getApplicationInfo(mPackageName,
                    PackageManager.ApplicationInfoFlags.of(PackageManager.MATCH_ANY_USER));
                    PackageManager.ApplicationInfoFlags.of(PackageManager.MATCH_ANY_USER
                            | PackageManager.MATCH_ARCHIVED_PACKAGES));
        } catch (PackageManager.NameNotFoundException e) {
            Log.e(TAG, "Unable to get packageName. Package manager is dead?");
        }
+2 −1
Original line number Diff line number Diff line
@@ -189,7 +189,8 @@ public class UninstallAlertDialogFragment extends DialogFragment implements

        boolean suggestToKeepAppData;
        try {
            PackageInfo pkgInfo = pm.getPackageInfo(pkg, 0);
            PackageInfo pkgInfo = pm.getPackageInfo(pkg,
                    PackageManager.PackageInfoFlags.of(PackageManager.MATCH_ARCHIVED_PACKAGES));

            suggestToKeepAppData = pkgInfo.applicationInfo.hasFragileUserData();
        } catch (PackageManager.NameNotFoundException e) {
+3 −0
Original line number Diff line number Diff line
@@ -411,6 +411,9 @@ public class PackageInfoUtils {
            ai.overlayPaths = overlayPaths.getOverlayPaths().toArray(new String[0]);
        }
        ai.isArchived = PackageArchiver.isArchived(state);
        if (ai.isArchived) {
            ai.nonLocalizedLabel = state.getArchiveState().getActivityInfos().get(0).getTitle();
        }
    }

    @Nullable