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

Commit f4c50ff1 authored by Menghan Li's avatar Menghan Li Committed by Automerger Merge Worker
Browse files

Merge "Apply fade transition for font size and display size Suw page" into...

Merge "Apply fade transition for font size and display size Suw page" into sc-v2-dev am: 502f5361 am: a6e6cfbe

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16001288

Change-Id: Ic09486a53a972451dc7548f1ffa4c4fba23c67ca
parents c96a20e1 a6e6cfbe
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -21,9 +21,4 @@
    <integer name="job_anomaly_detection">102</integer>
    <integer name="device_index_update">103</integer>
    <integer name="sim_notification_send">104</integer>

    <!-- Define the font/display size fragment id in the
    accessibility_settings_for_setup_wizard.xml. -->
    <integer name="suw_font_size_fragment_no">0</integer>
    <integer name="suw_display_size_fragment_no">1</integer>
</resources>
+4 −14
Original line number Diff line number Diff line
@@ -24,25 +24,15 @@
        android:key="font_size_preference"
        android:icon="@drawable/ic_font_size"
        android:summary="@string/short_summary_font_size"
        android:title="@string/title_font_size">
        <intent
            android:targetPackage="com.android.settings"
            android:targetClass="com.android.settings.accessibility.AccessibilityScreenSizeForSetupWizardActivity">
            <extra android:name="vision_fragment_no" android:value="@integer/suw_font_size_fragment_no"/>
        </intent>
    </Preference>
        android:title="@string/title_font_size"
        settings:controller="com.android.settings.accessibility.FontSizePreferenceController" />

    <com.android.settings.display.ScreenZoomPreference
        android:key="force_density_preference"
        android:icon="@drawable/ic_screen_zoom"
        android:summary="@string/screen_zoom_short_summary"
        android:title="@string/screen_zoom_title">
        <intent
            android:targetPackage="com.android.settings"
            android:targetClass="com.android.settings.accessibility.AccessibilityScreenSizeForSetupWizardActivity">
            <extra android:name="vision_fragment_no" android:value="@integer/suw_display_size_fragment_no"/>
        </intent>
    </com.android.settings.display.ScreenZoomPreference>
        android:title="@string/screen_zoom_title"
        settings:controller="com.android.settings.accessibility.ScreenSizePreferenceController" />

    <Preference
        android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
+48 −19
Original line number Diff line number Diff line
@@ -15,13 +15,16 @@
 */
package com.android.settings.accessibility;

import static com.android.settings.core.SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE;

import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ScrollView;
import android.widget.TextView;

import androidx.annotation.IntDef;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceFragmentCompat;

@@ -29,12 +32,16 @@ import com.android.settings.R;
import com.android.settings.core.InstrumentedActivity;
import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard;
import com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard;
import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType;

import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.util.ThemeHelper;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/** Settings font/display size activity for SUW. */
public class AccessibilityScreenSizeForSetupWizardActivity extends InstrumentedActivity {
    private static final String TAG = "ScreenSizeForSetup";
@@ -42,26 +49,32 @@ public class AccessibilityScreenSizeForSetupWizardActivity extends InstrumentedA
    // A parameter decides which fragment ({@link FontSizePreferenceFragmentForSetupWizard} or
    // {@link ScreenZoomPreferenceFragmentForSetupWizard}) will be visioned.
    static final String VISION_FRAGMENT_NO = "vision_fragment_no";

