Fix a bug where override filter was always on.
Change-Id: I1df52f13d8e335362d2eec18c968227ed9ecf299 Fixes: 37952170 Test: Settings unit test
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.applications;
|
package com.android.settings.applications;
|
||||||
|
|
||||||
import android.annotation.IdRes;
|
import android.annotation.IdRes;
|
||||||
|
import android.annotation.Nullable;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -416,12 +417,15 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
if (mListType == LIST_TYPE_HIGH_POWER) {
|
if (mListType == LIST_TYPE_HIGH_POWER) {
|
||||||
mFilterAdapter.enableFilter(FILTER_APPS_POWER_WHITELIST_ALL);
|
mFilterAdapter.enableFilter(FILTER_APPS_POWER_WHITELIST_ALL);
|
||||||
}
|
}
|
||||||
// Storage filters below.
|
|
||||||
mApplications.setOverrideFilter(getStorageFilter(mListType, mStorageType, mVolumeUuid));
|
AppFilter overrideFilter = getOverrideFilter(mListType, mStorageType, mVolumeUuid);
|
||||||
|
if (overrideFilter != null) {
|
||||||
|
mApplications.setOverrideFilter(overrideFilter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static AppFilter getStorageFilter(int listType, int storageType, String volumeUuid) {
|
static @Nullable AppFilter getOverrideFilter(int listType, int storageType, String volumeUuid) {
|
||||||
AppFilter filter = new VolumeFilter(volumeUuid);
|
AppFilter filter = new VolumeFilter(volumeUuid);
|
||||||
if (listType == LIST_TYPE_STORAGE) {
|
if (listType == LIST_TYPE_STORAGE) {
|
||||||
if (storageType == STORAGE_TYPE_MUSIC) {
|
if (storageType == STORAGE_TYPE_MUSIC) {
|
||||||
@@ -437,7 +441,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
return new CompoundFilter(ApplicationsState.FILTER_MOVIES, filter);
|
return new CompoundFilter(ApplicationsState.FILTER_MOVIES, filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
return filter;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getDefaultFilter() {
|
private int getDefaultFilter() {
|
||||||
|
@@ -23,14 +23,15 @@ import static org.mockito.Mockito.mock;
|
|||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
|
|
||||||
import com.android.settingslib.applications.ApplicationsState;
|
import com.android.settingslib.applications.ApplicationsState;
|
||||||
|
import com.android.settingslib.applications.ApplicationsState.AppFilter;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class ManageApplicationsTest {
|
public class ManageApplicationsTest {
|
||||||
@Test
|
@Test
|
||||||
public void getStorageFilter_filtersVolumeForAudio() {
|
public void getOverrideFilter_filtersVolumeForAudio() {
|
||||||
ApplicationsState.AppFilter filter =
|
AppFilter filter =
|
||||||
ManageApplications.getStorageFilter(
|
ManageApplications.getOverrideFilter(
|
||||||
ManageApplications.LIST_TYPE_STORAGE,
|
ManageApplications.LIST_TYPE_STORAGE,
|
||||||
ManageApplications.STORAGE_TYPE_MUSIC,
|
ManageApplications.STORAGE_TYPE_MUSIC,
|
||||||
"uuid");
|
"uuid");
|
||||||
@@ -44,9 +45,9 @@ public class ManageApplicationsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getStorageFilter_filtersVolumeForVideo() {
|
public void getOverrideFilter_filtersVolumeForVideo() {
|
||||||
ApplicationsState.AppFilter filter =
|
AppFilter filter =
|
||||||
ManageApplications.getStorageFilter(
|
ManageApplications.getOverrideFilter(
|
||||||
ManageApplications.LIST_TYPE_MOVIES,
|
ManageApplications.LIST_TYPE_MOVIES,
|
||||||
ManageApplications.STORAGE_TYPE_DEFAULT,
|
ManageApplications.STORAGE_TYPE_DEFAULT,
|
||||||
"uuid");
|
"uuid");
|
||||||
@@ -60,9 +61,9 @@ public class ManageApplicationsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getStorageFilter_filtersVolumeForGames() {
|
public void getOverrideFilter_filtersVolumeForGames() {
|
||||||
ApplicationsState.AppFilter filter =
|
ApplicationsState.AppFilter filter =
|
||||||
ManageApplications.getStorageFilter(
|
ManageApplications.getOverrideFilter(
|
||||||
ManageApplications.LIST_TYPE_GAMES,
|
ManageApplications.LIST_TYPE_GAMES,
|
||||||
ManageApplications.STORAGE_TYPE_DEFAULT,
|
ManageApplications.STORAGE_TYPE_DEFAULT,
|
||||||
"uuid");
|
"uuid");
|
||||||
@@ -74,4 +75,14 @@ public class ManageApplicationsTest {
|
|||||||
|
|
||||||
assertThat(filter.filterApp(appEntry)).isTrue();
|
assertThat(filter.filterApp(appEntry)).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getOverrideFilter_isEmptyNormally() {
|
||||||
|
ApplicationsState.AppFilter filter =
|
||||||
|
ManageApplications.getOverrideFilter(
|
||||||
|
ManageApplications.LIST_TYPE_MAIN,
|
||||||
|
ManageApplications.STORAGE_TYPE_DEFAULT,
|
||||||
|
"uuid");
|
||||||
|
assertThat(filter).isNull();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user