2322 Commits

Author SHA1 Message Date
Irfan Sheriff
4bbfa9dbb0 am 628ba035: am 1612e298: Merge "AsyncChannel to support remote death notification and post a disconnect message to the source handler."
* commit '628ba035b3c0636826f3eee3ae78da628cc1a8c8':
  AsyncChannel to support remote death notification and post a disconnect message to the source handler.
2012-12-06 11:03:20 -08:00
Irfan Sheriff
628ba035b3 am 1612e298: Merge "AsyncChannel to support remote death notification and post a disconnect message to the source handler."
* commit '1612e29826dfe55f8deca27374046c5931ce5335':
  AsyncChannel to support remote death notification and post a disconnect message to the source handler.
2012-12-06 10:59:10 -08:00
Irfan Sheriff
1612e29826 Merge "AsyncChannel to support remote death notification and post a disconnect message to the source handler." 2012-12-05 20:33:37 -08:00
Irfan Sheriff
56a715ef7a Merge "Fix NPE in StateMachine" 2012-12-04 10:23:09 -08:00
Irfan Sheriff
f98facaf80 Fix NPE in StateMachine
Bug: 7661311
Change-Id: I8645692baf43aced1f4b364bbf13275646754b63
2012-12-04 10:17:25 -08:00
Svetoslav Ganov
2c5f782094 Merge "Refactoring of the screen magnification feature." 2012-12-03 15:59:32 -08:00
Adam Powell
897ccbbdd8 am e4db4e2b: am 05c8f17f: Merge "resolver list is not cleared on rebuild"
* commit 'e4db4e2b9dca065fbbf9f10dd5b9e961a9acef46':
  resolver list is not cleared on rebuild
2012-12-03 11:35:02 -08:00
Adam Powell
e4db4e2b9d am 05c8f17f: Merge "resolver list is not cleared on rebuild"
* commit '05c8f17f05ca83573f7670191e6dec91497dc742':
  resolver list is not cleared on rebuild
2012-12-03 11:32:39 -08:00
Svetoslav Ganov
152e9bb81a Refactoring of the screen magnification feature.
1. The screen magnification feature was implemented entirely as a part of the accessibility
   manager. To achieve that the window manager had to implement a bunch of hooks for an
   external client to observe its internal state. This was problematic since it dilutes
   the window manager interface and allows code that is deeply coupled with the window
   manager to reside outside of it. Also the observer callbacks were IPCs which cannot
   be called with the window manager's lock held. To avoid that the window manager had
   to post messages requesting notification of interested parties which makes the code
   consuming the callbacks to run asynchronously of the window manager. This causes timing
   issues and adds unnecessary complexity.

   Now the magnification logic is split in two halves. The first half that is responsible
   to track the magnified portion of the screen and serve as a policy which windows can be
   magnified and it is a part of the window manager. This part exposes higher level APIs
   allowing interested parties with the right permissions to control the magnification
   of a given display. The APIs also allow a client to be registered for callbacks on
   interesting changes such as resize of the magnified region, etc. This part servers
   as a mediator between magnification controllers and the window manager.

   The second half is a controller that is responsible to drive the magnification
   state based on touch interactions. It also presents a highlight when magnified to
   suggest the magnified potion of the screen. The controller is responsible for auto
   zooming out in case the user context changes - rotation, new actitivity. The controller
   also auto pans if a dialog appears and it does not interesect the magnified frame.

bug:7410464

