Warn users before they change device name.

This ensures users know that the change they make will be visible
through Bluetooth and Wi-Fi Hotspot.

Fixes: 74981919
Test: Settings robotest

Change-Id: Ib27066f4a123dc472730d7e663adfb039b1e27d6
This commit is contained in:
Daniel Nishi
2018-04-05 18:24:13 -07:00
parent 036cf51ac4
commit 5d2adcd935
5 changed files with 218 additions and 10 deletions

View File

@@ -19,7 +19,6 @@ package com.android.settings.deviceinfo.aboutphone;
import static com.android.settings.bluetooth.Utils.getLocalBtManager;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.pm.UserInfo;
@@ -62,7 +61,8 @@ import java.util.Arrays;
import java.util.List;
@SearchIndexable
public class MyDeviceInfoFragment extends DashboardFragment {
public class MyDeviceInfoFragment extends DashboardFragment
implements DeviceNamePreferenceController.DeviceNamePreferenceHost {
private static final String LOG_TAG = "MyDeviceInfoFragment";
private static final String KEY_MY_DEVICE_INFO_HEADER = "my_device_info_header";
@@ -100,8 +100,11 @@ public class MyDeviceInfoFragment extends DashboardFragment {
getLifecycle());
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Activity activity, Fragment fragment, Lifecycle lifecycle) {
private static List<AbstractPreferenceController> buildPreferenceControllers(
Context context,
Activity activity,
MyDeviceInfoFragment fragment,
Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new EmergencyInfoPreferenceController(context));
controllers.add(new PhoneNumberPreferenceController(context));
@@ -109,6 +112,10 @@ public class MyDeviceInfoFragment extends DashboardFragment {
DeviceNamePreferenceController deviceNamePreferenceController =
new DeviceNamePreferenceController(context);
deviceNamePreferenceController.setLocalBluetoothManager(getLocalBtManager(context));
deviceNamePreferenceController.setHost(fragment);
if (lifecycle != null) {
lifecycle.addObserver(deviceNamePreferenceController);
}
controllers.add(deviceNamePreferenceController);
controllers.add(new SimStatusPreferenceController(context, fragment));
controllers.add(new DeviceModelPreferenceController(context, fragment));
@@ -164,6 +171,16 @@ public class MyDeviceInfoFragment extends DashboardFragment {
controller.done(context, true /* rebindActions */);
}
@Override
public void showDeviceNameWarningDialog(String deviceName) {
DeviceNameWarningDialog.show(this);
}
public void onSetDeviceNameConfirm() {
final DeviceNamePreferenceController controller = use(DeviceNamePreferenceController.class);
controller.confirmDeviceName();
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
private final SummaryLoader mSummaryLoader;