Merge "Disable Fold lock behavior setting by default" into main

This commit is contained in:
Shivangi Dubey
2023-10-02 10:00:10 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 15 deletions

View File

@@ -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 android.content.Context;
import android.content.res.Resources;
import android.os.UserHandle;
import android.provider.Settings;
import androidx.preference.Preference;
import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -45,17 +45,17 @@ import java.util.Map;
*/
public class FoldLockBehaviorPreferenceController extends BasePreferenceController {
private final Resources mResources;
private static Map<String, String> KEY_TO_TEXT = new HashMap<>();
private static final Map<String, String> KEY_TO_TEXT = new HashMap<>();
private final FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
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);
mResources = resources;
mFoldLockSettingAvailabilityProvider = foldLockSettingAvailabilityProvider;
KEY_TO_TEXT.put(SETTING_VALUE_STAY_AWAKE_ON_FOLD,
resourceToString(R.string.stay_awake_on_fold_title));
KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
@@ -66,7 +66,9 @@ public class FoldLockBehaviorPreferenceController extends BasePreferenceControll
@Override
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;
}

View File

@@ -25,9 +25,8 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
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.Test;
@@ -41,27 +40,29 @@ import org.robolectric.RuntimeEnvironment;
public class FoldLockBehaviorPreferenceControllerTest {
@Mock
private Resources mResources;
private FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
private Context mContext;
private FoldLockBehaviorPreferenceController mController;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
mResources = Mockito.mock(Resources.class);
mController = new FoldLockBehaviorPreferenceController(mContext, "key", mResources);
mFoldLockSettingAvailabilityProvider = Mockito.mock(
FoldLockSettingAvailabilityProvider.class);
mController = new FoldLockBehaviorPreferenceController(mContext, "key",
mFoldLockSettingAvailabilityProvider);
}
@Test
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);
}
@Test
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);
}