summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
* Add accessibility actions for text editing.Svetoslav2013-01-301-1/+5
| | | | | | | | | | | | | | | Currently text editing is pretty hard (certain operations even impossible) for a blind person. To address the issue this change adds APIs that enable an accessibility service to perform basic text editing operations such as copy, paste, cut, set selection, extend selection while moving at a given granularity. The new APIs enable an accessibility service to expose a gesture driven efficient text editing facility. bug:8098384 Change-Id: I82b200138a3fdf4c0c316b774fc08a096ced29d0
* Merge changes Ie674e8b2,I0b9448c8Svetoslav2013-01-292-2/+17
|\ | | | | | | | | | | * changes: AccessibilityNodeINfo cache not cleared when accessibility is disabled. Display magnifier does not release its surface on destroy.
| * Display magnifier does not release its surface on destroy.Svetoslav2013-01-222-2/+17
| | | | | | | | Change-Id: I0b9448c8859b0167632652060b08072dc8c9c0a5
* | Merge "Adding UI test automation APIs."Svetoslav Ganov2013-01-294-32/+54
|\ \ | |/
| * Adding UI test automation APIs.Svetoslav Ganov2013-01-224-32/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "UsbDeviceManager: Don't start UsbDebuggingManager when data is encrypted"Benoit Goby2013-01-291-1/+3
|\ \
| * | UsbDeviceManager: Don't start UsbDebuggingManager when data is encryptedBenoit Goby2013-01-251-1/+3
| | | | | | | | | | | | | | | | | | | | | This avoids showing the confirmation dialog from the decryption screen Bug: 8019508 Change-Id: I7ff364437f6b8aeea26fa8308aa4fe35b7ede5d7
* | | Merge "Optimize Looper JNI code."Jeff Brown2013-01-291-0/+5
|\ \ \
| * | | Optimize Looper JNI code.Jeff Brown2013-01-281-0/+5
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Use static native methods. Release the native looper objects as soon as the Looper quits instead of waiting until the GC finalizer to take care of it. Change-Id: I02783e48782a8f972ec2138862f700ade33d8e78
* | | Merge "Fix bug where we could get stuck repeatedly launching an activity."Dianne Hackborn2013-01-282-2/+33
|\ \ \
| * | | Fix bug where we could get stuck repeatedly launching an activity.Dianne Hackborn2013-01-282-2/+33
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A previous change to avoid losing activities if their process happens to be gone at the point of launch (by counting that activity as having its state saved) has resulted in a problem where an activity that crashes during launch will be repeatedly relaunched. This is fixed here by explicitly keeping track of our attempts to launch the activity since it was last able to save its state, and not keeping it around if it looks like the launch is repeatedly failing. Change-Id: Icefd952443b7eb1222f233db95e0157fc3dd72d1
* | | Merge "Annotate Locations coming from mock providers"Victoria Lease2013-01-281-3/+19
|\ \ \ | |/ / |/| |
| * | Annotate Locations coming from mock providersVictoria Lease2013-01-221-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "App ops: you can now turn off operations."Dianne Hackborn2013-01-257-54/+177
|\ \ \
| * | | App ops: you can now turn off operations.Dianne Hackborn2013-01-257-54/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add new ops for calendar and wi-fi scans, finish implementing rejection of content provider calls, fix issues with rejecting location calls, fix bug in the new pm call to retrieve apps with permissions. Change-Id: I29d9f8600bfbbf6561abf6d491907e2bbf6af417
* | | | Merge "Fix GpsLocationProvider.enable/disable/isEnabled"Laurent Tu2013-01-241-10/+10
|\ \ \ \ | |/ / / |/| | |
| * | | Fix GpsLocationProvider.enable/disable/isEnabledLaurent Tu2013-01-241-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the issue where GpsLocationProvider.isEnabled() returns true when it is really false (and the other way around), when the handler hasn't processed the enable/disable messages yet. This can be systematically reproduced when the caller code is using the same thread as the thread of the handler in GpsLocationProvider. For example, this was happening in LocationManagerService.switchUser(). It would start by disabling all the providers (with updateProviderListenersLocked()), then re-enable them in updateProvidersLocked() only when isEnalbed()==false, which was in the wrong state since the GpsLocationProvider.ENABLE message hadn't been processed yet. As a result, the GpsLocationProvider was disabled upon startup of the phone. This is a slight problem for the enable() contract, which specifies that getStatus() must be handled, getStatus() will be handled but might have slighty not-up-to-date info in this case. Bug: 8028017 Change-Id: Iff91a11cc150e9029a6db85b64a10a926e12b0ba
* | | | Merge "Add new API to propagate contextual data to the assist action"Dianne Hackborn2013-01-231-0/+81
|\ \ \ \
| * | | | Add new API to propagate contextual data to the assist actionDianne Hackborn2013-01-231-0/+81
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Fix issue #7649720: ANR occur when OTA with lower version..."Dianne Hackborn2013-01-231-0/+7
|\ \ \ \
| * | | | Fix issue #7649720: ANR occur when OTA with lower version...Dianne Hackborn2013-01-221-0/+7
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...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
* | | | Merge "Add new disabled state for "optional" built-in apps."Dianne Hackborn2013-01-234-10/+49
|\ \ \ \ | |_|/ / |/| | |
| * | | Add new disabled state for "optional" built-in apps.Dianne Hackborn2013-01-224-10/+49
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Tests to assert correct January behavior."Jeff Sharkey2013-01-231-0/+19
|\ \ \
| * | | Tests to assert correct January behavior.Jeff Sharkey2013-01-221-0/+19
| | | | | | | | | | | | | | | | Change-Id: I162102b6f1b892b79e2f5b96cb0184abb85d00bc
* | | | am 05f1f0ec: am 555b07df: am 2c64b539: am 596532d9: Properly initialize ↵Amith Yamasani2013-01-221-7/+5
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | recognition service if the recognizer component changed. * commit '05f1f0ece8f39e77c96825fb2e3451ebd388adad': Properly initialize recognition service if the recognizer component changed.
| * | | am 555b07df: am 2c64b539: am 596532d9: Properly initialize recognition ↵Amith Yamasani2013-01-221-7/+5
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | service if the recognizer component changed. * commit '555b07df08dd4c2472374d0767926ebab928dede': Properly initialize recognition service if the recognizer component changed.
| | * \ \ am 2c64b539: am 596532d9: Properly initialize recognition service if the ↵Amith Yamasani2013-01-221-7/+5
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recognizer component changed. * commit '2c64b53976a99f28bc7c0612648581f9b93bf8b0': Properly initialize recognition service if the recognizer component changed.
| | | * \ \ am 596532d9: Properly initialize recognition service if the recognizer ↵Amith Yamasani2013-01-221-7/+5
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | component changed. * commit '596532d9dbea3460dbc989b0316c721ca69f4915': Properly initialize recognition service if the recognizer component changed.
| | | | * | | Properly initialize recognition service if the recognizer component changed.Amith Yamasani2013-01-221-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | | * | | DO NOT MERGE Prevent OOM death for services under ServiceWatcher's care.Victoria Lease2013-01-161-1/+1
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If87be5769b55368edaf4776189e8f6e51a21eb03 Conflicts: services/java/com/android/server/ServiceWatcher.java
* | | | | | New API to get app op information about a single package.Dianne Hackborn2013-01-181-21/+56
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I986453d9bb4161da467fb820b12502464e936483
* | | | | | Merge "Revert "Second pass tying into dns cache per interface""Robert Greenwalt2013-01-192-69/+114
|\ \ \ \ \ \
| * | | | | | Revert "Second pass tying into dns cache per interface"Robert Greenwalt2013-01-192-69/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f60f94a89e49c125f4aff6496710a0fb66579545 Change-Id: If52dffd5100a6b03275da0eabfa05e24c5ecada9
* | | | | | | Rework ParceledListSlice to be much easier to use.Dianne Hackborn2013-01-181-126/+83
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "Clean up published network condition reporting."Wink Saville2013-01-181-18/+21
|\ \ \ \ \ \
| * | | | | | Clean up published network condition reporting.Wink Saville2013-01-181-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I371c04bcb0547f1133e7ce12a6871aad3b3fdc6b
* | | | | | | Merge "Ensure that the input method dialog is dismissed when changing the ↵Satoshi Kataoka2013-01-181-0/+3
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | hardware keyboard state."
| * | | | | | Ensure that the input method dialog is dismissed when changing the hardware ↵Satoshi Kataoka2013-01-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | keyboard state. Change-Id: I51882ecd2b1a12116f43afff7c23454164a6272b
* | | | | | | Merge "Second pass tying into dns cache per interface"Robert Greenwalt2013-01-172-114/+69
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Second pass tying into dns cache per interfaceMattias Falk2013-01-112-114/+69
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "AppOps: fix nested op tracking, new API to get apps using permissions."Dianne Hackborn2013-01-172-0/+69
|\ \ \ \ \ \
| * | | | | | AppOps: fix nested op tracking, new API to get apps usingDianne Hackborn2013-01-162-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | permissions. Change-Id: I20c7bd58febc01d6911a90440867eaacd133c464
* | | | | | | Prevent OOM death for services under ServiceWatcher's care.Victoria Lease2013-01-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If87be5769b55368edaf4776189e8f6e51a21eb03
* | | | | | | Merge "Rename bindService to bindServiceAsUser to follow convention."Amith Yamasani2013-01-1612-24/+33
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Rename bindService to bindServiceAsUser to follow convention.Amith Yamasani2013-01-1612-24/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is for the multi-user version of bindService, not the original. Change-Id: Ib2de35941196accf387b1a276a77e6f9af805ec0
* | | | | | | More work on App Ops service.Dianne Hackborn2013-01-163-60/+354
| |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "Removed Throttle Manager as obsolete"Sasha Levitskiy2013-01-154-1572/+0
|\ \ \ \ \ \
| * | | | | | Removed Throttle Manager as obsoleteSasha Levitskiy2013-01-144-1572/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
* | | | | | | fix NPE in updateClientUidsVictoria Lease2013-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 8009908 Change-Id: I54d97c587a3fa9d003f654f98fdfdbe21af791d6