Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 097a9e73 authored by Shivangi Dubey's avatar Shivangi Dubey Committed by Android (Google) Code Review
Browse files

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

parents d11b9d16 599130f2
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -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;
    }

+8 −7
Original line number Diff line number Diff line
@@ -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);
    }