2. By design screen magnification and touch exploration work separately and together. If
   magnification is enabled the user sees a larger version of the widgets and a sub section
   of the screen content. Accessibility services use the introspection APIs to "see" what
   is on the screen so they can speak it, navigate to the next item in response to a
   gesture, etc. Hence, the information returned to accessibility services has to reflect
   what a sighted user would see on the screen. Therefore, if the screen is magnified
   we need to adjust the bounds and position of the infos describing views in a magnified
   window such that the info bounds are equivalent to what the user sees.

   To improve performance we keep accessibility node info caches in the client process.
   However, when magnification state changes we have to clear these caches since the
   bounds of the cached infos no longer reflect the screen content which just got smaller
   or larger.

   This patch propagates not only the window scale as before but also the X/Y pan and the
   bounds of the magnified portion of the screen to the introspected app. This information
   is used to adjust the bounds of the node infos coming from this window such that the
   reported bounds are the same as the user sees not as the app thinks they are. Note that
   if magnification is enabled we zoom the content and pan it along the X and Y axis. Also
   recomputed is the isVisibleToUser property of the reported info since in a magnified
   state the user sees a subset of the window content and the views not in the magnified
   viewport should be reported as not visible to the user.

bug:7344059

Change-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2
2012-12-03 10:38:48 -08:00
Amith Yamasani
c72beac860 am 0f469f4f: am 32df98d5: am c566b43d: Fix crosstalk between users for widgets hosted in lockscreen
* commit '0f469f4f7eff8faee4350a0d82af325d4ae10b43':
  Fix crosstalk between users for widgets hosted in lockscreen
2012-11-30 19:10:36 -08:00
Amith Yamasani
0f469f4f7e am 32df98d5: am c566b43d: Fix crosstalk between users for widgets hosted in lockscreen
* commit '32df98d52d482498d998b424684610c15098897a':
  Fix crosstalk between users for widgets hosted in lockscreen
2012-11-30 18:46:45 -08:00
Amith Yamasani
c566b43d02 Fix crosstalk between users for widgets hosted in lockscreen
This was initially about the Clock widget crashing repeatedly on some
devices with multiple users. Turned out that there were race conditions
when switching users that could result in remote views of one user calling
back to the RemoteViewsAdapter in keyguard that in turn sent an incorrect widget id
to a different user's widget, resulting in a crash.

Since KeyguardHostView is instantiated in the same process for different users,
it needs to carry a user identity to pass along to AppWidgetService so that
remote views services were bound to the correct user and callbacks were attached and
detached properly.

Added some aidl calls that take the userId to do the binding properly. A more
complete fix might be needed in the future so that all calls from Keyguard carry
the user id.

Also, there was a problem in comparing host uid for secondary users, since Settings
for a secondary user has a different uid than keyguard. Not an issue on single-user
systems. Changed the host.uid comparison to accomodate for the secondary user.

Bug: 7450247
Change-Id: Idbc36e3c60023cac74174f6cb7f2b2130dd3052c
2012-11-30 17:28:08 -08:00
Irfan Sheriff
38ddedc8ad Merge "Support for dumping transition only messages" 2012-11-30 09:41:51 -08:00
Irfan Sheriff
ef8da9fe0b Support for dumping transition only messages
Change-Id: I4968e28334f9dd49bd8fb81d04b25d62ca6da300
2012-11-30 08:13:27 -08:00
Michael Jurka
223172045f am 4ed32c24: am d2de8033: am a8d63ec9: Merge "Disable adding keyguard widgets until setup is done" into jb-mr1.1-dev
* commit '4ed32c248a70fb3ab4d36def8f73e5b88b7fc3d5':
  Disable adding keyguard widgets until setup is done
2012-11-29 15:58:14 -08:00
Michael Jurka
4ed32c248a am d2de8033: am a8d63ec9: Merge "Disable adding keyguard widgets until setup is done" into jb-mr1.1-dev
* commit 'd2de8033a304e951426e66e1f2c800402271c5e3':
  Disable adding keyguard widgets until setup is done
2012-11-29 15:56:34 -08:00
Adam Powell
03919d4084 am 2a1f11e9: am 57c23a46: am 10479a29: Merge "Clean up behavior of type arguments for MediaRouter#getSelectedRoute" into jb-mr1.1-dev
* commit '2a1f11e9750951d072d04155cfe3b7b7f7b96bb7':
  Clean up behavior of type arguments for MediaRouter#getSelectedRoute
