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

Commit 0ff806f4 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Merge cherrypicks of [13307953, 13308437, 13309644, 13308319, 13308320,...

Merge cherrypicks of [13307953, 13308437, 13309644, 13308319, 13308320, 13307954, 13307955, 13309645, 13307572, 13307573, 13307574, 13308321, 13309664] into rvc-qpr2-release

Change-Id: Iefd8075d8a6d854fd48908eb19b056ff4e9450e1
parents c1cbd767 4b0c609a
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -404,6 +404,8 @@ public class EuiccConnector extends StateMachine implements ServiceConnection {

        start();

        // All app package changes could trigger the package monitor receiver. It is not limited to
        // apps extended from EuiccService.
        mPackageMonitor.register(mContext, null /* thread */, null /* user */);
        mContext.registerReceiver(
                mUserUnlockedReceiver, new IntentFilter(Intent.ACTION_USER_UNLOCKED));
@@ -555,10 +557,10 @@ public class EuiccConnector extends StateMachine implements ServiceConnection {
                mSelectedComponent = findBestComponent();
                if (mSelectedComponent != null) {
                    transitionTo(mAvailableState);
                    updateSubscriptionInfoListForAllAccessibleEuiccs();
                } else if (getCurrentState() != mUnavailableState) {
                    transitionTo(mUnavailableState);
                }
                updateSubscriptionInfoListForAllAccessibleEuiccs();
                return HANDLED;
            } else if (isEuiccCommand(message.what)) {
                BaseEuiccCommandCallback callback = getCallback(message);
@@ -651,11 +653,16 @@ public class EuiccConnector extends StateMachine implements ServiceConnection {
                if (bestComponent == null) {
                    isSameComponent = mSelectedComponent != null;
                } else {
                    // Checks whether the bound component is the same as the best component. If it
                    // is not, set isSameComponent to false and the connector will bind the best
                    // component instead.
                    isSameComponent = mSelectedComponent == null
                            || Objects.equals(new ComponentName(bestComponent.packageName,
                            bestComponent.name),
                        new ComponentName(mSelectedComponent.packageName, mSelectedComponent.name));
                }
                // Checks whether the bound component is impacted by the package changes. If it is,
                // change the forceRebind to true so the connector will re-bind the component.
                boolean forceRebind = bestComponent != null
                        && Objects.equals(bestComponent.packageName, affectedPackage);
                if (!isSameComponent || forceRebind) {
@@ -666,8 +673,8 @@ public class EuiccConnector extends StateMachine implements ServiceConnection {
                    } else {
                        transitionTo(mBindingState);
                    }
                }
                    updateSubscriptionInfoListForAllAccessibleEuiccs();
                }
                return HANDLED;
            } else if (message.what == CMD_CONNECT_TIMEOUT) {
                transitionTo(mAvailableState);