Merge "Fix IllegalStateException to get tile content after device rotate"
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user