Merge "[Settings] Avoid NPE when user enter WifiCallingSettings back and forth" into udc-d1-dev am: 1765c1dc6e
am: ee77d651fa
am: f5acc230b3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23695884 Change-Id: Ibfbd74b4c9f2298fe210b22dccf36acb71f3c99c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -94,7 +94,6 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
|
|||||||
private ListWithEntrySummaryPreference mButtonWfcRoamingMode;
|
private ListWithEntrySummaryPreference mButtonWfcRoamingMode;
|
||||||
private Preference mUpdateAddress;
|
private Preference mUpdateAddress;
|
||||||
|
|
||||||
private boolean mValidListener = false;
|
|
||||||
private boolean mEditableWfcMode = true;
|
private boolean mEditableWfcMode = true;
|
||||||
private boolean mEditableWfcRoamingMode = true;
|
private boolean mEditableWfcRoamingMode = true;
|
||||||
private boolean mUseWfcHomeModeForRoaming = false;
|
private boolean mUseWfcHomeModeForRoaming = false;
|
||||||
@@ -104,7 +103,7 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
|
|||||||
private ProvisioningManager mProvisioningManager;
|
private ProvisioningManager mProvisioningManager;
|
||||||
private TelephonyManager mTelephonyManager;
|
private TelephonyManager mTelephonyManager;
|
||||||
|
|
||||||
private final PhoneTelephonyCallback mTelephonyCallback = new PhoneTelephonyCallback();
|
private PhoneTelephonyCallback mTelephonyCallback;
|
||||||
|
|
||||||
private class PhoneTelephonyCallback extends TelephonyCallback implements
|
private class PhoneTelephonyCallback extends TelephonyCallback implements
|
||||||
TelephonyCallback.CallStateListener {
|
TelephonyCallback.CallStateListener {
|
||||||
@@ -420,27 +419,20 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
updateBody();
|
updateBody();
|
||||||
|
Context context = getActivity();
|
||||||
final Context context = getActivity();
|
if (mTelephonyCallback == null && queryImsState(mSubId).isWifiCallingSupported()) {
|
||||||
if (queryImsState(mSubId).isWifiCallingSupported()) {
|
mTelephonyCallback = new PhoneTelephonyCallback();
|
||||||
getTelephonyManagerForSub(mSubId).registerTelephonyCallback(
|
getTelephonyManagerForSub(mSubId).registerTelephonyCallback(
|
||||||
context.getMainExecutor(), mTelephonyCallback);
|
context.getMainExecutor(), mTelephonyCallback);
|
||||||
|
|
||||||
mSwitchBar.addOnSwitchChangeListener(this);
|
mSwitchBar.addOnSwitchChangeListener(this);
|
||||||
|
|
||||||
mValidListener = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
context.registerReceiver(mIntentReceiver, mIntentFilter,
|
context.registerReceiver(mIntentReceiver, mIntentFilter,
|
||||||
Context.RECEIVER_EXPORTED_UNAUDITED);
|
Context.RECEIVER_EXPORTED_UNAUDITED);
|
||||||
|
|
||||||
final Intent intent = getActivity().getIntent();
|
final Intent intent = getActivity().getIntent();
|
||||||
if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
|
if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
|
||||||
showAlert(intent);
|
showAlert(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register callback for provisioning changes.
|
// Register callback for provisioning changes.
|
||||||
registerProvisioningChangedCallback();
|
registerProvisioningChangedCallback();
|
||||||
}
|
}
|
||||||
@@ -448,19 +440,13 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
Context context = getActivity();
|
||||||
final Context context = getActivity();
|
if (mTelephonyCallback != null) {
|
||||||
|
|
||||||
if (mValidListener) {
|
|
||||||
mValidListener = false;
|
|
||||||
|
|
||||||
getTelephonyManagerForSub(mSubId).unregisterTelephonyCallback(mTelephonyCallback);
|
getTelephonyManagerForSub(mSubId).unregisterTelephonyCallback(mTelephonyCallback);
|
||||||
|
mTelephonyCallback = null;
|
||||||
mSwitchBar.removeOnSwitchChangeListener(this);
|
mSwitchBar.removeOnSwitchChangeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
context.unregisterReceiver(mIntentReceiver);
|
context.unregisterReceiver(mIntentReceiver);
|
||||||
|
|
||||||
// Remove callback for provisioning changes.
|
// Remove callback for provisioning changes.
|
||||||
unregisterProvisioningChangedCallback();
|
unregisterProvisioningChangedCallback();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user