Merge "Fix an override filter bug." into oc-dev

am: 5cc0a122d3

Change-Id: I9188da01862ae2af964ac09b84f5b3c6078572cc
This commit is contained in:
Daniel Nishi
2017-05-30 19:50:21 +00:00
committed by android-build-merger
2 changed files with 44 additions and 17 deletions

View File

@@ -22,16 +22,20 @@ import static org.mockito.Mockito.mock;
import android.content.pm.ApplicationInfo;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppFilter;
import com.android.settingslib.applications.ApplicationsState.CompoundFilter;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
import java.lang.reflect.Field;
import org.junit.Test;
public class ManageApplicationsTest {
@Test
public void getOverrideFilter_filtersVolumeForAudio() {
public void getCompositeFilter_filtersVolumeForAudio() {
AppFilter filter =
ManageApplications.getOverrideFilter(
ManageApplications.getCompositeFilter(
ManageApplications.LIST_TYPE_STORAGE,
ManageApplications.STORAGE_TYPE_MUSIC,
"uuid");
@@ -45,9 +49,9 @@ public class ManageApplicationsTest {
}
@Test
public void getOverrideFilter_filtersVolumeForVideo() {
public void getCompositeFilter_filtersVolumeForVideo() {
AppFilter filter =
ManageApplications.getOverrideFilter(
ManageApplications.getCompositeFilter(
ManageApplications.LIST_TYPE_MOVIES,
ManageApplications.STORAGE_TYPE_DEFAULT,
"uuid");
@@ -61,9 +65,9 @@ public class ManageApplicationsTest {
}
@Test
public void getOverrideFilter_filtersVolumeForGames() {
public void getCompositeFilter_filtersVolumeForGames() {
ApplicationsState.AppFilter filter =
ManageApplications.getOverrideFilter(
ManageApplications.getCompositeFilter(
ManageApplications.LIST_TYPE_GAMES,
ManageApplications.STORAGE_TYPE_DEFAULT,
"uuid");
@@ -77,12 +81,35 @@ public class ManageApplicationsTest {
}
@Test
public void getOverrideFilter_isEmptyNormally() {
public void getCompositeFilter_isEmptyNormally() {
ApplicationsState.AppFilter filter =
ManageApplications.getOverrideFilter(
ManageApplications.getCompositeFilter(
ManageApplications.LIST_TYPE_MAIN,
ManageApplications.STORAGE_TYPE_DEFAULT,
"uuid");
assertThat(filter).isNull();
}
@Test
public void getCompositeFilter_worksWithInstantApps() throws Exception {
Field field = AppUtils.class.getDeclaredField("sInstantAppDataProvider");
field.setAccessible(true);
field.set(AppUtils.class, (InstantAppDataProvider) (i -> true));
AppFilter filter =
ManageApplications.getCompositeFilter(
ManageApplications.LIST_TYPE_STORAGE,
ManageApplications.STORAGE_TYPE_MUSIC,
"uuid");
AppFilter composedFilter = new CompoundFilter(ApplicationsState.FILTER_INSTANT, filter);
final ApplicationInfo info = new ApplicationInfo();
info.volumeUuid = "uuid";
info.category = ApplicationInfo.CATEGORY_AUDIO;
info.privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT;
final ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
appEntry.info = info;
assertThat(composedFilter.filterApp(appEntry)).isTrue();
}
}