History log of /frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
df41145002c0f1307d9dc013ff31ce7302f83e4c 08-Aug-2017 Dianne Hackborn <hackbod@google.com> Add ability to include messages in oom reports.

Test: manual
Bug: 65248777
Merged-In: I1a6b3c02912224b830dbe5573f3b1edebe24c2b3

Change-Id: Ifef2c16f44925c1b7d4ace8435daea48890b238b
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
94e82d9b0e7ee2e657564e5904b556eeefc1d423 14-Jul-2017 Andrii Kulian <akulian@google.com> DO NOT MERGE ActivityView be gone!

This hidden functionality is no longer support/needed since
we now have multi-window/display. A new view group class
will be added later that uses multi-window to support remaining
functionality of this class.

Test: go/wm-smoke
Change-Id: Ie2fa2de92841d33199da9988741905060dd1ddf4
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
59a6b07809a0cad6881ac56a762c774368633f03 18-Jul-2017 Dianne Hackborn <hackbod@google.com> Merge "Add activity manager command to watch uid state changes."
ffae1cb401aab3737c3546e564d9e8d28b01ad51 10-Jul-2017 Dianne Hackborn <hackbod@google.com> Add activity manager command to watch uid state changes.

Also fix a few issues in uid reporting: active was being
reported multiple times when a process started, and idle
could be reported before the idle delay actually happened.

Test: manual, will be adding cts using the new cmd

Change-Id: I051b54145f3cabf72e757b0dcb1f0ef2e979b34e
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
8d652f8f7e48370b92314bbd547ddf2d66a1ed4b 12-Apr-2017 Christopher Ferris <cferris@google.com> Implement dumpheap -m.

Adds an option to dumpheap that calls mallocInfo and write the xml produced
to a file.

Bug: 36871013

Test: Run am dumpheap -m <FILE>, am dumpheap -n <FILE>, am dumpheap <FILE>
Test: and verified that they produce the correct data.
Change-Id: Ifb9e878ea621c7cacc3aa6e3a889c414681dee2d
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
4556b7b8e553bb6a8d1512473704dda52dd1d3e8 07-Jul-2017 Makoto Onuki <omakoto@google.com> Add "-g" option to run GC to "am dumpheap".

Bug: 62144301
Test: manual test
Change-Id: I187e3acc3c3a97e6799192ab10b1bf16c7fee02f
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
83085bb3dde17264025bb1ef8427de2184009fef 27-Jun-2017 Andreas Gampe <agampe@google.com> Frameworks: Add agent to ProfilerInfo

Add an agent option to ProfilerInfo. If set, on bindApplication
attempt to attach the given agent to the app before loading the
app itself.

Bug: 62445317
Test: m
Test: Device boots
Test: Manual profiling tests
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAmProfileTests
Test: Manual agent test
Test: cts-tradefed run commandAndExit cts-dev --module CtsJvmtiAttachingHostTestCases
Change-Id: I1f0c4121e22351fd3a964dd0a915100a620d4f84
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
9be3a060827154617eed9132c64431af56d98eb4 31-May-2017 Erik Wolsheimer <ewol@google.com> Support multi-window on low-memory watches.

On watches, multi-window is used to present essential system UI, and thus it
must be supported regardless of device memory characteristics.

Bug: 37482466
Test: Manually, on a watch
Change-Id: I7929a090b7fd46de019d237ce771c82a6d7fd3f3
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
983055231b999e450def3e3df377fb4e23420711 06-May-2017 Dianne Hackborn <hackbod@google.com> Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist

There is now an IBinder "token" that must be specified when setting
the whitelist duration for an Intent. To have the whitelist supplied,
the caller to send a PendingIntent must pass in the same token. The
PendingIntent and IntentSender classes now internally maintain this token
to pass in when their send() is called.

The big complexity for making this work is we now need to associate this
whitelist token correctly with the actual PendingIntent objects that
applications and other code is getting. To do this, we propagate the
token in the Notification object, and have a new API on Parcel that allows
us to make it available to PendingIntent when it is unmarshalled. And
this allows to deal with PendingIntents appearing in nested bundles, as
we can propagate that information from the original Parcel to the new
Parcel that Bundle keeps to delay unmarshalling.

Test: manual
Change-Id: Idda00490ccfe2be37e4ab21354b9ab7528a52750
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
fd65813157e4dd7fa9f0b7c5dd4c8f536cc6316a 03-May-2017 Jeff Sharkey <jsharkey@android.com> Offer to wait until broadcasts have drained.

