summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/View.java5
-rw-r--r--core/res/res/values/themes_micro.xml26
-rw-r--r--docs/html/tools/sdk/eclipse-adt.jd4
-rw-r--r--docs/html/tools/sdk/tools-notes.jd2
-rw-r--r--docs/html/wear/notifications/creating.html2
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java41
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);
+ }
}
}