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

Commit cd3921f6 authored by Ivan Chiang's avatar Ivan Chiang
Browse files

[pm] Use a flag to enable PIA V2 material design

Flag: android.content.pm.use_pia_v2
Test: manual
Bug: 420539987
Change-Id: I8d8aef0734e69485116fc47ad6e8f0eb24a35db5
parent 5f22bcc0
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -503,6 +503,16 @@ object PackageUtil {
            && userManager.getProfileParent(profileHandle) == userHandle
    }

    /**
    * @return If the device supports the material design in the package installer
     */
    @JvmStatic
    fun isMaterialDesignEnabled(context: Context): Boolean {
        return android.content.pm.Flags.usePiaV2()
                && context.resources.getBoolean(
            android.R.bool.config_enableMaterialDesignInPackageInstaller)
    }

    /**
     * The class to hold an incoming package's icon and label.
     * See [getAppSnippet]
+5 −2
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import com.android.packageinstaller.v2.model.InstallRepository
import com.android.packageinstaller.v2.model.InstallStage
import com.android.packageinstaller.v2.model.InstallSuccess
import com.android.packageinstaller.v2.model.InstallUserActionRequired
import com.android.packageinstaller.v2.model.PackageUtil
import com.android.packageinstaller.v2.model.PackageUtil.localLogv
import com.android.packageinstaller.v2.ui.fragments.AnonymousSourceFragment
import com.android.packageinstaller.v2.ui.fragments.ExternalSourcesBlockedFragment
@@ -85,8 +86,10 @@ class InstallLaunch : FragmentActivity(), InstallActionListener {

        // The base theme inherits a deviceDefault theme. Applying a material style on the base
        // theme to support the material design.
        if (PackageUtil.isMaterialDesignEnabled(this)) {
            Log.d(LOG_TAG, "Apply material design")
            theme.applyStyle(R.style.Theme_AlertDialogActivity_Material, /* force= */ true)
        }

        fragmentManager = supportFragmentManager
        appOpsManager = getSystemService(AppOpsManager::class.java)
+5 −2
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.ViewModelProvider
import com.android.packageinstaller.R
import com.android.packageinstaller.v2.model.PackageUtil
import com.android.packageinstaller.v2.model.UnarchiveAborted
import com.android.packageinstaller.v2.model.UnarchiveError
import com.android.packageinstaller.v2.model.UnarchiveRepository
@@ -73,8 +74,10 @@ class UnarchiveLaunch : FragmentActivity(), UnarchiveActionListener {

        // The base theme inherits a deviceDefault theme. Applying a material style on the base
        // theme to support the material design.
        if (PackageUtil.isMaterialDesignEnabled(this)) {
            Log.d(LOG_TAG, "Apply material design")
            theme.applyStyle(R.style.Theme_AlertDialogActivity_Material, /* force= */ true)
        }

        fragmentManager = supportFragmentManager

+5 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import androidx.fragment.app.FragmentManager
import androidx.lifecycle.ViewModelProvider

import com.android.packageinstaller.R
import com.android.packageinstaller.v2.model.PackageUtil
import com.android.packageinstaller.v2.model.PackageUtil.localLogv
import com.android.packageinstaller.v2.model.UninstallAborted
import com.android.packageinstaller.v2.model.UninstallFailed
@@ -67,8 +68,10 @@ class UninstallLaunch : FragmentActivity(), UninstallActionListener {

        // The base theme inherits a deviceDefault theme. Applying a material style on the base
        // theme to support the material design.
        if (PackageUtil.isMaterialDesignEnabled(this)) {
            Log.d(LOG_TAG, "Apply material design")
            theme.applyStyle(R.style.Theme_AlertDialogActivity_Material, /* force= */ true)
        }

        fragmentManager = supportFragmentManager
        notificationManager = getSystemService(NotificationManager::class.java)
+10 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import androidx.fragment.app.DialogFragment;
import com.android.packageinstaller.R;
import com.android.packageinstaller.v2.model.InstallStage;
import com.android.packageinstaller.v2.model.InstallUserActionRequired;
import com.android.packageinstaller.v2.model.PackageUtil;
import com.android.packageinstaller.v2.ui.InstallActionListener;

/**
@@ -60,8 +61,15 @@ public class AnonymousSourceFragment extends DialogFragment {
        customMessage.setText(R.string.message_anonymous_source_warning);
        customMessage.setVisibility(View.VISIBLE);

        mDialog = new AlertDialog.Builder(
                requireContext(), R.style.Theme_MaterialAlertDialog_Variant)
        int themeResId = 0;
        // The base theme inherits a deviceDefault theme. Applying a material style on the base
        // theme to support the material design.
        if (PackageUtil.isMaterialDesignEnabled(requireContext())) {
            Log.d(LOG_TAG, "Apply material design");
            themeResId = R.style.Theme_MaterialAlertDialog_Variant;
        }

        mDialog = new AlertDialog.Builder(requireContext(), themeResId)
                .setTitle(R.string.title_anonymous_source_warning)
                .setView(dialogView)
                .setPositiveButton(R.string.button_continue,
Loading