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

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

Merge "Remove mDeviceProvisionLock" into main

parents a7475f65 a13b43e6
Loading
Loading
Loading
Loading
+75 −91
Original line number Diff line number Diff line
@@ -392,6 +392,9 @@ public class SatelliteController extends Handler {
    protected AtomicBoolean mIsRadioOn = new AtomicBoolean(false);
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    protected AtomicBoolean mRadioOffRequested = new AtomicBoolean(false);
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    protected AtomicBoolean mIsDeviceProvisioned = null;
    private AtomicBoolean mOverriddenIsSatelliteViaOemProvisioned = null;
    private AtomicBoolean mIgnorePlmnListFromStorage = new AtomicBoolean(false);

    private final Object mSatelliteEnabledRequestLock = new Object();
@@ -485,13 +488,6 @@ public class SatelliteController extends Handler {
    private final ConcurrentHashMap<IBinder, ISelectedNbIotSatelliteSubscriptionCallback>
            mSelectedNbIotSatelliteSubscriptionChangedListeners = new ConcurrentHashMap<>();

    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    protected final Object mDeviceProvisionLock = new Object();
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    @GuardedBy("mDeviceProvisionLock")
    protected Boolean mIsDeviceProvisioned = null;
    @GuardedBy("mDeviceProvisionLock")
    private Boolean mOverriddenIsSatelliteViaOemProvisioned = null;
    private final Object mSatelliteCapabilitiesLock = new Object();
    @GuardedBy("mSatelliteCapabilitiesLock")
    private SatelliteCapabilities mSatelliteCapabilities;
@@ -3405,11 +3401,8 @@ public class SatelliteController extends Handler {
        } catch (RemoteException ex) {
            loge("registerForSatelliteProvisionStateChanged: " + ex);
        }
        synchronized (mDeviceProvisionLock) {
        plogd("registerForSatelliteProvisionStateChanged: report current provisioned "
                + "state, state=" + isProvisioned);
        }

        return SATELLITE_RESULT_SUCCESS;
    }

@@ -3451,15 +3444,13 @@ public class SatelliteController extends Handler {
            return;
        }

        synchronized (mDeviceProvisionLock) {
        if (mIsDeviceProvisioned != null) {
            Bundle bundle = new Bundle();
            bundle.putBoolean(SatelliteManager.KEY_SATELLITE_PROVISIONED,
                        mIsDeviceProvisioned);
                    mIsDeviceProvisioned.get());
            result.send(SATELLITE_RESULT_SUCCESS, bundle);
            return;
        }
        }

        sendRequestAsync(CMD_IS_SATELLITE_PROVISIONED, result, null);
        incrementResultReceiverCount("SC:requestIsSatelliteProvisioned");
@@ -4275,12 +4266,10 @@ public class SatelliteController extends Handler {
            ploge("setOemEnabledSatelliteProvisionStatus: mock modem not allowed");
            return false;
        }
        synchronized (mDeviceProvisionLock) {
        if (reset) {
            mOverriddenIsSatelliteViaOemProvisioned = null;
        } else {
                mOverriddenIsSatelliteViaOemProvisioned = isProvisioned;
            }
            mOverriddenIsSatelliteViaOemProvisioned = new AtomicBoolean(isProvisioned);
        }
        return true;
    }
@@ -5139,16 +5128,14 @@ public class SatelliteController extends Handler {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    @Nullable
    protected Boolean isDeviceProvisioned() {
        synchronized (mDeviceProvisionLock) {
        if (mOverriddenIsSatelliteViaOemProvisioned != null) {
                return mOverriddenIsSatelliteViaOemProvisioned;
            return mOverriddenIsSatelliteViaOemProvisioned.get();
        }

        if (mIsDeviceProvisioned == null) {
                mIsDeviceProvisioned = getPersistedDeviceProvisionStatus();
            }
            return mIsDeviceProvisioned;
            mIsDeviceProvisioned = new AtomicBoolean(getPersistedDeviceProvisionStatus());
        }
        return mIsDeviceProvisioned.get();
    }

    private void handleSatelliteEnabled(SatelliteControllerHandlerRequest request) {
@@ -5457,11 +5444,12 @@ public class SatelliteController extends Handler {
    private void updateCachedDeviceProvisionStatus() {
        boolean isProvisioned = getPersistedDeviceProvisionStatus();
        plogd("updateCachedDeviceProvisionStatus: isProvisioned=" + isProvisioned);
        synchronized (mDeviceProvisionLock) {
            if (mIsDeviceProvisioned == null || mIsDeviceProvisioned != isProvisioned) {
                mIsDeviceProvisioned = isProvisioned;
        if (mIsDeviceProvisioned == null) {
            mIsDeviceProvisioned = new AtomicBoolean(isProvisioned);
            notifyDeviceProvisionStateChanged(isProvisioned);
        } else if (mIsDeviceProvisioned.get() != isProvisioned) {
            mIsDeviceProvisioned.set(isProvisioned);
            notifyDeviceProvisionStateChanged(isProvisioned);
            }
        }
    }

@@ -7051,7 +7039,6 @@ public class SatelliteController extends Handler {
    }

    private void persistOemEnabledSatelliteProvisionStatus(boolean isProvisioned) {
        synchronized (mDeviceProvisionLock) {
        plogd("persistOemEnabledSatelliteProvisionStatus: isProvisioned=" + isProvisioned);
        if (mFeatureFlags.carrierRoamingNbIotNtn()) {
            int subId = getNtnOnlySubscriptionId();
@@ -7078,12 +7065,10 @@ public class SatelliteController extends Handler {
            }
        }
    }
    }

    @Nullable
    private boolean getPersistedDeviceProvisionStatus() {
        plogd("getPersistedDeviceProvisionStatus");
        synchronized (mDeviceProvisionLock) {
        if (mFeatureFlags.carrierRoamingNbIotNtn()) {
            int subId = getNtnOnlySubscriptionId();
            if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
@@ -7123,7 +7108,6 @@ public class SatelliteController extends Handler {
            }
        }
    }
    }

    private boolean loadSatelliteSharedPreferences() {
        if (mSharedPreferences == null) {
+10 −2
Original line number Diff line number Diff line
@@ -227,6 +227,7 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;

@RunWith(AndroidTestingRunner.class)
@@ -6083,8 +6084,15 @@ public class SatelliteControllerTest extends TelephonyTest {
        }

        void setSatelliteProvisioned(@Nullable Boolean isProvisioned) {
            synchronized (mDeviceProvisionLock) {
                mIsDeviceProvisioned = isProvisioned;
            if (isProvisioned == null) {
                mIsDeviceProvisioned = null;
                return;
            }

            if (mIsDeviceProvisioned == null) {
                mIsDeviceProvisioned = new AtomicBoolean(isProvisioned);
            } else {
                mIsDeviceProvisioned.set(isProvisioned);
            }
        }