155 Commits

Author SHA1 Message Date
John Reck
66a3675013 am 0e5a5161: am d79117c4: am 9ba771bb: am c2db381e: am 6b66a4a8: use findProcess instead of getProcess
* commit '0e5a5161e6999a58a86acd404ee1a229e180647d':
  use findProcess instead of getProcess
2015-07-24 05:16:55 +00:00
John Reck
0e5a5161e6 am d79117c4: am 9ba771bb: am c2db381e: am 6b66a4a8: use findProcess instead of getProcess
* commit 'd79117c405fab2c7a64d7307a941df05a713814d':
  use findProcess instead of getProcess
2015-07-24 04:07:12 +00:00
John Reck
6b66a4a8a3 use findProcess instead of getProcess
Bug: 22701182
Change-Id: I2ec56c55c49401f2f213bbd318e867fd73b37672
2015-07-24 00:37:23 +00:00
Kenny Guy
273639f7ad am e6b1e0e1: am 72be5067: am af52ae07: am 2adcb40d: am 2ba3fec6: Merge "Support waiting for adb shell am stop-user to complete." into mnc-dev
* commit 'e6b1e0e1c22d57b8c3f70e780fdc672175780086':
  Support waiting for adb shell am stop-user to complete.
2015-07-23 22:07:18 +00:00
Kenny Guy
e6b1e0e1c2 am 72be5067: am af52ae07: am 2adcb40d: am 2ba3fec6: Merge "Support waiting for adb shell am stop-user to complete." into mnc-dev
* commit '72be506795c4b7260612458c183282b9c59717ef':
  Support waiting for adb shell am stop-user to complete.
2015-07-23 21:49:30 +00:00
Kenny Guy
2c7836befc Support waiting for adb shell am stop-user to complete.
Use stop user callback to wait for AM.stopUser to complete
if -w flag is passed to adb shell am stop-user

bug: 22599411
Change-Id: I8adbfdbb1ba69a88a67431da65f0a85035587c2d
2015-07-21 18:22:28 +01:00
Fyodor Kupolov
b5143ecfee am 1fa2a088: am 1281575c: am 41fac5e8: am 189f3136: am 98724126: Merge "Added sendBroadcastMultiplePermissions method" into mnc-dev
* commit '1fa2a0888284ae00c905dce7a3003b995815467a':
  Added sendBroadcastMultiplePermissions method
2015-07-15 01:58:48 +00:00
Fyodor Kupolov
1fa2a08882 am 1281575c: am 41fac5e8: am 189f3136: am 98724126: Merge "Added sendBroadcastMultiplePermissions method" into mnc-dev
* commit '1281575c257d52f256f4a08559611e6ec0b6190e':
  Added sendBroadcastMultiplePermissions method
2015-07-15 01:42:58 +00:00
Fyodor Kupolov
d4fd8c766d Added sendBroadcastMultiplePermissions method
Added Context.sendBroadcastMultiplePermissions(Intent intent, String[]
receiverPermissions) method, which allows an array of required permissions
to be enforced.

Bug: 21852542
Change-Id: I27c9130e8f004b428452501ebc8a36aabde1f343
2015-07-14 17:25:42 -07:00
Jarkko Pöyry
19b4ef6622 Merge "Don't NPE on command line parse failure." 2015-07-10 17:40:32 +00:00
Svetoslav
4e5dac3d6e am 3fd5ebfd: am 7cc8de60: am 0ce19f8e: am 240f8e5f: am 3e07ee07: Merge "Grant installer and verifier install permissions robustly" into mnc-dev
* commit '3fd5ebfd778e540276fb5205a8ba3185e620647d':
  Grant installer and verifier install permissions robustly
2015-07-08 02:05:26 +00:00
Svetoslav
3fd5ebfd77 am 7cc8de60: am 0ce19f8e: am 240f8e5f: am 3e07ee07: Merge "Grant installer and verifier install permissions robustly" into mnc-dev
* commit '7cc8de60682b1ed22be1b452809b36a5ceaae02a':
  Grant installer and verifier install permissions robustly
2015-07-08 01:39:40 +00:00
Svetoslav
3e7d977ff7 Grant installer and verifier install permissions robustly
bug:22248271

Change-Id: I3a47ae9a112ba7d88b421fcb5f9651d1168ba7a5
2015-07-07 14:02:51 -07:00
Svet Ganov
e8ce8368fc am 55cd6f44: am 6fe87a56: am 68ffcf88: Merge "Teach receivers, activities, providers, and services app ops." into mnc-dev
* commit '55cd6f44fd1e49164a999e948bb91a03a3b9daf6':
  Teach receivers, activities, providers, and services app ops.
