"Change font size" tile should go to settings' font size page directly
Test: atest & manual test Bug: 131374325 Change-Id: I878da8c22e315100ae50d3d34ff218c5d14e81d8
This commit is contained in:
@@ -20,19 +20,26 @@ import android.os.Bundle;
|
|||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.accessibility.AccessibilityEvent;
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
|
|
||||||
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
|
|
||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
|
import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard;
|
||||||
import com.android.settings.search.actionbar.SearchMenuController;
|
import com.android.settings.search.actionbar.SearchMenuController;
|
||||||
import com.android.settings.support.actionbar.HelpResourceProvider;
|
import com.android.settings.support.actionbar.HelpResourceProvider;
|
||||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||||
|
|
||||||
|
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
|
|
||||||
public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
|
public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
|
||||||
|
|
||||||
private static final String SAVE_KEY_TITLE = "activity_title";
|
private static final String SAVE_KEY_TITLE = "activity_title";
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
static final String EXTRA_GO_TO_FONT_SIZE_PREFERENCE = "go_to_font_size_preference";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onSaveInstanceState(Bundle savedState) {
|
protected void onSaveInstanceState(Bundle savedState) {
|
||||||
savedState.putCharSequence(SAVE_KEY_TITLE, getTitle());
|
savedState.putCharSequence(SAVE_KEY_TITLE, getTitle());
|
||||||
@@ -79,4 +86,27 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
|
|||||||
.launch();
|
.launch();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedState) {
|
||||||
|
super.onCreate(savedState);
|
||||||
|
|
||||||
|
tryLaunchFontSizePreference();
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
void tryLaunchFontSizePreference() {
|
||||||
|
if (WizardManagerHelper.isAnySetupWizard(getIntent()) && getIntent().getBooleanExtra(
|
||||||
|
EXTRA_GO_TO_FONT_SIZE_PREFERENCE, false)) {
|
||||||
|
Bundle args = new Bundle();
|
||||||
|
args.putInt(HelpResourceProvider.HELP_URI_RESOURCE_KEY, 0);
|
||||||
|
args.putBoolean(SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR, false);
|
||||||
|
new SubSettingLauncher(this)
|
||||||
|
.setDestination(FontSizePreferenceFragmentForSetupWizard.class.getName())
|
||||||
|
.setArguments(args)
|
||||||
|
.setSourceMetricsCategory(Instrumentable.METRICS_CATEGORY_UNKNOWN)
|
||||||
|
.launch();
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.accessibility;
|
package com.android.settings.accessibility;
|
||||||
|
|
||||||
|
import static com.android.settings.accessibility.AccessibilitySettingsForSetupWizardActivity.EXTRA_GO_TO_FONT_SIZE_PREFERENCE;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -23,11 +25,14 @@ import android.content.Intent;
|
|||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.SettingsActivity;
|
||||||
|
import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
import org.robolectric.Shadows;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@@ -41,4 +46,20 @@ public class AccessibilitySettingsForSetupWizardActivityTest {
|
|||||||
|
|
||||||
assertThat(activity.getThemeResId()).isEqualTo(R.style.GlifV3Theme_Light);
|
assertThat(activity.getThemeResId()).isEqualTo(R.style.GlifV3Theme_Light);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onCreate_whenHasFontSizeExtra_shouldGoToFontSizePreferenceDirectly() {
|
||||||
|
AccessibilitySettingsForSetupWizardActivity activity =
|
||||||
|
Robolectric.buildActivity(AccessibilitySettingsForSetupWizardActivity.class,
|
||||||
|
new Intent().putExtra(EXTRA_GO_TO_FONT_SIZE_PREFERENCE, true).
|
||||||
|
putExtra("isSetupFlow", true)).get();
|
||||||
|
|
||||||
|
activity.tryLaunchFontSizePreference();
|
||||||
|
|
||||||
|
final Intent launchIntent = Shadows.shadowOf(activity).getNextStartedActivity();
|
||||||
|
assertThat(launchIntent).isNotNull();
|
||||||
|
assertThat(launchIntent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
|
||||||
|
FontSizePreferenceFragmentForSetupWizard.class.getName());
|
||||||
|
assertThat(activity.isFinishing()).isTrue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user