Merge "Fix a NPE when forget wifi network" into sc-dev

This commit is contained in:
Betty Chang
2021-05-05 10:39:29 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 5 deletions

View File

@@ -958,9 +958,11 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
mWifiEntry.forget(this);
}
mMetricsFeatureProvider.action(
mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
mFragment.getActivity().finish();
final Activity activity = mFragment.getActivity();
if (activity != null) {
mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_WIFI_FORGET);
activity.finish();
}
}
@VisibleForTesting
@@ -1135,8 +1137,11 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
Log.e(TAG, "Forget Wi-Fi network failed");
}
mMetricsFeatureProvider.action(mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
mFragment.getActivity().finish();
final Activity activity = mFragment.getActivity();
if (activity != null) {
mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_WIFI_FORGET);
activity.finish();
}
}
/**

View File

@@ -1273,6 +1273,18 @@ public class WifiDetailPreferenceController2Test {
Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, 1);
}
@Test
public void forgetNetwork_activityGone_ignoreFinish() {
setUpForConnectedNetwork();
setUpSpyController();
displayAndResume();
when(mMockFragment.getActivity()).thenReturn(null);
mForgetClickListener.getValue().onClick(null);
verify(mMockActivity, never()).finish();
}
@Test
public void forgetNetwork_standardWifiNetwork_forget() {
setUpForConnectedNetwork();