Update UI for factory reset flow
After applying a collapsing toolbar in the Settings app, the factory reset screen is not displayed correctly. This is because 1) the factory reset page should not essentially have a toolbar since it has different UI layout form other pages. 2) this page was launched previously as a SubSettings so it applied a wrong theme. This change is mainly updating the inheritence structure and specifying the right theme for the factory reset page in order to have a correct layout. Bug: 179457252 Test: robotests and visual verified Change-Id: I91aec65a120d5a288507d89ace7c9298acdca42b
This commit is contained in:
@@ -59,11 +59,11 @@ import android.widget.TextView;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ConfirmLockPattern;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
|
||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||
@@ -187,12 +187,15 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis
|
||||
final Bundle args = new Bundle();
|
||||
args.putBoolean(ERASE_EXTERNAL_EXTRA, mExternalStorage.isChecked());
|
||||
args.putBoolean(ERASE_ESIMS_EXTRA, mEsimStorage.isChecked());
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(MainClearConfirm.class.getName())
|
||||
.setArguments(args)
|
||||
.setTitleRes(R.string.main_clear_confirm_title)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
final Intent intent = new Intent();
|
||||
intent.setClass(getContext(),
|
||||
com.android.settings.Settings.FactoryResetConfirmActivity.class);
|
||||
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, MainClearConfirm.class.getName());
|
||||
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
|
||||
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID,
|
||||
R.string.main_clear_confirm_title);
|
||||
intent.putExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, getMetricsCategory());
|
||||
getContext().startActivity(intent);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
@@ -123,7 +123,30 @@ public class Settings extends SettingsActivity {
|
||||
public static class ScanningSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
public static class PrivacyDashboardActivity extends SettingsActivity { /* empty */ }
|
||||
public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ }
|
||||
public static class FactoryResetActivity extends SettingsActivity { /* empty */ }
|
||||
public static class FactoryResetActivity extends SettingsActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedState) {
|
||||
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
|
||||
super.onCreate(savedState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isToolbarEnabled() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static class FactoryResetConfirmActivity extends SettingsActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedState) {
|
||||
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
|
||||
super.onCreate(savedState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isToolbarEnabled() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static class RunningServicesActivity extends SettingsActivity { /* empty */ }
|
||||
public static class BatterySaverSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
public static class BatterySaverScheduleSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
|
@@ -20,6 +20,7 @@ import com.android.settings.AllInOneTetherSettings;
|
||||
import com.android.settings.DisplaySettings;
|
||||
import com.android.settings.IccLockSettings;
|
||||
import com.android.settings.MainClear;
|
||||
import com.android.settings.MainClearConfirm;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.TestingSettings;
|
||||
import com.android.settings.TetherSettings;
|
||||
@@ -282,6 +283,7 @@ public class SettingsGateway {
|
||||
WifiAPITest.class.getName(),
|
||||
WifiInfo.class.getName(),
|
||||
MainClear.class.getName(),
|
||||
MainClearConfirm.class.getName(),
|
||||
ResetDashboardFragment.class.getName(),
|
||||
NightDisplaySettings.class.getName(),
|
||||
ManageDomainUrls.class.getName(),
|
||||
|
@@ -16,9 +16,13 @@
|
||||
package com.android.settings.system;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.UserManager;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
@@ -45,4 +49,14 @@ public class FactoryResetPreferenceController extends AbstractPreferenceControll
|
||||
public String getPreferenceKey() {
|
||||
return KEY_FACTORY_RESET;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||
if (KEY_FACTORY_RESET.equals(preference.getKey())) {
|
||||
final Intent intent = new Intent(mContext, Settings.FactoryResetActivity.class);
|
||||
mContext.startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user