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

Commit b1d6c76b authored by Fan Zhang's avatar Fan Zhang
Browse files

Migrate more settings to SubSettingLauncher

Bug: 73250851
Test: robotest
Change-Id: Ifc27b90d68bf4a907f169e19338e9b52ea5f9922
parent 7cf99f5f
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
@@ -683,22 +683,4 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
        }
        getActivity().setResult(result);
    }

    public boolean startFragment(Fragment caller, String fragmentClass, int titleRes,
            int requestCode, Bundle extras) {
        final Activity activity = getActivity();
        if (activity instanceof SettingsActivity) {
            SettingsActivity sa = (SettingsActivity) activity;
            sa.startPreferencePanel(
                    caller, fragmentClass, extras, titleRes, null, caller, requestCode);
            return true;
        } else {
            Log.w(TAG,
                    "Parent isn't SettingsActivity nor PreferenceActivity, thus there's no way to "
                            + "launch the given Fragment (name: " + fragmentClass
                            + ", requestCode: " + requestCode + ")");
            return false;
        }
    }

}
+9 −3
Original line number Diff line number Diff line
@@ -22,11 +22,13 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.text.format.Formatter;
import android.text.format.Formatter.BytesResult;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SummaryPreference;
import com.android.settings.Utils;
import com.android.settings.applications.ProcStatsData.MemInfo;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.SummaryLoader;

