Loading services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java +13 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading @@ -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; } Loading Loading @@ -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)) { Loading Loading
services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java +13 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading @@ -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; } Loading Loading @@ -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)) { Loading