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

Commit faf452bf authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 11af4846 06a39e9e
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. */