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

Commit 2b8cfc19 authored by Grace Jia's avatar Grace Jia
Browse files

Add support of ACTION_PACKAGE_CHANGED for car mode InCallService.

Currently only non-UI ICS can be added and bind in InCallController when
we received ACTION_PACKAGE_CHANGED. Change InCallController to swap to a
app entered in car mode when the app is enabled.

Bug: 183522745
Test: CTS test
Change-Id: Iad9bbac7f772f50e1615797a7fd3a237562d27e5
parent b925a325
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -608,7 +608,7 @@ public class InCallController extends CallsManagerListenerBase {
                            new InCallServiceBindingConnection(carModeConnectionInfo);
                    mIsCarMode = true;
                } else {
                    // Invalid car mode app; don't expect this but should handle it gracefully.
                    // The app is not enabled. Using the default dialer connection instead
                    mCarModeConnection = null;
                    mIsCarMode = false;
                    mCurrentConnection = mDialerConnection;
@@ -908,6 +908,10 @@ public class InCallController extends CallsManagerListenerBase {
                        if (mNonUIInCallServiceConnections != null) {
                            mNonUIInCallServiceConnections.addConnections(componentsToBind);
                        }

                        // If the current car mode app become enabled from disabled, update
                        // the connection to binding
                        updateCarModeForConnections();
                    }
                }
            } finally {
@@ -1455,6 +1459,10 @@ public class InCallController extends CallsManagerListenerBase {
        } else {
            Log.i(this, "bindToServices: current UI doesn't support call; not binding.");
        }

        IntentFilter packageChangedFilter = new IntentFilter(Intent.ACTION_PACKAGE_CHANGED);
        packageChangedFilter.addDataScheme("package");
        mContext.registerReceiver(mPackageChangedReceiver, packageChangedFilter);
    }

    private void updateNonUiInCallServices() {
@@ -1484,10 +1492,6 @@ public class InCallController extends CallsManagerListenerBase {
            updateNonUiInCallServices();
        }
        mNonUIInCallServiceConnections.connect(call);

        IntentFilter packageChangedFilter = new IntentFilter(Intent.ACTION_PACKAGE_CHANGED);
        packageChangedFilter.addDataScheme("package");
        mContext.registerReceiver(mPackageChangedReceiver, packageChangedFilter);
    }

    private InCallServiceInfo getDefaultDialerComponent() {