10706 Commits

Author SHA1 Message Date
Dianne Hackborn
846dda3fa7 Merge "Add new disabled state for "optional" built-in apps." 2013-01-23 22:43:11 +00:00
Dianne Hackborn
f9c5e0fe83 Add new API to propagate contextual data to the assist action
When launching an assist, we have a new API allowing the
current foreground activity/application to provide additional
arbitrary contextual information that is stuffed in the
assist intent before it is launched.

Change-Id: I0b2a6f5a266dc42cc0175327fa76774f814af3b4
2013-01-23 14:39:13 -08:00
Dianne Hackborn
c4d27a7d55 Fix issue #7649720: ANR occur when OTA with lower version...
...of Play Store is included

The issue is that the name of the play store apk on the system
image has changed, and the package manager has a bug when this
happens and it is being hidden by an updated version of the
application that is still a newer version.  In this case it
doesn't do the normal scan of the system apk, but just leaves
its old disabled state.  However if the code path has changed,
this will trip up other code that thinks the system apk has
disappeared (since when it checks for the existence of the apk
with the stored code path, it doesn't find anything).

The fix here is to add a special case to make sure the code
path is updated even if we are otherwise ignoring the hidden
system image package data.

Change-Id: Ic5118f94c078da7a30b53b9cadf7c9844f7ba866
2013-01-22 18:30:17 -08:00
Svetoslav
cb9a61bdc4 Display magnifier does not release its surface on destroy.
Change-Id: I0b9448c8859b0167632652060b08072dc8c9c0a5
2013-01-22 18:11:42 -08:00
Svetoslav Ganov
80943d8daa Adding UI test automation APIs.
This change adds APIs support for implementing UI tests. Such tests do
not rely on internal application structure and can span across application
boundaries. UI automation APIs are encapsulated in the UiAutomation object
that is provided by an Instrumentation object. It is initialized by the
system and can be used for both introspecting the screen and performing
interactions simulating a user. UI test are normal instrumentation tests
and are executed on the device.

UiAutomation uses the accessibility APIs to introspect the screen and
a special delegate object to perform privileged operations such as
injecting input events. Since instrumentation tests are invoked by a shell
command, the shell program launching the tests creates a delegate object and
passes it as an argument to started instrumentation. This delegate
allows the APK that runs the tests to access some privileged operations
protected by a signature level permissions which are explicitly granted
to the shell user.

The UiAutomation object also supports running tests in the legacy way
where the tests are run as a Java shell program. This enables existing
UiAutomator tests to keep working while the new ones should be implemented
using the new APIs. The UiAutomation object exposes lower level APIs which
allow simulation of arbitrary user interactions and writing complete UI test
cases. Clients, such as UiAutomator, are encouraged to implement higher-
level APIs which minimize development effort and can be used as a helper
library by the test developer.

The benefit of this change is decoupling UiAutomator from the system
since the former was calling hidden APIs which required that it is
bundled in the system image. This prevented UiAutomator from being
evolved separately from the system. Also UiAutomator was creating
additional API surface in the system image. Another benefit of the new
design is that now test cases have access to a context and can use
public platform APIs in addition to the UiAutomator ones. Further,
third-parties can develop their own higher level test APIs on top
of the lower level ones exposes by UiAutomation.

bug:8028258

Also this change adds the fully qualified resource name of the view's
id in the emitted AccessibilityNodeInfo if a special flag is set while
configuring the accessibility service. Also added is API for looking
up node infos by this id. The id resource name is relatively more stable
compared to the generaed id number which may change from one build to
another. This API facilitate reuing the already defined ids for UI
automation.

bug:7678973

Change-Id: I589ad14790320dec8a33095953926c2a2dd0228b
2013-01-22 17:56:53 -08:00
Dianne Hackborn
fd7adedebf Add new disabled state for "optional" built-in apps.
The disabled state allows you to make an app disabled
except for whatever parts of the system still want to
provide access to them and automatically enable them
if the user want to use it.

Currently the input method manager service is the only
part of the system that supports this, so you can put
an IME in this state and it will generally look disabled
but still be available in the IME list and once selected
switched to the enabled state.

Change-Id: I77f01c70610d82ce9070d4aabbadec8ae2cff2a3
2013-01-22 17:10:23 -08:00
Amith Yamasani
172175fea9 am 05f1f0ec: am 555b07df: am 2c64b539: am 596532d9: Properly initialize recognition service if the recognizer component changed.
* commit '05f1f0ece8f39e77c96825fb2e3451ebd388adad':
  Properly initialize recognition service if the recognizer component changed.
2013-01-22 15:51:14 -08:00
Amith Yamasani
05f1f0ece8 am 555b07df: am 2c64b539: am 596532d9: Properly initialize recognition service if the recognizer component changed.
* commit '555b07df08dd4c2472374d0767926ebab928dede':
  Properly initialize recognition service if the recognizer component changed.
2013-01-22 15:48:10 -08:00
Amith Yamasani
555b07df08 am 2c64b539: am 596532d9: Properly initialize recognition service if the recognizer component changed.
* commit '2c64b53976a99f28bc7c0612648581f9b93bf8b0':
  Properly initialize recognition service if the recognizer component changed.
2013-01-22 15:46:25 -08:00
Amith Yamasani
2c64b53976 am 596532d9: Properly initialize recognition service if the recognizer component changed.
* commit '596532d9dbea3460dbc989b0316c721ca69f4915':
  Properly initialize recognition service if the recognizer component changed.
2013-01-22 15:43:53 -08:00
Amith Yamasani
596532d9db Properly initialize recognition service if the recognizer component changed.
The getServiceInfo() call directly to IPackageManager does not throw an exception.
The return value needed to be checked for null.

Bug: 8031032
Change-Id: I701b9e8cf3b2406a3b35a486183330489b3d46f5
2013-01-22 15:35:49 -08:00
Victoria Lease
54ca7aef2e Annotate Locations coming from mock providers
LocationManagerService now annotates incoming Location objects that
have come from mock location providers. The new isFromMockProvider()
method can be called on any Location to determine whether the
provider that supplied the Location was a mock location provider.

Bug: 6813235
Change-Id: Ib5140e93ea427f2e0b0036151047f87a02b4d23a
2013-01-22 09:39:47 -08:00
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
Robert Greenwalt
20da885caa Merge "Revert "Second pass tying into dns cache per interface"" 2013-01-19 00:36:12 +00:00
Robert Greenwalt
63837f455d Revert "Second pass tying into dns cache per interface"
This reverts commit f60f94a89e49c125f4aff6496710a0fb66579545

Change-Id: If52dffd5100a6b03275da0eabfa05e24c5ecada9
2013-01-19 00:34:07 +00:00
Dianne Hackborn
d8e1dbb6bc Rework ParceledListSlice to be much easier to use.
Take advantage of this to return better information about
packages filtered by permissions -- include the permissions
they have in the requested array.

Also fix issue #8026793 (Contact picture shows default pic
while searching for a contact in qsb) by using the base
package name of the Context when reporting the app name
of an operation.  Otherwise you could make a resource-only
context for another application and do calls through that
and get reported as the wrong app.

Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
2013-01-18 13:02:26 -08:00
Wink Saville
52dda54b08 Merge "Clean up published network condition reporting." 2013-01-18 18:41:39 +00:00
Wink Saville
82413d0b2a Clean up published network condition reporting.
Change-Id: I371c04bcb0547f1133e7ce12a6871aad3b3fdc6b
2013-01-18 09:31:13 -08:00
Satoshi Kataoka
2d43bf6ba5 Merge "Ensure that the input method dialog is dismissed when changing the hardware keyboard state." 2013-01-18 07:03:32 +00:00
Satoshi Kataoka
04dd24d4ba Ensure that the input method dialog is dismissed when changing the hardware keyboard state.
Change-Id: I51882ecd2b1a12116f43afff7c23454164a6272b
2013-01-18 13:44:57 +09:00
Robert Greenwalt
0f8d155363 Merge "Second pass tying into dns cache per interface" 2013-01-17 16:15:33 +00:00
Dianne Hackborn
2125dd57cc Merge "AppOps: fix nested op tracking, new API to get apps using permissions." 2013-01-17 02:51:11 +00:00
Dianne Hackborn
e799175b6b AppOps: fix nested op tracking, new API to get apps using
permissions.