We've seen evidence of lab devices racing with other apps that are
using cache space immediately after tests wipe it clean, which can
cause test failures. To mitigate this, try our best to wait for the
device to go "idle" by watching for broadcast queues to fully drain.

Also improve javadocs along the way.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37486230, 37566983, 37913442, 37914374
Change-Id: I4d430db443b6fa6d33a625fe07b90279b5d51c12
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
242ba3e997b45ec7ab5f8c40663c9044a13ad31f 15-Apr-2017 Christopher Tate <ctate@google.com> Turn down the preliminary foreground service API

The NotificationManager.startServiceInForeground() experiment is over,
and will not ship as API, so it's time to tidy up and get rid of it.

Bug 36130212
Test: manual

Change-Id: I834d1ce059aa464ff27f69f5e5d3625cc5e61d8a
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
329b35f23132377459c96a9d772402d770073a64 11-Apr-2017 Jaewan Kim <jaewan@google.com> Add documentation for 'am start-foreground-service'

Bug: 35263881
Test: manual (Checked the am help)
Change-Id: Ibd7bbfdb65cf61b7e86d861d5a4f85ea57377f22
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
1981f5fd17de4627201363ca57e90927a8a243fd 08-Apr-2017 Andrii Kulian <akulian@google.com> Use feature instead of hidden config for multi-display

Using a feature will allow app developers to find out if a
particular device supports running activities on secondary
screens before using the APIs.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: I7121bdb782cac9df70121e9df5cbf3fcb76f4a93
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
597f3906815ddd3627812378513332238680bfea 07-Apr-2017 Andrii Kulian <akulian@google.com> Add hidden API to check support of Multi-Display

Added ActivityManager#supportsMultiDisplay() to check if system
supports running activities on secondary displays.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testMultiDisplayDisabled
Change-Id: I18f98f2f6a9e865ad8dc63a470210190536d3271
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
eafd9db682c56c80cea19ec24001f5b162db5f0d 06-Apr-2017 Andrii Kulian <akulian@google.com> Add system config to specify Multi-Display support

Added config_supportsMultiDisplay. Devices that have the config set
to false will not allow launching activities on secondary screens.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testMultiDisplayDisabled
Change-Id: Iebb79044440866b1693897b0b53ccb987b5fd8e0
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
7e1368d9b25727bf84bce8f5144987bc378f65e1 31-Mar-2017 Christopher Tate <ctate@google.com> Add 'am start-foreground-service' shell command

Bug 35263881
Test: manual

Change-Id: Ia97415eee610e67d4c0a5dc6adaf01909dcbdbd1
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
08992ac57e973d6bf32693725ebb341a481e5944 21-Mar-2017 Christopher Tate <ctate@google.com> API refactor: context.startForegroundService()

Rather than require an a-priori Notification be supplied in order to
start a service directly into the foreground state, we adopt a two-stage
compound operation for undertaking ongoing service work even from a
background execution state. Context#startForegroundService() is not
subject to background restrictions, with the requirement that the
service formally enter the foreground state via startForeground() within
5 seconds. If the service does not do so, it is stopped by the OS and
the app is blamed with a service ANR.

We also introduce a new flavor of PendingIntent that starts a service
into this two-stage "promises to call startForeground()" sequence, so
that deferred and second-party launches can take advantage of it.

Bug 36130212
Test: CTS

Change-Id: I96d6b23fcfc27d8fa606827b7d48a093611b2345
(cherry picked from commit 79047c62b58fb0a0ddf28e2b90fe4d17e05bc528)
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
6954fc9a7e6b2c6fc0b09448beac2eba7852ff18 25-Mar-2017 Winson Chung <winsonc@google.com> Fix issue with task overlay activities not finishing.

- The task overlay activity should only exist when there are activities
present in the task. When the last such activity is finished, we should
remove the whole task entirely including the task overlay.
- Exposing the task overlay apis to CTS

Bug: 36507456
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testFinishPipActivityWithTaskOverlay
Change-Id: I1dabe7782fb6769a90d832664e8052be158041e1
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
f3f3a60d350f449938c7a3493d008b9bdbb5fb07 21-Feb-2017 Arthur Hsu <arthurhsu@google.com> Create am no-home-screen command.

The no-home-screen command allows checking if the device had
no home screen. This is needed for CTS tests to correctly
detect that ARC++ devices have no home screen.

