Merge "Disable Fold lock behavior setting by default" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
097a9e736c
@@ -24,12 +24,12 @@ import static com.android.settings.display.FoldLockBehaviorSettings.SETTING_VALU
|
|||||||
import static com.android.settings.display.FoldLockBehaviorSettings.SETTING_VALUE_STAY_AWAKE_ON_FOLD;
|
import static com.android.settings.display.FoldLockBehaviorSettings.SETTING_VALUE_STAY_AWAKE_ON_FOLD;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
|
import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
@@ -45,17 +45,17 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class FoldLockBehaviorPreferenceController extends BasePreferenceController {
|
public class FoldLockBehaviorPreferenceController extends BasePreferenceController {
|
||||||
|
|
||||||
private final Resources mResources;
|
private static final Map<String, String> KEY_TO_TEXT = new HashMap<>();
|
||||||
|
private final FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
|
||||||
private static Map<String, String> KEY_TO_TEXT = new HashMap<>();
|
|
||||||
|
|
||||||
public FoldLockBehaviorPreferenceController(Context context, String key) {
|
public FoldLockBehaviorPreferenceController(Context context, String key) {
|
||||||
this(context, key, context.getResources());
|
this(context, key, new FoldLockSettingAvailabilityProvider(context.getResources()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public FoldLockBehaviorPreferenceController(Context context, String key, Resources resources) {
|
public FoldLockBehaviorPreferenceController(Context context, String key,
|
||||||
|
FoldLockSettingAvailabilityProvider foldLockSettingAvailabilityProvider) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mResources = resources;
|
mFoldLockSettingAvailabilityProvider = foldLockSettingAvailabilityProvider;
|
||||||
KEY_TO_TEXT.put(SETTING_VALUE_STAY_AWAKE_ON_FOLD,
|
KEY_TO_TEXT.put(SETTING_VALUE_STAY_AWAKE_ON_FOLD,
|
||||||
resourceToString(R.string.stay_awake_on_fold_title));
|
resourceToString(R.string.stay_awake_on_fold_title));
|
||||||
KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
|
KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
|
||||||
@@ -66,7 +66,9 @@ public class FoldLockBehaviorPreferenceController extends BasePreferenceControll
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return mResources.getBoolean(com.android.internal.R.bool.config_fold_lock_behavior)
|
boolean isFoldLockBehaviorAvailable =
|
||||||
|
mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable();
|
||||||
|
return isFoldLockBehaviorAvailable
|
||||||
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -25,9 +25,8 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
|
||||||
|
|
||||||
import com.android.internal.R;
|
import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -41,27 +40,29 @@ import org.robolectric.RuntimeEnvironment;
|
|||||||
public class FoldLockBehaviorPreferenceControllerTest {
|
public class FoldLockBehaviorPreferenceControllerTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private Resources mResources;
|
private FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private FoldLockBehaviorPreferenceController mController;
|
private FoldLockBehaviorPreferenceController mController;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mResources = Mockito.mock(Resources.class);
|
mFoldLockSettingAvailabilityProvider = Mockito.mock(
|
||||||
mController = new FoldLockBehaviorPreferenceController(mContext, "key", mResources);
|
FoldLockSettingAvailabilityProvider.class);
|
||||||
|
mController = new FoldLockBehaviorPreferenceController(mContext, "key",
|
||||||
|
mFoldLockSettingAvailabilityProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailabilityStatus_withConfigNoShow_returnUnsupported() {
|
public void getAvailabilityStatus_withConfigNoShow_returnUnsupported() {
|
||||||
when(mResources.getBoolean(R.bool.config_fold_lock_behavior)).thenReturn(false);
|
when(mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable()).thenReturn(false);
|
||||||
|
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailabilityStatus_withConfigNoShow_returnAvailable() {
|
public void getAvailabilityStatus_withConfigNoShow_returnAvailable() {
|
||||||
when(mResources.getBoolean(R.bool.config_fold_lock_behavior)).thenReturn(true);
|
when(mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable()).thenReturn(true);
|
||||||
|
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user