Change-Id: I20c7bd58febc01d6911a90440867eaacd133c464
2013-01-16 18:10:40 -08:00
Victoria Lease
79d59f0968 DO NOT MERGE Prevent OOM death for services under ServiceWatcher's care.
Change-Id: If87be5769b55368edaf4776189e8f6e51a21eb03

Conflicts:

	services/java/com/android/server/ServiceWatcher.java
2013-01-16 17:37:21 -08:00
Victoria Lease
fd08d1ece5 Prevent OOM death for services under ServiceWatcher's care.
Change-Id: If87be5769b55368edaf4776189e8f6e51a21eb03
2013-01-16 16:21:41 -08:00
Amith Yamasani
d4fe37bee7 Merge "Rename bindService to bindServiceAsUser to follow convention." 2013-01-16 23:26:30 +00:00
Amith Yamasani
27b89e6658 Rename bindService to bindServiceAsUser to follow convention.
This is for the multi-user version of bindService, not the original.

Change-Id: Ib2de35941196accf387b1a276a77e6f9af805ec0
2013-01-16 12:30:11 -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
Sasha Levitskiy
f849124b6b Merge "Removed Throttle Manager as obsolete" 2013-01-15 16:56:30 -08:00
Victoria Lease
ea78b85bb7 fix NPE in updateClientUids
Bug: 8009908
Change-Id: I54d97c587a3fa9d003f654f98fdfdbe21af791d6
2013-01-15 10:39:28 -08:00
Craig Mautner
07f943d417 Merge "Add Overrides, remove trailing whitespace." 2013-01-15 09:10:10 -08:00
Craig Mautner
6cfa7292cf Add Overrides, remove trailing whitespace.
Once and for all.

