From 5864701197e9943a706cb9bf329975f428d7d1c8 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Tue, 29 May 2012 13:19:26 -0700 Subject: [PATCH] Retain text in Rename Device dialog. Also, show the current device name in the dialog, if available. Bug: 6508967 Change-Id: I34d420e197796352aeab74121bdee55c2d2854d7 --- src/com/android/settings/wifi/p2p/WifiP2pSettings.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index b369afea65..c181db90a5 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -90,10 +90,13 @@ public class WifiP2pSettings extends SettingsPreferenceFragment private static final int DIALOG_RENAME = 3; private static final String SAVE_DIALOG_PEER = "PEER_STATE"; + private static final String SAVE_DEVICE_NAME = "DEV_NAME"; private WifiP2pDevice mThisDevice; private WifiP2pDeviceList mPeers = new WifiP2pDeviceList(); + private String mSavedDeviceName; + private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -162,6 +165,9 @@ public class WifiP2pSettings extends SettingsPreferenceFragment WifiP2pDevice device = savedInstanceState.getParcelable(SAVE_DIALOG_PEER); mSelectedWifiPeer = new WifiP2pPeer(getActivity(), device); } + if (savedInstanceState != null && savedInstanceState.containsKey(SAVE_DEVICE_NAME)) { + mSavedDeviceName = savedInstanceState.getString(SAVE_DEVICE_NAME); + } mRenameListener = new OnClickListener() { @Override @@ -376,6 +382,14 @@ public class WifiP2pSettings extends SettingsPreferenceFragment return dialog; } else if (id == DIALOG_RENAME) { mDeviceNameText = new EditText(getActivity()); + if (mSavedDeviceName != null) { + mDeviceNameText.setText(mSavedDeviceName); + mDeviceNameText.setSelection(mSavedDeviceName.length()); + } else if (mThisDevice != null && !TextUtils.isEmpty(mThisDevice.deviceName)) { + mDeviceNameText.setText(mThisDevice.deviceName); + mDeviceNameText.setSelection(0, mThisDevice.deviceName.length()); + } + mSavedDeviceName = null; AlertDialog dialog = new AlertDialog.Builder(getActivity()) .setTitle(R.string.wifi_p2p_menu_rename) .setView(mDeviceNameText) @@ -392,6 +406,9 @@ public class WifiP2pSettings extends SettingsPreferenceFragment if (mSelectedWifiPeer != null) { outState.putParcelable(SAVE_DIALOG_PEER, mSelectedWifiPeer.device); } + if (mDeviceNameText != null) { + outState.putString(SAVE_DEVICE_NAME, mDeviceNameText.getText().toString()); + } } public void onPeersAvailable(WifiP2pDeviceList peers) { -- 2.11.0