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

Commit cef4f975 authored by Raff Tsai's avatar Raff Tsai Committed by android-build-merger
Browse files

Fix crash after uninstalling app

am: 637d4191

Change-Id: Ib68843298dfcb71de6198a988f153397aabeb7f3
parents 7e1e537e 637d4191
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.AppStorageSettings;
import com.android.settings.applications.FetchPackageStorageAsyncLoader;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -48,10 +49,13 @@ public class AppStoragePreferenceController extends AppInfoPreferenceControllerB

    @Override
    public void updateState(Preference preference) {
        final ApplicationsState.AppEntry entry = mParent.getAppEntry();
        if (entry != null && entry.info != null) {
            final boolean isExternal =
                (mParent.getAppEntry().info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0;
                    (entry.info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0;
            preference.setSummary(getStorageSummary(mLastResult, isExternal));
        }
    }

    @Override
    public void onResume() {
+11 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -99,6 +100,16 @@ public class AppStoragePreferenceControllerTest {
        verify(preference).setSummary(any());
    }

    @Test
    public void updateState_entryIsNull_shouldNotUpdatePreferenceSummary() {
        when(mFragment.getAppEntry()).thenReturn(null);
        Preference preference = mock(Preference.class);

        mController.updateState(preference);

        verify(preference, never()).setSummary(any());
    }

    @Test
    public void getStorageSummary_shouldWorkForExternal() {
        final StorageStatsSource.AppStorageStats stats =