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

Commit 296c4640 authored by Doris Ling's avatar Doris Ling Committed by android-build-merger
Browse files

Merge "Fix NPE crash in UsageAccessDetails"

am: cd959f28

Change-Id: I21f898f7ec8fd67d4f29d73491b4ac57cad7a252
parents 0533f9ff cd959f28
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -215,7 +215,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
@@ -21,6 +21,7 @@ import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.verify;

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

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -65,4 +66,11 @@ public class UsageAccessDetailsTest {
        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(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
    }
}