Merge "Fix crash when rotating NFC dialog"
This commit is contained in:
committed by
Android (Google) Code Review
commit
93564706e1
@@ -111,6 +111,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
// Instance state keys
|
||||
private static final String SAVE_DIALOG_EDIT_MODE = "edit_mode";
|
||||
private static final String SAVE_DIALOG_ACCESS_POINT_STATE = "wifi_ap_state";
|
||||
private static final String SAVED_WIFI_NFC_DIALOG_STATE = "wifi_nfc_dlg_state";
|
||||
|
||||
private static boolean savedNetworksExist;
|
||||
|
||||
@@ -142,6 +143,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
private boolean mDlgEdit;
|
||||
private AccessPoint mDlgAccessPoint;
|
||||
private Bundle mAccessPointSavedState;
|
||||
private Bundle mWifiNfcDialogSavedState;
|
||||
|
||||
private WifiTracker mWifiTracker;
|
||||
|
||||
@@ -209,6 +211,11 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
mAccessPointSavedState =
|
||||
savedInstanceState.getBundle(SAVE_DIALOG_ACCESS_POINT_STATE);
|
||||
}
|
||||
|
||||
if (savedInstanceState.containsKey(SAVED_WIFI_NFC_DIALOG_STATE)) {
|
||||
mWifiNfcDialogSavedState =
|
||||
savedInstanceState.getBundle(SAVED_WIFI_NFC_DIALOG_STATE);
|
||||
}
|
||||
}
|
||||
|
||||
// if we're supposed to enable/disable the Next button based on our current connection
|
||||
@@ -350,6 +357,12 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
outState.putBundle(SAVE_DIALOG_ACCESS_POINT_STATE, mAccessPointSavedState);
|
||||
}
|
||||
}
|
||||
|
||||
if (mWifiToNfcDialog != null && mWifiToNfcDialog.isShowing()) {
|
||||
Bundle savedState = new Bundle();
|
||||
mWifiToNfcDialog.saveState(savedState);
|
||||
outState.putBundle(SAVED_WIFI_NFC_DIALOG_STATE, savedState);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -576,10 +589,15 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
case WRITE_NFC_DIALOG_ID:
|
||||
if (mSelectedAccessPoint != null) {
|
||||
mWifiToNfcDialog = new WriteWifiConfigToNfcDialog(
|
||||
getActivity(), mSelectedAccessPoint, mWifiManager);
|
||||
return mWifiToNfcDialog;
|
||||
getActivity(), mSelectedAccessPoint.getConfig().networkId,
|
||||
mSelectedAccessPoint.getSecurity(),
|
||||
mWifiManager);
|
||||
} else if (mWifiNfcDialogSavedState != null) {
|
||||
mWifiToNfcDialog = new WriteWifiConfigToNfcDialog(
|
||||
getActivity(), mWifiNfcDialogSavedState, mWifiManager);
|
||||
}
|
||||
|
||||
return mWifiToNfcDialog;
|
||||
}
|
||||
return super.onCreateDialog(dialogId);
|
||||
}
|
||||
|
Reference in New Issue
Block a user