2012-11-29 14:33:00 -08:00
Adam Cohen
70a649ca51 am 20b9edd8: am 224daede: am 035352b4: Merge "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)" into jb-mr1.1-dev
* commit '20b9edd805777bf9e603d8008650c23b031dac79':
  Making sure keyguard and homescreen only display eligible widgets (issue 7550090)
2012-11-29 14:32:41 -08:00
Dianne Hackborn
36893b16ce am 221d59f7: am afdd978c: am 68e0da7e: Merge "Quiet down a lot of logging." into jb-mr1.1-dev
* commit '221d59f723584d316ea225bdaf1bc75cbfd7a794':
  Quiet down a lot of logging.
2012-11-29 14:32:25 -08:00
Adam Powell
2a1f11e975 am 57c23a46: am 10479a29: Merge "Clean up behavior of type arguments for MediaRouter#getSelectedRoute" into jb-mr1.1-dev
* commit '57c23a464a8428f089531a5d3cab20c81eb6ccee':
  Clean up behavior of type arguments for MediaRouter#getSelectedRoute
2012-11-29 14:26:57 -08:00
Adam Cohen
20b9edd805 am 224daede: am 035352b4: Merge "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)" into jb-mr1.1-dev
* commit '224daede9e49f53ca5246aed66d152bfcc6d64e1':
  Making sure keyguard and homescreen only display eligible widgets (issue 7550090)
2012-11-29 14:26:29 -08:00
Dianne Hackborn
221d59f723 am afdd978c: am 68e0da7e: Merge "Quiet down a lot of logging." into jb-mr1.1-dev
* commit 'afdd978ccd8d45ac789873dd4cf0ab0dd3f46d20':
  Quiet down a lot of logging.
2012-11-29 14:25:40 -08:00
Michael Jurka
fff5614cae Disable adding keyguard widgets until setup is done
Bug: 7504154

Change-Id: I865f0139bb328e6b9b19493e0d8f9f086e2ebc38
2012-11-29 13:15:39 -08:00
Adam Powell
10479a29cb Merge "Clean up behavior of type arguments for MediaRouter#getSelectedRoute" into jb-mr1.1-dev 2012-11-28 19:03:01 -08:00
Adam Cohen
035352b4d6 Merge "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)" into jb-mr1.1-dev 2012-11-28 17:47:22 -08:00
Adam Cohen
d9e5af3851 Making sure keyguard and homescreen only display eligible widgets (issue 7550090)
Change-Id: I25acb7bde2e8e5ac3185a009f5c7151b81f0ae19
2012-11-28 16:36:56 -08:00
Adam Powell
1cf2ca8358 Clean up behavior of type arguments for MediaRouter#getSelectedRoute
MediaRouter's policy so far has been around a single selected route,
but when route types are entirely orthogonal this should not be the
case. However we still don't want to get into a situation where we
have multiple, very different routes selected for different types at
the same time, we still want to have more of an element of
predictability.

Behavior of getSelectedRoute is now:

* If the selected route matches at least one type with the requested
  type flags, it is still considered selected for that request.

* If the caller specifically requested the selected user route and the
  currently selected route is not a user route, return null.

* If the requested type flags do not match any types with the selected
  route, return the default system route.

Note that this is "any" behavior instead of "all" - this matches
existing usage of the method. We may consider adding an "all" variant
later on.

Bug 7588042

Change-Id: I3a79d8153ca6b882fd3ef6b9b1de8f538873dec2
2012-11-28 11:22:01 -08:00
Dianne Hackborn
40e9f2922c Quiet down a lot of logging.
Also fix a little problem where the USER_STARTED broadcasts
were not being sent as ordered broadcasts(!).

