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

Commit 53a16737 authored by Jordan Liu's avatar Jordan Liu Committed by Android (Google) Code Review
Browse files

Merge "Unlock mUiccCard access in UiccProfile" into pi-dev

parents 73c0aee4 8f3f43e7
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ public class UiccProfile extends IccCard {
            new UiccCardApplication[IccCardStatus.CARD_MAX_APPS];
    private Context mContext;
    private CommandsInterface mCi;
    private UiccCard mUiccCard; //parent
    private final UiccCard mUiccCard; //parent
    private CatService mCatService;
    private UiccCarrierPrivilegeRules mCarrierPrivilegeRules;
    private boolean mDisposed = false;
@@ -254,19 +254,20 @@ public class UiccProfile extends IccCard {
     * Dispose the UiccProfile.
     */
    public void dispose() {
        synchronized (mLock) {
        if (DBG) log("Disposing profile");

        // mUiccCard is outside of mLock in order to prevent deadlocking. This is safe because
        // EuiccCard#unregisterForEidReady handles its own lock
        if (mUiccCard instanceof EuiccCard) {
            ((EuiccCard) mUiccCard).unregisterForEidReady(mHandler);
        }
        synchronized (mLock) {
            unregisterAllAppEvents();
            unregisterCurrAppEvents();

            InstallCarrierAppUtils.hideAllNotifications(mContext);
            InstallCarrierAppUtils.unregisterPackageInstallReceiver(mContext);

            if (mUiccCard instanceof EuiccCard) {
                ((EuiccCard) mUiccCard).unregisterForEidReady(mHandler);
            }

            mCi.unregisterForOffOrNotAvailable(mHandler);
            mContext.unregisterReceiver(mReceiver);

@@ -859,8 +860,8 @@ public class UiccProfile extends IccCard {

    @Override
    public boolean hasIccCard() {
        synchronized (mLock) {
            if (mUiccCard != null && mUiccCard.getCardState()
        // mUiccCard is initialized in constructor, so won't be null
        if (mUiccCard.getCardState()
                != IccCardStatus.CardState.CARDSTATE_ABSENT) {
            return true;
        }
@@ -868,7 +869,6 @@ public class UiccProfile extends IccCard {
                + "ABSENT");
        return false;
    }
    }

    /**
     * Update the UiccProfile.