diff options
author | Alan Viverette <alanv@google.com> | 2014-11-04 17:40:29 -0800 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2014-11-04 17:40:29 -0800 |
commit | d2fa5143910c74fd126359f74b08de84b0f7cf2a (patch) | |
tree | 61f8baece218101d707fb67c26e067ad7d6b8f32 /core/java/android/accessibilityservice | |
parent | 6e85abd45b890bf583346a0935d1f24a789dc88b (diff) | |
download | frameworks_base-d2fa5143910c74fd126359f74b08de84b0f7cf2a.zip frameworks_base-d2fa5143910c74fd126359f74b08de84b0f7cf2a.tar.gz frameworks_base-d2fa5143910c74fd126359f74b08de84b0f7cf2a.tar.bz2 |
Use default token instead of wrapped window manager
BUG: 18248602
Change-Id: Id7f06c896dc71db3564fa21d3704222557613035
Diffstat (limited to 'core/java/android/accessibilityservice')
-rw-r--r-- | core/java/android/accessibilityservice/AccessibilityService.java | 68 |
1 files changed, 4 insertions, 64 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java index 1e1b33f..a9eaf29 100644 --- a/core/java/android/accessibilityservice/AccessibilityService.java +++ b/core/java/android/accessibilityservice/AccessibilityService.java @@ -24,11 +24,9 @@ import android.os.Looper; import android.os.Message; import android.os.RemoteException; import android.util.Log; -import android.view.Display; import android.view.KeyEvent; -import android.view.View; -import android.view.ViewGroup; import android.view.WindowManager; +import android.view.WindowManagerGlobal; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityInteractionClient; import android.view.accessibility.AccessibilityNodeInfo; @@ -620,18 +618,6 @@ public abstract class AccessibilityService extends Service { } } - @Override - public Object getSystemService(String name) { - if (Context.WINDOW_SERVICE.equals(name)) { - if (mWindowManager == null) { - WindowManager wrapped = (WindowManager) super.getSystemService(name); - mWindowManager = new LocalWindowManager(wrapped); - } - return mWindowManager; - } - return super.getSystemService(name); - } - /** * Implement to return the implementation of the internal accessibility * service interface. @@ -658,6 +644,9 @@ public abstract class AccessibilityService extends Service { public void init(int connectionId, IBinder windowToken) { mConnectionId = connectionId; mWindowToken = windowToken; + + // Let the window manager know about our shiny new token. + WindowManagerGlobal.getInstance().setDefaultToken(mWindowToken); } @Override @@ -812,53 +801,4 @@ public abstract class AccessibilityService extends Service { } } } - - private class LocalWindowManager implements WindowManager { - private final WindowManager mImpl; - - private LocalWindowManager(WindowManager impl) { - mImpl = impl; - } - - @Override - public Display getDefaultDisplay() { - return mImpl.getDefaultDisplay(); - } - - @Override - public void addView(View view, ViewGroup.LayoutParams params) { - if (!(params instanceof WindowManager.LayoutParams)) { - throw new IllegalArgumentException("Params must be WindowManager.LayoutParams"); - } - WindowManager.LayoutParams windowParams = (WindowManager.LayoutParams) params; - if (windowParams.type == LayoutParams.TYPE_ACCESSIBILITY_OVERLAY - && windowParams.token == null) { - windowParams.token = mWindowToken; - } - mImpl.addView(view, params); - } - - @Override - public void updateViewLayout(View view, ViewGroup.LayoutParams params) { - if (!(params instanceof WindowManager.LayoutParams)) { - throw new IllegalArgumentException("Params must be WindowManager.LayoutParams"); - } - WindowManager.LayoutParams windowParams = (WindowManager.LayoutParams) params; - if (windowParams.type == LayoutParams.TYPE_ACCESSIBILITY_OVERLAY - && windowParams.token == null) { - windowParams.token = mWindowToken; - } - mImpl.updateViewLayout(view, params); - } - - @Override - public void removeViewImmediate(View view) { - mImpl.removeViewImmediate(view); - } - - @Override - public void removeView(View view) { - mImpl.removeView(view); - } - } } |