Update UWB toggle display after lifecycle events.

Bug: 201790864
Test: Manual
Change-Id: I05cb52331fe106017b2cb6718a897690720725db
This commit is contained in:
Joy Babafemi
2021-10-13 18:51:58 +00:00
parent a516da5761
commit 06a39e9e34
2 changed files with 18 additions and 0 deletions

View File

@@ -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. */