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

Commit 9e1ff854 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Updating logging for possible edge cases of incorrectly updated...

Merge "Merge "Updating logging for possible edge cases of incorrectly updated arrays" into udc-dev am: bfca1097 am: e644ed44"
parents db1c38aa 78b91cd4
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import android.app.ForegroundServiceDelegationOptions;
import android.content.ComponentName;
import android.content.pm.ServiceInfo;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;

import com.android.internal.annotations.VisibleForTesting;
@@ -192,13 +192,20 @@ public class ForegroundServiceTypeLoggerModule {
        final ArrayList<Integer> apiTypes = convertFgsTypeToApiTypes(record.foregroundServiceType);
        final UidState uidState = mUids.get(uid);
        if (uidState == null) {
            Log.e(TAG, "FGS stop call being logged with no start call for UID " + uid);
            Slog.wtfStack(TAG, "FGS stop call being logged with no start call for UID for UID "
                    + uid
                    + " in package " + record.packageName);
            return;
        }
        final ArrayList<Integer> apisFound = new ArrayList<>();
        final ArrayList<Long> timestampsFound = new ArrayList<>();
        for (int i = 0, size = apiTypes.size(); i < size; i++) {
            int apiType = apiTypes.get(i);
            final int apiType = apiTypes.get(i);
            if (!uidState.mOpenWithFgsCount.contains(apiType)) {
                Slog.wtfStack(TAG, "Logger should be tracking FGS types correctly for UID " + uid
                        + " in package " + record.packageName);
                continue;
            }
            // retrieve the eligible closed call
            // we only want to log if this is the only
            // open in flight call. If there are other calls,
@@ -215,7 +222,8 @@ public class ForegroundServiceTypeLoggerModule {
            final ArrayMap<ComponentName, ServiceRecord> runningFgsOfType =
                    uidState.mRunningFgs.get(apiType);
            if (runningFgsOfType == null) {
                Log.w(TAG, "Could not find appropriate running FGS for FGS stop");
                Slog.w(TAG, "Could not find appropriate running FGS for FGS stop for UID " + uid
                        + " in package " + record.packageName);
                continue;
            }

@@ -322,7 +330,7 @@ public class ForegroundServiceTypeLoggerModule {
        // it's not related to any FGS
        UidState uidState = mUids.get(uid);
        if (uidState == null) {
            Log.w(TAG, "API event end called before start!");
            Slog.w(TAG, "API event end called before start!");
            return -1;
        }
        if (uidState.mOpenWithFgsCount.contains(apiType)) {