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

Commit 01ff684c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Migrate more settings to use SubSettingsLauncher"

parents 8458b197 7cf99f5f
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import android.widget.TextView;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
import com.android.settingslib.RestrictedLockUtils;
@@ -156,12 +157,15 @@ public class MasterClear extends InstrumentedFragment {

    @VisibleForTesting
    void showFinalConfirmation() {
        Bundle args = new Bundle();
        final Bundle args = new Bundle();
        args.putBoolean(ERASE_EXTERNAL_EXTRA, mExternalStorage.isChecked());
        args.putBoolean(ERASE_ESIMS_EXTRA, mEsimStorage.isChecked());
        ((SettingsActivity) getActivity()).startPreferencePanel(
                this, MasterClearConfirm.class.getName(),
                args, R.string.master_clear_confirm_title, null, null, 0);
        new SubSettingLauncher(getContext())
                .setDestination(MasterClearConfirm.class.getName())
                .setArguments(args)
                .setTitle(R.string.master_clear_confirm_title)
                .setSourceMetricsCategory(getMetricsCategory())
                .launch();
    }

    @VisibleForTesting
+7 −3
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.telephony.PhoneConstants;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
import com.android.settingslib.RestrictedLockUtils;
@@ -118,9 +119,12 @@ public class ResetNetwork extends InstrumentedFragment {
            args.putInt(PhoneConstants.SUBSCRIPTION_KEY, subscription.getSubscriptionId());
        }
        args.putBoolean(MasterClear.ERASE_ESIMS_EXTRA, mEsimCheckbox.isChecked());
        ((SettingsActivity) getActivity()).startPreferencePanel(
                this, ResetNetworkConfirm.class.getName(),
                args, R.string.reset_network_confirm_title, null, null, 0);
        new SubSettingLauncher(getContext())
                .setDestination(ResetNetworkConfirm.class.getName())
                .setArguments(args)
                .setTitle(R.string.reset_network_confirm_title)
                .setSourceMetricsCategory(getMetricsCategory())
                .launch();
    }

    /**
+10 −1
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.wfd.WifiDisplaySettings;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.instrumentation.SharedPreferencesLogger;
import com.android.settingslib.development.DevelopmentSettingsEnabler;
@@ -200,7 +201,14 @@ public class SettingsActivity extends SettingsDrawerActivity

    @Override
    public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
        startPreferencePanel(caller, pref.getFragment(), pref.getExtras(), -1, null, null, 0);
        new SubSettingLauncher(this)
                .setDestination(pref.getFragment())
                .setArguments(pref.getExtras())
                .setSourceMetricsCategory(caller instanceof Instrumentable
                        ? ((Instrumentable) caller).getMetricsCategory()
                        : Instrumentable.METRICS_CATEGORY_UNKNOWN)
                .setTitle(-1)
                .launch();
        return true;
    }

@@ -594,6 +602,7 @@ public class SettingsActivity extends SettingsDrawerActivity
     * @param resultRequestCode If resultTo is non-null, this is the caller's
     *                          request code to be received with the result.
     */
    @Deprecated
    public void startPreferencePanel(Fragment caller, String fragmentClass, Bundle args,
            int titleRes, CharSequence titleText, Fragment resultTo, int resultRequestCode) {
        String title = null;
+8 −8
Original line number Diff line number Diff line
@@ -47,10 +47,10 @@ import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.AccessiblePreferenceCategory;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settingslib.RestrictedPreference;
@@ -246,19 +246,19 @@ public class AccountPreferenceController extends AbstractPreferenceController
            if (preference == profileData.managedProfilePreference) {
                Bundle arguments = new Bundle();
                arguments.putParcelable(Intent.EXTRA_USER, profileData.userInfo.getUserHandle());
                ((SettingsActivity) mParent.getActivity()).startPreferencePanel(mParent,
                        ManagedProfileSettings.class.getName(), arguments,
                        R.string.managed_profile_settings_title, null, null, 0);
                new SubSettingLauncher(mContext)
                        .setSourceMetricsCategory(mParent.getMetricsCategory())
                        .setDestination(ManagedProfileSettings.class.getName())
                        .setTitle(R.string.managed_profile_settings_title)
                        .setArguments(arguments)
                        .launch();

                return true;
            }
        }
        return false;
    }

    SparseArray<ProfileData> getProfileData() {
        return mProfiles;
    }

    private void updateUi() {
        if (!isAvailable()) {
            // This should not happen
+11 −3
Original line number Diff line number Diff line
@@ -38,10 +38,11 @@ import android.text.TextUtils;
import android.util.Log;

import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.location.LocationSettings;
import com.android.settings.utils.LocalClassLoaderContextThemeWrapper;
import com.android.settingslib.accounts.AuthenticatorHelper;
import com.android.settingslib.core.instrumentation.Instrumentable;

/**
 * Class to load the preference screen to be added to the settings page for the specific account
@@ -230,8 +231,15 @@ public class AccountTypePreferenceLoader {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            ((SettingsActivity) mFragment.getActivity()).startPreferencePanel(mFragment,
                mClass, null, mTitleRes, null, null, 0);
            final int metricsCategory = (mFragment instanceof Instrumentable)
                    ? ((Instrumentable) mFragment).getMetricsCategory()
                    : Instrumentable.METRICS_CATEGORY_UNKNOWN;
            new SubSettingLauncher(preference.getContext())
                    .setTitle(mTitleRes)
                    .setDestination(mClass)
                    .setSourceMetricsCategory(metricsCategory)
                    .launch();

            // Hack: announce that the Google account preferences page is launching the location
            // settings
            if (mClass.equals(LocationSettings.class.getName())) {
Loading