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

Commit 5c932842 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:...

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

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

Change-Id: I7b10e68e133c04feff0fc1729cccc921ddfc1b50
parents 2bd09f93 cc6de81b
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -25,6 +25,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;
@@ -42,6 +43,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() {
@@ -63,6 +65,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. */