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

Commit 0b2c9f21 authored by Tim Murray's avatar Tim Murray Committed by Android (Google) Code Review
Browse files

Merge "PowerManager: cleanup async traces"

parents ebc7ee82 4bbe0ceb
Loading
Loading
Loading
Loading
+9 −5
Original line number Original line Diff line number Diff line
@@ -2913,6 +2913,7 @@ public final class PowerManager {
        private int mFlags;
        private int mFlags;
        @UnsupportedAppUsage
        @UnsupportedAppUsage
        private String mTag;
        private String mTag;
        private int mTagHash;
        private final String mPackageName;
        private final String mPackageName;
        private final IBinder mToken;
        private final IBinder mToken;
        private int mInternalCount;
        private int mInternalCount;
@@ -2921,7 +2922,6 @@ public final class PowerManager {
        private boolean mHeld;
        private boolean mHeld;
        private WorkSource mWorkSource;
        private WorkSource mWorkSource;
        private String mHistoryTag;
        private String mHistoryTag;
        private final String mTraceName;
        private final int mDisplayId;
        private final int mDisplayId;
        private WakeLockStateListener mListener;
        private WakeLockStateListener mListener;
        private IWakeLockCallback mCallback;
        private IWakeLockCallback mCallback;
@@ -2931,9 +2931,9 @@ public final class PowerManager {
        WakeLock(int flags, String tag, String packageName, int displayId) {
        WakeLock(int flags, String tag, String packageName, int displayId) {
            mFlags = flags;
            mFlags = flags;
            mTag = tag;
            mTag = tag;
            mTagHash = mTag.hashCode();
            mPackageName = packageName;
            mPackageName = packageName;
            mToken = new Binder();
            mToken = new Binder();
            mTraceName = "WakeLock (" + mTag + ")";
            mDisplayId = displayId;
            mDisplayId = displayId;
        }
        }


@@ -2942,7 +2942,8 @@ public final class PowerManager {
            synchronized (mToken) {
            synchronized (mToken) {
                if (mHeld) {
                if (mHeld) {
                    Log.wtf(TAG, "WakeLock finalized while still held: " + mTag);
                    Log.wtf(TAG, "WakeLock finalized while still held: " + mTag);
                    Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
                    Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_POWER,
                            "WakeLocks", mTagHash);
                    try {
                    try {
                        mService.releaseWakeLock(mToken, 0);
                        mService.releaseWakeLock(mToken, 0);
                    } catch (RemoteException e) {
                    } catch (RemoteException e) {
@@ -3012,7 +3013,8 @@ public final class PowerManager {
                // should immediately acquire the wake lock once again despite never having
                // should immediately acquire the wake lock once again despite never having
                // been explicitly released by the keyguard.
                // been explicitly released by the keyguard.
                mHandler.removeCallbacks(mReleaser);
                mHandler.removeCallbacks(mReleaser);
                Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, mTraceName, 0);
                Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_POWER,
                        "WakeLocks", mTag, mTagHash);
                try {
                try {
                    mService.acquireWakeLock(mToken, mFlags, mTag, mPackageName, mWorkSource,
                    mService.acquireWakeLock(mToken, mFlags, mTag, mPackageName, mWorkSource,
                            mHistoryTag, mDisplayId, mCallback);
                            mHistoryTag, mDisplayId, mCallback);
@@ -3060,7 +3062,8 @@ public final class PowerManager {
                if (!mRefCounted || mInternalCount == 0) {
                if (!mRefCounted || mInternalCount == 0) {
                    mHandler.removeCallbacks(mReleaser);
                    mHandler.removeCallbacks(mReleaser);
                    if (mHeld) {
                    if (mHeld) {
                        Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
                        Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_POWER,
                                "WakeLocks", mTagHash);
                        try {
                        try {
                            mService.releaseWakeLock(mToken, flags);
                            mService.releaseWakeLock(mToken, flags);
                        } catch (RemoteException e) {
                        } catch (RemoteException e) {
@@ -3137,6 +3140,7 @@ public final class PowerManager {
        /** @hide */
        /** @hide */
        public void setTag(String tag) {
        public void setTag(String tag) {
            mTag = tag;
            mTag = tag;
            mTagHash = mTag.hashCode();
        }
        }


        /** @hide */
        /** @hide */
+10 −5
Original line number Original line Diff line number Diff line
@@ -5316,7 +5316,7 @@ public final class PowerManagerService extends SystemService
    private final class SuspendBlockerImpl implements SuspendBlocker {
    private final class SuspendBlockerImpl implements SuspendBlocker {
        private static final String UNKNOWN_ID = "unknown";
        private static final String UNKNOWN_ID = "unknown";
        private final String mName;
        private final String mName;
        private final String mTraceName;
        private final int mNameHash;
        private int mReferenceCount;
        private int mReferenceCount;


        // Maps suspend blocker IDs to a list (LongArray) of open acquisitions for the suspend
        // Maps suspend blocker IDs to a list (LongArray) of open acquisitions for the suspend
@@ -5325,7 +5325,7 @@ public final class PowerManagerService extends SystemService


        public SuspendBlockerImpl(String name) {
        public SuspendBlockerImpl(String name) {
            mName = name;
            mName = name;
            mTraceName = "SuspendBlocker (" + name + ")";
            mNameHash = mName.hashCode();
        }
        }


        @Override
        @Override
@@ -5336,7 +5336,8 @@ public final class PowerManagerService extends SystemService
                            + "\" was finalized without being released!");
                            + "\" was finalized without being released!");
                    mReferenceCount = 0;
                    mReferenceCount = 0;
                    mNativeWrapper.nativeReleaseSuspendBlocker(mName);
                    mNativeWrapper.nativeReleaseSuspendBlocker(mName);
                    Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
                    Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_POWER,
                            "SuspendBlockers", mNameHash);
                }
                }
            } finally {
            } finally {
                super.finalize();
                super.finalize();
@@ -5357,7 +5358,8 @@ public final class PowerManagerService extends SystemService
                    if (DEBUG_SPEW) {
                    if (DEBUG_SPEW) {
                        Slog.d(TAG, "Acquiring suspend blocker \"" + mName + "\".");
                        Slog.d(TAG, "Acquiring suspend blocker \"" + mName + "\".");
                    }
                    }
                    Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, mTraceName, 0);
                    Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_POWER,
                            "SuspendBlockers", mName, mNameHash);
                    mNativeWrapper.nativeAcquireSuspendBlocker(mName);
                    mNativeWrapper.nativeAcquireSuspendBlocker(mName);
                }
                }
            }
            }
@@ -5378,7 +5380,10 @@ public final class PowerManagerService extends SystemService
                        Slog.d(TAG, "Releasing suspend blocker \"" + mName + "\".");
                        Slog.d(TAG, "Releasing suspend blocker \"" + mName + "\".");
                    }
                    }
                    mNativeWrapper.nativeReleaseSuspendBlocker(mName);
                    mNativeWrapper.nativeReleaseSuspendBlocker(mName);
                    Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
                    if (Trace.isTagEnabled(Trace.TRACE_TAG_POWER)) {
                        Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_POWER,
                                "SuspendBlockers", mNameHash);
                    }
                } else if (mReferenceCount < 0) {
                } else if (mReferenceCount < 0) {
                    Slog.wtf(TAG, "Suspend blocker \"" + mName
                    Slog.wtf(TAG, "Suspend blocker \"" + mName
                            + "\" was released without being acquired!", new Throwable());
                            + "\" was released without being acquired!", new Throwable());