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

Commit dec32f80 authored by Menghan Li's avatar Menghan Li Committed by Android (Google) Code Review
Browse files

Merge "Fix IllegalStateException to get tile content after device rotate"

parents 7dad6940 1ca38559
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.os.Bundle;
import android.os.UserHandle;
import android.util.Log;

import com.android.internal.accessibility.AccessibilityShortcutController;
import com.android.settings.R;
@@ -39,6 +40,7 @@ import com.android.settingslib.widget.MainSwitchPreference;
 */
public class OneHandedSettings extends AccessibilityShortcutPreferenceFragment {

    private static final String TAG = "OneHandedSettings";
    private static final String ONE_HANDED_SHORTCUT_KEY = "one_handed_shortcuts_preference";
    private static final String ONE_HANDED_ILLUSTRATION_KEY = "one_handed_header";
    protected static final String ONE_HANDED_MAIN_SWITCH_KEY =
@@ -131,9 +133,15 @@ public class OneHandedSettings extends AccessibilityShortcutPreferenceFragment {

    @Override
    protected CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type) {
        final Context context = getContext();
        if (context == null) {
            Log.w(TAG, "OneHandedSettings not attached to a context.");
            return null;
        }
        return type == QuickSettingsTooltipType.GUIDE_TO_EDIT
                ? getText(R.string.accessibility_one_handed_mode_qs_tooltip_content)
                : getText(R.string.accessibility_one_handed_mode_auto_added_qs_tooltip_content);
                ? context.getText(R.string.accessibility_one_handed_mode_qs_tooltip_content)
                : context.getText(
                        R.string.accessibility_one_handed_mode_auto_added_qs_tooltip_content);
    }

    @Override
@@ -143,7 +151,7 @@ public class OneHandedSettings extends AccessibilityShortcutPreferenceFragment {

    @Override
    protected String getLogTag() {
        return null;
        return TAG;
    }

    @Override
+31 −3
Original line number Diff line number Diff line
@@ -18,10 +18,18 @@ package com.android.settings.gestures;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;

import android.content.Context;
import android.os.SystemProperties;
import android.provider.SearchIndexableResource;

import androidx.test.core.app.ApplicationProvider;

import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,16 +39,36 @@ import org.robolectric.util.ReflectionHelpers;

import java.util.List;

/** Tests for {@link OneHandedSettings}. */
@RunWith(RobolectricTestRunner.class)
public class OneHandedSettingsTest {

    private final Context mContext = ApplicationProvider.getApplicationContext();
    private OneHandedSettings mSettings;
    private Context mContext;

    @Before
    public void setUp() {
        mSettings = new OneHandedSettings();
        mContext = RuntimeEnvironment.application;
        mSettings = spy(new OneHandedSettings());
    }

    @Test
    public void getTileTooltipContent_returnsExpectedValues() {
        // Simulate to call getTileTooltipContent after onDetach
        assertThat(mSettings.getTileTooltipContent(QuickSettingsTooltipType.GUIDE_TO_EDIT))
                .isNull();
        // Simulate to call getTileTooltipContent after onAttach
        when(mSettings.getContext()).thenReturn(mContext);
        assertThat(mSettings.getTileTooltipContent(QuickSettingsTooltipType.GUIDE_TO_EDIT))
                .isEqualTo(mContext.getText(
                        R.string.accessibility_one_handed_mode_qs_tooltip_content));
        assertThat(mSettings.getTileTooltipContent(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE))
                .isEqualTo(mContext.getText(
                        R.string.accessibility_one_handed_mode_auto_added_qs_tooltip_content));
    }

    @Test
    public void getLogTag_returnsCorrectTag() {
        assertThat(mSettings.getLogTag()).isEqualTo("OneHandedSettings");
    }

    @Test