2398 Commits

Author SHA1 Message Date
Amith Yamasani
ffdc7aed5e Merge "avoid crashing system serer process" 2012-12-14 09:04:30 -08:00
Craig Mautner
ae44659f30 Call adjustWallpaperWindowsLocked once per pass.
Also refactor a few methods and improve logging.

Change-Id: Ic54a1ff99f6de732b31cda5c06d36e8de01a269c
2012-12-12 10:09:19 -08:00
Jim Miller
0386410ead am 5b09fcc7: am 946f6ab4: am 9819a617: Merge "Fix password field focus in keyguard" into jb-mr1.1-dev
* commit '5b09fcc71664383ba73eb2074e52141d5e6abf9e':
  Fix password field focus in keyguard
2012-12-06 23:22:27 -08:00
Winson Chung
f90b03771d am f882bc33: am a1bc0979: am 0db59a85: Revert "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)"
* commit 'f882bc336794909b4c145462cfedc8e28a8494ec':
  Revert "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)"
2012-12-06 23:22:23 -08:00
Jim Miller
5b09fcc716 am 946f6ab4: am 9819a617: Merge "Fix password field focus in keyguard" into jb-mr1.1-dev
* commit '946f6ab44048138c03f9bcf93451322b4397f8f9':
  Fix password field focus in keyguard
2012-12-06 18:59:24 -08:00
Winson Chung
f882bc3367 am a1bc0979: am 0db59a85: Revert "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)"
* commit 'a1bc0979a8cd7389ef4f7f4800fc58cd987ffee2':
  Revert "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)"
2012-12-06 18:59:19 -08:00
Jeff Sharkey
4bef5ac8c7 Merge "Wire KEYCODE_SYSRQ up to take screenshot." 2012-12-06 09:35:40 -08:00
Jeff Sharkey
2991fa35a5 Wire KEYCODE_SYSRQ up to take screenshot.
Change-Id: If7eee811d43ac88c7d206c61f264c3e5f63aa5b3
2012-12-05 18:07:05 -08:00
Jim Miller
9819a61745 Merge "Fix password field focus in keyguard" into jb-mr1.1-dev 2012-12-05 16:37:52 -08:00
Winson Chung
0db59a856f Revert "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)"
This reverts commit 6cbc2e81742039969e081a9eed02060fb8789e25.
2012-12-05 16:04:23 -08:00
Jim Miller
42df15e93d Fix password field focus in keyguard
This fixes a bug introduced in Change-Id: I34b7db402401a824f463d35d7546c05dc2979243 where
the top-most view was allowed to capture focus in order to ensure the device handled volume
key events.

This resolves the issue by restoring previous behavior and ensures we still handle media keys,
regardless of focus.

Fixes bug 7676996

Change-Id: Id2d1200be81640e4b4b7b5e3a0af099d6fc2d259
2012-12-05 15:15:00 -08:00
Amith Yamasani
c1493e1a01 am 368ee53f: am f663cad2: am 6c58b155: Merge "Make 3rd party lockscreen widgets work on secondary users" into jb-mr1.1-dev
* commit '368ee53f25cdff7ea89293d2cc81e95816919369':
  Make 3rd party lockscreen widgets work on secondary users
2012-12-05 13:00:41 -08:00
Winson Chung
a5c40b774c am 46a1a4b2: am 8f90249d: am ca83e1d5: Merge "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)" into jb-mr1.1-dev
* commit '46a1a4b2febc504a1ceb5429ac329264b158929c':
  Saving and restoring current page when rotating in lockscreen. (Bug 7568412)
2012-12-05 12:23:27 -08:00
Amith Yamasani
368ee53f25 am f663cad2: am 6c58b155: Merge "Make 3rd party lockscreen widgets work on secondary users" into jb-mr1.1-dev
* commit 'f663cad2248d5d38957f8e1408cd794c0de90202':
  Make 3rd party lockscreen widgets work on secondary users
