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

Commit 13b50029 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Return false if can't find package info"

parents 78922b8a 883d8e7e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -137,9 +137,13 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc

    @Override
    protected boolean refreshUi() {
        if (mPackageInfo == null) {
        retrieveAppEntry();
        if (mAppEntry == null) {
            return false;
        }
        if (mPackageInfo == null) {
            return false; // onCreate must have failed, make sure to exit
        }
        mUsageState = mUsageBridge.getUsageInfo(mPackageName,
                mPackageInfo.applicationInfo.uid);

+12 −6
Original line number Diff line number Diff line
@@ -16,17 +16,20 @@

package com.android.settings.applications;

import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

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

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.applications.ApplicationsState;

import org.junit.Before;
import org.junit.Test;
@@ -68,9 +71,12 @@ public class UsageAccessDetailsTest {
    }

    @Test
    public void refreshUi_nullPackageInfo_shouldNotCrash() throws RemoteException {
        mFragment.mPackageInfo = null;
        mFragment.refreshUi();
        // should not crash
    public void refreshUi_hasNoAppEntry_shouldReturnFalse() {
        mFragment.mState = mock(ApplicationsState.class);
        mFragment.setArguments(new Bundle());

        assertThat(mFragment.refreshUi()).isFalse();
        assertThat(mFragment.mAppEntry).isNull();
        assertThat(mFragment.mPackageInfo).isNull();
    }
}