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

Commit 6dcefe69 authored by Alexandre Francois's avatar Alexandre Francois Committed by Alex Francois
Browse files

Replace use of EventLogger in MR2ServiceImpl with Slog

Logs that previously appeared in dumpsys now appear in
system logs.

For testing, get system logs live with logcat, for example:
adb logcat MR2ServiceImpl:I *:S
or generate a bug report, for example:
adb bugreport
then browse the file with the Android Bug Tool UI at
go/abt-web

Bug: 259705163
Test: manually
Change-Id: If0c8bdef7afcb445f6c9b5ced60ec97d0c5bb0d7
parent 8d22a5fa
Loading
Loading
Loading
Loading
+79 −112
Original line number Diff line number Diff line
@@ -64,7 +64,6 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.LocalServices;
import com.android.server.pm.UserManagerInternal;
import com.android.server.utils.EventLogger;

import java.io.PrintWriter;
import java.lang.ref.WeakReference;
@@ -93,8 +92,6 @@ class MediaRouter2ServiceImpl {
    //       in MediaRouter2, remove this constant and replace the usages with the real request IDs.
    private static final long DUMMY_REQUEST_ID = -1;

    private static final int DUMP_EVENTS_MAX_COUNT = 70;

    private static final String MEDIA_BETTER_TOGETHER_NAMESPACE = "media_better_together";

    private static final String KEY_SCANNING_PACKAGE_MINIMUM_IMPORTANCE =
@@ -121,9 +118,6 @@ class MediaRouter2ServiceImpl {
    @GuardedBy("mLock")
    private int mCurrentActiveUserId = -1;

    private final EventLogger mEventLogger =
            new EventLogger(DUMP_EVENTS_MAX_COUNT, "MediaRouter2ServiceImpl");

    private final ActivityManager.OnUidImportanceListener mOnUidImportanceListener =
            (uid, importance) -> {
                synchronized (mLock) {
@@ -689,16 +683,14 @@ class MediaRouter2ServiceImpl {
            } else {
                pw.println(indent + "  <no user records>");
            }
            mEventLogger.dump(pw, indent);
        }
    }

    /* package */ void updateRunningUserAndProfiles(int newActiveUserId) {
        synchronized (mLock) {
            if (mCurrentActiveUserId != newActiveUserId) {
                mEventLogger.enqueue(
                        EventLogger.StringEvent.from("switchUser",
                                "userId: %d", newActiveUserId));
                Slog.i(TAG, TextUtils.formatSimple(
                        "switchUser | user: %d", newActiveUserId));

                mCurrentActiveUserId = newActiveUserId;
                // disposeUserIfNeededLocked might modify the collection, hence clone
@@ -771,8 +763,8 @@ class MediaRouter2ServiceImpl {
                obtainMessage(UserHandler::notifyRouterRegistered,
                        userRecord.mHandler, routerRecord));

        mEventLogger.enqueue(EventLogger.StringEvent.from("registerRouter2",
                "package: %s, uid: %d, pid: %d, router id: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "registerRouter2 | package: %s, uid: %d, pid: %d, router: %d",
                packageName, uid, pid, routerRecord.mRouterId));
    }

@@ -784,10 +776,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from(
                        "unregisterRouter2",
                        "package: %s, router id: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "unregisterRouter2 | package: %s, router: %d",
                routerRecord.mPackageName,
                routerRecord.mRouterId));

@@ -816,9 +806,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(EventLogger.StringEvent.from(
                "setDiscoveryRequestWithRouter2",
                "router id: %d, discovery request: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "setDiscoveryRequestWithRouter2 | router: %d, discovery request: %s",
                routerRecord.mRouterId, discoveryRequest.toString()));

        routerRecord.mDiscoveryPreference = discoveryRequest;
@@ -842,10 +831,9 @@ class MediaRouter2ServiceImpl {
                                .map(RouteListingPreference.Item::getRouteId)
                                .collect(Collectors.joining(","))
                        : null;
        mEventLogger.enqueue(
                EventLogger.StringEvent.from(
                        "setRouteListingPreference",
                        "router id: %d, route listing preference: [%s]",

        Slog.i(TAG, TextUtils.formatSimple(
                "setRouteListingPreference | router: %d, route listing preference: [%s]",
                routerRecord.mRouterId,
                routeListingAsString));

@@ -863,9 +851,8 @@ class MediaRouter2ServiceImpl {
        RouterRecord routerRecord = mAllRouterRecords.get(binder);

        if (routerRecord != null) {
            mEventLogger.enqueue(EventLogger.StringEvent.from(
                    "setRouteVolumeWithRouter2",
                    "router id: %d, volume: %d",
            Slog.i(TAG, TextUtils.formatSimple(
                    "setRouteVolumeWithRouter2 | router: %d, volume: %d",
                    routerRecord.mRouterId, volume));

            routerRecord.mUserRecord.mHandler.sendMessage(
@@ -948,9 +935,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(EventLogger.StringEvent.from(
                "selectRouteWithRouter2",
                "router id: %d, route: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "selectRouteWithRouter2 | router: %d, route: %s",
                routerRecord.mRouterId, route.getId()));

        routerRecord.mUserRecord.mHandler.sendMessage(
@@ -968,9 +954,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(EventLogger.StringEvent.from(
                "deselectRouteWithRouter2",
                "router id: %d, route: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "deselectRouteWithRouter2 | router: %d, route: %s",
                routerRecord.mRouterId, route.getId()));

        routerRecord.mUserRecord.mHandler.sendMessage(
@@ -988,9 +973,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(EventLogger.StringEvent.from(
                "transferToRouteWithRouter2",
                "router id: %d, route: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "transferToRouteWithRouter2 | router: %d, route: %s",
                routerRecord.mRouterId, route.getId()));

        String defaultRouteId =
@@ -1018,9 +1002,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(EventLogger.StringEvent.from(
                "setSessionVolumeWithRouter2",
                "router id: %d, session: %s, volume: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "setSessionVolumeWithRouter2 | router: %d, session: %s, volume: %d",
                routerRecord.mRouterId,  uniqueSessionId, volume));

        routerRecord.mUserRecord.mHandler.sendMessage(
@@ -1038,9 +1021,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(EventLogger.StringEvent.from(
                "releaseSessionWithRouter2",
                "router id: %d, session: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "releaseSessionWithRouter2 | router: %d, session: %s",
                routerRecord.mRouterId,  uniqueSessionId));

        routerRecord.mUserRecord.mHandler.sendMessage(
@@ -1084,9 +1066,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("registerManager",
                        "uid: %d, pid: %d, package: %s, userId: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "registerManager | uid: %d, pid: %d, package: %s, user: %d",
                uid, pid, packageName, userId));

        mContext.enforcePermission(Manifest.permission.MEDIA_CONTENT_CONTROL, pid, uid,
@@ -1135,10 +1116,8 @@ class MediaRouter2ServiceImpl {
        }
        UserRecord userRecord = managerRecord.mUserRecord;

        mEventLogger.enqueue(
                EventLogger.StringEvent.from(
                        "unregisterManager",
                        "package: %s, userId: %d, managerId: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "unregisterManager | package: %s, user: %d, manager: %d",
                managerRecord.mPackageName,
                userRecord.mUserId,
                managerRecord.mManagerId));
@@ -1155,9 +1134,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("startScan",
                        "manager: %d", managerRecord.mManagerId));
        Slog.i(TAG, TextUtils.formatSimple(
                "startScan | manager: %d", managerRecord.mManagerId));

        managerRecord.startScan();
    }
@@ -1169,9 +1147,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("stopScan",
                        "manager: %d", managerRecord.mManagerId));
        Slog.i(TAG, TextUtils.formatSimple(
                "stopScan | manager: %d", managerRecord.mManagerId));

        managerRecord.stopScan();
    }
@@ -1186,9 +1163,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("setRouteVolumeWithManager",
                        "managerId: %d, routeId: %s, volume: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "setRouteVolumeWithManager | manager: %d, route: %s, volume: %d",
                managerRecord.mManagerId, route.getId(), volume));

        long uniqueRequestId = toUniqueRequestId(managerRecord.mManagerId, requestId);
@@ -1206,9 +1182,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("requestCreateSessionWithManager",
                        "managerId: %d, routeId: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "requestCreateSessionWithManager | manager: %d, route: %s",
                managerRecord.mManagerId, route.getId()));

        String packageName = oldSession.getClientPackageName();
@@ -1256,9 +1231,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("selectRouteWithManager",
                        "managerId: %d, session: %s, routeId: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "selectRouteWithManager | manager: %d, session: %s, route: %s",
                managerRecord.mManagerId, uniqueSessionId, route.getId()));

        // Can be null if the session is system's or RCN.
@@ -1282,9 +1256,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("deselectRouteWithManager",
                        "managerId: %d, session: %s, routeId: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "deselectRouteWithManager | manager: %d, session: %s, route: %s",
                managerRecord.mManagerId, uniqueSessionId, route.getId()));

        // Can be null if the session is system's or RCN.
@@ -1308,9 +1281,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("transferToRouteWithManager",
                        "managerId: %d, session: %s, routeId: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "transferToRouteWithManager | manager: %d, session: %s, route: %s",
                managerRecord.mManagerId, uniqueSessionId, route.getId()));

        // Can be null if the session is system's or RCN.
@@ -1334,9 +1306,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("setSessionVolumeWithManager",
                        "managerId: %d, session: %s, volume: %d",
        Slog.i(TAG, TextUtils.formatSimple(
                "setSessionVolumeWithManager | manager: %d, session: %s, volume: %d",
                managerRecord.mManagerId, uniqueSessionId, volume));

        long uniqueRequestId = toUniqueRequestId(managerRecord.mManagerId, requestId);
@@ -1355,9 +1326,8 @@ class MediaRouter2ServiceImpl {
            return;
        }

        mEventLogger.enqueue(
                EventLogger.StringEvent.from("releaseSessionWithManager",
                        "managerId: %d, session: %s",
        Slog.i(TAG, TextUtils.formatSimple(
                "releaseSessionWithManager | manager: %d, session: %s",
                managerRecord.mManagerId, uniqueSessionId));

        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
@@ -1791,8 +1761,7 @@ class MediaRouter2ServiceImpl {
            MediaRoute2ProviderInfo oldInfo =
                    providerInfoIndex == -1 ? null : mLastProviderInfos.get(providerInfoIndex);
            MediaRouter2ServiceImpl mediaRouter2Service = mServiceRef.get();
            EventLogger eventLogger =
                    mediaRouter2Service != null ? mediaRouter2Service.mEventLogger : null;

            if (oldInfo == newInfo) {
                // Nothing to do.
                return;
@@ -1854,24 +1823,22 @@ class MediaRouter2ServiceImpl {
                }
            }

            if (eventLogger != null) {
            if (!addedRoutes.isEmpty()) {
                // If routes were added, newInfo cannot be null.
                    eventLogger.enqueue(
                            toLoggingEvent(
                Slog.i(TAG,
                        toLoggingMessage(
                                /* source= */ "addProviderRoutes",
                                newInfo.getUniqueId(),
                                addedRoutes));
            }
            if (!removedRoutes.isEmpty()) {
                // If routes were removed, oldInfo cannot be null.
                    eventLogger.enqueue(
                            toLoggingEvent(
                Slog.i(TAG,
                        toLoggingMessage(
                                /* source= */ "removeProviderRoutes",
                                oldInfo.getUniqueId(),
                                removedRoutes));
            }
            }

            dispatchUpdates(
                    hasAddedOrModifiedRoutes,
@@ -1880,14 +1847,14 @@ class MediaRouter2ServiceImpl {
                    mSystemProvider.getDefaultRoute());
        }

        private static EventLogger.Event toLoggingEvent(
        private static String toLoggingMessage(
                String source, String providerId, ArrayList<MediaRoute2Info> routes) {
            String routesString =
                    routes.stream()
                            .map(it -> String.format("%s | %s", it.getOriginalId(), it.getName()))
                            .collect(Collectors.joining(/* delimiter= */ ", "));
            return EventLogger.StringEvent.from(
                    source, "provider: %s, routes: [%s]", providerId, routesString);
            return TextUtils.formatSimple("%s | provider: %s, routes: [%s]",
                    source, providerId, routesString);
        }

        /**