42449786211591d097d0fbac72296534c4ab23b6 |
|
19-Apr-2016 |
Amith Yamasani <yamasani@google.com> |
Throw better exception when startVoiceActivity fails Introduced new error codes so that Instrumentation can include the correct message in the exception. Bug: 28216630 Change-Id: I93ee77153cdad11fa208c74c28c6790db27c9753
/frameworks/base/core/java/android/app/Instrumentation.java
|
d8e88836fe9a8826cba1ba8ea80ddb65c6b7c28a |
|
29-Mar-2016 |
Phil Weaver <pweaver@google.com> |
Allow tests to change UiAutomation flags. Changing Instrumentation to modify the existing UiAutomation when one with different flags is requested. Also checking if UiAutomation is destroyed before disconnecting at the end of a test. Bug: 27365874 Bug: 27864279 Change-Id: Ia6efc4f89cc30dbe29286f30f8e9cb8f6fdb4712
/frameworks/base/core/java/android/app/Instrumentation.java
|
35841683c5db419a46ee2dcf7c66e0a5f6b84d26 |
|
09-Mar-2016 |
Phil Weaver <pweaver@google.com> |
Add intdef for UiAutomation flags. Bug: 27365806 Change-Id: Iffb21301b4c9ab7457e089e6724323239320ba7b
/frameworks/base/core/java/android/app/Instrumentation.java
|
f564afa4cd17ba4b259e2b1ee01f061d12fd0fe2 |
|
02-Feb-2016 |
Phil Weaver <pweaver@google.com> |
Clean up UiAutomation working alongside a11y. Fix two bugs: one where Instrumentation did not properly handle destroyed UiAutomations, another where UiAutomation did not properly disable running accessibility services. Change-Id: I1773dbd373f4d5b0e7c9917ff18d8d9b1a0e07c7 (cherry picked from commit 846522cea043d3113b3b96daa8f3a1b70e3beb5e)
/frameworks/base/core/java/android/app/Instrumentation.java
|
cda8cddaefef83553f58d705ed73336949b839a8 |
|
29-Jan-2016 |
Svetoslav Ganov <svetoslavganov@google.com> |
Merge "Optionally support accessibility with UiAutomator"
|
344744b49633a7f8aa0c8e43469bbfcf9d8e2cab |
|
29-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Exposing file:// beyond your app is bad, m'kay? For several releases now we've told developers that sharing raw files between apps is a recipe for trouble. There are at least three major problems with sending raw files: -- Apps sending generic intents can't know who is at the other end, so they may not have access to shared storage locations. This is more likely now that runtime permissions require apps to explicitly ask users for permission. -- Apps making files in their private storage world-readable has been deprecated for several releases, and now in N it's fully blocked. If we let these intents through, the receiving app would fail to open the file, when the real blame rests on the sending app. -- Devices with user profiles can't share raw files when using cross-profile intent filters, since filesystem access is fully locked down between users. The time has finally come to communicate clearly that if you're sharing content between apps, you need to use content:// Uris. We added the simple FileProvider several years ago to give apps a clean way to migrate with minimal work on their part. Bug: 26860922, 9069185 Change-Id: I075f627f6a0d6c7fca2c090ca133b9aae9801c64
/frameworks/base/core/java/android/app/Instrumentation.java
|
1dd872260b3ccfbe492d1be0bdbb3f98235b3ba3 |
|
27-Jan-2016 |
Phil Weaver <pweaver@google.com> |
Optionally support accessibility with UiAutomator Adding a flag to AccessibilityServiceInfo that only works for UIAutomator that supresses other services. This flag is set by default for UIAutomation to match the current behavior, but tests may clear the flag and enable other services. Needed to improve cts coverage of AccessibilityService. Bug: 26592034 Change-Id: Icfc2833c1bd6546a22a169008d88a6b15e83989c
/frameworks/base/core/java/android/app/Instrumentation.java
|
87904e83f9fb982e35dbd15d74efa123e1282a71 |
|
22-Jan-2016 |
Ben Gruver <bgruv@google.com> |
Specify the time units for waitForActivityWithTimeout Change-Id: I21bf943e03d1f85094af5e7579fefb27f302f16c
/frameworks/base/core/java/android/app/Instrumentation.java
|
a59ac9cd645d25f03e4e488100bd99f92e83a3a7 |
|
11-Sep-2015 |
Filip Gruszczynski <gruszczy@google.com> |
Preserve window during resize triggered relaunches. This changes application code behavior when the activity relaunches due to configuration change. It only applies to scenarios, where the configuration change was triggered by a user generated resize of an activity (i.e. user drags a corner of an activity and thus changes its size). Preserving a window means that we will keep the decor view and non client decor view around, but remove all children views when the activity gets destroyed. When the activity gets created again, it will attach its new content to the preserved view hierarchy. Mind, we actually recreate application side Window object, since some of its features might changed, but we retain its elevation (to not trigger relayout with new layout params). Preserving the window also means that we don't call the window manager service to remove and later add the window. Instead, we continue using a single window state throughout the resize operation. Change-Id: Ie3d2878ed09c99ff343044bfe7a29a0ba07a265e
/frameworks/base/core/java/android/app/Instrumentation.java
|
45c25ceb3a58f92d9ce339d54d8616e15f2635e0 |
|
11-Aug-2015 |
Chong Zhang <chz@google.com> |
Handle activity launch for background users - When launching activities in background, do not move the target stack to front or resume the top activity, it should have no observable effect to current user. - Add the launched background task to recents so that they can be found when the background user becomes current. - Keep track of the last accessed stack for background user, so that we know which stack to start with when that user goes current bug: 22929608 Change-Id: I0421a6b490251503df7a7e71465b8aae5138eb2d
/frameworks/base/core/java/android/app/Instrumentation.java
|
f5ea12c2aa06bf7eb12cff714ece59e7c5ff4d83 |
|
04-Aug-2015 |
Wale Ogunwale <ogunwale@google.com> |
Fail silently if a process trys to launch an acitvity for background user Doing this so we don't break current apps. In the future we should properly position the activity in the stack (i.e. behind all current user activity/task) and not change the positioning of stacks. Bug: 21801163 Bug: 13507605 Bug: 22929608 Change-Id: I979b6288e66f5b2ec2a6f22cb8d416e5c68109bd
/frameworks/base/core/java/android/app/Instrumentation.java
|
a7cfbe0e548ac76f20915b65851b8bc9095aa541 |
|
16-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #22516282: ChooserTarget URI grants not forwarded Add new option to startActivityAsCaller() which allows you to specify that we should not do security checks on the target activity being launched. Change-Id: Ie6b28807b96fef35ccdff93b0a01066cfd8fa307
/frameworks/base/core/java/android/app/Instrumentation.java
|
a3acdb33df7c7be7ff3d9f376ff833e4b0c1d897 |
|
09-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #21621920: VI: need mechanism to get current request Add new APIs to associate a Request with a name, get all active requests, and get active request by name. Also add a new Activity.onProvideReferrer() which will allow applications to propagate referrer information to the assistant (and other apps they launch) in a consistent way. Change-Id: I4ef74b5ed07447da9303a74a1bdf42e4966df363
/frameworks/base/core/java/android/app/Instrumentation.java
|
e5c42621095a12e7d22ca5ab871dacd28c9bff41 |
|
20-May-2015 |
Dianne Hackborn <hackbod@google.com> |
Improve reporting to apps of transaction too large failures. If the app tried to do various things with too much data -- starting an activity, starting a service, sending a broadcast -- this would fairly silently fail with little indication of what was going on. Fix this in two ways: - Now when the native code generates a TransactionTooLargeException, it may include an additional message in it telling you how much data was in the parcel being sent, to help you understand why this happening. - In all the framework code paths where we call to the system and may fail, convert these failures into a a runtime exception and rethrow them back to the app so that it will clearly get the above message. Change-Id: I745159b97d3edb6fca86aa09cbc40c1f15a7d128
/frameworks/base/core/java/android/app/Instrumentation.java
|
0bd2aa760346edd096f7c27283f394631f246f30 |
|
16-Apr-2015 |
Wale Ogunwale <ogunwale@google.com> |
Fail early when starting a background user activity. If it shouldn't be displayed for all users. Bug: 13507605 Change-Id: I8fe8e5a98759c1ca058cc7d222817f6d580ffa11
/frameworks/base/core/java/android/app/Instrumentation.java
|
d5bf3ed9b0138e9fd305da91386d1df03f9a75cc |
|
27-Mar-2015 |
Clara Bayarri <clarabayarri@google.com> |
Show and trigger activities that implement Text Processing actions This CL adds the Activities that support Intent.ACTION_PROCESS_TEXT to the Text Selection Action Mode in Editor, and triggers an intent with the currently selected text when they are selected. It also adds the required mechanism to allow a View to request an intent to be started, and return the activity result back to it. Change-Id: I62ec618010edf01da41338c8c1a7dd4292a15227
/frameworks/base/core/java/android/app/Instrumentation.java
|
172da26d4515f295d938864e47f5ce0309728571 |
|
04-Mar-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Deprecate things that rely on Debug.startAllocCounting. android.os.Debug.startAllocCounting() is deprecated but other things that rely on it or do not make sense without it aren't deprecated. Bug: 8241521 Change-Id: Ib769cb8f4e96f41ed310e17e7345acb2a630a076
/frameworks/base/core/java/android/app/Instrumentation.java
|
80b1c5608ec9cbb43c696d772eb69a2e220ef819 |
|
10-Dec-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #18665625 CTS:android.app.cts.InstrumentationTest#... ...testCallActivityOnNewIntent test fails with LMP-MR1 Release. Check for null. Also fix some small issues with converting intents to/from intents. Change-Id: Ic391cc57552635935af9a271b2d09353257f6d14
/frameworks/base/core/java/android/app/Instrumentation.java
|
a01a0faebfbe6a8bd2ae52c54268ecedd280509b |
|
02-Dec-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #18510117: Returning from an activity started with... ...startActivityForResult causes SecurityExpcetion The ReferrerIntent hack was becoming visible to apps, which caused a mismatch between marshalling/unmarshalling of the IPC call. Change-Id: Ibcb788327b5bae4426efc826551799fa87d1cbaa
/frameworks/base/core/java/android/app/Instrumentation.java
|
85d558cd486d195aabfc4b43cff8f338126f60a5 |
|
04-Nov-2014 |
Dianne Hackborn <hackbod@google.com> |
Add Activity API to get referrer information. This expands the use of EXTRA_REFERRER to be relevant anywhere, allowing apps to supply referrer information if they want. However, if they don't explicitly supply it, then the platform now keeps track of package names that go with Intents when delivering them to apps, which it can be returned as the default value. The new method Activity.getReferrer() is used to retrieve this referrer information. It knows about EXTRA_REFERRER, it can return the default package name tracked internally, and it also can return a new EXTRA_REFERRER_NAME if that exists. The latter is needed because we can't use EXTRA_REFERRER in some cases since it is a Uri, and things like #Intent; URI extras can only generate primitive type extras. We really need to support this syntax for referrers, so we need to have this additional extra field as an option. When a referrer is to a native app, we are adopting the android-app scheme. Since we are doing this, Intent's URI creation and parsing now supports this scheme, and we improve its syntax to be able to build intents with custom actions and stuff, instead of being all hung up on custom schemes. While doing this, fixed a problem when parsing both intent: and new android-app: schemes with a selector portion, where we were not respecting any scheme that was specified. Change-Id: I06e55221e21a8156c1d6ac755a254fea386917a2
/frameworks/base/core/java/android/app/Instrumentation.java
|
9797880808320e3a7bae1f59bc7e0c5a13189e5f |
|
14-Oct-2014 |
Jeff Sharkey <jsharkey@android.com> |
Start cross profile intents as caller. The system should always be using new startActivityAsCaller() when starting activities on behalf of someone else, to ensure that security checks are enforced as the original caller. Bug: 17983737 Change-Id: Ic40816a797cfdb13c0adb48b86ed4ed7d6aae8eb
/frameworks/base/core/java/android/app/Instrumentation.java
|
1b012d302b56b4adf950035136d1d191a1936d5a |
|
20-Aug-2014 |
Jeff Hao <jeffhao@google.com> |
Add sample profiling option to am. Also bundles all profiling options into a class. Bug: 17040932 Change-Id: I85d675ee1494bdc7308caffdf94145d27c996e9d
/frameworks/base/core/java/android/app/Instrumentation.java
|
89ad456ea49cb62615ebdcac83a2515743bbe5fa |
|
25-Aug-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #16311398: Limit number of documents a process can open In application processes, monitor for when we start getting close to the Dalvik heap limit, and ask the activity manager to try to prune old activity instances in that case. Add an explicit API for apps to ask that they have their own activity instances cleaned up, if they want. Fix some bugs in launching activities that were not correctly applying the "multi task" behavior in the appropriate situations of document-centric recents. Clean up the activity manager's process removal code to all share a common path. Add a new "Spam" option to ActivityTests, which continually creates new tasks, checking that the activity manager will now prune old tasks rather than letting the app run out of RAM. And while I was was doing this, I found problems with the path for bringing an empty task to the foreground -- it could make a new task instead of re-starting the root activity in the existing task. This is fixed, and some code in the recents UI for working around the bug is removed. And as long as I am doing that, we now have nice hooks in to the activity manager for AppTask to give some APIs for better managing the task, so add those along with more tests for these APIs in ActivityTests. We should look at also having the activity manager try to prune old tasks when it sees app processes being killed, to better balance memory use across multiple processes when some processes may host many documents. That however is for another CL... Change-Id: I2bb81c3f92819350c868c7a7470b35817eb9bea9
/frameworks/base/core/java/android/app/Instrumentation.java
|
028ceeb472801bcfa5844fc89ed0da8463098824 |
|
18-Aug-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #14617210: Apps can gain access to any ContentProvider... ...with grantUriPermissions (no user interaction required) Add a new path in to the activity manager to start an activity as if it was directy started by the original calling activity. This is specifically for the resolver activity and chooser activity to be able to safely launch its data after serving as an intermediary. Access to the new method is highly restricted -- it can only be called by an activity that is declared in the framework apk itself, and the execute-as-the-caller behavior will only happen if the code is running under the system uid. (This means we could still have these run in the client's process in some cases and still work correctly.) Note there is some commented out code here half-done about trying to propagate security exceptions back to the original calling activity. This would be really nice, especially now with the chooser activity running in a system process so any errors made by the app (bad permission grants, bad intents, etc) no longer actually appear in the app so are essentially invisible. I'd really like to figure out a way to propagate these exceptions back to the app, but this is hard since the app's process may no longer even be running at this point. Also tweak activity manager dump output to split the recents dump out from activities, since recents can now be super large. Change-Id: I50410c4783faf9302c69290589a068a846e0973a
/frameworks/base/core/java/android/app/Instrumentation.java
|
b65ea7bfc6797d1aa8ef359f144eb2b8070dbf72 |
|
20-Jun-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #15689396: pre-installed DemoAPI tests fail... ...with a NPE on emulators running Google x86 API 19 image Change-Id: Ib989127f48b0c02ec645b99827a9b775188684d8
/frameworks/base/core/java/android/app/Instrumentation.java
|
233ceeebab7efe6ad4783371003c4cf29b896436 |
|
10-May-2014 |
Craig Mautner <cmautner@google.com> |
Pass ActivityOptions back from finishing activity. Adding an ActivityOptions parameter to convertToTranslucent provides a mechanism for delivering these options to the activity that launched the one that is returning. Fixes bug 13032208. Fixes bug 14469460. Fixes bug 14597427. Change-Id: I4115dd3c69de9d175f6df0498a6e964fca5eca29
/frameworks/base/core/java/android/app/Instrumentation.java
|
a002604af0c9b1204556610537b85685d7055996 |
|
23-Apr-2014 |
Craig Mautner <cmautner@google.com> |
Introduce persistent forms of Activity lifecycle calls. When an Activity is created with R.attr.persistable true different forms of activity lifecycle methods including PersistableBundle will be used. Fixes bug 13736007. Change-Id: I7e92917b300b76964257cfcc26c24e76aa19bd16
/frameworks/base/core/java/android/app/Instrumentation.java
|
91097de49b0f683b00e26a75dbc0ac6082344137 |
|
05-Apr-2014 |
Dianne Hackborn <hackbod@google.com> |
Initial implementation of new voice interaction API. This gives a basic working implementation of a persist running service that can start a voice interaction when it wants, with the target activity(s) able to go through the protocol to interact with it. It may even work when the screen is off by putting the activity manager in the correct state to act like the screen is on. Includes a sample app that is a voice interation service and also has an activity it can launch. Now that I have this initial implementation, I think I want to rework some aspects of the API. Change-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9
/frameworks/base/core/java/android/app/Instrumentation.java
|
c502744f2ddcc80a34f5197b5d2c0d701c7d6e71 |
|
13-Aug-2013 |
Newton Allen <newt@google.com> |
Fix some documentation typos. Change-Id: I0360d468d54d970c87f313e24e50965245206f28
/frameworks/base/core/java/android/app/Instrumentation.java
|
8f6f1f43eeb0d7263b626978ee2c21d4053bf610 |
|
10-Apr-2013 |
Adam Momtaz <amomtaz@google.com> |
Allow for setting test type as a monkey. 1. This allows UiAutomation type tests to run as if an android monkey test is running. This allows applications that recognize that they are drive by a test framework and avoid performing certain actions such as calling 911. 2. Fixed a bug where the UiAutomation#disconnect() was not called when the instrumentation is shutdown. bug: 8588857 Change-Id: I9e3624dfbe2b8f81f27805711de1098ea2edd03d
/frameworks/base/core/java/android/app/Instrumentation.java
|
a14acd20b8d563319ea1a5974dca0e9a29f0aaef |
|
03-Apr-2013 |
Jeff Sharkey <jsharkey@android.com> |
Warn when exposing file:// Uris beyond a process. Check for file:// Uris inside Intents, ClipData, Notifications and RemoteViews when StrictMode option is enabled. Also introduces Intent.prepareToLeaveProcess() to uniformly handle Intents about to leave an app process. Bug: 8529070 Change-Id: I8efb43877cbc5f21eb029fc6492b3ee1415059ef
/frameworks/base/core/java/android/app/Instrumentation.java
|
f265ea9d8307282ff1da3915978625a94fc2859e |
|
01-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: vibration, neighboring cells, dialing, etc. Improve handling of vibration op, so that apps are better blamed (there is now a hidden vibrator API that supplies the app to blame, and the system now uses this when vibrating on behalf of an app). Add operation for retrieving neighboring cell information. Add a new op for calling a phone number. This required plumbing information about the launching package name through the activity manager, which required changing the internal startActivity class, which required hitting a ton of code that uses those internal APIs. Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
/frameworks/base/core/java/android/app/Instrumentation.java
|
80943d8daa6ab31ab5c486d57aea406aa0730d58 |
|
02-Jan-2013 |
Svetoslav Ganov <svetoslavganov@google.com> |
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
/frameworks/base/core/java/android/app/Instrumentation.java
|
0a30328c10367f57834d7e8597832b6af00f5240 |
|
18-Jan-2013 |
Kristian Monsen <kristianm@google.com> |
Better detecting if current threasd is main thread Old approach got broken after: https://googleplex-android-review.googlesource.com/#/c/266421/2 Change-Id: I12ae23efdbaebd8ba24acb1b7eff75c912d24f1d
/frameworks/base/core/java/android/app/Instrumentation.java
|
ea7e91514ee1968d15713e82a5cca745e2c46a05 |
|
25-Sep-2012 |
Amith Yamasani <yamasani@google.com> |
AppInfo from Notifications for secondary users Required wiring up startActivitiesAsUser() Bug: 7224950 Also fix a bug in navigateUp in secondary user Change-Id: I114ae2de0457362d62e899fdb94b12239a3eb778
/frameworks/base/core/java/android/app/Instrumentation.java
|
f1c26e2fd03e9765fde519e238fc23d4e3d06df2 |
|
23-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #7016987: Unable to attach a picture in gmail/emaill composer action. Change-Id: I0c9336bb072b4622a5eab6d3ec104c4cc38e367a
/frameworks/base/core/java/android/app/Instrumentation.java
|
6ae8d1821822296df0606c9cd1c46708cc21cb58 |
|
23-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix (mostly) issue #5109947: Race condition between retrieving a... ...content provider and updating its oom adj This introduces the concept of an "unstable" reference on a content provider. When holding such a reference (and no normal stable ref), the content provider dying will not cause the client process to be killed. This is used in ContentResolver.query(), .openAssetFileDescriptor(), and .openTypedAssetFileDescriptor() to first access the provider with an unstable reference, and if at the point of calling into the provider we find it is dead then acquiring a new stable reference and doing the operation again. Thus if the provider process dies at any point until we get the result back, our own process will not be killed and we can safely retry the operation. Arguably there is still the potential for a race -- if somehow the provider is killed way late by the OOM killer after the query or open has returned -- but this should now be *extremely* unlikely. We also continue to have the issue with the other calls, but these are much less critical, and the same model can't be used there (we wouldn't want to execute two insert operations for example). The implementation of this required some significant changes to the underlying plumbing of content providers, now keeping track of the two different reference counts, and managing them appropriately. To facilitate this, the activity manager now has a formal connection object for a client reference on a content provider, which hands to the application when opening the provider. These changes have allowed a lot of the code to be cleaned up and subtle issues closed. For example, when a process is crashing, we now have a much better idea of the state of content provider clients (olding a stable ref, unstable ref, or waiting for it to launch), so that we can correctly handle each of these. The client side code is also a fair amount cleaner, though in the future there is more than should be done. In particular, the two ProviderClientRecord and ProviderRefCount classes should be combined into one, part of which is exposed to the ContentResolver internal API as a reference on a content provider with methods for updating reference counts and such. Some day we'll do that. Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
/frameworks/base/core/java/android/app/Instrumentation.java
|
9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f |
|
10-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Request key maps from input manager service. Instead of each application loading the KeyCharacterMap from the file system, get them from the input manager service as part of the InputDevice object. Refactored InputManager to be a proper singleton instead of having a bunch of static methods. InputManager now maintains a cache of all InputDevice objects that it has loaded. Currently we never invalidate the cache which can cause InputDevice to return stale motion ranges if the device is reconfigured. This will be fixed in a future change. Added a fake InputDevice with ID -1 to represent the virtual keyboard. Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
/frameworks/base/core/java/android/app/Instrumentation.java
|
ac14351e16e1258f1cb54e2bf772b8be004eb2b8 |
|
06-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Move some APIs from window manager to input manager. Simplified input injection API down to just one call. Removed all input state reading API. It was only used by the window manager policy and required a permission that applications could not obtain. READ_INPUT_STATE is now unused and deprecated. Change-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00
/frameworks/base/core/java/android/app/Instrumentation.java
|
678d04f1b6d189b2d867d518065f90dce7292863 |
|
23-Mar-2012 |
Jeff Sharkey <jsharkey@android.com> |
Copy EXTRA_STREAM into ClipData and grant. When sending SEND or SEND_MULTIPLE intents, copy any EXTRA_STREAM Uris to ClipData and set GRANT_READ_URI_PERMISSION flag. Bug: 6216357 Change-Id: I3c9b0d1d4b7e0c4655b47c4192150b0c3641e0e8
/frameworks/base/core/java/android/app/Instrumentation.java
|
a4972e951bf2bdb7afdafee95b3ab0c15b8bacae |
|
14-Mar-2012 |
Dianne Hackborn <hackbod@google.com> |
Add new "options" argument to all startActivity APIs. This will be used to allow new features to be requested... such as, say, a special kind of animation. Right now there are no options defined. Change-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7
/frameworks/base/core/java/android/app/Instrumentation.java
|
92a8b22e7410e74e1cba1b856333116652af8a5c |
|
10-Mar-2012 |
Siva Velusamy <vsiva@google.com> |
ActivityManager: add option to allow OpenGL trace. This patch adds an option to enable tracing of OpenGL functions. OpenGL tracing can be enabled by passing "--opengl-trace" option to am start. This option requires either a device in debug mode, or that the application itself has debug permission set. Change-Id: I77788bfe97c9108943b1f947ce81afe8293d78a0
/frameworks/base/core/java/android/app/Instrumentation.java
|
f434e37945c752a3f92fe6e9941805d612159bdb |
|
12-Nov-2011 |
Svetoslav Ganov <svetoslavganov@google.com> |
Added missing comments in Instrumentation#sendStringSync Change-Id: Ib20c5f9763c4ff97dec02fbb79721da93e964bc7
/frameworks/base/core/java/android/app/Instrumentation.java
|
c350f1604f348dceec28ba0d7e4cfc293333f797 |
|
11-Nov-2011 |
Svetoslav Ganov <svetoslavganov@google.com> |
Instrumentation sendStringSync(String) may try to inject obsolete events. KeyEvents returned by KeyCharacterMap.getEvents() have the same time stamp and the system rejects too old events. Hence, it is possible for an event to become stale before it is injected if it takes too long to inject the preceding ones. Now the time of the event is set just before injecting it. Change-Id: I72b60d261f8bda857b331d0f1b1bd97f9f15def3
/frameworks/base/core/java/android/app/Instrumentation.java
|
9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d |
|
29-Sep-2011 |
Dianne Hackborn <hackbod@google.com> |
Add mechanism for Parcel to not allow FDs to be written to it. This is to help implement issue #5224703. Change-Id: I026a5890495537d15b57fe61227a640aac806d46
/frameworks/base/core/java/android/app/Instrumentation.java
|
62f20ecf492d2b29881bba307c79ff55e68760e6 |
|
16-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Add new am option to profile the launching of an activity. Change-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b
/frameworks/base/core/java/android/app/Instrumentation.java
|
b0935343e835b7cbd785e8b888e3909d5932bdd1 |
|
15-Jul-2011 |
Costin Manolache <costin@google.com> |
waitWithTimeout() needs to check if the result is already available, like waitForActivity() does. Change-Id: I410ab590d6669d5a657f473877a2bb3cae36d0d3
/frameworks/base/core/java/android/app/Instrumentation.java
|
fee1c69a49d03b651e481983432ade94fc07650a |
|
26-May-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 77dd616e to master Change-Id: Idb7180177b01e7d822327ccc7c76617220860da2
|
5be8de3420ba4c9d816b98e29bdec11715f6b626 |
|
25-May-2011 |
Dianne Hackborn <hackbod@google.com> |
More compatibility mode improvements. We now correctly adjust display metrics, fixing for example issues seen in Barcode Scanner. In addition the decision about when to use compatibility mode has a bug fixed where certain apps would not go out of compatibility mode even though they should be able to. Change-Id: I5971206323df0f11ce653d1c790c700f457f0582
/frameworks/base/core/java/android/app/Instrumentation.java
|
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 |
|
07-Apr-2011 |
Joe Onorato <joeo@google.com> |
Remove the deprecated things from Config.java. These haven't been working since before 1.0. Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
/frameworks/base/core/java/android/app/Instrumentation.java
|
93ec68e6a9ef0c6031db506dbd035a7ade6350ad |
|
14-Jan-2011 |
Jeff Hamilton <jham@android.com> |
resolved conflicts for merge of 06bb3aef to honeycomb-plus-aosp Change-Id: Ia7071ca07d917bd79e7697f4b0c0640ebb5f6a6f
|
52d3203ef69d4babbc4dd030a15c08c0b8d1d226 |
|
08-Jan-2011 |
Jeff Hamilton <jham@android.com> |
Add dispatching overrides for foreground apps. Apps can register to override the default dispatching but only when they're in the foreground. Change-Id: I8e9a9254d3f79f097fb3c8c677d806043574ba4d
/frameworks/base/core/java/android/app/Instrumentation.java
|
621e17de87f18003aba2dedb719a2941020a7902 |
|
23-Nov-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement issue #3221502: New APIs to support new back stack / task navigation What this adds: - A new Intent activity flag to completely replace an existing task. - A new Intent activity flag to bring the current home task up behind a new task being started/brought to the foreground. - New versions of startActivity() that take an array of Intents to be started, allowing applications to start a task in a specific state. - A public moveTaskToFront() method on ActivityManager, with a new flag that allows the caller to have the task moved to the front with the current home task immediately behind it. Change-Id: Ie8028d09acffb5349d98043c67676daba09f75c8
/frameworks/base/core/java/android/app/Instrumentation.java
|
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c |
|
11-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Added support for full PC-style keyboards. BREAKING CHANGE: Redesigned the key character map format to accomodate full keyboards with more comprehensive suite of modifiers. Old key character maps will not work anymore and must be updated. The new format is plain text only and it not compiled to a binary file (so the "kcm" tool will be removed in a subsequent check-in). Added FULL keyboard type to support full PC-style keyboards. Added SPECIAL_FUNCTION keyboard type to support special function keypads that do not have any printable keys suitable for typing and only have keys like HOME and POWER Added a special VIRTUAL_KEYBOARD device id convention that maps to a virtual keyboard with a fixed known layout. This is designed to work around issues injecting input events on devices whose built-in keyboard does not have a useful key character map (ie. when the built-in keyboard is a special function keyboard only.) Modified several places where events were being synthesized to use the virtual keyboard. Removed support for the "qwerty" default layout. The new default layout is "Generic". For the most part "qwerty" was being used as a backstop in case the built-in keyboard did not have a key character map (probably because it was a special function keypad) and the framework needed to be able to inject key events anyways. The latter issue is resolved by using the special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD. Added the concept of a key modifier behavior so that MetaKeyKeyListener can distinguish between keyboards that use chorded vs. toggled modifiers. Wrote more robust key layout and key character map parsers to enable support for new keyboard features and user installable key maps. Fixed a bug in InputReader generating key ups when keys are released out of sequence. Updated tons of documentation. Currently QwertyKeyListener is being used for full keyboards with autotext and capitalization disabled. This mostly works but causes some problems with character pickers, etc. These issues will be resolved in subsequent changes. Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
/frameworks/base/core/java/android/app/Instrumentation.java
|
6e8304e57ec533e257a2496183125f257be1ff60 |
|
14-May-2010 |
Dianne Hackborn <hackbod@google.com> |
More fragment stuff: - New startActivityForResult() API. - Fragments now should have the correct lifecycle while hanging around in the back stack (not being destroyed and re-created). - Rework of state save/restore to make it simpler and better. In theory now any fragment (including layout and others in the hierarchy) can now be retained across config changes, though this hasn't been tested. Change-Id: I2a7fe560e14e567f5675a2f172a23fca67b3e97f
/frameworks/base/core/java/android/app/Instrumentation.java
|
b4bc78b16a05554c57508b488e21dd8eca4e13e6 |
|
13-May-2010 |
Dianne Hackborn <hackbod@google.com> |
Further work on fragments: - Implement all of the state saving and restoring machinery. This caused some flux in the API. - Add ability to have fragments that are retained across activity instances. - Fix some bugs. Change-Id: Ib6b5b0752d7f8d667cfdcd3e76d127cc9b6d901b
/frameworks/base/core/java/android/app/Instrumentation.java
|
18f9ce0dc12f5a3bb113f25cb4c14e646a064a2f |
|
12-May-2010 |
Brett Chabot <brettchabot@android.com> |
Skip ActivityWaiter synchronization on Instrumentation.callActivityOnDestroy Temporary workaround for bug 2630683 Change-Id: Ie9ee922dd1f515fc273cb602cb649174e3b8ae6f
/frameworks/base/core/java/android/app/Instrumentation.java
|
2dedce6e84679ead961a485c7fe4b0f77c713b6a |
|
15-Apr-2010 |
Dianne Hackborn <hackbod@google.com> |
Introducing Fragment. Basic implementation of an API for organizing a single activity into separate, discrete pieces. Currently supports adding and removing fragments, and performing basic lifecycle callbacks on them. Change-Id: I6ea8e6bdb04d93f8105c2e983fe9b6532422de34
/frameworks/base/core/java/android/app/Instrumentation.java
|
ff1df69dd4835c177c724e1b5f1ba02d1f674047 |
|
27-Aug-2009 |
Jack Wang <jackwang@google.com> |
Performance measurement framework: + For bug 1810508 - Added PerformanceCollector class to collect runtime and memory usage data * Moved performance snapshotting from Intrumentation to PerformanceCollector - Added PerformanceResultsWriter interface which defines functions for reporting performance data + Framework integration - Added TimedTest annotation to automatically time tests and write results to instrumentation output - Modified PerformanceTestBase to add collection hooks and wrapper methods - Modified WatcherResultPrinter in InstrumentationTestRunner to implement PerformanceResultsWriter for instrumentation output of performance data - Modified InstrumentationTestRunner and AndroidTestRunner to pass writer instance to test
/frameworks/base/core/java/android/app/Instrumentation.java
|
bcbcaa7edd32ba67c6290d79f7e7821c4b5b39ac |
|
10-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Wallpapers, animations, pending intent. Some more tweaks and fixes to wallpapers. Make sure wallpapers are told they are not visible when the screen is off. Add some new animations for transitions across tasks, and fiddle with many of the existing animations. Clean up the relationship between translucent activities and animations. Add new API to start a PendingIntent from an activity. Change-Id: Ie0bf45fe44081bb6982c75361257a55d9cd9d863
/frameworks/base/core/java/android/app/Instrumentation.java
|
d97c7adfc2d6e885826e40694a116cf3f9225025 |
|
19-Jun-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #1753079: running instrumentation in shared processes. The check for allowing the start of an activity was broken, it was comparing the process of that activity's application vs. the current instrumentation target package name. Okay it was utterly insane. Now this check is that the target activity will be running in the same process as the instrumentation, which is really what we want.
/frameworks/base/core/java/android/app/Instrumentation.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/Instrumentation.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/Instrumentation.java
|
d24b8183b93e781080b2c16c487e60d51c12da31 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/app/Instrumentation.java
|
f1e484acb594a726fb57ad0ae4cfe902c7f35858 |
|
22-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@127436
/frameworks/base/core/java/android/app/Instrumentation.java
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/app/Instrumentation.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/app/Instrumentation.java
|