This is ported from ag/1851936 since it could not cherry-pick cleanly.
Original CL: I9c933f0b684cc82c74db948edf592fd067091a31

Bug: 33456072
Test: manual - adb shell am no-home-screen reports false by default.
Change-Id: I3df465a34393aa6e3f2934722a66ad909979824d
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
ee9e277033d959211ba733a480355d41a2f32705 10-Feb-2017 David Stevens <stevensd@google.com> Handle focused tasks on multiple displays

When the focused task changes displays, make sure to mark the whole
previous display as not part of a focused task.

This change also adds an adb am command to change the task focus.

Test: android.server.cts.ActivityManagerDisplayTests
Test: #testStackFocusSwitchOnTouchEvent
Bug: 35214007
Change-Id: I9cb7372c21a0b592abb6f6d910077ff5097dd6cf
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
bb348802d3aa3880bf6ad119dfd980cd93b05a38 30-Jan-2017 Winson Chung <winsonc@google.com> Disallow entering PiP when activity is locked.

- Also ensuring that when we request for a task to be locked
via the shell, we directly set the locked state instead of
relying on the SystemUI to show a prompt to lock (necessary
for the CTS test to run).

Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testDisallowEnterPipActivityLocked

Change-Id: Ice608e6d8e7f018dbd5e20ae457343bfdd0a8630
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
6ffd4f9bab6b4c83f40caa6455664c6e6aadc6df 26-Jan-2017 Shukang Zhou <shukang@google.com> [Frameworks] Add an 'am' cmd option to enable streaming in profiling.

Add option '--streaming' to 'am start' and 'am profile' commands.
If the option is given, the output of method trace profiling
will be streamed into the specified file, so the output is no
longer limited by the buffer size.

Test: m -j48 test-art-host;
m -j48 ART_TEST_TRACE=true ART_TEST_TRACE_STREAM=true test-art-host;
I also tested manually. Tried all 8 combinations of
sampling/instrumention
streaming/non-streaming
'am start --start-profiler' / 'am profile start'
The output files are all in expected shape.

Bug: 33300765

Change-Id: I8a5136a1c7330c8260b7c6c8da63f42a73aee275
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
c5d458930ca4f69cf2d976ffd65a8679328de62c 25-Jan-2017 Dianne Hackborn <hackbod@google.com> Merge "Add some new experiment constants for activity and power manager."
0ef403e53e2762d077750dd0a50b73c2125cadb0 25-Jan-2017 Dianne Hackborn <hackbod@google.com> Add some new experiment constants for activity and power manager.

Activity manager now has constants, starting with two: bg check
and process limit.

Power manager now has constants, starting with one: controlling
disabling of wake locks from cached processes.

Test: manual

Change-Id: I05db42e2104e9d31584f85251412df2d5efb34b6
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
8aa8fe128992f7e47ecbc8588027eaec82012f3a 21-Jan-2017 Christopher Tate <ctate@google.com> Add an 'am crash' shell command

Induce a normal VM crash via adb, because it's quite different from the
effects of 'am kill'.

Test: induced crashes via adb shell using both pid & pkg

Change-Id: I79654afa7c4a70364cfd7d3af3e80a7b0e59b882
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
85e35643ba245c2d2b96662989aa505f04204cd7 13-Jan-2017 Dianne Hackborn <hackbod@google.com> Improve behavior of bg check.

There is a new APP_START_MODE_DELAYED_RIGID which means that
things discovering something is not allowed to start should
report a clear error back to the caller. This is how apps
that opt in to bg check should behave, and will now
be used if the app op mode is set to ERRORED.

This (for now?) removes the code that allows services to
be started if the request is coming from a foreground process.
That behavior isn't in the current bg check spec, and
probably not what we want as the standard platform model (since
it makes knowing when a service can start even harder to
determine). It was originally done for the experimental
bg check work in N to see how much we could avoid
breaking existing apps, so not relevant when apps need to
explicitly opt in.

Also report temporary whitelist changes to activity manager for
it to lift background restrictions temporarily for apps. Being
on the whitelist is now part of UidRecord, preventing a uid from
going idle.

Test: Initial CTS test added.

Change-Id: I36fd906fa69de8b7ff360605ae17c088f182e172
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
42a386b7717300bf6d75cbd3b4f7ad00f294be0d 07-Nov-2016 Christopher Tate <ctate@google.com> Enable background restrictions

