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

Commit 307fb39b authored by Julius D'souza's avatar Julius D'souza
Browse files

Add local PackageManager instance in PhoneWindowManager.



There are multiple calls relying on PackageManager methods
through Context#getPackageManager outside of init() now.
Replace these with calls through a local instance.

Bug: 140787161
Test: presubmit
Change-Id: If793434a0edfd7b33c22e79ce343eac3a1156f0f
Signed-off-by: default avatarJulius D'souza <jdsouza@google.com>
parent 505576e6
Loading
Loading
Loading
Loading
+12 −11
Original line number Original line Diff line number Diff line
@@ -386,6 +386,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    BurnInProtectionHelper mBurnInProtectionHelper;
    BurnInProtectionHelper mBurnInProtectionHelper;
    private DisplayFoldController mDisplayFoldController;
    private DisplayFoldController mDisplayFoldController;
    AppOpsManager mAppOpsManager;
    AppOpsManager mAppOpsManager;
    PackageManager mPackageManager;
    private boolean mHasFeatureAuto;
    private boolean mHasFeatureAuto;
    private boolean mHasFeatureWatch;
    private boolean mHasFeatureWatch;
    private boolean mHasFeatureLeanback;
    private boolean mHasFeatureLeanback;
@@ -1555,10 +1556,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    private void launchAllAppsAction() {
    private void launchAllAppsAction() {
        Intent intent = new Intent(Intent.ACTION_ALL_APPS);
        Intent intent = new Intent(Intent.ACTION_ALL_APPS);
        if (mHasFeatureLeanback) {
        if (mHasFeatureLeanback) {
            final PackageManager pm = mContext.getPackageManager();
            Intent intentLauncher = new Intent(Intent.ACTION_MAIN);
            Intent intentLauncher = new Intent(Intent.ACTION_MAIN);
            intentLauncher.addCategory(Intent.CATEGORY_HOME);
            intentLauncher.addCategory(Intent.CATEGORY_HOME);
            ResolveInfo resolveInfo = pm.resolveActivityAsUser(intentLauncher,
            ResolveInfo resolveInfo = mPackageManager.resolveActivityAsUser(intentLauncher,
                    PackageManager.MATCH_SYSTEM_ONLY,
                    PackageManager.MATCH_SYSTEM_ONLY,
                    mCurrentUserId);
                    mCurrentUserId);
            if (resolveInfo != null) {
            if (resolveInfo != null) {
@@ -1753,10 +1753,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
        mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
        mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
        mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mHasFeatureWatch = mContext.getPackageManager().hasSystemFeature(FEATURE_WATCH);
        mPackageManager = mContext.getPackageManager();
        mHasFeatureLeanback = mContext.getPackageManager().hasSystemFeature(FEATURE_LEANBACK);
        mHasFeatureWatch = mPackageManager.hasSystemFeature(FEATURE_WATCH);
        mHasFeatureAuto = mContext.getPackageManager().hasSystemFeature(FEATURE_AUTOMOTIVE);
        mHasFeatureLeanback = mPackageManager.hasSystemFeature(FEATURE_LEANBACK);
        mHasFeatureHdmiCec = mContext.getPackageManager().hasSystemFeature(FEATURE_HDMI_CEC);
        mHasFeatureAuto = mPackageManager.hasSystemFeature(FEATURE_AUTOMOTIVE);
        mHasFeatureHdmiCec = mPackageManager.hasSystemFeature(FEATURE_HDMI_CEC);
        mAccessibilityShortcutController =
        mAccessibilityShortcutController =
                new AccessibilityShortcutController(mContext, new Handler(), mCurrentUserId);
                new AccessibilityShortcutController(mContext, new Handler(), mCurrentUserId);
        mLogger = new MetricsLogger();
        mLogger = new MetricsLogger();
@@ -1994,7 +1995,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        }
        }


        mShortPressOnWindowBehavior = SHORT_PRESS_WINDOW_NOTHING;
        mShortPressOnWindowBehavior = SHORT_PRESS_WINDOW_NOTHING;
        if (mContext.getPackageManager().hasSystemFeature(FEATURE_PICTURE_IN_PICTURE)) {
        if (mPackageManager.hasSystemFeature(FEATURE_PICTURE_IN_PICTURE)) {
            mShortPressOnWindowBehavior = SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE;
            mShortPressOnWindowBehavior = SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE;
        }
        }
    }
    }
@@ -2138,7 +2139,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {


        ApplicationInfo appInfo;
        ApplicationInfo appInfo;
        try {
        try {
            appInfo = mContext.getPackageManager().getApplicationInfoAsUser(
            appInfo = mPackageManager.getApplicationInfoAsUser(
                            attrs.packageName,
                            attrs.packageName,
                            0 /* flags */,
                            0 /* flags */,
                            UserHandle.getUserId(callingUid));
                            UserHandle.getUserId(callingUid));
@@ -4914,7 +4915,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            @Override public void run() {
            @Override public void run() {
                if (mBootMsgDialog == null) {
                if (mBootMsgDialog == null) {
                    int theme;
                    int theme;
                    if (mContext.getPackageManager().hasSystemFeature(FEATURE_LEANBACK)) {
                    if (mPackageManager.hasSystemFeature(FEATURE_LEANBACK)) {
                        theme = com.android.internal.R.style.Theme_Leanback_Dialog_Alert;
                        theme = com.android.internal.R.style.Theme_Leanback_Dialog_Alert;
                    } else {
                    } else {
                        theme = 0;
                        theme = 0;
@@ -4943,7 +4944,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                            return true;
                            return true;
                        }
                        }
                    };
                    };
                    if (mContext.getPackageManager().isDeviceUpgrading()) {
                    if (mPackageManager.isDeviceUpgrading()) {
                        mBootMsgDialog.setTitle(R.string.android_upgrading_title);
                        mBootMsgDialog.setTitle(R.string.android_upgrading_title);
                    } else {
                    } else {
                        mBootMsgDialog.setTitle(R.string.android_start_title);
                        mBootMsgDialog.setTitle(R.string.android_start_title);
@@ -5203,7 +5204,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        }
        }


        ActivityInfo ai = null;
        ActivityInfo ai = null;
        ResolveInfo info = mContext.getPackageManager().resolveActivityAsUser(
        ResolveInfo info = mPackageManager.resolveActivityAsUser(
                intent,
                intent,
                PackageManager.MATCH_DEFAULT_ONLY | PackageManager.GET_META_DATA,
                PackageManager.MATCH_DEFAULT_ONLY | PackageManager.GET_META_DATA,
                mCurrentUserId);
                mCurrentUserId);