summaryrefslogtreecommitdiffstats
path: root/cmds
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Fix issue #17536024: The am start's wait option doesn't..." into lmp-devDianne Hackborn2014-09-171-0/+4
|\
| * Fix issue #17536024: The am start's wait option doesn't...Dianne Hackborn2014-09-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...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
* | Add 'adb dpm' subcommand to set profile ownerEsteban Talavera2014-09-162-14/+51
|/ | | | | | | | | Required for GTS tests. Needed to relax the restriction that only root user can run 'pm create-user' as GTS tests can't get root permissions. Bug: 17312478 Change-Id: I1841286ddf51756c73018c087a5f29afeb5b9f15
* Merge "Whoops, wait around for pm result." into lmp-devJeff Sharkey2014-09-151-1/+5
|\
| * Whoops, wait around for pm result.Jeff Sharkey2014-09-151-1/+5
| | | | | | | | | | | | | | | | poll() returns immediately; we want to take() to wait for the result to actually arrive. Bug: 17510699 Change-Id: I87669e79e9941480fed33e4cc8a38de793d59e90
* | Set device admin on dpm set-device-owner commandEsteban Talavera2014-09-151-9/+26
|/ | | | | Bug: 17312478 Change-Id: I4ef730a97d603352eda77f04a2b00fa97c2be662
* Merge "Bring install and install-multiple into parity." into lmp-devJeff Sharkey2014-09-121-16/+22
|\
| * Bring install and install-multiple into parity.Jeff Sharkey2014-09-111-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures that both are using (almost) identical logic when deciding what installs to proceed with. Installs from "pm" for all users now run as OWNER, and rely solely on INSTALL_ALL_USERS to express intent. This keeps install session notifications simple. Since installer UID can vary from installer package name, start persisting the UID. Also parse some missing flags for install sessions. Bug: 17469392 Change-Id: I6d89b1a787aa2024cc4bebf6b9c29317c358e147
* | Merge "Add new adb dpm (= DevicePolicyManager) command" into lmp-devEsteban Talavera2014-09-125-0/+288
|\ \
| * | Add new adb dpm (= DevicePolicyManager) commandEsteban Talavera2014-09-125-0/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds new adb command to execute DevicePolicyManager tasks. First subcommand allows us to set a device owner on a provisioned device (provided no accounts are associated with the device). This is required as GTS tests run on provisioned devices. We plan to add more subcomands required for new GTS tests, such as the ability to create a managed profile. Bug: 17312478, 17316711 Change-Id: I2613178ea82a6c6268e7f8012e74c4a852fea0d4
* | | Merge "Clean entire arg block when setting process name." into lmp-devJeff Brown2014-09-111-9/+20
|\ \ \ | |_|/ |/| |
| * | Clean entire arg block when setting process name.Jeff Brown2014-09-111-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Android processes fork from Zygote, we rewrite the command line with a new name, eg. "system_server". When we do this, we should fill the entire block with zeros to remove corrupted argument information that may otherwise remain in the /proc/<pid>/cmdline buffer and be seen in tools and stack dumps. Fixed an issue where VM options could be overwritten after setting the nice name if the name was too long. Bug: 17474152 Change-Id: Ie6cf9ed7752a04300a340e26cd6812bb35c59e1b
* | | Merge "Apply cross-user restrictions to Shell" into lmp-devAmith Yamasani2014-09-111-1/+1
|\ \ \ | |_|/ |/| |
| * | Apply cross-user restrictions to ShellAmith Yamasani2014-09-101-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Even though Shell user is allowed to perform cross-user actions, lock that path down if the target user has restrictions imposed by the profile owner device admin that prevents access via adb. If the profile owner has imposed DISALLOW_DEBUGGING_FEATURES, don't allow the shell user to make the following types of calls: start activities, make service calls, access content providers, send broadcasts, block/unblock packages, clear user data, etc. Bug: 15086577 Change-Id: I9669fc165953076f786ed51cbc17d20d6fa995c3
* | Output recent configs in am get-config commandAdam Lesinski2014-09-101-0/+77
|/ | | | Change-Id: Ic516e73d2e72ac0dc3136f7226cedd851fe22b85
* Clean up apks installed for a removed userAmith Yamasani2014-08-291-2/+10
| | | | | | | | | | | | | | When a user is removed, enumerate through all installed packages to see if any of them are not installed for any user. Delete the package if no user has it "installed". Added a pm option to install an apk for a specific user. Fixed a crash in UserManagerService when executing the above cleanup - dying users generate a null UserInfo. Bug: 15426024 Change-Id: I571decde1ae1c257d0da6db153b896aad6d6bcb4
* Change /dalvik-cache to be owned by root.Alex Light2014-08-281-3/+3
| | | | | | | | Bug: 16875245 (cherry picked from commit 79bf4007f559e194205f632b23d2bfb6f8d1e7ba) Change-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66
* Add sample profiling option to am.Jeff Hao2014-08-261-10/+23
| | | | | | | Also bundles all profiling options into a class. Bug: 17040932 Change-Id: I85d675ee1494bdc7308caffdf94145d27c996e9d
* Installing splits into ASECs!Jeff Sharkey2014-08-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Sessions can now zero-copy data directly into pre-allocated ASEC containers. Then at commit time, we compute the total size of the final app, including any inherited APKs and unpacked libraries, and resize the container in one step. This supports both brand new ASEC installs and inheriting from existing ASEC installs. To keep things simple, it currently requires copying any inherited ASEC contents, but this could be optimized in the future. Expose new vold resize command, and allow read-write mounting of ASEC containers. Move native library extraction into the installer flow, since it needs to happen before ASEC is sealed. Move multiArch flag into NativeLibraryHelper, instead of making everyone pass it around. Migrate size calculation to shared location. Separate "other" package name in public API, provide a path to a storage device when relevant, and add more docs. Bug: 16514385 Change-Id: I06c6ce588d312ee7e64cce02733895d640b88456
* Add Shell command to set AppOps permissionsAdam Lesinski2014-08-195-0/+348
| | | | Change-Id: I6446543b27f0d2d2e69590a2807e713c6d5ccbbc
* Merge "PackageInstaller API refactoring." into lmp-devJeff Sharkey2014-08-151-95/+66
|\
| * PackageInstaller API refactoring.Jeff Sharkey2014-08-151-95/+66
| | | | | | | | | | | | | | | | Switch to using IntentSender for results to give installers easier lifecycle management. Move param and info objects to inner classes. Bug: 17008440 Change-Id: I944cfc580325ccc07acf22e0c681a5542d6abc43
* | Fix crash in legacy apps that register without a looperRoboErik2014-08-141-1/+9
|/ | | | | | | | | Some legacy apps registered their media button receiver in a thread without a looper. If this happens we need to use the main looper to prevent a crash. bug: 16306226 Change-Id: Idf472e649393e2a7ce2a3e1cbb3476003ab17f34
* Merge "Add an onSessionDestroyed callback to MediaController.Callback" into ↵RoboErik2014-08-141-0/+7
|\ | | | | | | lmp-dev
| * Add an onSessionDestroyed callback to MediaController.CallbackRoboErik2014-08-131-0/+7
| | | | | | | | | | | | | | | | Callbacks on the controller need to know when the session ceases to exist. bug:17009030 Change-Id: I0f1c1cfc51f7dd2203955287cc269667d3765ee4
* | Persist the cpuAbiOverride setting.Narayan Kamath2014-08-131-0/+4
|/ | | | | | | | | | If an app is installed with an ABI override (adb install -r --abi) we should remember this so that we don't revert to the scan derived ABI on the next reboot. bug: 16476618 Change-Id: I6085bc0099eb613dd9d3b07113c7c13859780697
* Surface user action events when un/installing.Jeff Sharkey2014-08-071-6/+13
| | | | | | | | This will be used shortly to connect up with permissions confirmation UI. Bug: 16515814 Change-Id: If28cecc28549900d960ac107a1fba0b10ce5bd7b
* Add display metadata and change strings to CharSequencesRoboErik2014-08-051-1/+1
| | | | | | | | | This adds some fields for display purposes to MediaMetadata and also makes the default for all text CharSequence instead of String. Also adds a hidden method for getting a Description for the metadata. bug: 11708293 Change-Id: I0ed58d9ac3aeff41325c4ccf5fed0539bbf03b4d
* Allow adding widgets from user profiles.Svetoslav2014-08-051-1/+1
| | | | | | | | | | | | | The goal of this change is to enable support for appwidget from user profiles to the user main profile. A user profile is a user which is associated as a child of the main user profile. For example, a user may have a personal (parent) and corporate (child) profile. The device policy should be able to control whether adding a widget from a child profile and given packages is allowed. This change assumes that all packages from managed profiles are white listed. Another change will add the device policy changes. Change-Id: I267260b55d74c48b112a29979a9f59eef7a8194e
* Persist install sessions, more lifecycle.Jeff Sharkey2014-07-311-8/+14
| | | | | | | | | | | | | | | | | | | | | | To resume install sessions across device boots, persist session details and read at boot. Drop sessions older than 3 days, since they're probably buggy installers. Add session callback lifecycle around open/close to give home apps details about active installs. Also give them a well-known intent to show session details. Extend Session to list staged APKs and open them read-only, giving installers a mechanism to verify delivered bits, for example using MessageDigest, before committing. Switch to generating random session IDs instead of sequential. Defensively resize app icons if too large. Reject runaway installers when they have too many active sessions. Bug: 16514389 Change-Id: I66c2266cb82fc72b1eb980a615566773f4290498
* Add context to MediaController constructorRoboErik2014-07-281-20/+57
| | | | | | | | This also adds a convenience method to MediaSession to allow getting a controller instead of having to create and cache your own. bug:16561220 Change-Id: I87f551a7474e71f1cf2f07e0e541c3a4515cd977
* Add getPackageName to MediaControllerRoboErik2014-07-251-9/+7
| | | | | | | | | This removes the MediaSessionInfo class and adds a method on the controller to get the package name. This also converts code that depended on the session's UUID to use the token for comparison or the Tag in the case of test code that needs a string identifier. Change-Id: Icb8dc76c70e23e897da8fd07651c524b96372bf9
* Offer force-dex-opt when running as root.Jeff Sharkey2014-07-251-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Recently we removed the PackageManager inotify triggers, meaning the only supported ways of installing apps were: -- adb install -r Foo.apk -- adb shell stop && adb sync && adb shell start Iterating on most system apps (like Settings) can use the first approach, but it doesn't work for "persistent" processes like SystemUI. (ActivityManager is very particular about how it deals with persistent apps, and it always sticks with the first ApplicationInfo found at boot.) So to enable rapid iteration on persistent apps, we now offer the one missing piece of forcing a dexopt with a new pm force-dex-opt command only available to -eng or -userdebug builds. Typical use for iterating on persistent apps now looks like this: $ mmm frameworks/base/packages/SystemUI/ && adb sync && adb shell pm force-dex-opt com.android.systemui && adb shell kill `pid systemui` Yay! Change-Id: I0ae2467f1d7cda56c70ba20953cd25fa8ee766ff
* PackageInstaller changes based on feedback.Jeff Sharkey2014-07-251-19/+22
| | | | | | | Mostly cosmetic changes from API council feedback. Bug: 16543552 Change-Id: Ic926829b3f77c31f50a899c59b779353daf00d59
* Turn on debugging override of idle timeChristopher Tate2014-07-251-1/+1
| | | | | | | | | | | 'adb shell am idle-maintenance' has traditionally been used to force the system to consider itself to be in an "idle" state. Unfortunately the new Job Manager hadn't yet been aware of this. Rectify the situation. Also fixes a bug in debug logging that would cause a system server crash under certain race circumstances. Change-Id: I8a29bd7757924f8e464865235c344233fc03d8c3
* Adding shell commands for grant/revoke of bind app widget permisison.Svet Ganov2014-07-235-0/+378
| | | | | | | | | | Testing the app widget APIs requires binding of widgets which is guarded by a system signature permission or white listing. Since CTS tests can not be signed with the platform certificate, they should be able to temporariliy white list their package. This command adds the ability to grant and revoke the provilege to bind app widgets to a given package. Change-Id: I6de1bbf27ac684ec47e61157f19ec6d29e2db979
* Rename setApplicationBlocked to setApplicationHiddenAmith Yamasani2014-07-211-10/+10
| | | | | | | | This corrects the expected behavior of the app state. Hidden apps can be installed by the store to be brought out of hidden state. Bug: 16191518 Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335
* Install sessions only inherit APK files.Jeff Sharkey2014-07-161-5/+6
| | | | | | | | | Also track historical install sessions for debugging purposes. Hide signature verification API for now. Clear code cache only after killing the app being upgraded. Bug: 14975160 Change-Id: I52fc7f11d2506f792236d8a365c8cfed21b46c30
* Make MediaSession and MediaController constructors publicRoboErik2014-07-161-2/+2
| | | | | | | | | | This makes the MediaSession/Controller constructors public and registers with the system behind the scenes. This also adds a bit about needing to call setActive(true) to start receiving commands in MediaSession's docs. Change-Id: If882d229b54c36bf0831aca0255052dda667a2bc
* Merge "Public API for PackageInstaller!" into lmp-devJeff Sharkey2014-07-151-2/+2
|\
| * Public API for PackageInstaller!Jeff Sharkey2014-07-141-2/+2
| | | | | | | | | | | | | | | | Flesh out documentation and finalize first cut of API. Also surface installLocation and splitNames through PackageInfo. Bug: 14975160, 15348430 Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
* | Pass install result message; path selection.Jeff Sharkey2014-07-141-21/+19
|/ | | | | | | | Oops, forgot to include message argument to invoke the new-style callback. Also use more robust way of generating cluster APK directory names, and add more logging details on rename failure. Change-Id: Ifa8abdd1db58b73e13b9a8077ec126cf20a0d90e
* Delete first draft of media routing APIs.Jeff Brown2014-07-141-6/+0
| | | | | | The new APIs will not be as tightly integrated into MediaSession. Change-Id: I5cfd37d9d8d0c5d46c55edb5cf0772a8f1ef13ab
* Package installation listener events.Jeff Sharkey2014-07-121-5/+8
| | | | | | | | | | | | | Flesh out implementation of install session observers. Carve out 20% of published install progress for final system operations such as dexopt, etc. Add dumpsys output for active install sessions. Create explicit fsync() instead of overriding meaning of flush(). Hack to throw IOExceptions over Binder calls. Bug: 14975160, 15348430 Change-Id: I874457e40c45d2661bc0a526df9285ffea4bb77c
* Progress toward installer public API: callbacks.Jeff Sharkey2014-07-111-10/+36
| | | | | | | | | | | | | | | Instead of surfacing all the existing cryptic error codes, we're going to classify them into broad categories when surfacing through public API. This change introduces InstallResultCallback and UninstallResultCallback, and wires them up to existing AIDL interfaces. Also start defining general SessionObserver for apps interested in general progress details, such as Launcher apps. Details about active sessions are returned through new InstallSessionInfo objects. Bug: 14975160 Change-Id: I068e2b0c30135f6340f59ae0fff93c321047f8f9
* Extend pm to support sessions and split APKs.Jeff Sharkey2014-07-091-44/+223
| | | | | | | | | | | | Separate commands to create an install session, stream files into the staging area, and then commit the install. Streaming can accept data from stdin across adb, avoiding extra copy from push. Extend FileBridge to support blocking close(). Always destroy session regardless of result. Bug: 14975160 Change-Id: Ic3f462e7d1901079b785e210228950cdfa676466
* Clean up IPackageManager install surface area.Jeff Sharkey2014-07-081-95/+6
| | | | | | Also more removal of encryption support. Change-Id: If525dc5a8422134515f225a8ac4731e968069468
* SkBitmap::Config is deprecated, use SkColorTypeMike Reed2014-07-071-10/+10
| | | | Change-Id: Ida181d2aac760072cf2d01409edac37699dea216
* Add 'fullbackup' to bmgr's usage statementChristopher Tate2014-06-241-4/+11
| | | | | | | | Also make it handle the list of packages to be backed up as a single multiple-app argument to fullTransportBackup() rather than N calls each backing up one app. Change-Id: I9fe4d5caca54fafef70ffe9af4c26e3941dc5d26
* stop using (deprecated) SkBitmap::ConfigMike Reed2014-06-201-5/+6
| | | | Change-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b