Apps that target O+ are always subject to background restrictions.
Legacy apps' background restriction is subject to the OP_RUN_IN_BACKGROUND
app op.

Apps with these properties are exempted from background restrictions:
- persistent process
- currently on the idle battery whitelist
- global whitelist for things like bluetooth services

Bug 30953212

Change-Id: Icc19b2fbc05f40dcf8c3fc4abf718c373dc8d4f6
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
49a4a1dfceeebc4b94022827b7e68cc971689c84 12-Jan-2017 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> Teach apps to refresh AppInfos without restarting

Teach running applications to refresh already loaded ApplicationInfo
objects without resorting to restarting the application process.

Activities will be scheduled for restart via the regular life-cycle.
This is similar to a configuration change but since ApplicationInfo
changes are too low-level we don't permit apps to opt out.

This change is intended to be used with runtime resource overlays and
split APKs.

Test: Manual - command to update application via ActivityManagerShellCommand
Change-Id: Ice10a1691cced90eee95e3278fd784b8a9206d87
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
9606c3bf5894753d37b32aed909413db680fa396 05-Jan-2017 Felipe Leme <felipeal@google.com> Added BUGREPORT_OPTION_TELEPHONY.

This option takes a lightweight version of bugreport that only includes a few,
urgent sections used to report telephony bugs.

BUG: 32589463
BUG: 26849505
Test: manual
Change-Id: I6f90c02779a1e8aead690428626e3b9f06aa04df
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
6a34e5678089f9870ea0f0ced9c17c684a5d0a33 21-Dec-2016 Jeff Sharkey <jsharkey@android.com> Relax protected broadcast checks for shell.

On userdebug/eng devices, the shell can run as non-shell UIDs, so
define a flag to identify broadcasts coming from the shell, and
don't yell if they're non-protected.

Test: builds, boots, root shell can send broadcasts
Bug: 32369665
Change-Id: I5f55930ee434cb8318c86aaf05eba3c59a326694
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
626e0cc0aab466b6f0c8ac3608ba76995230ef24 08-Dec-2016 Matthew Ng <ngmatthew@google.com> Added supports-split-screen-multi-window command to am

The supports-split-screen-multi-window command allows the ability to
check if the device has split screen multiwindow support in shell. The
other changes allows the code to determine if the device has support for
it as well.

This will also help CTS tests to determine if the device has split
screen before trying to run the test.

Test: manual - adb shell am supports-split-screen-multi-window
Change-Id: I3da32b5b03712a8537104469d67100ec796de9e6
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
16802aab212b3b070d361f092d78e850b69b18af 02-Nov-2016 Andrii Kulian <akulian@google.com> Add API to launch activities on secondary displays

displayId can be specified as a part of ActivityOptions.
We will look for a valid stack on the specified display, starting
from the topmost one. If no valid stack is found, new dynamic stack
can be created on external display.
Launch stack and display id can't be set at the same time, otherwise
exception will be thrown.

Test: ActivityManagerDisplayTests
Test: #testLaunchActivityOnSecondaryDisplay
Test: #testConsequentLaunchActivity
Test: #testConsequentLaunchActivityFromSecondaryDisplay
Test: #testLaunchActivityFromAppToSecondaryDisplay
Change-Id: I8a202bc076319e23948d81b99a2c68d7b733b5e4
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
e07641d4fbdd0528c18305213e861a6e1aff4a3b 10-Nov-2016 Dianne Hackborn <hackbod@google.com> Start implementing background restrictions for eph apps.

This implements the additional intended path for checking
allowed background operations, APP_START_MODE_DISABLED, which
doesn't allow an app to launch in the background at all.

Also change the semantics of delivering broadcasts to manifest
receivers to always restrict those, not changing based on
whether the app is currently idle. This is the desired intended
behavior for apps as they explicitly update to work with
bg check.

And now that we have ephemerality associated with the uid state
in the activity manager, we can propagate this through the
relevant callbacks in IUidObserver so things watching these
changes can immediately determine whether they should do their
more aggressive shut down work for the uid rather than having
to walk through all their state looking for package associated
with that uid and whether they should be shut down.

Also remove the "lenient" bg check mode, since that was
just an early experiment that we won't actually use.

Add a new "make-idle" activity manager command to immediately
put a uid into the idle state (if possible) to make it easier
to test.

