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

Commit 44a62ae8 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati Committed by Android (Google) Code Review
Browse files

Merge "Removed mRadioStateLock" into main

parents f65c1e01 36b3360a
Loading
Loading
Loading
Loading
+100 −125
Original line number Diff line number Diff line
@@ -371,23 +371,18 @@ public class SatelliteController extends Handler {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    protected Phone mSatellitePhone = null;
    private SatelliteOptimizedApplicationsTracker mSatelliteOptimizedApplicationsTracker;
    private final Object mRadioStateLock = new Object();

    /** Flags to indicate whether the respective radio is enabled */
    @GuardedBy("mRadioStateLock")
    private boolean mBTStateEnabled = false;
    @GuardedBy("mRadioStateLock")
    private boolean mNfcStateEnabled = false;
    @GuardedBy("mRadioStateLock")
    private boolean mUwbStateEnabled = false;
    @GuardedBy("mRadioStateLock")
    private boolean mWifiStateEnabled = false;

    /** All the atomic variables are declared here. */
    // Flags to indicate whether the respective radio is enabled
    private AtomicBoolean mBTStateEnabled = new AtomicBoolean(false);
    private AtomicBoolean mNfcStateEnabled = new AtomicBoolean(false);
    private AtomicBoolean mUwbStateEnabled = new AtomicBoolean(false);
    private AtomicBoolean mWifiStateEnabled = new AtomicBoolean(false);
    // Flags to indicate that respective radios need to be disabled when satellite is enabled
    private boolean mDisableBTOnSatelliteEnabled = false;
    private boolean mDisableNFCOnSatelliteEnabled = false;
    private boolean mDisableUWBOnSatelliteEnabled = false;
    private boolean mDisableWifiOnSatelliteEnabled = false;
    private AtomicBoolean mDisableBTOnSatelliteEnabled = new AtomicBoolean(false);
    private AtomicBoolean mDisableNFCOnSatelliteEnabled = new AtomicBoolean(false);
    private AtomicBoolean mDisableUWBOnSatelliteEnabled = new AtomicBoolean(false);
    private AtomicBoolean mDisableWifiOnSatelliteEnabled = new AtomicBoolean(false);

    private final Object mSatelliteEnabledRequestLock = new Object();
    /* This variable is used to store the first enable request that framework has received in the
@@ -1147,17 +1142,16 @@ public class SatelliteController extends Handler {
        if (mContentResolver != null) {
            IntentFilter radioStateIntentFilter = new IntentFilter();

            synchronized (mRadioStateLock) {
            // Initialize radio states to default value
                mDisableBTOnSatelliteEnabled = false;
                mDisableNFCOnSatelliteEnabled = false;
                mDisableWifiOnSatelliteEnabled = false;
                mDisableUWBOnSatelliteEnabled = false;
            mDisableBTOnSatelliteEnabled.set(false);
            mDisableNFCOnSatelliteEnabled.set(false);
            mDisableWifiOnSatelliteEnabled.set(false);
            mDisableUWBOnSatelliteEnabled.set(false);

                mBTStateEnabled = false;
                mNfcStateEnabled = false;
                mWifiStateEnabled = false;
                mUwbStateEnabled = false;
            mBTStateEnabled.set(false);
            mNfcStateEnabled.set(false);
            mWifiStateEnabled.set(false);
            mUwbStateEnabled.set(false);

            // Read satellite mode radios from settings
            String satelliteModeRadios = Settings.Global.getString(mContentResolver,
@@ -1171,8 +1165,8 @@ public class SatelliteController extends Handler {
            if (satelliteModeRadios.contains(Settings.Global.RADIO_BLUETOOTH)) {
                BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
                if (bluetoothAdapter != null) {
                        mDisableBTOnSatelliteEnabled = true;
                        mBTStateEnabled = bluetoothAdapter.isEnabled();
                    mDisableBTOnSatelliteEnabled.set(true);
                    mBTStateEnabled.set(bluetoothAdapter.isEnabled());
                    radioStateIntentFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
                }
            }
@@ -1184,8 +1178,8 @@ public class SatelliteController extends Handler {
                    nfcAdapter = NfcAdapter.getDefaultAdapter(mContext.getApplicationContext());
                }
                if (nfcAdapter != null) {
                        mDisableNFCOnSatelliteEnabled = true;
                        mNfcStateEnabled = nfcAdapter.isEnabled();
                    mDisableNFCOnSatelliteEnabled.set(true);
                    mNfcStateEnabled.set(nfcAdapter.isEnabled());
                    radioStateIntentFilter.addAction(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
                }
            }
@@ -1193,8 +1187,8 @@ public class SatelliteController extends Handler {
            if (satelliteModeRadios.contains(Settings.Global.RADIO_WIFI)) {
                WifiManager wifiManager = mContext.getSystemService(WifiManager.class);
                if (wifiManager != null) {
                        mDisableWifiOnSatelliteEnabled = true;
                        mWifiStateEnabled = wifiManager.isWifiEnabled();
                    mDisableWifiOnSatelliteEnabled.set(true);
                    mWifiStateEnabled.set(wifiManager.isWifiEnabled());
                    radioStateIntentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
                }
            }
@@ -1210,8 +1204,8 @@ public class SatelliteController extends Handler {
            if (satelliteModeRadios.contains(Settings.Global.RADIO_UWB)) {
                UwbManager uwbManager = mContext.getSystemService(UwbManager.class);
                if (uwbManager != null) {
                        mDisableUWBOnSatelliteEnabled = true;
                        mUwbStateEnabled = uwbManager.isUwbEnabled();
                    mDisableUWBOnSatelliteEnabled.set(true);
                    mUwbStateEnabled.set(uwbManager.isUwbEnabled());
                    final long identity = Binder.clearCallingIdentity();
                    try {
                        // Unregister callback before registering it.
@@ -1224,16 +1218,15 @@ public class SatelliteController extends Handler {
                }
            }

                plogd("mDisableBTOnSatelliteEnabled: " + mDisableBTOnSatelliteEnabled
                        + " mDisableNFCOnSatelliteEnabled: " + mDisableNFCOnSatelliteEnabled
                        + " mDisableWifiOnSatelliteEnabled: " + mDisableWifiOnSatelliteEnabled
                        + " mDisableUWBOnSatelliteEnabled: " + mDisableUWBOnSatelliteEnabled);
            plogd("mDisableBTOnSatelliteEnabled: " + mDisableBTOnSatelliteEnabled.get()
                    + " mDisableNFCOnSatelliteEnabled: " + mDisableNFCOnSatelliteEnabled.get()
                    + " mDisableWifiOnSatelliteEnabled: " + mDisableWifiOnSatelliteEnabled.get()
                    + " mDisableUWBOnSatelliteEnabled: " + mDisableUWBOnSatelliteEnabled.get());

                plogd("mBTStateEnabled: " + mBTStateEnabled
                        + " mNfcStateEnabled: " + mNfcStateEnabled
                        + " mWifiStateEnabled: " + mWifiStateEnabled
                        + " mUwbStateEnabled: " + mUwbStateEnabled);
            }
            plogd("mBTStateEnabled: " + mBTStateEnabled.get()
                    + " mNfcStateEnabled: " + mNfcStateEnabled.get()
                    + " mWifiStateEnabled: " + mWifiStateEnabled.get()
                    + " mUwbStateEnabled: " + mUwbStateEnabled.get());
        }
    }

@@ -5823,18 +5816,16 @@ public class SatelliteController extends Handler {

    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    protected boolean areAllRadiosDisabled() {
        synchronized (mRadioStateLock) {
            if ((mDisableBTOnSatelliteEnabled && mBTStateEnabled)
                    || (mDisableNFCOnSatelliteEnabled && mNfcStateEnabled)
                    || (mDisableWifiOnSatelliteEnabled && mWifiStateEnabled)
                    || (mDisableUWBOnSatelliteEnabled && mUwbStateEnabled)) {
        if ((mDisableBTOnSatelliteEnabled.get() && mBTStateEnabled.get())
                || (mDisableNFCOnSatelliteEnabled.get() && mNfcStateEnabled.get())
                || (mDisableWifiOnSatelliteEnabled.get() && mWifiStateEnabled.get())
                || (mDisableUWBOnSatelliteEnabled.get() && mUwbStateEnabled.get())) {
            plogd("All radios are not disabled yet.");
            return false;
        }
        plogd("All radios are disabled.");
        return true;
    }
    }

    private void evaluateToSendSatelliteEnabledSuccess() {
        plogd("evaluateToSendSatelliteEnabledSuccess");
@@ -9724,51 +9715,35 @@ public class SatelliteController extends Handler {
    }

    private void setBTEnabledState(boolean enabled) {
        synchronized (mRadioStateLock) {
            mBTStateEnabled = enabled;
        }
        mBTStateEnabled.set(enabled);
    }

    private boolean getBTEnabledState() {
        synchronized (mRadioStateLock) {
            return mBTStateEnabled;
        }
        return mBTStateEnabled.get();
    }

    private void setNfcEnabledState(boolean enabled) {
        synchronized (mRadioStateLock) {
            mNfcStateEnabled = enabled;
        }
        mNfcStateEnabled.set(enabled);
    }

    private boolean getNfcEnabledState() {
        synchronized (mRadioStateLock) {
            return mNfcStateEnabled;
        }
        return mNfcStateEnabled.get();
    }

    private void setUwbEnabledState(boolean enabled) {
        synchronized (mRadioStateLock) {
            mUwbStateEnabled = enabled;
        }
        mUwbStateEnabled.set(enabled);
    }

    private boolean getUwbEnabledState() {
        synchronized (mRadioStateLock) {
            return mUwbStateEnabled;
        }
        return mUwbStateEnabled.get();
    }

    private void setWifiEnabledState(boolean enabled) {
        synchronized (mRadioStateLock) {
            mWifiStateEnabled = enabled;
        }
        mWifiStateEnabled.set(enabled);
    }

    private boolean getWifiEnabledState() {
        synchronized (mRadioStateLock) {
            return mWifiStateEnabled;
        }
        return mWifiStateEnabled.get();
    }

    /**