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

Commit 054df310 authored by Sumedh Sen's avatar Sumedh Sen Committed by Android (Google) Code Review
Browse files

Merge "Use an Android Feature flag to guard Pia V2" into main

parents aa20bce8 352ade0a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -94,3 +94,10 @@ flag {
    description: "Feature flag to read install related information from an APK."
    bug: "275658500"
}

flag {
    name: "use_pia_v2"
    namespace: "package_manager_service"
    description: "Feature flag to enable the refactored Package Installer app with updated UI."
    bug: "182205982"
}
+3 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ android_app {
        "androidx.fragment_fragment",
        "androidx.lifecycle_lifecycle-livedata",
        "androidx.lifecycle_lifecycle-extensions",
        "android.content.pm.flags-aconfig-java",
    ],

    lint: {
@@ -75,6 +76,7 @@ android_app {
        "androidx.fragment_fragment",
        "androidx.lifecycle_lifecycle-livedata",
        "androidx.lifecycle_lifecycle-extensions",
        "android.content.pm.flags-aconfig-java",
    ],
    aaptflags: ["--product tablet"],

@@ -103,6 +105,7 @@ android_app {
        "androidx.fragment_fragment",
        "androidx.lifecycle_lifecycle-livedata",
        "androidx.lifecycle_lifecycle-extensions",
        "android.content.pm.flags-aconfig-java",
    ],
    aaptflags: ["--product tv"],

+13 −5
Original line number Diff line number Diff line
@@ -16,12 +16,14 @@

package com.android.packageinstaller;

import static android.content.pm.Flags.usePiaV2;
import static com.android.packageinstaller.PackageUtil.getMaxTargetSdkVersionForUid;

import android.Manifest;
import android.app.Activity;
import android.app.DialogFragment;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -57,14 +59,21 @@ public class InstallStart extends Activity {

    private final boolean mLocalLOGV = false;

    // TODO (sumedhsen): Replace with an Android Feature Flag once implemented
    private static final boolean USE_PIA_V2 = false;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (USE_PIA_V2) {
        mPackageManager = getPackageManager();
        if (usePiaV2()) {
            Log.i(TAG, "Using Pia V2");

            mPackageManager.setComponentEnabledSetting(new ComponentName(this,
                    com.android.packageinstaller.InstallEventReceiver.class),
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
            mPackageManager.setComponentEnabledSetting(new ComponentName(this,
                    com.android.packageinstaller.v2.model.InstallEventReceiver.class),
                PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);

            Intent piaV2 = new Intent(getIntent());
            piaV2.putExtra(InstallLaunch.EXTRA_CALLING_PKG_NAME, getCallingPackage());
            piaV2.putExtra(InstallLaunch.EXTRA_CALLING_PKG_UID, getLaunchedFromUid());
@@ -74,7 +83,6 @@ public class InstallStart extends Activity {
            finish();
            return;
        }
        mPackageManager = getPackageManager();
        mUserManager = getSystemService(UserManager.class);

        Intent intent = getIntent();
+13 −5
Original line number Diff line number Diff line
@@ -17,8 +17,8 @@
package com.android.packageinstaller;

import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.content.pm.Flags.usePiaV2;
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;

import static com.android.packageinstaller.PackageUtil.getMaxTargetSdkVersionForUid;

import android.Manifest;
@@ -81,9 +81,6 @@ public class UninstallerActivity extends Activity {
    private String mPackageName;
    private DialogInfo mDialogInfo;

    // TODO (sumedhsen): Replace with an Android Feature Flag once implemented
    private static final boolean USE_PIA_V2 = false;

    @Override
    public void onCreate(Bundle icicle) {
        getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
@@ -92,7 +89,18 @@ public class UninstallerActivity extends Activity {
        // be stale, if e.g. the app was uninstalled while the activity was destroyed.
        super.onCreate(null);

        if (USE_PIA_V2 && !isTv()) {
        if (usePiaV2() && !isTv()) {
            Log.i(TAG, "Using Pia V2");

            PackageManager pm = getPackageManager();
            pm.setComponentEnabledSetting(
                new ComponentName(this, com.android.packageinstaller.UninstallEventReceiver.class),
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
            pm.setComponentEnabledSetting(
                new ComponentName(this,
                    com.android.packageinstaller.v2.model.UninstallEventReceiver.class),
                PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);

            boolean returnResult = getIntent().getBooleanExtra(Intent.EXTRA_RETURN_RESULT, false);
            Intent piaV2 = new Intent(getIntent());
            piaV2.putExtra(UninstallLaunch.EXTRA_CALLING_PKG_UID, getLaunchedFromUid());