    private int mFragmentNo;
    private int mFontSizeFragmentNo;
    /**
     * Flags indicating the type of the fragment.
     */
    @IntDef({
        FragmentType.FONT_SIZE,
        FragmentType.SCREEN_SIZE,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface FragmentType {
        int FONT_SIZE = 1;
        int SCREEN_SIZE = 2;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mFontSizeFragmentNo = getResources().getInteger(R.integer.suw_font_size_fragment_no);
        final int appliedTheme = ThemeHelper.trySetDynamicColor(this)
                ? R.style.SudDynamicColorThemeGlifV3_DayNight : R.style.SudThemeGlifV3_DayNight;
        setTheme(appliedTheme);
        setContentView(R.layout.accessibility_screen_size_setup_wizard);
        mFragmentNo = getIntent().getExtras().getInt(VISION_FRAGMENT_NO);
        Log.d(TAG, "onCreate: fragment no: " + mFragmentNo);
        generateHeader(mFragmentNo);
        generateHeader();
        scrollToBottom();
        initFooterButton();
        if (savedInstanceState == null) {
            final PreferenceFragmentCompat fragment =
                    (mFragmentNo == mFontSizeFragmentNo)
                    getFragmentType(getIntent()) == FragmentType.FONT_SIZE
                            ? new FontSizePreferenceFragmentForSetupWizard()
                            : new ScreenZoomPreferenceFragmentForSetupWizard();
            getSupportFragmentManager()
@@ -71,30 +84,38 @@ public class AccessibilityScreenSizeForSetupWizardActivity extends InstrumentedA
        }
    }

    @Override
    protected void onPause() {
        // For accessibility activities launched from setup wizard.
        if (getTransitionType(getIntent()) == TransitionType.TRANSITION_FADE) {
            overridePendingTransition(R.anim.sud_stay, android.R.anim.fade_out);
        }
        super.onPause();
    }

    @Override
    public int getMetricsCategory() {
        return mFragmentNo == mFontSizeFragmentNo ? SettingsEnums.SUW_ACCESSIBILITY_FONT_SIZE
        return getFragmentType(getIntent()) == FragmentType.FONT_SIZE
                ? SettingsEnums.SUW_ACCESSIBILITY_FONT_SIZE
                : SettingsEnums.SUW_ACCESSIBILITY_DISPLAY_SIZE;
    }

    @VisibleForTesting
    void generateHeader(int fragmentNo) {
    void generateHeader() {
        ((TextView) findViewById(R.id.suc_layout_title)).setText(
                fragmentNo == mFontSizeFragmentNo ? R.string.title_font_size
                getFragmentType(getIntent()) == FragmentType.FONT_SIZE
                        ? R.string.title_font_size
                        : R.string.screen_zoom_title);
        ((TextView) findViewById(R.id.sud_layout_subtitle)).setText(
                fragmentNo == mFontSizeFragmentNo ? R.string.short_summary_font_size
                getFragmentType(getIntent()) == FragmentType.FONT_SIZE
                        ? R.string.short_summary_font_size
                        : R.string.screen_zoom_short_summary);
    }

    @VisibleForTesting
    void initFooterButton() {
    private void initFooterButton() {
        final GlifLayout layout = findViewById(R.id.setup_wizard_layout);
        final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
        final View.OnClickListener nextButtonListener =
                v -> {
                    onBackPressed();
                };
        final View.OnClickListener nextButtonListener = v -> onBackPressed();
        final FooterButton primaryButton =
                new FooterButton.Builder(this)
                        .setText(R.string.done)
@@ -124,4 +145,12 @@ public class AccessibilityScreenSizeForSetupWizardActivity extends InstrumentedA
            }
        });
    }

    private int getTransitionType(Intent intent) {
        return intent.getIntExtra(EXTRA_PAGE_TRANSITION_TYPE, TransitionType.TRANSITION_NONE);
    }

    private int getFragmentType(Intent intent) {
        return intent.getIntExtra(VISION_FRAGMENT_NO, FragmentType.FONT_SIZE);
    }
}
+13 −4
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ import androidx.preference.Preference;
import androidx.recyclerview.widget.RecyclerView;

import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.RestrictedPreference;

import com.google.android.setupdesign.GlifPreferenceLayout;
@@ -48,8 +48,9 @@ import java.util.List;
/**
 * Activity with the accessibility settings specific to Setup Wizard.
 */
public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragment
public class AccessibilitySettingsForSetupWizard extends DashboardFragment
        implements Preference.OnPreferenceChangeListener {
    private static final String TAG = "AccessibilitySettingsForSetupWizard";

    // Preferences.
    private static final String DISPLAY_MAGNIFICATION_PREFERENCE =
@@ -97,8 +98,6 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        addPreferencesFromResource(R.xml.accessibility_settings_for_setup_wizard);

        mDisplayMagnificationPreference = findPreference(DISPLAY_MAGNIFICATION_PREFERENCE);
        mScreenReaderPreference = findPreference(SCREEN_READER_PREFERENCE);
        mSelectToSpeakPreference = findPreference(SELECT_TO_SPEAK_PREFERENCE);
@@ -137,6 +136,16 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
        return super.onPreferenceTreeClick(preference);
    }

    @Override
    protected int getPreferenceScreenResId() {
        return R.xml.accessibility_settings_for_setup_wizard;
    }

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

    /**
     * Returns accessibility service info by given package name and service name.
     *
+4 −2
Original line number Diff line number Diff line
@@ -32,11 +32,13 @@ import androidx.preference.PreferenceFragmentCompat;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SetupWizardUtils;
import com.android.settings.accessibility.AccessibilityScreenSizeForSetupWizardActivity.FragmentType;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.search.actionbar.SearchMenuController;
import com.android.settings.support.actionbar.HelpResourceProvider;
import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.transition.SettingsTransitionHelper;
import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType;

import com.google.android.setupcompat.util.WizardManagerHelper;
import com.google.android.setupdesign.util.ThemeHelper;
@@ -127,8 +129,8 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
                getIntent().getComponent())) {
            final Intent intent = new Intent(this,
                    AccessibilityScreenSizeForSetupWizardActivity.class);
            intent.putExtra(VISION_FRAGMENT_NO,
                    getResources().getInteger(R.integer.suw_font_size_fragment_no));
            intent.putExtra(VISION_FRAGMENT_NO, FragmentType.FONT_SIZE);
            intent.putExtra(EXTRA_PAGE_TRANSITION_TYPE, TransitionType.TRANSITION_FADE);
            startActivity(intent);
            Log.d(LOG_TAG, "Launch font size settings");
            finish();
Loading