"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.accessibility.AccessibilityEvent;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard;
|
||||
import com.android.settings.search.actionbar.SearchMenuController;
|
||||
import com.android.settings.support.actionbar.HelpResourceProvider;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
|
||||
|
||||
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
|
||||
protected void onSaveInstanceState(Bundle savedState) {
|
||||
savedState.putCharSequence(SAVE_KEY_TITLE, getTitle());
|
||||
@@ -79,4 +86,27 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
|
||||
.launch();
|
||||
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;
|
||||
|
||||
import static com.android.settings.accessibility.AccessibilitySettingsForSetupWizardActivity.EXTRA_GO_TO_FONT_SIZE_PREFERENCE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Intent;
|
||||
@@ -23,11 +25,14 @@ import android.content.Intent;
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.Shadows;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@SmallTest
|
||||
@@ -41,4 +46,20 @@ public class AccessibilitySettingsForSetupWizardActivityTest {
|
||||
|
||||
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