Change-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41
2012-11-27 19:12:23 -08:00
Dianne Hackborn
816a5d9c27 am 360acd03: am 78551bc7: am ba4ac518: Merge "Improve debugging for issue #7586414: AlarmManager wakelocks held" into jb-mr1.1-dev
* commit '360acd03bfe0d597ee845d2392d715633a89e12b':
  Improve debugging for issue #7586414: AlarmManager wakelocks held
2012-11-27 17:34:11 -08:00
Winson Chung
fb8ca912e8 am d0079891: am 9f6e8ddf: am 2b847c39: Merge "Removing unecessary additional lock metadata from QuickSettings user tile." into jb-mr1.1-dev
* commit 'd0079891e3a8034f560eaf88d5be692b61ca4b9a':
  Removing unecessary additional lock metadata from QuickSettings user tile.
2012-11-27 17:33:46 -08:00
Romain Guy
a8f6d5f072 Add support for face attribute to HTML string resources
Bug #7480719

This change also adds the alias "color" for the attribute "fgcolor".
This change also unifies HTML colors parsing between the Html class
and StringBlock for consistency.

Change-Id: I696a6e080387901d88e9baf7cb989b892f14b9db
2012-11-27 14:34:33 -08:00
Dianne Hackborn
360acd03bf am 78551bc7: am ba4ac518: Merge "Improve debugging for issue #7586414: AlarmManager wakelocks held" into jb-mr1.1-dev
* commit '78551bc7d5541c86503b32db0e3e2564218bf179':
  Improve debugging for issue #7586414: AlarmManager wakelocks held
2012-11-27 11:36:34 -08:00
Winson Chung
d0079891e3 am 9f6e8ddf: am 2b847c39: Merge "Removing unecessary additional lock metadata from QuickSettings user tile." into jb-mr1.1-dev
* commit '9f6e8ddf5d48a695b26f1d9759696b56952177bd':
  Removing unecessary additional lock metadata from QuickSettings user tile.
2012-11-27 11:36:13 -08:00
Dianne Hackborn
ba4ac51823 Merge "Improve debugging for issue #7586414: AlarmManager wakelocks held" into jb-mr1.1-dev 2012-11-27 11:06:35 -08:00
Dianne Hackborn
8103890a59 Improve debugging for issue #7586414: AlarmManager wakelocks held
In alarm manager, print a summary of the top 10 alarms by time
being executed.  Keep track of execution time (and wake count) of
each type of alarm for each application so this can be printed in
the summary (and used to compute the top 10 alarms).  Rework how
the alarm summary stats are tracked so that we don't need to hold
on to the full Intent for each stat and can get the Intent information
at the time the alarm is sent rather than waiting for whatever Intent
comes back in the result.

Also in the battery stats: sort the kernel wake locks by time, add
a new section showing all partial wake locks across all applications
sorted by time.

Finally a new LocalLog class that is used by AlarmManager to log
important warning messages, so these can also be later found in
its dumpsys output.

Change-Id: Icc07810053e60fb623a49937e696819cb8352b06
2012-11-27 11:05:42 -08:00
Winson Chung
f7614fc744 Removing unecessary additional lock metadata from QuickSettings user tile.
Change-Id: I89ec94385eb3cdd46ad6942bf8989fb04d5c0370
2012-11-26 14:44:03 -08:00
You Kim
43a5070e06 resolver list is not cleared on rebuild
Refactoring ResolverActivity.java

Change-Id: I84e6420ff98ddcafd27a52b041ddb1c50e7d7362
Signed-off-by: You Kim <you.kim72@gmail.com>
2012-11-21 23:23:45 +09:00
Adam Powell
732e589c10 am 6e8c1495: Merge "Re-read shortcut labels if the language has changed"
* commit '6e8c1495f6a65124750155409ce326736744a42b':
  Re-read shortcut labels if the language has changed
2012-11-20 15:05:13 -08:00
Mattias Falk
eb573418a7 Re-read shortcut labels if the language has changed
The shortcut label isn't updated to the current language
if the phone's language has changed.

