[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
This commit is contained in:
@@ -38,11 +38,11 @@ import androidx.slice.builders.SliceAction;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.network.AirplaneModePreferenceController;
|
|
||||||
import com.android.settings.network.MobileDataContentObserver;
|
import com.android.settings.network.MobileDataContentObserver;
|
||||||
import com.android.settings.slices.CustomSliceRegistry;
|
import com.android.settings.slices.CustomSliceRegistry;
|
||||||
import com.android.settings.slices.CustomSliceable;
|
import com.android.settings.slices.CustomSliceable;
|
||||||
import com.android.settings.slices.SliceBackgroundWorker;
|
import com.android.settings.slices.SliceBackgroundWorker;
|
||||||
|
import com.android.settingslib.WirelessUtils;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
@@ -184,10 +184,7 @@ public class MobileDataSlice implements CustomSliceable {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean isAirplaneModeEnabled() {
|
boolean isAirplaneModeEnabled() {
|
||||||
// Generic key since we only want the method check - no UI.
|
return WirelessUtils.isAirplaneModeOn(mContext);
|
||||||
AirplaneModePreferenceController controller = new AirplaneModePreferenceController(mContext,
|
|
||||||
"key" /* Key */);
|
|
||||||
return controller.isChecked();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
Reference in New Issue
Block a user