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

Commit 226a5195 authored by Jaewan Kim's avatar Jaewan Kim
Browse files

Update service connections when TV input list is updated

Bug: 15738607
Change-Id: Ie2d24d0c36308e6757b7d6939d79874c3bdd7211
parent 4e2de24b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -214,6 +214,9 @@ public final class TvInputManagerService extends SystemService {
                if (DEBUG) Slog.d(TAG, "add " + info.getId());
                userState.inputMap.put(info.getId(), info);
                userState.packageList.add(si.packageName);

                // Reconnect the service if existing input is updated.
                updateServiceConnectionLocked(info.getId(), userId);
            } catch (IOException | XmlPullParserException e) {
                Slog.e(TAG, "Can't load TV input " + si.name, e);
            }
@@ -353,6 +356,9 @@ public final class TvInputManagerService extends SystemService {

            Intent i = new Intent(TvInputService.SERVICE_INTERFACE).setComponent(
                    userState.inputMap.get(inputId).getComponent());
            // Binding service may fail if the service is updating.
            // In that case, the connection will be revived in buildTvInputListLocked called by
            // onSomePackagesChanged.
            serviceState.mBound = mContext.bindServiceAsUser(
                    i, serviceState.mConnection, Context.BIND_AUTO_CREATE, new UserHandle(userId));
        } else if (serviceState.mService != null && isStateEmpty) {