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

Commit 37b64854 authored by Iván Budnik's avatar Iván Budnik
Browse files

Improve logs for unregistering routers and managers

After this change, MR2SI logs whether an unregistration was triggered
explicitly or by a process dying. Also, MR2SI now logs when there is an
attempt to unregister an unknown manager, instead of failing silently.

Test: adb shell am crash <app with router/manager>
Bug: 205124386
Change-Id: Ib7f22d080061b1d25e17cb92aad588350e6a094f
parent bcbc6b99
Loading
Loading
Loading
Loading
+18 −8
Original line number Original line Diff line number Diff line
@@ -837,15 +837,18 @@ class MediaRouter2ServiceImpl {
    private void unregisterRouter2Locked(@NonNull IMediaRouter2 router, boolean died) {
    private void unregisterRouter2Locked(@NonNull IMediaRouter2 router, boolean died) {
        RouterRecord routerRecord = mAllRouterRecords.remove(router.asBinder());
        RouterRecord routerRecord = mAllRouterRecords.remove(router.asBinder());
        if (routerRecord == null) {
        if (routerRecord == null) {
            Slog.w(TAG, "Ignoring unregistering unknown router2");
            Slog.w(
                    TAG,
                    TextUtils.formatSimple(
                            "Ignoring unregistering unknown router: %s, died: %b", router, died));
            return;
            return;
        }
        }


        Slog.i(
        Slog.i(
                TAG,
                TAG,
                TextUtils.formatSimple(
                TextUtils.formatSimple(
                        "unregisterRouter2 | package: %s, router id: %d",
                        "unregisterRouter2 | package: %s, router id: %d, died: %b",
                        routerRecord.mPackageName, routerRecord.mRouterId));
                        routerRecord.mPackageName, routerRecord.mRouterId, died));


        UserRecord userRecord = routerRecord.mUserRecord;
        UserRecord userRecord = routerRecord.mUserRecord;
        userRecord.mRouterRecords.remove(routerRecord);
        userRecord.mRouterRecords.remove(routerRecord);
@@ -1230,15 +1233,22 @@ class MediaRouter2ServiceImpl {
    private void unregisterManagerLocked(@NonNull IMediaRouter2Manager manager, boolean died) {
    private void unregisterManagerLocked(@NonNull IMediaRouter2Manager manager, boolean died) {
        ManagerRecord managerRecord = mAllManagerRecords.remove(manager.asBinder());
        ManagerRecord managerRecord = mAllManagerRecords.remove(manager.asBinder());
        if (managerRecord == null) {
        if (managerRecord == null) {
            Slog.w(
                    TAG,
                    TextUtils.formatSimple(
                            "Ignoring unregistering unknown manager: %s, died: %b", manager, died));
            return;
            return;
        }
        }
        UserRecord userRecord = managerRecord.mUserRecord;
        UserRecord userRecord = managerRecord.mUserRecord;


        Slog.i(TAG, TextUtils.formatSimple(
        Slog.i(
                "unregisterManager | package: %s, user: %d, manager: %d",
                TAG,
                TextUtils.formatSimple(
                        "unregisterManager | package: %s, user: %d, manager: %d, died: %b",
                        managerRecord.mOwnerPackageName,
                        managerRecord.mOwnerPackageName,
                        userRecord.mUserId,
                        userRecord.mUserId,
                managerRecord.mManagerId));
                        managerRecord.mManagerId,
                        died));


        userRecord.mManagerRecords.remove(managerRecord);
        userRecord.mManagerRecords.remove(managerRecord);
        managerRecord.dispose();
        managerRecord.dispose();