2015-07-04 07:28:18 +00:00
Jarkko Pöyry
b582c67039 Don't NPE on command line parse failure.
Bug: 21202826
Change-Id: I3cbc12eaef920905c8abc6532376827ccff132f4
2015-07-03 19:54:30 -07:00
Svet Ganov
55cd6f44fd am 6fe87a56: am 68ffcf88: Merge "Teach receivers, activities, providers, and services app ops." into mnc-dev
* commit '6fe87a565be345c9455f610bbf26d5eaee593683':
  Teach receivers, activities, providers, and services app ops.
2015-07-02 01:02:04 +00:00
Svet Ganov
99b6043dad Teach receivers, activities, providers, and services app ops.
Perform app op check in addition to the permisison check for all four
paltform components - activities, content providers, broadcast receivers,
services - if they are guarded by a permssion that has an associated app
op. This ensures that legacy apps will behave correctly if the permission
of the caller has been revoked, i.e. the app op for that permission was
disabled.

bug:22199666

Change-Id: Ia22d1c38d58b3cd6aabdc655cb7c7bddd85da7a2
2015-07-01 16:20:00 -07:00
Man Cao
80bea9cde1 resolved conflicts for merge of 8fb82074 to master
Change-Id: I27c7ddeead5a589ae8824f87bf6b42998dc081eb
2015-06-24 17:28:01 -07:00
Mathieu Chartier
8fb8207412 resolved conflicts for merge of 0f14548c to mnc-dev-plus-aosp
Change-Id: I2f79840f82150eddebfbd549afd1eca28075eb43
2015-06-24 15:59:18 -07:00
Adam Lesinski
87344583e1 am 0ebba0e1: am 53d0d065: am b21a77fe: Merge "Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()" into mnc-dev
* commit '0ebba0e1a66ddf912b9fb7c43727054cb2d63556':
  Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()
2015-06-24 22:22:02 +00:00
Adam Lesinski
c30454c104 Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()
Bug:22055550
Change-Id: I1e732e95698daf44bcb223cafde3d3c22746d232
2015-06-24 13:35:46 -07:00
Man Cao
cfa78b2080 Add an AM option to start with allocation tracking
The new option "--track-allocation" is to work with the new
allocation tracker in ART.

Bug:20037135
Change-Id: Ic5f8945ab4c1f167c27b05ad0d11d04bac680c1f
2015-06-24 13:29:29 -07:00
Rahul Chaturvedi
8ee0c2cf24 Merge "Add binder transaction tracking." 2015-06-22 23:55:09 +00:00
Rahul Chaturvedi
52613f9084 Add binder transaction tracking.
Add the ability to am to be able to track binder transact calls. This
will help us diagnose excessive IPC calls.

This CL adds the trace-ip command to am. The usage is,

To start binder transaction tracking,
am trace-ipc start
To stop tracking and dump the data to a file,
am trace-ipc stop --dump-file <FILE>

Bug: 21398706
Change-Id: Ic0c9b3be757dd0662a2750a0d8447e2a5ef1fa90
2015-06-22 16:28:24 -04:00
Dianne Hackborn
a750a63d63 Fix issue #21814207 and issue #21814212 (alarm manager)
Issue #21814207: AlarmManager.setAndAllowWhileIdle should also allow wake locks.

Introduce a whole new infrastructure for providing options when
sending broadcasts, much like ActivityOptions.  There is a single
option right now, asking the activity manager to apply a tempory
whitelist to each receiver of the broadcast.

Issue #21814212: Need to allow configuration of alarm manager parameters

The various alarm manager timing configurations are not modifiable
through settings, much like DeviceIdleController.  Also did a few
tweaks in the existing DeviceIdleController impl.

Change-Id: Ifd01013185acc4de668617b1e46e78e30ebed041
2015-06-17 11:41:45 -07:00
Felipe Leme
f36a0f5d17 Added new options (--eial, --elal, --efal, and --esal) to pass multiple extras as ArrayList instead of Array.
BUG: 21757911
Change-Id: I7e2a9c81ad4606a8aba90ea4820ba0732a1c8749
	modified:   src/com/android/commands/am/Am.java
 On branch handles_array_list
 Changes to be committed:
	modified:   src/com/android/commands/am/Am.java
