From a2910d0abbbe18ba1710dfd4a31af45769632255 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Sat, 25 Aug 2012 12:29:46 -0700 Subject: Make it easier to create asynchronous Handlers. There are potentially very many Handlers owned by services that should not be blocked by barriers introduced by UI traversals occurring on the same thread (if that ever happens). Add some convenience constructors to make it easy to switch these Handlers over to being async. Bug: 7057752 Change-Id: I64d9bffe81e7c52ada4cfad4e89d4340153f4688 --- services/java/com/android/server/DockObserver.java | 2 +- services/java/com/android/server/input/InputManagerService.java | 4 ++++ services/java/com/android/server/power/DisplayPowerController.java | 2 +- services/java/com/android/server/power/Notifier.java | 2 +- services/java/com/android/server/power/PowerManagerService.java | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) (limited to 'services/java/com') diff --git a/services/java/com/android/server/DockObserver.java b/services/java/com/android/server/DockObserver.java index 2bed95732a29..f1ff27ff351b 100644 --- a/services/java/com/android/server/DockObserver.java +++ b/services/java/com/android/server/DockObserver.java @@ -241,7 +241,7 @@ final class DockObserver extends UEventObserver { SCREENSAVER_ACTIVATE_ON_DOCK, DEFAULT_SCREENSAVER_ACTIVATED_ON_DOCK) != 0; } - private final Handler mHandler = new Handler(Looper.myLooper(), null, true) { + private final Handler mHandler = new Handler(true /*async*/) { @Override public void handleMessage(Message msg) { switch (msg.what) { diff --git a/services/java/com/android/server/input/InputManagerService.java b/services/java/com/android/server/input/InputManagerService.java index 0b8ff620c4cc..29c68ebf0424 100644 --- a/services/java/com/android/server/input/InputManagerService.java +++ b/services/java/com/android/server/input/InputManagerService.java @@ -1438,6 +1438,10 @@ public class InputManagerService extends IInputManager.Stub implements Watchdog. * Private handler for the input manager. */ private final class InputManagerHandler extends Handler { + public InputManagerHandler() { + super(true /*async*/); + } + @Override public void handleMessage(Message msg) { switch (msg.what) { diff --git a/services/java/com/android/server/power/DisplayPowerController.java b/services/java/com/android/server/power/DisplayPowerController.java index 5f917af174ef..cd211da09973 100644 --- a/services/java/com/android/server/power/DisplayPowerController.java +++ b/services/java/com/android/server/power/DisplayPowerController.java @@ -1112,7 +1112,7 @@ final class DisplayPowerController { private final class DisplayControllerHandler extends Handler { public DisplayControllerHandler(Looper looper) { - super(looper); + super(looper, null, true /*async*/); } @Override diff --git a/services/java/com/android/server/power/Notifier.java b/services/java/com/android/server/power/Notifier.java index 9d928e503420..75f84457a143 100644 --- a/services/java/com/android/server/power/Notifier.java +++ b/services/java/com/android/server/power/Notifier.java @@ -422,7 +422,7 @@ final class Notifier { private final class NotifierHandler extends Handler { public NotifierHandler(Looper looper) { - super(looper); + super(looper, null, true /*async*/); } @Override diff --git a/services/java/com/android/server/power/PowerManagerService.java b/services/java/com/android/server/power/PowerManagerService.java index 9f2b247d3106..cbb5b6df1677 100644 --- a/services/java/com/android/server/power/PowerManagerService.java +++ b/services/java/com/android/server/power/PowerManagerService.java @@ -1952,7 +1952,7 @@ public final class PowerManagerService extends IPowerManager.Stub */ private final class PowerManagerHandler extends Handler { public PowerManagerHandler(Looper looper) { - super(looper); + super(looper, null, true /*async*/); } @Override -- cgit v1.2.3-59-g8ed1b