Merge "Cleanup release wakelock on bg thread flag" into main
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig
index d50a92b..7921ce0 100644
--- a/packages/SystemUI/aconfig/systemui.aconfig
+++ b/packages/SystemUI/aconfig/systemui.aconfig
@@ -908,16 +908,6 @@
 }
 
 flag {
-    name: "delayed_wakelock_release_on_background_thread"
-    namespace: "systemui"
-    description: "Released delayed wakelocks on background threads to avoid janking screen transitions."
-    bug: "316128516"
-    metadata {
-        purpose: PURPOSE_BUGFIX
-    }
-}
-
-flag {
     name: "notify_power_manager_user_activity_background"
     namespace: "systemui"
     description: "Decide whether to notify the user activity to power manager in the background thread."
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/util/wakelock/WakeLockTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/util/wakelock/WakeLockTest.java
index 207c35d..90aecfb 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/util/wakelock/WakeLockTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/util/wakelock/WakeLockTest.java
@@ -21,43 +21,23 @@
 
 import android.os.Build;
 import android.os.PowerManager;
-import android.platform.test.flag.junit.FlagsParameterization;
-import android.platform.test.flag.junit.SetFlagsRule;
 
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
-import com.android.systemui.Flags;
 import com.android.systemui.SysuiTestCase;
 
 import org.junit.After;
 import org.junit.Assume;
 import org.junit.Before;
-import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import java.util.List;
-
-import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
-import platform.test.runner.parameterized.Parameters;
-
 
 @SmallTest
-@RunWith(ParameterizedAndroidJunit4.class)
+@RunWith(AndroidJUnit4.class)
 public class WakeLockTest extends SysuiTestCase {
 
-    @Parameters(name = "{0}")
-    public static List<FlagsParameterization> getFlags() {
-        return FlagsParameterization.allCombinationsOf(
-                Flags.FLAG_DELAYED_WAKELOCK_RELEASE_ON_BACKGROUND_THREAD);
-    }
-
-    @Rule public final SetFlagsRule mSetFlagsRule;
-
-    public WakeLockTest(FlagsParameterization flags) {
-        mSetFlagsRule = new SetFlagsRule(SetFlagsRule.DefaultInitValueType.NULL_DEFAULT, flags);
-    }
-
     private static final String WHY = "test";
     WakeLock mWakeLock;
     PowerManager.WakeLock mInner;
diff --git a/packages/SystemUI/src/com/android/systemui/util/wakelock/DelayedWakeLock.java b/packages/SystemUI/src/com/android/systemui/util/wakelock/DelayedWakeLock.java
index d2ed71c..55cdfb2 100644
--- a/packages/SystemUI/src/com/android/systemui/util/wakelock/DelayedWakeLock.java
+++ b/packages/SystemUI/src/com/android/systemui/util/wakelock/DelayedWakeLock.java
@@ -19,11 +19,8 @@
 import android.content.Context;
 import android.os.Handler;
 
-import com.android.systemui.Flags;
 import com.android.systemui.dagger.qualifiers.Background;
-import com.android.systemui.dagger.qualifiers.Main;
 
-import dagger.Lazy;
 import dagger.assisted.Assisted;
 import dagger.assisted.AssistedFactory;
 import dagger.assisted.AssistedInject;
@@ -40,13 +37,11 @@
     private final WakeLock mInner;
 
     @AssistedInject
-    public DelayedWakeLock(@Background Lazy<Handler> bgHandler,
-                           @Main Lazy<Handler> mainHandler,
+    public DelayedWakeLock(@Background Handler bgHandler,
                            Context context, WakeLockLogger logger,
             @Assisted String tag) {
         mInner = WakeLock.createPartial(context, logger, tag);
-        mHandler = Flags.delayedWakelockReleaseOnBackgroundThread() ? bgHandler.get()
-                : mainHandler.get();
+        mHandler = bgHandler;
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
index f763ee4..f00e3d1 100644
--- a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
+++ b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
@@ -18,14 +18,9 @@
 
 import android.content.Context;
 import android.os.PowerManager;
-import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 
-import com.android.systemui.Flags;
-
-import java.util.HashMap;
-
 import javax.inject.Inject;
 
 /** WakeLock wrapper for testability */
@@ -114,59 +109,7 @@
     @VisibleForTesting
     static WakeLock wrap(
             final PowerManager.WakeLock inner, WakeLockLogger logger, long maxTimeout) {
-        if (Flags.delayedWakelockReleaseOnBackgroundThread()) {
-            return new ClientTrackingWakeLock(inner, logger, maxTimeout);
-        }
-
-        // Non-thread safe implementation, remove when flag above is removed.
-        return new WakeLock() {
-            private final HashMap<String, Integer> mActiveClients = new HashMap<>();
-
-            /** @see PowerManager.WakeLock#acquire() */
-            public void acquire(String why) {
-                mActiveClients.putIfAbsent(why, 0);
-                int count = mActiveClients.get(why) + 1;
-                mActiveClients.put(why, count);
-                if (logger != null) {
-                    logger.logAcquire(inner, why, count);
-                }
-                if (maxTimeout == Builder.NO_TIMEOUT) {
-                    inner.acquire();
-                } else {
-                    inner.acquire(maxTimeout);
-                }
-            }
-
-            /** @see PowerManager.WakeLock#release() */
-            public void release(String why) {
-                Integer count = mActiveClients.get(why);
-                if (count == null) {
-                    Log.wtf(TAG, "Releasing WakeLock with invalid reason: " + why,
-                            new Throwable());
-                    return;
-                }
-                count--;
-                if (count == 0) {
-                    mActiveClients.remove(why);
-                } else {
-                    mActiveClients.put(why, count);
-                }
-                if (logger != null) {
-                    logger.logRelease(inner, why, count);
-                }
-                inner.release();
-            }
-
-            /** @see PowerManager.WakeLock#wrap(Runnable) */
-            public Runnable wrap(Runnable runnable) {
-                return wrapImpl(this, runnable);
-            }
-
-            @Override
-            public String toString() {
-                return "active clients= " + mActiveClients;
-            }
-        };
+        return new ClientTrackingWakeLock(inner, logger, maxTimeout);
     }
 
     /**