diff options
| -rw-r--r-- | core/java/android/view/View.java | 5 | ||||
| -rw-r--r-- | core/res/res/values/themes_micro.xml | 26 | ||||
| -rw-r--r-- | docs/html/tools/sdk/eclipse-adt.jd | 4 | ||||
| -rw-r--r-- | docs/html/tools/sdk/tools-notes.jd | 2 | ||||
| -rw-r--r-- | docs/html/wear/notifications/creating.html | 2 | ||||
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java | 41 |
6 files changed, 21 insertions, 59 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 5e512b6..6ee99ec 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -5726,7 +5726,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @hide */ public int getAccessibilityWindowId() { - return mAttachInfo != null ? mAttachInfo.mAccessibilityWindowId : NO_ID; + return mAttachInfo != null ? mAttachInfo.mAccessibilityWindowId + : AccessibilityNodeInfo.UNDEFINED_ITEM_ID; } /** @@ -19725,7 +19726,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * The id of the window for accessibility purposes. */ - int mAccessibilityWindowId = View.NO_ID; + int mAccessibilityWindowId = AccessibilityNodeInfo.UNDEFINED_ITEM_ID; /** * Flags related to accessibility processing. diff --git a/core/res/res/values/themes_micro.xml b/core/res/res/values/themes_micro.xml index 7c0b7bc..f51b8df 100644 --- a/core/res/res/values/themes_micro.xml +++ b/core/res/res/values/themes_micro.xml @@ -23,7 +23,7 @@ <item name="windowSwipeToDismiss">true</item> </style> - <style name="Theme.Micro.NoActionBar" parent="Theme.Holo.NoActionBar"> + <style name="Theme.Micro.Light" parent="Theme.Holo.Light.NoActionBar"> <item name="textViewStyle">@android:style/Widget.Micro.TextView</item> <item name="numberPickerStyle">@android:style/Widget.Micro.NumberPicker</item> <item name="windowAnimationStyle">@android:style/Animation.SwipeDismiss</item> @@ -31,28 +31,4 @@ <item name="windowIsTranslucent">true</item> <item name="windowSwipeToDismiss">true</item> </style> - <style name="Theme.Micro.Light" parent="Theme.Holo.Light"> - <item name="numberPickerStyle">@android:style/Widget.Micro.NumberPicker</item> - <item name="windowAnimationStyle">@android:style/Animation.SwipeDismiss</item> - <item name="windowIsFloating">false</item> - <item name="windowIsTranslucent">true</item> - <item name="windowSwipeToDismiss">true</item> - </style> - <style name="Theme.Micro.Light.NoActionBar" parent="Theme.Holo.Light.NoActionBar"> - <item name="textViewStyle">@android:style/Widget.Micro.TextView</item> - <item name="numberPickerStyle">@android:style/Widget.Micro.NumberPicker</item> - <item name="windowAnimationStyle">@android:style/Animation.SwipeDismiss</item> - <item name="windowIsFloating">false</item> - <item name="windowIsTranslucent">true</item> - <item name="windowSwipeToDismiss">true</item> - </style> - <style name="Theme.Micro.Light.DarkActionBar" parent="Theme.Holo.Light.DarkActionBar"> - <item name="textViewStyle">@android:style/Widget.Micro.TextView</item> - <item name="numberPickerStyle">@android:style/Widget.Micro.NumberPicker</item> - <item name="windowAnimationStyle">@android:style/Animation.SwipeDismiss</item> - <item name="windowIsFloating">false</item> - <item name="windowIsTranslucent">true</item> - <item name="windowSwipeToDismiss">true</item> - </style> - </resources> diff --git a/docs/html/tools/sdk/eclipse-adt.jd b/docs/html/tools/sdk/eclipse-adt.jd index 4d05ce3..7d20d5e 100644 --- a/docs/html/tools/sdk/eclipse-adt.jd +++ b/docs/html/tools/sdk/eclipse-adt.jd @@ -82,13 +82,13 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues an XML file. (<a href="http://b.android.com/67084">Issue 67084</a>)</li> <li>Fixed a problem where the SDK Manager threw a <code>NullPointerException</code> after removing a virtual device that was created using the Android Wear - system image.</li> + system image. (<a href="http://b.android.com/67588">Issue 67588</a>)</li> <li>Fixed a problem where the layout preview for large screens in Eclipse showed the resources from the <code>drawable-*</code> directories instead of those from the <code>drawable-large-*</code> directories.</li> <li>Fixed a problem with Nexus 5 Android virtual devices created from the command line where the SD card file system was read-only.</li> - <li>Changed the URL for the Android Developer Tools Update Site from HTTPS to HTTP.</li> + <li>Changed the URL for the Android Developer Tools Update Site from HTTP to HTTPS.</li> </ul> </dd> </dl> diff --git a/docs/html/tools/sdk/tools-notes.jd b/docs/html/tools/sdk/tools-notes.jd index e4c3cf1..14b5505 100644 --- a/docs/html/tools/sdk/tools-notes.jd +++ b/docs/html/tools/sdk/tools-notes.jd @@ -52,7 +52,7 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues <ul> <li>Fixed a problem where the SDK Manager threw a <code>NullPointerException</code> after removing a virtual device that was created using the Android Wear - system image.</li> + system image. (<a href="http://b.android.com/67588">Issue 67588</a>)</li> <li>Fixed a problem with Nexus 5 Android virtual devices created from the command line where the SD card file system was read-only.</li> </ul> diff --git a/docs/html/wear/notifications/creating.html b/docs/html/wear/notifications/creating.html index 5022c75..7ad6833 100644 --- a/docs/html/wear/notifications/creating.html +++ b/docs/html/wear/notifications/creating.html @@ -616,7 +616,7 @@ features from <a href="/reference/android/preview/support/wearable/notifications will not work.</p> <p>To continue enhancing your notifications for wearables using - <a href="/reference/android/preview/support/wearable/notifications/WearableNotifications.Builder" + <a href="/reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html" ><code>WearableNotifications.Builder</code></a> and other APIs in the preview support library, see the following developer guides:</p> diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 0edce11..35f873e 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -397,9 +397,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { return true; // yes, recycle the event } if (mSecurityPolicy.canDispatchAccessibilityEventLocked(event)) { + mSecurityPolicy.updateActiveWindowLocked(event.getWindowId(), event.getEventType()); mSecurityPolicy.updateEventSourceLocked(event); - mMainHandler.obtainMessage(MainHandler.MSG_UPDATE_ACTIVE_WINDOW, - event.getWindowId(), event.getEventType()).sendToTarget(); notifyAccessibilityServicesDelayedLocked(event, false); notifyAccessibilityServicesDelayedLocked(event, true); } @@ -503,7 +502,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { mGlobalWindowTokens.put(windowId, windowToken.asBinder()); if (DEBUG) { Slog.i(LOG_TAG, "Added global connection for pid:" + Binder.getCallingPid() - + " with windowId: " + windowId); + + " with windowId: " + windowId + " and token: " + windowToken.asBinder()); } } else { AccessibilityConnectionWrapper wrapper = new AccessibilityConnectionWrapper( @@ -514,12 +513,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { userState.mWindowTokens.put(windowId, windowToken.asBinder()); if (DEBUG) { Slog.i(LOG_TAG, "Added user connection for pid:" + Binder.getCallingPid() - + " with windowId: " + windowId + " and userId:" + mCurrentUserId); + + " with windowId: " + windowId + " and userId:" + mCurrentUserId + + " and token: " + windowToken.asBinder()); } } - if (DEBUG) { - Slog.i(LOG_TAG, "Adding interaction connection to windowId: " + windowId); - } return windowId; } } @@ -534,7 +531,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (removedWindowId >= 0) { if (DEBUG) { Slog.i(LOG_TAG, "Removed global connection for pid:" + Binder.getCallingPid() - + " with windowId: " + removedWindowId); + + " with windowId: " + removedWindowId + " and token: " + window.asBinder()); } return; } @@ -548,7 +545,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (DEBUG) { Slog.i(LOG_TAG, "Removed user connection for pid:" + Binder.getCallingPid() + " with windowId: " + removedWindowIdForUser + " and userId:" - + mUserStates.keyAt(i)); + + mUserStates.keyAt(i) + " and token: " + window.asBinder()); } return; } @@ -1622,7 +1619,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { public static final int MSG_SEND_ACCESSIBILITY_EVENT_TO_INPUT_FILTER = 1; public static final int MSG_SEND_STATE_TO_CLIENTS = 2; public static final int MSG_SEND_CLEARED_STATE_TO_CLIENTS_FOR_USER = 3; - public static final int MSG_UPDATE_ACTIVE_WINDOW = 4; public static final int MSG_ANNOUNCE_NEW_USER_IF_NEEDED = 5; public static final int MSG_UPDATE_INPUT_FILTER = 6; public static final int MSG_SHOW_ENABLED_TOUCH_EXPLORATION_DIALOG = 7; @@ -1669,12 +1665,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { sendStateToClientsForUser(0, userId); } break; - case MSG_UPDATE_ACTIVE_WINDOW: { - final int windowId = msg.arg1; - final int eventType = msg.arg2; - mSecurityPolicy.updateActiveWindow(windowId, eventType); - } break; - case MSG_ANNOUNCE_NEW_USER_IF_NEEDED: { announceNewUserIfNeeded(); } break; @@ -3168,7 +3158,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { } } - public void updateActiveWindow(int windowId, int eventType) { + public void updateActiveWindowLocked(int windowId, int eventType) { // The active window is either the window that has input focus or // the window that the user is currently touching. If the user is // touching a window that does not have input focus as soon as the @@ -3185,17 +3175,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { // what the focused window is to update the active one. // The active window also determined events from which // windows are delivered. - boolean focusedWindowActive = false; synchronized (mLock) { - if (mWindowsForAccessibilityCallback == null) { - focusedWindowActive = true; - } - } - if (focusedWindowActive) { - if (windowId == getFocusedWindowId()) { - synchronized (mLock) { - mActiveWindowId = windowId; - } + if (mWindowsForAccessibilityCallback == null + && windowId == getFocusedWindowId()) { + mActiveWindowId = windowId; } } } break; @@ -3337,7 +3320,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { private int getFocusedWindowId() { IBinder token = mWindowManagerService.getFocusedWindowToken(); - return findWindowIdLocked(token); + synchronized (mLock) { + return findWindowIdLocked(token); + } } } |
