Disable dreams home controls button when disabled on lockscreen.

When home controls are disable on lockscreen, we should also disable
them on dreams.

Bug: 282680621
Test: flashed device, disabled/enabled home controls on lockscreen and
verified that dreams home controls button was hidden/shown correctly
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.dream.DreamHomeControlsPreferenceControllerTest"

Change-Id: I535b079cabc2838e77f3afc74bb8f8730b850653
This commit is contained in:
Lucas Silva
2023-05-18 14:38:54 -04:00
parent ef7a75c394
commit 9872f4322b
2 changed files with 41 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.provider.Settings;
import android.util.ArraySet;
import androidx.preference.PreferenceScreen;
@@ -80,6 +81,7 @@ public class DreamHomeControlsPreferenceControllerTest {
@Test
public void testSetChecked_setTrue_enablesSetting() {
setControlsEnabledOnLockscreen(true);
mBackend.setHomeControlsEnabled(false);
assertThat(mBackend.getEnabledComplications())
.doesNotContain(COMPLICATION_TYPE_HOME_CONTROLS);
@@ -91,6 +93,7 @@ public class DreamHomeControlsPreferenceControllerTest {
@Test
public void testSetChecked_setFalse_disablesSetting() {
setControlsEnabledOnLockscreen(true);
mBackend.setHomeControlsEnabled(true);
assertThat(mBackend.getEnabledComplications())
.contains(COMPLICATION_TYPE_HOME_CONTROLS);
@@ -102,15 +105,33 @@ public class DreamHomeControlsPreferenceControllerTest {
@Test
public void testIsChecked_returnsFalse() {
setControlsEnabledOnLockscreen(true);
mBackend.setHomeControlsEnabled(false);
assertThat(mController.isChecked()).isFalse();
}
@Test
public void testIsChecked_returnsTrue() {
setControlsEnabledOnLockscreen(true);
mBackend.setHomeControlsEnabled(true);
assertThat(mBackend.getEnabledComplications())
.contains(COMPLICATION_TYPE_HOME_CONTROLS);
assertThat(mController.isChecked()).isTrue();
}
@Test
public void testIsChecked_lockScreenDisabled_returnsFalse() {
setControlsEnabledOnLockscreen(false);
mBackend.setHomeControlsEnabled(true);
assertThat(mBackend.getEnabledComplications())
.doesNotContain(COMPLICATION_TYPE_HOME_CONTROLS);
assertThat(mController.isChecked()).isFalse();
}
private void setControlsEnabledOnLockscreen(boolean enabled) {
Settings.Secure.putInt(
mContext.getContentResolver(),
Settings.Secure.LOCKSCREEN_SHOW_CONTROLS,
enabled ? 1 : 0);
}
}