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

Commit 5efb6fae authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 13442527 from 57bfd806 to 25Q3-release

Change-Id: Id1465e68fd55dcffce55fecd01c742773263f79a
parents 7f244f37 57bfd806
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -54,3 +54,12 @@ flag {
  bug: "357272015"
  is_exported: true
}

# OWNER=melhuishj TARGET=25Q3
flag {
  name: "ons_thread_consolidation"
  namespace: "telephony"
  description: "Consolidate ONS work to a single worker thread"
  bug: "240081918"
  is_exported: false
}
+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();
    }

    /**