Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16893da2 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update UWB toggle display after lifecycle events." into sc-qpr1-dev am: faf452bf

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16047401

Change-Id: Ie12d95410e74e8091c27c42c6e3da86ddb086bf6
parents 541f0e44 faf452bf
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.nfc.AndroidBeamPreferenceController;
import com.android.settings.print.PrintSettingPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.uwb.UwbPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;
@@ -43,6 +44,7 @@ public class AdvancedConnectedDeviceDashboardFragment extends DashboardFragment
    private static final String TAG = "AdvancedConnectedDeviceFrag";

    static final String KEY_BLUETOOTH = "bluetooth_settings";
    static final String KEY_UWB = "uwb_settings";

    @Override
    public int getMetricsCategory() {
@@ -64,6 +66,15 @@ public class AdvancedConnectedDeviceDashboardFragment extends DashboardFragment
        return R.xml.connected_devices_advanced;
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        UwbPreferenceController uwbPreferenceController = use(UwbPreferenceController.class);
        if (uwbPreferenceController != null && getSettingsLifecycle() != null) {
            getSettingsLifecycle().addObserver(uwbPreferenceController);
        }
    }

    @Override
    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
        return buildControllers(context, getSettingsLifecycle());
+7 −0
Original line number Diff line number Diff line
@@ -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. */