2015-06-10 13:44:04 -07:00
Stefan Kuhne
16045c24fe Adding am send-trim-memory command
This patch adds a send-trim-memory command to the ActivityManager to allow
for better debugging&testing.

The command is
adb shell am send-trim-memory [--user <USER_ID>] <PROCESS> <LEVEL>
whereas LEVEL can be one of the following:
[HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|
 RUNNING_CRITICAL|COMPLETE]

Bug: 21633189
Change-Id: I7a41ce02c3c9043ffd3e5aaa791f7b7306a9de49
2015-06-05 16:30:29 -07:00
Amith Yamasani
e5f330456b Rename *AppIdle to *AppInactive per api-council
Change to setAppInactive and isAppInactive in a few places.

Bug: 20823737
Change-Id: Ie57dbc0dd2842e771bb5fd9f69b8041aacaa005c
2015-05-08 13:20:22 -07:00
Amith Yamasani
cf76872a62 Add ability to get and set idle state of apps
Add am shell command to set and get idle
Add public API to check if an app is idle

Bug: 20534955
Bug: 20493806
Change-Id: Ib48b3fe847c71f05ef3905563f6e903cf060c498
2015-04-24 12:58:46 -07:00
Wale Ogunwale
0bd2aa7603 Fail early when starting a background user activity.
If it shouldn't be displayed for all users.

Bug: 13507605
Change-Id: I8fe8e5a98759c1ca058cc7d222817f6d580ffa11
2015-04-17 08:37:56 -07:00
Dianne Hackborn
1e38382b54 Fixes to idle alarm scheduling, package importance.
- Add new API to ask the activity manager what the current
  importance of a particular package name is (along with a few
  new useful importance levels).

- Fix my last alarm manager change to actually execute the
  alarms we have now decided should run even while we are idle.

Change-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687
2015-04-14 10:01:24 -07:00
Dianne Hackborn
d59a5d59df Various fixes and improvements...
Issue #19912529: VI: VoiceInteractor callback ClassCastException

Fix to use correct argument.

Issue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed

Added documentation.

Issue #19912703: VI: VoiceInteractionSession NPE on Abort Request

Maybe fix this -- don't crash if there is no active session.

Issue #19953731: VI: Add value index to...
...android.app.VoiceInteractor.PickOptionRequest.Option

There is now an optional index integer that can be associated with
every Option object.

Issue #19912635: VI: Behavior of startActivity when in voice...
...interaction is unexpected

We now forcibly finish the current voice interaction task whenever
another activity takes focus from it.

Issue #20066569: Add API to request heap dumps

New ActivityManager API to set the pss limit to generate heap
dumps.

Also added app ops for assist receiving structure and screenshot
data, so that we can track when it does these things.

Change-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1
2015-04-04 17:36:05 -07:00
John Reck
34faab5a54 Add --sampling to am profile start
Change-Id: I00dfdef6a7ac61ab4ce16fefe1ddc5554ace0c88
2015-03-26 11:05:08 -07:00
Dianne Hackborn
b9a5e4ad30 Add new debug feature to automatically create heap dumps.
Not yet working, unless you turn off SELinux enforcing.
We need to update SElinux to allow the system process
to give apps access to /data/system/heapdump/javaheap.bin.

Currently watching can only be enabled through the shell,
such as:

adb shell am set-watch-heap com.android.systemui 1024

The last number is the process pss size in bytes, so this is
asking us to warn if it goes about 1K which will be all the
time.

Change-Id: I2089e5db2927afca0bf01a363c6247ee5dcb26e8
2015-03-06 16:42:03 -08:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00
Wale Ogunwale
53a29a90f3 Added ActivityManager API and AM command to resize a task.
Also fixed issue with ActivityStackSupervisor.moveTaskToStackLocked()
functionality not working correctly.

Change-Id: Ia13f1e92a7c59ce6543c226533ac8ea623488290
2015-02-24 09:33:18 -08:00
Wale Ogunwale
5e789f03b2 Fixed bug in 'am stack split' command.
Change-Id: Id3efb65a3f9cbf3c223ea08d51e2028180bd5479
2015-02-12 09:25:52 -08:00
Wale Ogunwale
2c5763ae5d Am command to split a stack.
Change-Id: Idf3a364fc3826f6fe92f55b5c83b16b380d62ff4
2015-02-11 14:02:19 -08:00
Wale Ogunwale
9d3de4cfb4 Support for activity to opt-in/out of resizeable/multi-window support.
Bug: 19178148
Change-Id: I5819a71cdc48e0af4add11a6d4a503ec5cbe5d63
2015-02-02 16:06:55 -08:00
Todd Kennedy
aab56dbc1e Show stacks underneath a resized stack
When a stack is resized, make sure any non-fullscreen stack beneath it
becomes visible. This may mean additional activities are resumed in the
process.

