Merge "Disable dreams home controls button when disabled on lockscreen" into udc-dev am: 68aff1a319
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23322078 Change-Id: I71e8016a611a9b24770358f1ebb5da6be2d9adc3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -111,6 +111,9 @@ public class DreamBackend {
|
|||||||
public static final int COMPLICATION_TYPE_SMARTSPACE = 7;
|
public static final int COMPLICATION_TYPE_SMARTSPACE = 7;
|
||||||
public static final int COMPLICATION_TYPE_MEDIA_ENTRY = 8;
|
public static final int COMPLICATION_TYPE_MEDIA_ENTRY = 8;
|
||||||
|
|
||||||
|
private static final int SCREENSAVER_HOME_CONTROLS_ENABLED_DEFAULT = 1;
|
||||||
|
private static final int LOCKSCREEN_SHOW_CONTROLS_DEFAULT = 0;
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private final IDreamManager mDreamManager;
|
private final IDreamManager mDreamManager;
|
||||||
private final DreamInfoComparator mComparator;
|
private final DreamInfoComparator mComparator;
|
||||||
@@ -311,8 +314,14 @@ public class DreamBackend {
|
|||||||
|
|
||||||
/** Gets whether home controls button is enabled on the dream */
|
/** Gets whether home controls button is enabled on the dream */
|
||||||
private boolean getHomeControlsEnabled() {
|
private boolean getHomeControlsEnabled() {
|
||||||
return Settings.Secure.getInt(mContext.getContentResolver(),
|
return Settings.Secure.getInt(
|
||||||
Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED, 1) == 1;
|
mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOCKSCREEN_SHOW_CONTROLS,
|
||||||
|
LOCKSCREEN_SHOW_CONTROLS_DEFAULT) == 1
|
||||||
|
&& Settings.Secure.getInt(
|
||||||
|
mContext.getContentResolver(),
|
||||||
|
Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED,
|
||||||
|
SCREENSAVER_HOME_CONTROLS_ENABLED_DEFAULT) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -84,6 +85,7 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testComplicationsEnabledByDefault() {
|
public void testComplicationsEnabledByDefault() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
assertThat(mBackend.getComplicationsEnabled()).isTrue();
|
assertThat(mBackend.getComplicationsEnabled()).isTrue();
|
||||||
assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
|
assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
|
||||||
SUPPORTED_DREAM_COMPLICATIONS_LIST);
|
SUPPORTED_DREAM_COMPLICATIONS_LIST);
|
||||||
@@ -91,6 +93,7 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEnableComplicationExplicitly() {
|
public void testEnableComplicationExplicitly() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
mBackend.setComplicationsEnabled(true);
|
mBackend.setComplicationsEnabled(true);
|
||||||
assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
|
assertThat(mBackend.getEnabledComplications()).containsExactlyElementsIn(
|
||||||
SUPPORTED_DREAM_COMPLICATIONS_LIST);
|
SUPPORTED_DREAM_COMPLICATIONS_LIST);
|
||||||
@@ -99,6 +102,7 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDisableComplications() {
|
public void testDisableComplications() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
mBackend.setComplicationsEnabled(false);
|
mBackend.setComplicationsEnabled(false);
|
||||||
assertThat(mBackend.getEnabledComplications())
|
assertThat(mBackend.getEnabledComplications())
|
||||||
.containsExactly(COMPLICATION_TYPE_HOME_CONTROLS);
|
.containsExactly(COMPLICATION_TYPE_HOME_CONTROLS);
|
||||||
@@ -107,6 +111,7 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHomeControlsDisabled_ComplicationsEnabled() {
|
public void testHomeControlsDisabled_ComplicationsEnabled() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
mBackend.setComplicationsEnabled(true);
|
mBackend.setComplicationsEnabled(true);
|
||||||
mBackend.setHomeControlsEnabled(false);
|
mBackend.setHomeControlsEnabled(false);
|
||||||
// Home controls should not be enabled, only date and time.
|
// Home controls should not be enabled, only date and time.
|
||||||
@@ -118,6 +123,7 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHomeControlsDisabled_ComplicationsDisabled() {
|
public void testHomeControlsDisabled_ComplicationsDisabled() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
mBackend.setComplicationsEnabled(false);
|
mBackend.setComplicationsEnabled(false);
|
||||||
mBackend.setHomeControlsEnabled(false);
|
mBackend.setHomeControlsEnabled(false);
|
||||||
assertThat(mBackend.getEnabledComplications()).isEmpty();
|
assertThat(mBackend.getEnabledComplications()).isEmpty();
|
||||||
@@ -125,9 +131,9 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHomeControlsEnabled_ComplicationsDisabled() {
|
public void testHomeControlsEnabled_ComplicationsDisabled() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
mBackend.setComplicationsEnabled(false);
|
mBackend.setComplicationsEnabled(false);
|
||||||
mBackend.setHomeControlsEnabled(true);
|
mBackend.setHomeControlsEnabled(true);
|
||||||
// Home controls should not be enabled, only date and time.
|
|
||||||
final List<Integer> enabledComplications =
|
final List<Integer> enabledComplications =
|
||||||
Collections.singletonList(COMPLICATION_TYPE_HOME_CONTROLS);
|
Collections.singletonList(COMPLICATION_TYPE_HOME_CONTROLS);
|
||||||
assertThat(mBackend.getEnabledComplications())
|
assertThat(mBackend.getEnabledComplications())
|
||||||
@@ -136,9 +142,9 @@ public final class DreamBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHomeControlsEnabled_ComplicationsEnabled() {
|
public void testHomeControlsEnabled_ComplicationsEnabled() {
|
||||||
|
setControlsEnabledOnLockscreen(true);
|
||||||
mBackend.setComplicationsEnabled(true);
|
mBackend.setComplicationsEnabled(true);
|
||||||
mBackend.setHomeControlsEnabled(true);
|
mBackend.setHomeControlsEnabled(true);
|
||||||
// Home controls should not be enabled, only date and time.
|
|
||||||
final List<Integer> enabledComplications =
|
final List<Integer> enabledComplications =
|
||||||
Arrays.asList(
|
Arrays.asList(
|
||||||
COMPLICATION_TYPE_HOME_CONTROLS,
|
COMPLICATION_TYPE_HOME_CONTROLS,
|
||||||
@@ -148,4 +154,26 @@ public final class DreamBackendTest {
|
|||||||
assertThat(mBackend.getEnabledComplications())
|
assertThat(mBackend.getEnabledComplications())
|
||||||
.containsExactlyElementsIn(enabledComplications);
|
.containsExactlyElementsIn(enabledComplications);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHomeControlsEnabled_lockscreenDisabled() {
|
||||||
|
setControlsEnabledOnLockscreen(false);
|
||||||
|
mBackend.setComplicationsEnabled(true);
|
||||||
|
mBackend.setHomeControlsEnabled(true);
|
||||||
|
// Home controls should not be enabled, only date and time.
|
||||||
|
final List<Integer> enabledComplications =
|
||||||
|
Arrays.asList(
|
||||||
|
COMPLICATION_TYPE_DATE,
|
||||||
|
COMPLICATION_TYPE_TIME
|
||||||
|
);
|
||||||
|
assertThat(mBackend.getEnabledComplications())
|
||||||
|
.containsExactlyElementsIn(enabledComplications);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setControlsEnabledOnLockscreen(boolean enabled) {
|
||||||
|
Settings.Secure.putInt(
|
||||||
|
mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOCKSCREEN_SHOW_CONTROLS,
|
||||||
|
enabled ? 1 : 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,6 +77,10 @@ public class ComplicationTypesUpdater extends ConditionalCoreStartable {
|
|||||||
Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED,
|
Settings.Secure.SCREENSAVER_HOME_CONTROLS_ENABLED,
|
||||||
settingsObserver,
|
settingsObserver,
|
||||||
UserHandle.myUserId());
|
UserHandle.myUserId());
|
||||||
|
mSecureSettings.registerContentObserverForUser(
|
||||||
|
Settings.Secure.LOCKSCREEN_SHOW_CONTROLS,
|
||||||
|
settingsObserver,
|
||||||
|
UserHandle.myUserId());
|
||||||
settingsObserver.onChange(false);
|
settingsObserver.onChange(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user