From 9d49e1b51ff357fc499d027ea993e5c7a66fca5c Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Fri, 13 Dec 2019 13:34:12 +0800 Subject: [PATCH] [Settings] Avoid access Controller from Slice AirplaneModePreferenceController is designed to be run in UI thread. However, MobileDataSlice is designed to be run in SliceProvider. Accessing AirplaneModePreferenceController within SliceProvider which create a possibility of crash. Bug: 145689275 Test: manual Change-Id: Ic9eee407917a94c7247feb3afc709d4642cd9900 --- .../settings/network/telephony/MobileDataSlice.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/network/telephony/MobileDataSlice.java b/src/com/android/settings/network/telephony/MobileDataSlice.java index 65eaf8708b5..152028c05ca 100644 --- a/src/com/android/settings/network/telephony/MobileDataSlice.java +++ b/src/com/android/settings/network/telephony/MobileDataSlice.java @@ -38,11 +38,11 @@ import androidx.slice.builders.SliceAction; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.network.AirplaneModePreferenceController; import com.android.settings.network.MobileDataContentObserver; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceable; import com.android.settings.slices.SliceBackgroundWorker; +import com.android.settingslib.WirelessUtils; import com.google.common.annotations.VisibleForTesting; @@ -184,10 +184,7 @@ public class MobileDataSlice implements CustomSliceable { @VisibleForTesting boolean isAirplaneModeEnabled() { - // Generic key since we only want the method check - no UI. - AirplaneModePreferenceController controller = new AirplaneModePreferenceController(mContext, - "key" /* Key */); - return controller.isChecked(); + return WirelessUtils.isAirplaneModeOn(mContext); } @VisibleForTesting