Merge "Hides app buttons for instant apps" into oc-dev

am: 965508fc3e

Change-Id: I6158a7d6f96ea144b16cda70fe1ed9fb989c5d8d
This commit is contained in:
Jesse Evans
2017-05-02 00:34:02 +00:00
committed by android-build-merger
2 changed files with 33 additions and 2 deletions

View File

@@ -60,6 +60,7 @@ import com.android.settings.core.lifecycle.events.OnResume;
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import java.util.ArrayList;
@@ -155,7 +156,8 @@ public class AppButtonsPreferenceController extends PreferenceController impleme
@Override
public boolean isAvailable() {
return mAppEntry != null;
// TODO(b/37313605): Re-enable once this controller supports instant apps
return mAppEntry != null && !AppUtils.isInstant(mAppEntry.info);
}
@Override

View File

@@ -19,8 +19,8 @@ package com.android.settings.fuelgauge;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doNothing;
@@ -48,7 +48,9 @@ import com.android.settings.TestConfig;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
import org.junit.Before;
import org.junit.Test;
@@ -61,6 +63,7 @@ import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -188,6 +191,32 @@ public class AppButtonsPreferenceControllerTest {
verify(mUninstallButton).setEnabled(false);
}
@Test
public void testIsAvailable_nonInstantApp() throws Exception {
mController.mAppEntry = mAppEntry;
ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
public boolean isInstantApp(ApplicationInfo info) {
return false;
}
});
assertThat(mController.isAvailable()).isTrue();
}
@Test
public void testIsAvailable_instantApp() throws Exception {
mController.mAppEntry = mAppEntry;
ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
public boolean isInstantApp(ApplicationInfo info) {
return true;
}
});
assertThat(mController.isAvailable()).isFalse();
}
@Test
public void testUpdateUninstallButton_isDeviceAdminApp_setButtonDisable() {
doReturn(true).when(mController).handleDisableable(any());