2012-12-05 06:06:02 -08:00
Amith Yamasani
6c58b155c3 Merge "Make 3rd party lockscreen widgets work on secondary users" into jb-mr1.1-dev 2012-12-05 05:45:00 -08:00
Jim Miller
e81f55bae8 am eac4be7e: am 4fa27f31: am 80a90efc: Merge "Fix ring volume issue by addressing focus regression in keyguard." into jb-mr1.1-dev
* commit 'eac4be7ef28a9dfba9e6cc6d0501b4bd2146041a':
  Fix ring volume issue by addressing focus regression in keyguard.
2012-12-04 21:53:44 -08:00
Winson Chung
46a1a4b2fe am 8f90249d: am ca83e1d5: Merge "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)" into jb-mr1.1-dev
* commit '8f90249de422b10f5661ac437dd57fc034ee6933':
  Saving and restoring current page when rotating in lockscreen. (Bug 7568412)
2012-12-04 16:35:02 -08:00
Amith Yamasani
94022e8997 Make 3rd party lockscreen widgets work on secondary users
If you install a lockscreen widget app on a secondary user, lockscreen fails to find it.
There were several places where the correct context and userId were required under the
covers - AppWidgetHost, AppWidgetHostView and RemoteViewsAdapter.

Set the user id in the required places and use it to query the package information.

Bug: 7662835
Change-Id: Ife482c8ab2a2e601650b7cfe2660e88d3b8f2050
2012-12-04 16:25:38 -08:00
Winson Chung
ca83e1d541 Merge "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)" into jb-mr1.1-dev 2012-12-04 14:38:54 -08:00
Jim Miller
eac4be7ef2 am 4fa27f31: am 80a90efc: Merge "Fix ring volume issue by addressing focus regression in keyguard." into jb-mr1.1-dev
* commit '4fa27f314038620fd3c50170d2f8caebeb6005bb':
  Fix ring volume issue by addressing focus regression in keyguard.
2012-12-04 12:33:49 -08:00
Jim Miller
80a90efcbf Merge "Fix ring volume issue by addressing focus regression in keyguard." into jb-mr1.1-dev 2012-12-04 12:29:16 -08:00
Jim Miller
147f9568af Fix ring volume issue by addressing focus regression in keyguard.
This fixes a regression where ring volume can be changed in keyguard.
Because KeyguardHostView is now being re-created in onScreenTurnedOff(),
it loses focus and the volume keys get handled by the fallback handler.

The fix is to ensure at least one child under KeyguardHostView has focus
whenever we re-create it.

Fixes bug 7546960

Change-Id: I34b7db402401a824f463d35d7546c05dc2979243
2012-12-03 18:48:52 -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
Jim Miller
f8b26c67ad am cd4d3495: am f6fe2444: am e431e6a3: Merge "Add logging to try and track down bug 7643792" into jb-mr1.1-dev
* commit 'cd4d34954c39a005c66e8ee438032d7e51b9f473':
  Add logging to try and track down bug 7643792
2012-11-30 16:04:42 -08:00
Jim Miller
cd4d34954c am f6fe2444: am e431e6a3: Merge "Add logging to try and track down bug 7643792" into jb-mr1.1-dev
* commit 'f6fe244422166d0120dbbc8c8cf360a99f215d8b':
  Add logging to try and track down bug 7643792
2012-11-30 16:02:12 -08:00
Jim Miller
e431e6a352 Merge "Add logging to try and track down bug 7643792" into jb-mr1.1-dev 2012-11-30 15:57:46 -08:00
Jim Miller
2b84b817e4 Add logging to try and track down bug 7643792
Fix whitespace & log message.

Change-Id: I9d241365503a6a9b02d3155dbb06ddb82065b375
2012-11-30 15:54:38 -08:00
John Spurlock
cc95712ea2 am 368016f7: am bd0e1808: am 4015c3f8: Merge "Only show camera widget to setup users." into jb-mr1.1-dev
* commit '368016f769903df05ad5af51e8402dc372d5cd49':
  Only show camera widget to setup users.
2012-11-30 13:29:14 -08:00
John Spurlock
368016f769 am bd0e1808: am 4015c3f8: Merge "Only show camera widget to setup users." into jb-mr1.1-dev
* commit 'bd0e180893c33f6958d4940709687ef2a52e8336':
  Only show camera widget to setup users.
