diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java index e74f3ae979e..720a33409c2 100644 --- a/src/com/android/settings/network/AirplaneModePreferenceController.java +++ b/src/com/android/settings/network/AirplaneModePreferenceController.java @@ -17,6 +17,7 @@ package com.android.settings.network; import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE; +import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; @@ -54,7 +55,6 @@ public class AirplaneModePreferenceController extends TogglePreferenceController .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE) .build(); - private static final String EXIT_ECM_RESULT = "exit_ecm_result"; private Fragment mFragment; private AirplaneModeEnabler mAirplaneModeEnabler; @@ -147,7 +147,7 @@ public class AirplaneModePreferenceController extends TogglePreferenceController public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_EXIT_ECM) { - final boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false); + final boolean isChoiceYes = (resultCode == Activity.RESULT_OK); // Set Airplane mode based on the return value and checkbox state mAirplaneModeEnabler.setAirplaneModeInECM(isChoiceYes, mAirplaneModePreference.isChecked()); diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java index 286e4e36e5b..0cd24dc2a28 100644 --- a/src/com/android/settings/network/NetworkDashboardFragment.java +++ b/src/com/android/settings/network/NetworkDashboardFragment.java @@ -20,6 +20,7 @@ import static com.android.settings.network.MobilePlanPreferenceController.MANAGE import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.provider.SearchIndexableResource; import android.util.Log; @@ -29,6 +30,7 @@ import androidx.fragment.app.Fragment; import com.android.settings.R; import com.android.settings.Utils; +import com.android.settings.core.OnActivityResultListener; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.network.MobilePlanPreferenceController.MobilePlanPreferenceHost; import com.android.settings.search.BaseSearchIndexProvider; @@ -44,7 +46,7 @@ import java.util.List; @SearchIndexable public class NetworkDashboardFragment extends DashboardFragment implements - MobilePlanPreferenceHost { + MobilePlanPreferenceHost, OnActivityResultListener { private static final String TAG = "NetworkDashboardFrag"; @@ -152,6 +154,17 @@ public class NetworkDashboardFragment extends DashboardFragment implements return 0; } + public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + switch (requestCode) { + case AirplaneModePreferenceController.REQUEST_CODE_EXIT_ECM: + use(AirplaneModePreferenceController.class) + .onActivityResult(requestCode, resultCode, data); + break; + } + } + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider(R.xml.network_provider_internet) { @Override