Update UWB toggle display after lifecycle events.
Bug: 201790864 Test: Manual Change-Id: I05cb52331fe106017b2cb6718a897690720725db
This commit is contained in:
@@ -24,6 +24,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
import android.uwb.UwbManager;
|
||||
import android.uwb.UwbManager.AdapterStateCallback;
|
||||
@@ -52,11 +53,13 @@ public class UwbPreferenceController extends TogglePreferenceController implemen
|
||||
@VisibleForTesting
|
||||
private final BroadcastReceiver mAirplaneModeChangedReceiver;
|
||||
private final Executor mExecutor;
|
||||
private final Handler mHandler;
|
||||
private Preference mPreference;
|
||||
|
||||
public UwbPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mExecutor = Executors.newSingleThreadExecutor();
|
||||
mHandler = new Handler(context.getMainLooper());
|
||||
if (isUwbSupportedOnDevice()) {
|
||||
mUwbManager = context.getSystemService(UwbManager.class);
|
||||
}
|
||||
@@ -65,6 +68,8 @@ public class UwbPreferenceController extends TogglePreferenceController implemen
|
||||
mAirplaneModeChangedReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
mAirplaneModeOn = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.AIRPLANE_MODE_ON, 0) == 1;
|
||||
updateState(mPreference);
|
||||
}
|
||||
};
|
||||
@@ -114,6 +119,8 @@ public class UwbPreferenceController extends TogglePreferenceController implemen
|
||||
|
||||
@Override
|
||||
public void onStateChanged(int state, int reason) {
|
||||
Runnable runnable = () -> updateState(mPreference);
|
||||
mHandler.post(runnable);
|
||||
}
|
||||
|
||||
/** Called when activity starts being displayed to user. */
|
||||
|
Reference in New Issue
Block a user