2012-11-30 13:26:47 -08:00
John Spurlock
4015c3f815 Merge "Only show camera widget to setup users." into jb-mr1.1-dev 2012-11-30 13:20:09 -08:00
Daniel Sandler
9e3efb9155 am d1b73fc1: am 71988c81: am 386165a3: Merge "Only show "charging" if the battery is really charging." into jb-mr1.1-dev
* commit 'd1b73fc17ca222cc627c932625efe9c3c1ad3b0c':
  Only show "charging" if the battery is really charging.
2012-11-30 07:34:53 -08:00
Daniel Sandler
d1b73fc17c am 71988c81: am 386165a3: Merge "Only show "charging" if the battery is really charging." into jb-mr1.1-dev
* commit '71988c81a3ae9d372c1eb2991f509a8c5c83f08c':
  Only show "charging" if the battery is really charging.
2012-11-30 07:32:24 -08:00
Daniel Sandler
386165a3ae Merge "Only show "charging" if the battery is really charging." into jb-mr1.1-dev 2012-11-30 07:27:36 -08:00
John Spurlock
371f3408d6 Only show camera widget to setup users.
And remove misspelled and unused field in KeyguardHostView.

Bug:7645811
Change-Id: I3d6ceae8d25d0af7b504b4c22782611d25462a62
2012-11-30 09:20:43 -05:00
Winson Chung
ede31a6897 am e6dc0139: am c93d558a: am 818b2f34: Merge "Fixing issue where you can still click on a widget on a side page. (Bug 7568412)" into jb-mr1.1-dev
* commit 'e6dc013913111a0f94e8fd8201311a022295cd3d':
  Fixing issue where you can still click on a widget on a side page. (Bug 7568412)
2012-11-29 16:06:44 -08:00
Winson Chung
e6dc013913 am c93d558a: am 818b2f34: Merge "Fixing issue where you can still click on a widget on a side page. (Bug 7568412)" into jb-mr1.1-dev
* commit 'c93d558a53424f625129a9da2ece376a52896854':
  Fixing issue where you can still click on a widget on a side page. (Bug 7568412)
2012-11-29 16:04:49 -08:00
Winson Chung
818b2f341c Merge "Fixing issue where you can still click on a widget on a side page. (Bug 7568412)" into jb-mr1.1-dev 2012-11-29 15:59:45 -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
John Spurlock
0313864236 am 721aaead: am 1428384c: am 958343c1: Merge "Fix for navbar back/home appearing in keyguard (multiuser)." into jb-mr1.1-dev
* commit '721aaead07c162ad745e5ed4d7e549f89c8b9a60':
  Fix for navbar back/home appearing in keyguard (multiuser).
2012-11-29 14:33:37 -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
John Spurlock
721aaead07 am 1428384c: am 958343c1: Merge "Fix for navbar back/home appearing in keyguard (multiuser)." into jb-mr1.1-dev
* commit '1428384c6217c843169e233dc934d5fcbf18a792':
  Fix for navbar back/home appearing in keyguard (multiuser).
2012-11-29 14:28:15 -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
Winson Chung
06598bede5 Saving and restoring current page when rotating in lockscreen. (Bug 7568412)
Change-Id: Ia80845d05df04dc2d31a834279096e5ed165a646
2012-11-29 12:54:45 -08:00
Brian Colonna
d219cebfcb am eceef837: am ceb87a66: am 6f6facc1: Merge "Ignoring FUL unlock signal if user changed fixes b/7572354" into jb-mr1.1-dev
* commit 'eceef837e34e6860ad532d15402435606550f3fa':
  Ignoring FUL unlock signal if user changed fixes b/7572354
2012-11-29 12:48:41 -08:00
Brian Colonna
eceef837e3 am ceb87a66: am 6f6facc1: Merge "Ignoring FUL unlock signal if user changed fixes b/7572354" into jb-mr1.1-dev
* commit 'ceb87a664fdcfa08f98238bfe41fc3a03603cbf8':
  Ignoring FUL unlock signal if user changed fixes b/7572354
2012-11-29 12:45:18 -08:00