Bug: 19083171
Change-Id: I5e7a3f82d76932ea2b9dbf0324ea183c42ee5496
2015-01-30 09:39:53 -08:00
Todd Kennedy
4900bf9d82 Expose new binder call createStackOnDisplay()
Creates a new, empty ActivityStack on a display. Use the binder call to
launch an activity on said stack.

Bug: 19001243
Change-Id: I0f04e8f2703bcc706f58e75333869fb35f6b1ee9
2015-01-20 10:51:49 -08:00
Todd Kennedy
ca4d842205 Rename the binder call createActivityContainer
Change the call to createVirtualActivityContainer to better describe what's
actually being created with the call.

Change-Id: Id3a32df19a5bb6740cbabcd65897349e9f2f2946
2015-01-15 15:22:17 -08:00
Jeff Sharkey
dbea3cd118 Better am error when SELinux blocking access.
Bug: 18479882
Change-Id: I0732e54838c4e04d9d727e7c5fd9d7e7bacbaa1f
2014-11-24 14:51:34 -08:00
Dianne Hackborn
24b1c23c62 Fix issue #15828903: Intent.parseUri allows call to FLAG_GRANT_*_URI_PERMISSION
You now need to set a flag if you want this unsafe behavior.

Change-Id: I185e9a04e005e42a887c3d58a2818616790b060a
2014-11-20 17:17:39 -08:00
Dianne Hackborn
85d558cd48 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
2014-11-11 00:42:18 +00:00
Daniel Sandler
795893eb6f More flexible intent extra parsing.
Specifically, --ei (int extras) and --eia (int[] extras) now
use Integer.decode(), which means they accept negative
integers, base-16 integers formatted as #NNN and 0xNNN, and
base-8 integers formatted as 0NNN.

Additionally, --ez (boolean extras) can now be specified as
"true", "false", "t", "f", or an integer (any nonzero
treated as true). The previous behavior, based on
Boolean.valueOf(), would silently assign false if you
managed to get the spelling of "true" wrong.

Change-Id: I058254e907308006d403b5b7866c86bcaa03d8d3
2014-10-29 00:05:56 -04:00
Dianne Hackborn
ab4a81b3c6 Improve some docs, fix some debugging.
- Add docs to Binder, Messenger, ResultReceier to explain their
  relation (or lack there-of) to process lifecycle.
- Clarify some aspects of process lifecycle for services.
- Fix help text of am command.
- Fix per-package dumping of battery stats to not include history.
- Fix per-package dumping of proc stats to only include aggregated
  and current stats and fix some formatting.
- Fix per-process dumping of meminfo to have an option to interpret
  the input as a package, so including all processes that are
  running code of that package.
- Fix top-level per-package debug output to correctly include all
  of these improvements and give them a little more time (10s) to
  complete for timing out.

Change-Id: I2a04c0f862bd47b08329443d722345a13ad9b6e2
2014-10-09 18:21:59 -07:00
Alexandra Gherghina
979e40e9ba Adds the ability to start a user in background
Bug: 15900074
Change-Id: I03b278f8e7a4618ea56a5f1935cfba34beb45981
2014-09-29 12:35:03 +00:00
Dianne Hackborn
6cfbb71890 Fix issue #17536024: The am start's wait option doesn't...
...give time in some cases

This switch to multiple stacks broke the check to determine if it
should actually wait for a new activity to be shown.  The new check
now also requires that the top activity be resumed, which means
we may get some false positives where we decide to wait and shouldn't,
but that is better than consistently not deciding to wait in some
cases when we should.  (And we will always finish waiting then next
time something becomes visible).

Also add another time, which is how long it took from the startActivity
call to return with the result.  And fix when we decide to report that
we are done so that, in the case where we are bringing an existing
activity to the foreground, we don't wait until its animation is complete.

Change-Id: Id38ca0070f04e7bf8c73e131fb055808553a0e2f
2014-09-17 12:47:35 -07:00
Amith Yamasani
f58e532e01 Merge "Apply cross-user restrictions to Shell" into lmp-dev 2014-09-11 16:46:34 +00:00