public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenceClickListener {
@@ -110,12 +112,16 @@ public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenc
    @Override
    public boolean onPreferenceClick(Preference preference) {
        if (preference == mAppListPreference) {
            Bundle args = new Bundle();
            final Bundle args = new Bundle();
            args.putBoolean(ARG_TRANSFER_STATS, true);
            args.putInt(ARG_DURATION_INDEX, mDurationIndex);
            mStatsManager.xferStats();
            startFragment(this, ProcessStatsUi.class.getName(), R.string.memory_usage_apps, 0,
                    args);
            new SubSettingLauncher(getContext())
                    .setDestination(ProcessStatsUi.class.getName())
                    .setTitle(R.string.memory_usage_apps)
                    .setArguments(args)
                    .setSourceMetricsCategory(getMetricsCategory())
                    .launch();
            return true;
        }
        return false;
+17 −4
Original line number Diff line number Diff line
@@ -52,8 +52,10 @@ import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Spinner;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.datausage.CycleAdapter.SpinnerInterface;
import com.android.settings.widget.LoadingViewController;
import com.android.settingslib.AppItem;
@@ -61,6 +63,7 @@ import com.android.settingslib.net.ChartData;
import com.android.settingslib.net.ChartDataLoader;
import com.android.settingslib.net.SummaryForAllUidLoader;
import com.android.settingslib.net.UidDetailProvider;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -149,8 +152,12 @@ public class DataUsageList extends DataUsageBase {
        mHeader.findViewById(R.id.filter_settings).setOnClickListener(btn -> {
            final Bundle args = new Bundle();
            args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
            startFragment(DataUsageList.this, BillingCycleSettings.class.getName(),
                    R.string.billing_cycle, 0, args);
            new SubSettingLauncher(getContext())
                    .setDestination(BillingCycleSettings.class.getName())
                    .setTitle(R.string.billing_cycle)
                    .setSourceMetricsCategory(getMetricsCategory())
                    .setArguments(args)
                    .launch();
        });
        mCycleSpinner = mHeader.findViewById(R.id.filter_spinner);
        mCycleAdapter = new CycleAdapter(mCycleSpinner.getContext(), new SpinnerInterface() {
@@ -404,10 +411,16 @@ public class DataUsageList extends DataUsageBase {
    }

    private void startAppDataUsage(AppItem item) {
        Bundle args = new Bundle();
        final Bundle args = new Bundle();
        args.putParcelable(AppDataUsage.ARG_APP_ITEM, item);
        args.putParcelable(AppDataUsage.ARG_NETWORK_TEMPLATE, mTemplate);
        startFragment(this, AppDataUsage.class.getName(), R.string.app_data_usage, 0, args);

        new SubSettingLauncher(getContext())
                .setDestination(AppDataUsage.class.getName())
                .setTitle(R.string.app_data_usage)
                .setArguments(args)
                .setSourceMetricsCategory(getMetricsCategory())
                .launch();
    }

    /**
+13 −4
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ import com.android.settings.Settings.StorageUseActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.applications.manageapplications.ManageApplications;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.deviceinfo.StorageSettings.MountTask;
import com.android.settingslib.deviceinfo.StorageMeasurement;
@@ -430,13 +431,21 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
                return true;
            case R.id.storage_unmount:
                args.putString(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
                startFragment(this, PrivateVolumeUnmount.class.getCanonicalName(),
                        R.string.storage_menu_unmount, 0, args);
                new SubSettingLauncher(context)
                        .setDestination(PrivateVolumeUnmount.class.getCanonicalName())
                        .setTitle(R.string.storage_menu_unmount)
                        .setSourceMetricsCategory(getMetricsCategory())
                        .setArguments(args)
                        .launch();
                return true;
            case R.id.storage_format:
                args.putString(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
                startFragment(this, PrivateVolumeFormat.class.getCanonicalName(),
                        R.string.storage_menu_format, 0, args);
                new SubSettingLauncher(context)
                        .setDestination(PrivateVolumeFormat.class.getCanonicalName())
                        .setTitle(R.string.storage_menu_format)
                        .setSourceMetricsCategory(getMetricsCategory())
                        .setArguments(args)
                        .launch();
                return true;
            case R.id.storage_migrate:
                final Intent intent = new Intent(context, StorageWizardMigrateConfirm.class);
+25 −10
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -56,9 +57,7 @@ import com.android.settings.search.SearchIndexableRaw;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.deviceinfo.PrivateStorageInfo;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
import com.android.settingslib.drawer.SettingsDrawerActivity;

import java.io.File;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Collections;
@@ -279,15 +278,23 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
                args.putString(VolumeInfo.EXTRA_VOLUME_ID, vol.getId());

                if (VolumeInfo.ID_PRIVATE_INTERNAL.equals(vol.getId())) {
                    startFragment(this, StorageDashboardFragment.class.getCanonicalName(),
                            R.string.storage_settings, 0, args);
                    new SubSettingLauncher(getContext())
                            .setDestination(StorageDashboardFragment.class.getCanonicalName())
                            .setTitle(R.string.storage_settings)
                            .setSourceMetricsCategory(getMetricsCategory())
                            .setArguments(args)
                            .launch();
                } else {
                    // TODO: Go to the StorageDashboardFragment once it fully handles all of the
                    //       SD card cases and other private internal storage cases.
                    PrivateVolumeSettings.setVolumeSize(args, PrivateStorageInfo.getTotalSize(vol,
                            sTotalInternalStorage));
                    startFragment(this, PrivateVolumeSettings.class.getCanonicalName(),
                            -1, 0, args);
                    new SubSettingLauncher(getContext())
                            .setDestination(PrivateVolumeSettings.class.getCanonicalName())
                            .setTitle(-1)
                            .setSourceMetricsCategory(getMetricsCategory())
                            .setArguments(args)
                            .launch();
                }

                return true;
@@ -299,8 +306,12 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
                } else {
                    final Bundle args = new Bundle();
                    args.putString(VolumeInfo.EXTRA_VOLUME_ID, vol.getId());
                    startFragment(this, PublicVolumeSettings.class.getCanonicalName(),
                            -1, 0, args);
                    new SubSettingLauncher(getContext())
                            .setDestination(PublicVolumeSettings.class.getCanonicalName())
                            .setTitle(-1)
                            .setSourceMetricsCategory(getMetricsCategory())
                            .setArguments(args)
                            .launch();
                    return true;
                }
            }
@@ -314,8 +325,12 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
            // Picked a missing private volume
            final Bundle args = new Bundle();
            args.putString(VolumeRecord.EXTRA_FS_UUID, key);
            startFragment(this, PrivateVolumeForget.class.getCanonicalName(),
                    R.string.storage_menu_forget, 0, args);
            new SubSettingLauncher(getContext())
                    .setDestination(PrivateVolumeForget.class.getCanonicalName())
                            .setTitle(R.string.storage_menu_forget)
                    .setSourceMetricsCategory(getMetricsCategory())
                    .setArguments(args)
                    .launch();
            return true;
        }

Loading