Test: manually against an eph app
Change-Id: I43a138ff281f69a9251d3f29ab6e13f48cff8ad6
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
3e8431f1f223cb688f66da30816515d87f846d5b 04-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move IActivityManager to aidl."
94d0bca68f267e9d3e6d514e19758a27a4c865d9 04-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add supports-multiwindow command to am."
fc46e9b643881b7b2ab76854f3a0ac077e9def8d 22-Oct-2016 Sudheer Shanka <sudheersai@google.com> Move IActivityManager to aidl.

Bug: 30977067
Test: Existing tests are passing, dump commands still working.
Change-Id: I9cf81c4d381ebce14a6c701e409cbb269f2ff1fb
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
839def9b549b6279aabd4150b304999e58d15762 02-Nov-2016 Andrii Kulian <akulian@google.com> Add shell command to move activity stacks between displays

Also rename "stack movetask" command to be consistent with other
shell commands.

Test: New CTS tests coming soon.
Change-Id: I3d7e04e0ae8ea76c27c3e4c1e286d5cd4539870c
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
94438b77db8f4189c3473b496546b6cc6537c5b6 03-Nov-2016 Michael Kwan <mkwan@google.com> Add supports-multiwindow command to am.

The supports-multiwindow command allows the ability to
check if the device has multiwindow support in the shell.

Test: manual - adb shell am supports-multiwindow
Bug: 30120559
Change-Id: If5e251a878a29cef2365715b18e4275e4f1ff0ca
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
2882406de31bd2a60e523253d8794e14af236975 18-Oct-2016 Dianne Hackborn <hackbod@google.com> Switch am command to go through "cmd activity".

For almost everything... except instrument, which still needs
to be run as the shell user so its UiAutomator callbacks
will work correctly (and not create security holes).

Test: manual

Change-Id: I2e62714a2d5b52501aa261b7e4d6b282b54a0027
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
655332c641ccb12ee1ae3ce89135ca847fba1abf 31-Oct-2016 Winson Chung <winsonc@google.com> Creating PinnedStackController.

- Creating a PinnedStackController to keep track of the state of the PIP
to prevent changes in the system (ie. IME showing) and user interaction
from clobbering each other.
- Refactoring calls in AM into WM/controller

Test: android.server.cts.ActivityManagerPinnedStackTests

Change-Id: Ie59dfd45d5c54764ba69a589b3b8148845e92cc3
Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
f3409ceee59a006155915010b11af81a822225aa 07-Oct-2016 Leonard Mosescu <mosescu@google.com> Adding "attach-agent" to ActivityManagerShellCommand

This new command is used to attach runtime agents to a running application:

attach-agent <PROCESS> <FILE>
Attach an agent to the specified <PROCESS>,
which may be either a process name or a PID.

Test: m test-art-host, manual testing:
. invalid syntax, missing arguments
. invalid syntax, extra arguments
. invalid numeric PID
. invalid process name
. valid process, not debuggable
. valid process, missing agent
. valid process, valid agent

Bug: 31682382

Change-Id: Ife88dbf23991dde7945d9208e54cd014bb7ecdc6
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
06868c37df46c0c973a96a0a25b1f301384db4be 13-Oct-2016 Winson <winsonc@google.com> Changing initial PIP bounds specifications.

- Change from a absolute bounds to a size, gravity and inset to
allow easier tweaking of initial pinned stack bounds.

Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testPinnedStackDefaultBounds
Test: #testPinnedStackMovementBounds

Change-Id: I82a102bbd2d83259c6c84915071d1a16728e3aa7
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
331084dca66ec2dc0b32f689c7a5c5252e0c7d3f 08-Oct-2016 Dianne Hackborn <hackbod@google.com> Move the remaining am commands to ActivityManagerShellCommand.

The only thing not removed is the "instrument" command, which
really needs to run Java code in the shell. We'll deal with
that later.

Test: manual
Change-Id: I9df0cdf831ac280cb0eb85c857d27166bc00604d
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
28537b6ae92a3211b5993ac00482ef905a911244 07-Sep-2016 Sudheer Shanka <sudheersai@google.com> Don't limit RetailDemoModeService to start only during demo mode.

- Update RetailDemoModeService to not do anything outside demo mode.
- Add am command get-started-user-state which is needed for cts tests.
- Update unit tests for RetailDemoModeService.

