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

Commit cd959f28 authored by Doris Ling's avatar Doris Ling Committed by Gerrit Code Review
Browse files

Merge "Fix NPE crash in UsageAccessDetails"

parents 939265d6 39de7aed
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -214,7 +214,9 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment

    @Override
    public void onPackageListChanged() {
        refreshUi();
        if (!refreshUi()) {
            setIntentAndFinish(true, true);
        }
    }

    public static void startAppInfoFragment(Class<?> fragment, int titleRes,
+3 −0
Original line number Diff line number Diff line
@@ -137,6 +137,9 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc

    @Override
    protected boolean refreshUi() {
        if (mPackageInfo == null) {
            return false;
        }
        mUsageState = mUsageBridge.getUsageInfo(mPackageName,
                mPackageInfo.applicationInfo.uid);

+8 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings.applications;

import android.content.Context;
import android.os.RemoteException;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.SettingsRobolectricTestRunner;
@@ -65,4 +66,11 @@ public class UsageAccessDetailsTest {
        verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
                eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_USAGE_VIEW_DENY), eq("app"));
    }

    @Test
    public void refreshUi_nullPackageInfo_shouldNotCrash() throws RemoteException {
        mFragment.mPackageInfo = null;
        mFragment.refreshUi();
        // should not crash
    }
}