2341 Commits

Author SHA1 Message Date
Dianne Hackborn
72e3983d38 New API to get app op information about a single package.
Change-Id: I986453d9bb4161da467fb820b12502464e936483
2013-01-18 18:36:09 -08:00
Elliott Hughes
ec6afcc69a am 8c27d0b3: am 686fad5e: am b1e16f11: Merge "Track a typo fix in hidden libcore API."
* commit '8c27d0b3093593fe0d2c229ffcc9a35dbaf5fc59':
  Track a typo fix in hidden libcore API.
2013-01-17 11:34:38 -08:00
Elliott Hughes
8c27d0b309 am 686fad5e: am b1e16f11: Merge "Track a typo fix in hidden libcore API."
* commit '686fad5e2367fe08afe6e219d460be994127fb5e':
  Track a typo fix in hidden libcore API.
2013-01-17 10:32:00 -08:00
Elliott Hughes
686fad5e23 am b1e16f11: Merge "Track a typo fix in hidden libcore API."
* commit 'b1e16f11ffd3a391be1a44a352c122b6dad1e8a5':
  Track a typo fix in hidden libcore API.
2013-01-17 10:28:43 -08:00
Elliott Hughes
26df61683a Track a typo fix in hidden libcore API.
Change-Id: I6fa3c2ef7f4d73bbf6557560e46c7c11bff74a32
2013-01-17 09:24:47 -08:00
Dianne Hackborn
35654b61e8 More work on App Ops service.
Implemented reading and writing state to retain information
across boots, API to retrieve state from it, improved location
manager interaction to monitor both coarse and fine access
and only note operations when location data is being delivered
back to app (not when it is just registering to get the data at
some time in the future).

Also implement tracking of read/write ops on contacts and the
call log.  This involved tweaking the content provider protocol
to pass over the name of the calling package, and some
infrastructure in the ContentProvider transport to note incoming
calls with the app ops service.  The contacts provider and call
log provider turn this on for themselves.

This also implements some of the mechanics of being able to ignore
incoming provider calls...  all that is left are some new APIs for
the real content provider implementation to be involved with
providing the correct behavior for query() (return an empty
cursor with the right columns) and insert() (need to figure out
what URI to return).

Change-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c
2013-01-16 12:11:01 -08:00
Satoshi Kataoka
8e303cc5dd Refactor utilities for InputMethodManagerSerivce that we want to share with the Settings application
Bug: 7872918

Change-Id: I0bc9954f163a3ec38d08b9ba842a8a31176eb6a6
2013-01-15 12:52:47 +09:00
Adam Powell
e886d3d33b am 79cc4a2a: am d1779207: am 0bf63a9a: am d29f2d26: Merge "Make action bar title a valid touch target for up when relevant" into jb-mr1.1-dev
* commit '79cc4a2ab0130acca83de5945a43adf9925beac1':
  Make action bar title a valid touch target for up when relevant
2013-01-10 15:39:00 -08:00
Dianne Hackborn
a06de0f29b New "app ops" service.
Initial implementation, tracking use of the vibrator, GPS,
and location reports.

Also includes an update to battery stats to also keep track of
vibrator usage (since I had to be in the vibrator code anyway
to instrument it).

The service itself is only half-done.  Currently no API to
retrieve the data (which once there will allow us to show you
which apps are currently causing the GPS to run and who has
recently accessed your location), it doesn't persist its data
like it should, and no way to tell it to reject app requests
for various operations.

But hey, it's a start!

Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
2013-01-09 12:47:47 -08:00
Adam Powell
79cc4a2ab0 am d1779207: am 0bf63a9a: am d29f2d26: Merge "Make action bar title a valid touch target for up when relevant" into jb-mr1.1-dev
* commit 'd17792073fd3ab963bd5e0a7edcb312720fcea26':
  Make action bar title a valid touch target for up when relevant
2013-01-09 11:28:27 -08:00
Adam Powell
d17792073f am 0bf63a9a: am d29f2d26: Merge "Make action bar title a valid touch target for up when relevant" into jb-mr1.1-dev
* commit '0bf63a9a76ba513b5f6c603857bcd4d3e4506566':
  Make action bar title a valid touch target for up when relevant
2013-01-09 11:26:07 -08:00
Adam Powell
4dca8636f8 Make action bar title a valid touch target for up when relevant
arubin bug 7966136

Change-Id: Iea5b85852cc1664f1390a6f8b6179d63b50857e4
2013-01-08 19:26:21 -08:00
Jim Miller
8ca2fc10ce Remove unused keyguard code
This change removes the old keyguard code because it's obsolete and doesn't run
anymore.

Change-Id: I8ed93f507378a17cf834d2ee9284c098eb8efffe
2013-01-02 17:07:56 -08:00
Fabrice Di Meglio
8afcd14997 Make SystemUI RTL aware
- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: Ica88ed68f893d5272691a9207788b65623849dee
2012-12-17 17:03:09 -08:00
Jeff Sharkey
7a96c39c51 Move lingering services to services.jar.
This helps reduce the pressure on framework.jar, and makes it clear
that it should only be used by the system_server.

Bug: 7333397
Change-Id: I0858904239535380fbf30562b793e277d8c3f054
2012-12-11 09:50:50 -08:00
Mita Yun
d44280e288 resolved conflicts for merge of ebcbfb3f to master
Change-Id: I0658dd4a1418fbad91d9663e5b52418a979dc683
2012-12-10 16:50:22 -08:00
Adam Powell
29c04ef841 Set an ID for the action bar's Spinner
This ensures state is preserved properly.

Change-Id: I4bdccaf9b8a30a0a38466a5615cebbb596d80fb4
2012-12-10 15:42:22 -08:00
Mita Yun
ebcbfb3fc7 am a98cd512: Merge "Use asynchronous messages for input method events." into jb-mr1-aah-dev
* commit 'a98cd5122be643a51f563d02069e8f9409d44394':
  Use asynchronous messages for input method events.
2012-12-10 15:35:05 -08:00
Mita Yun
ed218c706d Use asynchronous messages for input method events.
Improves the throughput of IME event handling by ensuring that
input events do not get serialized behind UI traversal and
drawing messages such as when the UI is animating.

Added support for creating an asynchronous Handler as part of a
HandlerCaller.  It turns out we should be using an asynchronous
Handler not only in IME dispatch but also in accessibility and
wallpaper events where HandlerCaller is used.  So fixed those
services to also use an asynchronous Handler.

Change-Id: I0b19140c9d5ca6ee300c1a150c48312fd55ed8eb
2012-12-06 18:11:32 -08:00
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