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

Commit 06456d7b authored by Rupesh Bansal's avatar Rupesh Bansal Committed by Android (Google) Code Review
Browse files

Merge "Changing the packagename to SYSTEM when uid 1000 is logged in Wakelocks" into main

parents ee215211 7cdebc10
Loading
Loading
Loading
Loading
+22 −13
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.power;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.PowerManager;
import android.os.Process;
import android.text.TextUtils;
import android.util.Slog;
import android.util.SparseArray;
@@ -122,6 +123,9 @@ final class WakeLockLog {

    private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");

    @VisibleForTesting
    static final String SYSTEM_PACKAGE_NAME = "System";

    /**
     * Lock protects WakeLockLog.dump (binder thread) from conflicting with changes to the log
     * happening on the background thread.
@@ -516,6 +520,10 @@ final class WakeLockLog {
                return;
            }

            if (tag.ownerUid == Process.SYSTEM_UID) {
                packageName = SYSTEM_PACKAGE_NAME;
            }
            else {
                String[] packages;
                if (uidToPackagesCache.contains(tag.ownerUid)) {
                    packages = uidToPackagesCache.get(tag.ownerUid);
@@ -535,6 +543,7 @@ final class WakeLockLog {
                }
            }
        }
    }

    /**
     * Converts between a {@link LogEntry} instance and a byte sequence.
+11 −2
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.PowerManager;
import android.os.Process;

import org.junit.Before;
import org.junit.Test;
@@ -54,6 +55,8 @@ public class WakeLockLogTest {

        when(mPackageManager.getPackagesForUid(101)).thenReturn(new String[]{ "some.package1" });
        when(mPackageManager.getPackagesForUid(102)).thenReturn(new String[]{ "some.package2" });
        when(mPackageManager.getPackagesForUid(Process.SYSTEM_UID))
                .thenReturn(new String[]{ "some.package3" });
    }

    @Test
@@ -70,14 +73,20 @@ public class WakeLockLogTest {
        log.onWakeLockAcquired("TagFull", 102,
                PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, -1);

        when(injectorSpy.currentTimeMillis()).thenReturn(1250L);
        log.onWakeLockAcquired("TagSystem", 1000,
                PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, -1);

        assertEquals("Wake Lock Log\n"
                        + "  01-01 00:00:01.000 - 101 (some.package1) - ACQ TagPartial "
                        + "(partial,on-after-release)\n"
                        + "  01-01 00:00:01.150 - 102 (some.package2) - ACQ TagFull "
                        + "(full,acq-causes-wake)\n"
                        + "  01-01 00:00:01.250 - 1000 (" + WakeLockLog.SYSTEM_PACKAGE_NAME + ")"
                        + " - ACQ TagSystem (full,acq-causes-wake)\n"
                        + "  -\n"
                        + "  Events: 2, Time-Resets: 0\n"
                        + "  Buffer, Bytes used: 6\n",
                        + "  Events: 3, Time-Resets: 0\n"
                        + "  Buffer, Bytes used: 9\n",
                dumpLog(log, false));
    }