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); mWifiEntry.forget(this);
} }
mMetricsFeatureProvider.action( final Activity activity = mFragment.getActivity();
mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET); if (activity != null) {
mFragment.getActivity().finish(); mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_WIFI_FORGET);
activity.finish();
}
} }
@VisibleForTesting @VisibleForTesting
@@ -1135,8 +1137,11 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
Log.e(TAG, "Forget Wi-Fi network failed"); Log.e(TAG, "Forget Wi-Fi network failed");
} }
mMetricsFeatureProvider.action(mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET); final Activity activity = mFragment.getActivity();
mFragment.getActivity().finish(); 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); 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 @Test
public void forgetNetwork_standardWifiNetwork_forget() { public void forgetNetwork_standardWifiNetwork_forget() {
setUpForConnectedNetwork(); setUpForConnectedNetwork();