Bug: 31342350
Test: adb shell am instrument -e class com.android.server.retaildemo.RetailDemoModeServiceTest -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Idf50512facd27d47d7111e75cbc2f7b260f49740
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
354736e196ff79962b3ddb52619a674044d773e2 23-Aug-2016 Dianne Hackborn <hackbod@google.com> New infrastructure to switch remaining commands to "cmd" calls.

This introduces a new feature of the IBinder command protocol
to allow the shell command implementation to call back into
its caller to ask it to open files in the calling context. This
is needed so that commands that have arguments specifying files
can open those files as the calling shell, not the system (or
whatever) process.

To test this all out, move the "am start" implementation over
to ActivityManagerShellCommand, in particular along with its
option to specify a file in which to write profiling data.

Test: Manual

Change-Id: I0c1e3857defefbd19a2ac29413aafbb34b1e48a3
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
bc02a3901dea52d236dd855722191155156cb856 03-Jun-2016 Dianne Hackborn <hackbod@google.com> Fix issue #29006049: Add logging for implicit broadcasts

We now have stats on broadcasts. We collect them over a day and
then reset, retaining the last days stats. When a checkin happens,
we return either the last day or the current stats and then clear
them. Not bothing to persist anything to storage, this data is
not that critical.

Change-Id: I1c3b331bcd03f79fa5e10575d9bc2ad7d9104f6f
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
b9aee90ab511ffdc70fdc7a7c6edd7184b84c77b 31-Mar-2016 Felipe Leme <felipeal@google.com> Removed get-metered-network command.

The behavior of this command was not well specified in case of errors,
so it's better to remove it and let clients use 'list wifi-networks'
instead, checking for the value of the 'metered' column.

BUG: 27808364

Change-Id: I3f4216c143b4b2a803b99002585fafe0e3885665
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
2f1b22727fd2d677b1f6e38643dd134ed78c156d 26-Mar-2016 Felipe Leme <felipeal@google.com> Added activity cmd to display current process state of an app.

BUG: 26776313
BUG: 27324964

Change-Id: I901cfdcc6fcd14548266e8ca3e2201508d7b14cb
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
b2117d15d196dc29e4fc50d70cd8a10a04492e9c 17-Feb-2016 Dianne Hackborn <hackbod@google.com> Implement lenient background check option.

Which really means, make background check much more
strict, with an option to revert to the more lenient
behavior.

In this strict version, an app can't have services
started or receive broadcasts at any point when it is
not foreground. Also, it doesn't matter the importance
of a caller trying to start a service, it only depends
on the state of the app whose service is being started.

A new activity shell command allows you to control
whether to use the strict or lenient behavior.

Change-Id: I7f5a50b52881b5c8f9d8b6c8c622d3652a769fd7
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
09a88f5f3e7d4a3bbfce04ac06594ac590c67d27 02-Dec-2015 Suprabh Shukla <suprabh@google.com> Keeping only running users recents in memory

Currently, all the users' recent tasks are loaded into memory and kept
in sync with the persistent storage. This changes the system so
that it loads a users recents into memory lazily (i.e. when
getRecentTasks is called for that user) and unloads them from the
memory as soon as the user is stopped. This also required bucketizing
the taskIds per user, so that the next available taskId can be assigned
without having knowledge of all the tasks that are stored away in
persistent storage but are not available in memory.
Bug-Id: b/24569398

Change-Id: Ia5cb64d9f4ee727225dce34e45ca63e946ac27a8
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
3cdb56efea044112bfe1b97b3ed78ee05e0dba46 11-Nov-2015 Dianne Hackborn <hackbod@google.com> Some debugging improvements.

- Fix dumping of package manager intent filters so the option
to print the filter detail works again.
- Extend dump resolvers to allow you to specify the specific
types of resolvers you'd like to dump.
- Add new package manager commands for querying activities,
services, receivers.
- Move the code for parsing a command line into an intent to
the framework, so it can be used by the new package manager
commands and later elsewhere.

Change-Id: I56ea2bb8c3dd0e5198ee333be8f41ad9dcdb626f
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
2e44107bf7d9ad97833933422ccd241bf53ff50c 29-Oct-2015 Dianne Hackborn <hackbod@google.com> Implement shell commands for battery and activity services.

The battery service just implements the existing commands that
are available through dump.

The activity service implements the small set of commands that
are available through dump (not the rest of the dump commands),
and also introduces some of the simple "am" shell commands as
a proof-of-concept of moving those into the service implementation.

Change-Id: If5ff80930dde787703e2682e43c36ce1dab05d69
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java