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);
}
/**