The problem was that the shortcut label is stored in a
static variable which is set once and kept throughout the
life time of the process.

Change-Id: I89c5875fbf28fb82e073166c472ca205d28674fb
2012-11-19 09:31:19 +01:00
Michael Jurka
3366a5d54e am cf474b1a: am 7b0c8779: Merge "Delete appWidgetId when removing lockscreen widgets" into jb-mr1.1-dev
* commit 'cf474b1a10a1349d0d6d6f7cbb5d48489bacfb09':
  Delete appWidgetId when removing lockscreen widgets
2012-11-16 15:34:20 -08:00
Michael Jurka
75b5cfb4a4 Delete appWidgetId when removing lockscreen widgets
Bug: 7550012

Change-Id: Ia9f5266256016eb91bfd6a2d5a7f910c42948f1e
2012-11-16 15:22:06 -08:00
Jeff Sharkey
9634e97067 am bfea4f04: am f5377a72: Merge "Useful annotations for code documentation." into jb-mr1.1-dev
* commit 'bfea4f04f226f1adf374412628d5945c380382a7':
  Useful annotations for code documentation.
2012-11-15 11:56:19 -08:00
Jeff Sharkey
8b2c3a1460 Useful annotations for code documentation.
Bug: 6537978
Change-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f
2012-11-12 12:42:17 -08:00
Dianne Hackborn
e0d454d2e8 am 72325cdb: am 63bc6c12: am a46a74fc: Merge "Remove extraneous logs." into jb-mr1-dev
* commit '72325cdb65a321df7755ba214efd9be42ce828d5':
  Remove extraneous logs.
2012-11-08 15:47:46 -08:00
Jim Miller
23b94022ba am 3a191b49: am f3add313: am 3c9297c3: Merge "Attempt to fix NegativeArraySizeException crash in keyguard" into jb-mr1-lockscreen-dev
* commit '3a191b495c886a654f33fe717467a74975137e58':
  Attempt to fix NegativeArraySizeException crash in keyguard
2012-11-08 15:46:07 -08:00
Svetoslav Ganov
09b6f4bbff am 8fa69381: am 0e538548: am cd1f3095: Merge "Slide unlock cannot get accessibility focus." into jb-mr1-lockscreen-dev
* commit '8fa69381f212b85ec9156e0a95382cd3ff312444':
  Slide unlock cannot get accessibility focus.
2012-11-08 15:45:48 -08:00
Adam Cohen
92f828f2a4 am 24b1764e: am 9477f8de: am 3e66286f: Merge "Fixing up glowpad scaling issues (issue 7494378)" into jb-mr1-lockscreen-dev
* commit '24b1764e6c1996926ecba280f236ab05cec68b2c':
  Fixing up glowpad scaling issues (issue 7494378)
2012-11-08 15:45:35 -08:00
Michael Jurka
9d15b4cb70 am 5dc8ce48: am c7037934: am cabcc590: Merge "Allowing rotation while adding lockscreen widgets" into jb-mr1-lockscreen-dev
* commit '5dc8ce48d80c339070b626903a57846d4357c2f2':
  Allowing rotation while adding lockscreen widgets
2012-11-08 15:33:16 -08:00
Adam Cohen
0c06c2b35c am 580657a3: am 96c3f7e5: am 1361758f: Merge "Giving glow pad the brains to scale itself dynamically (issue 7449554)" into jb-mr1-lockscreen-dev
* commit '580657a34851c29f013586578241d2f4d6dc4f5d':
  Giving glow pad the brains to scale itself dynamically (issue 7449554)
2012-11-08 15:33:13 -08:00
Michael Jurka
d31bc8ca2c am f1424272: am 1aad5be9: am 835579e8: Merge "Removing sticky widgets in lockscreen" into jb-mr1-lockscreen-dev
* commit 'f142427244dde3e467b126df4840f496e09cef56':
  Removing sticky widgets in lockscreen
2012-11-08 15:32:53 -08:00