summaryrefslogtreecommitdiffstats
path: root/cmds
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Remove some more old code and fix Media commandRoboErik2014-06-191-61/+105
| | | | | | | | | Removes some more hidden apis from AudioService/Manager. This also fixes up Media.java to support commands for the new service to help with debugging. Also fixes a couple bugs that were found while fixing up Media. Change-Id: I68e4aa80a4de430b98236aafc883664b9432c62b
* Support multiple resource tables with same packageAdam Lesinski2014-06-183-159/+184
| | | | | | | | | | | | | | | | | | | | In order to support APK split features, the resource table needs to support loading multiple resource tables with the same package but potentially new set of type IDs. This adds some complexity as the type ID space changes from dense and ordered to potentially sparse. A ByteBucketArray is used to store the type IDs in a memory efficient way that allows for fast retrieval. In addition, the IDMAP format has changed. We no longer need random access to the type data, since we store the types differently. However, random access to entries of a given type is still required. Change-Id: If6f5be680b405b368941d9c1f2b5d2ddca964160
* Plumb split APKs into public API.Jeff Sharkey2014-06-171-0/+8
| | | | | | | | | | | Introduces new ApplicationInfo fields to surface zero or more split APKs for an application. Splice these APKs into both the class loader and resource system. Cleaner building of these paths. Run dexopt() on all split APKs found after a parse, and populate into ApplicationInfo. Change-Id: I4a376bf4492d84ea95aafa866e106ea43a43e492
* Change am get-config command to use ABI string arrayAdam Lesinski2014-06-171-5/+2
| | | | | | | | There is a list of supported ABIs in android.os.Build which is ordered by preference. This is a more flexible list to use instead of 2 fixed ABIs. Change-Id: I6aa3b39b5ffa888ed83a870b937e18328dd6de39
* New command to get device configAdam Lesinski2014-06-161-2/+29
| | | | Change-Id: I7172a3a150fd83e2382ca3e4e4a0188758189f14
* Implement full data backup through transportChristopher Tate2014-06-152-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently no timed/scheduled full-data backup operations are performed by the OS, but the plumbing is now in place and can be tested using 'adb shell bmgr fullbackup pkg [pkg2 pkg3 ...]'. The LocalTransport test transport implementation has been augmented to support the new full-data backup API as well. In addition, 'adb backup' now takes the -compress/-nocompress command line options to control whether the resulting archive is compressed before leaving the device. Previously the archive was always compressed. (The default is still to compress, as it will usually reduce the archive size considerably.) Internally, the core implementation of gathering the full backup data stream from the target application has been refactored into an "engine" component that is shared by both 'adb backup' and the transport-oriented full backup task. The archive file header generation, encryption, and compression logic are now factored out of the engine itself instead of being hardwired into the data handling. Bug 15329632 Change-Id: I4a044faa4070d684ef457bd3e11771198cdf557c
* am 6d758619: Merge "Implement control of auto power save mode." into ↵Dianne Hackborn2014-06-121-2/+32
|\ | | | | | | | | | | | | lmp-preview-dev * commit '6d758619d90a0dda7f1136dcd44d0ac02cdada7e': Implement control of auto power save mode.
| * Implement control of auto power save mode.Dianne Hackborn2014-06-111-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the setting for auto power save mode in both battery service and battery UI. Default level is 15 when setting is not set; otherwise it is whatever the setting gives, with 0 meaning auto battery save is off. Change how we define the "turn off warn" level to be an adjustment from the warn level, so we can have a good value for whatever auto setting is set. Fix power manager to never go in to power save mode when plugged in, even if the user has manually turned it on. Add new delete option to settings command, because I needed it for testing. Change-Id: I512b691df84399d50b8e751fd50732c6093ebe85
* | Merge "Add an --abi argument to "pm install""Narayan Kamath2014-06-031-3/+27
|\ \
| * | Add an --abi argument to "pm install"Narayan Kamath2014-06-031-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows callers to force an install to a particular ABI. This is intended only for testing (and CTS) and is not meant for usage by the installer package. bug: 14453227 (cherry picked from commit 6431d11cd420536aaa9d93ae510a3151ccc4df1d) Change-Id: I85d4f8785deea02a6a4d3cb0b05e6ef8bf64826b
* | | Merge "Read data from stdin/stdout to follow adb change."Jeff Sharkey2014-06-021-4/+3
|\ \ \
| * | | Read data from stdin/stdout to follow adb change.Jeff Sharkey2014-05-291-4/+3
| | |/ | |/| | | | | | | Change-Id: I29ee5e05a538c6836f18b9cc9331c74f41936b29
* | | am f7871c31: am b9b31f4b: am bd4d3203: Merge "Support an ABI flag for ↵Narayan Kamath2014-05-301-2/+29
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | instrumentation." * commit 'f7871c31469c6245c1b232a15104704f7481103c': Support an ABI flag for instrumentation.
| * | am b9b31f4b: am bd4d3203: Merge "Support an ABI flag for instrumentation."Narayan Kamath2014-05-301-2/+29
| |\ \ | | | | | | | | | | | | | | | | * commit 'b9b31f4b8eda123e7b544d1a0fa886576064adca': Support an ABI flag for instrumentation.
| | * \ am bd4d3203: Merge "Support an ABI flag for instrumentation."Narayan Kamath2014-05-301-2/+29
| | |\ \ | | | | | | | | | | | | | | | | | | | | * commit 'bd4d320344833ce67dad3a4e10a61d0502a81d0e': Support an ABI flag for instrumentation.
| | | * | Support an ABI flag for instrumentation.Narayan Kamath2014-05-161-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows us to choose what ABI a process uses when launching it with "adb shell am instrument", for eg. adb shell am instrument --abi arm64-v8a component/runner Note that we only perform very basic validation of the ABI. In general, there is no guarantee that the app will launch with the instruction set we choose, for eg. if it has native libraries that are for a different ABI. bug: 14453227 Change-Id: Ifb7e89b53675080dc87941091ee5ac360f218d7f
* | | | | Merge "SurfaceFlinger: Add sourceCrop to screenshot"Dan Stoza2014-05-281-1/+1
|\ \ \ \ \
| * | | | | SurfaceFlinger: Add sourceCrop to screenshotDan Stoza2014-05-231-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a sourceCrop Rect parameter to screenshot commands, which allows clients to capture only a portion of the screen instead of the whole screen. Bug: 15137922 Change-Id: I629447573cd34ffb96334cde7ba02490b9ea06d8
* | | | | Add ability to uninstall per user to adb shell pm.Kenny Guy2014-05-231-6/+43
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default is still uninstall for all users, but if --user is passed in it will just uninstall for that user. For system apps if --user is supplied it will uninstall rather than revert to the current system version. Change-Id: If1be0f78f01391f7ac6b53150dfeeccd0c002899
* | | | am 1810927a: am eabc93db: am c4c08803: Merge "app_process: change ↵Narayan Kamath2014-05-151-2/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | app_process a symlink of primary version" * commit '1810927a9b8f6d2597d18c0e77389b4a6fcb5118': app_process: change app_process a symlink of primary version
| * | | am eabc93db: am c4c08803: Merge "app_process: change app_process a symlink ↵Narayan Kamath2014-05-151-2/+5
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | of primary version" * commit 'eabc93db1020be4b71f0db7d5b5d3a7991f3c264': app_process: change app_process a symlink of primary version
| | * | am c4c08803: Merge "app_process: change app_process a symlink of primary ↵Narayan Kamath2014-05-151-2/+5
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | version" * commit 'c4c08803a8cc090aa27720e97df342231e8433af': app_process: change app_process a symlink of primary version
| | | * app_process: change app_process a symlink of primary versionYongqin Liu2014-05-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change app_process to be a symlink to the primary version and have app_process32/app_process64 be the 32-bit/64-bit versions respectively. This will make it possible to use the primary zygote for am/pm commands and other scripts that use app_process and don't need a specific zygote. Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org> Change-Id: Ibef545994eb95ddc82101c95df613ad1d06345e6
| * | | am c8a045d4: am 41f40581: Merge "Fix x86 build in app_process."Narayan Kamath2014-05-011-1/+1
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit 'c8a045d451522adab5226b0063f3a15d34542bf7': Fix x86 build in app_process.
| | * | am 41f40581: Merge "Fix x86 build in app_process."Narayan Kamath2014-05-011-1/+1
| | |\ \ | | | |/ | | | | | | | | | | | | * commit '41f40581ee0284660d30be8ef28f6bf721c4ce10': Fix x86 build in app_process.
| | | * Fix x86 build in app_process.Narayan Kamath2014-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Look for __i386__ and not __x86__. (cherry picked from commit 47d526217b3fd0d17ba751c66d25cfaf1c6ed7cd) Change-Id: I848ba351c378e59ab6744ca1983ae4463ae75ba4