Change-Id: I0835515696c1a8ec7dff719fb734cbbd0b4252d6
2013-01-15 09:05:42 -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
Sasha Levitskiy
ca6486e7f5 Removed Throttle Manager as obsolete
Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
2013-01-14 16:59:33 -08:00
Dianne Hackborn
0d31c74b2e Merge "WorkSource can now track package names." 2013-01-14 10:38:14 -08:00
Dianne Hackborn
002a54e229 WorkSource can now track package names.
Use this to track the package name of applications
accessing GPS.

And now the app ops service can enforce that callers
must provide valid package names.

Change-Id: I842a0abe236ea85f77926d708547f0f95c24bd49
2013-01-11 17:37:04 -08:00
Craig Mautner
5ae8e45ff3 Merge "Make DimLayer track changes to WindowState layer." 2013-01-11 16:41:40 -08:00
Mattias Falk
f60f94a89e Second pass tying into dns cache per interface
Set dns servers for secondary nets and attach the
processes (pids) that are using the secondary nets
to the secondary nets associated dns cache.

Change-Id: Id865c2c3fdc0ec1c3e30c134e9ea4109f4f2fbeb
bug:5465296
2013-01-11 15:47:08 -08:00
Craig Mautner
13131e74ea Make DimLayer track changes to WindowState layer.
The DimLayer behind popups was not changing when the popup layer
changed. It will now.

Fixes bug 7974415.

Change-Id: Ia486efa83d623716a09d73a22493a4222823c573
2013-01-11 11:03:33 -08:00
Christopher Tate
3fef446a14 am ec64c30b: am cc52272b: am a3e79199: Merge "TIME_TICK was not occurred for one hour"
* commit 'ec64c30bfc221fea888efe5eac62f7c5303aeeb0':
  TIME_TICK was not occurred for one hour
2013-01-11 10:54:46 -08:00
Satoshi Kataoka
9062fd8d55 am 50fc82fd: am 30b074fc: am 2495d08a: am 5327322a: Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev
* commit '50fc82fdf025bc1fee8f0eb50fa88e4591c8daae':
  Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
2013-01-11 10:54:31 -08:00
Sascha Prueter
b70d9df780 am 1ec3c2cc: am 28608bbb: am d692ea6d: am b5e4835e: Merge "Improve heuristics for detecting wireless chargers." into jb-mr1.1-dev
* commit '1ec3c2ccedde5cd8ff6e94c9b1566a913d5e8db0':
  Improve heuristics for detecting wireless chargers.
2013-01-11 10:53:49 -08:00
Dianne Hackborn
885bfcd523 am 9e6575bc: am 854458f4: am 0287ca3c: am e62fa825: Merge from master: fix issue #7966357: Super lights out mode vs. volume dialog
* commit '9e6575bc52f421484fe262aff224db247e70d830':
  Merge from master: fix issue #7966357: Super lights out mode vs. volume dialog
2013-01-11 10:53:19 -08:00
Christopher Tate
ec64c30bfc am cc52272b: am a3e79199: Merge "TIME_TICK was not occurred for one hour"
* commit 'cc52272b4fa27ab36ba20e22a53f872fedc8bb45':
  TIME_TICK was not occurred for one hour
2013-01-11 08:58:34 -08:00
Christopher Tate
cc52272b4f am a3e79199: Merge "TIME_TICK was not occurred for one hour"
* commit 'a3e7919932199e2178792cbae8870e9b48c57523':
  TIME_TICK was not occurred for one hour
2013-01-10 18:26:50 -08:00
Satoshi Kataoka
50fc82fdf0 am 30b074fc: am 2495d08a: am 5327322a: Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev
* commit '30b074fcbff6263db4044ff4e8f36eb5d4e136eb':
  Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
2013-01-10 18:20:56 -08:00
Satoshi Kataoka
30b074fcbf am 2495d08a: am 5327322a: Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev
* commit '2495d08a5c06556deb7c3993add337037b8b492e':
  Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
2013-01-10 18:17:35 -08:00
Satoshi Kataoka
5327322ab9 Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev 2013-01-10 18:12:44 -08:00
Craig Mautner
b5eb550fb1 Call assignLayersLocked when InputMethod is moved.
Call was removed by over-ambitious editing in CL 259410.

Fixes bug 7966824.

Change-Id: I9feb2ec27907f4e03b9424710adc2743a8b512d8
2013-01-10 17:29:30 -08:00
Sascha Prueter
1ec3c2cced am 28608bbb: am d692ea6d: am b5e4835e: Merge "Improve heuristics for detecting wireless chargers." into jb-mr1.1-dev
* commit '28608bbb2fb6daf3d261cb10eaeb1849781cf77d':
  Improve heuristics for detecting wireless chargers.
2013-01-10 11:19:20 -08:00