27eb8a85c49daee3c360b878be972e1540ad57ba |
|
26-May-2017 |
Jeff Sharkey <jsharkey@android.com> |
Consistent "low storage" behavior. When answering the question "how much space is free", use the same logic for Settings UI and StorageManager.getAllocatableBytes(). That is, the reported free space is usable bytes plus any cached data the system is willing to delete automatically. This does *not* include any reserved cache space, since we don't want abusive apps to penalize other well-behaved apps that are storing their data in cache locations. Callers freeing cached data need to now explicitly request defiance of the reserved cache space. (Most callers are already doing this by using FLAG_ALLOCATE_AGGRESSIVE.) Rewrite the core logic of DeviceStorageMonitorService to understand this new "reserved" cache space, and to be easier to understand. It also now handles cached data on adopted storage volumes, which had been ignored until now. Also fix bug where we had skipped "low" broadcasts when the device skipped directly from/to "full" state. Bug: 38008706 Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest Change-Id: Icbdcf3b52775f7ada1ceaeff2f96094c8d8052f9 (cherry picked from commit ddff807b762a8a455287abc97aea8f97b98fb104)
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.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/cmds/pm/src/com/android/commands/pm/Pm.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/cmds/pm/src/com/android/commands/pm/Pm.java
|
24d5893b25ce62b7bc9ed9f35fa72b9d47f23cdd |
|
21-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Added a UserManager.DISALLOW_AUTOFILL restriction. bug: 35710740 Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.LoginActivityTest#testUserRestriction Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDisallowAutofill_allowed Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedProfileOwnerTest#testDisallowAutofill_allowed Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testDisallowAutofill_allowed Change-Id: I41b2bf9fe3bc8df627c6650960bd11346c430a7e
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
1665d0f028e3a225cb117d3e227bef5c5dace2d4 |
|
10-Mar-2017 |
Adam Lesinski <adamlesinski@google.com> |
Add support for configForSplit Applications with the android:isolatedSplits="true" attribute in their AndroidManifest.xml would have their Split APKs loaded in isolation of each other, based on a set of dependencies. Configuration Splits generated for a Feature split would not be properly loaded before, so this change, along with a tools change, fixes this issue and completes support for isolatedSplits. Bug: 30999713 Test: CTS test coming (depends on some tool changes) Change-Id: Ia4e7b0e69168a9d6637867558e306f7031720fb3
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
6d7cb232362d8036875d1d3c3f0e8f5d47a2ad25 |
|
30-Jan-2017 |
Sunny Goyal <sunnygoyal@google.com> |
Sending explicit broadcast to the launcher when a package is installed Test: Manually tested on device and add CTS tests Bug: 32920609 Change-Id: Ic23c077a469fb41d6c4e123d4bc022899f634198
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ed4cd7a1ba0e05bf89d750d88194504ec14d63ab |
|
21-Feb-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Log pm install time and package name"
|
4b4ce6fa177b52c99b87c4d45c0a85860eb267a0 |
|
17-Feb-2017 |
Fyodor Kupolov <fkupolov@google.com> |
Log pm install time and package name Bug: 32559349 Test: manual Change-Id: Ibfbea8cab2ab085109ee4d5a248bfacf82cdfbbb
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
be0b8896d1bc385d4c8fb54c21929745935dcbea |
|
15-Feb-2017 |
Todd Kennedy <toddke@google.com> |
Revert "Revert "Per user setting for instant app"" This reverts commit be9ffa15af9e1906e9ffb505768328d62d4a3793. Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest Change-Id: Ib21321cf157a79890de487060a093840f7182047
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
f88ebeb2506d3daed3fe0a71f6e1f5cde34406cd |
|
15-Feb-2017 |
Sudheer Shanka <sudheersai@google.com> |
Use correct packageName for checking if it belongs to callingUid. In AccountManagerService.getAccountsAsUser, we check if opPackageName belongs to calling uid by calling AppOpsManager.checkPackage. But when AccountManagerService.getAccountsAsUser is called from AccountManagerService.addSharedAccountsFromParentUser, we're using the opPackageName from system context instead of calling context. Bug: 35258008 Test: cts-tradefed run singleCommand cts-dev --module CtsMultiUserHostTestCases \ -t android.host.multiuser.CreateUsersPermissionTest#testCanCreateRestrictedUser Change-Id: I5c425d9314beb86f7c64a5b5c64b7d879711879a
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4e8628157ad0c8c52e74b720eb0328086272ffda |
|
22-Nov-2016 |
Adam Lesinski <adamlesinski@google.com> |
Add support for Split APK dependcies Apps can now declare in their base APK AndroidManifest.xml that they want to have their split APKs loaded in isolated Contexts. This means code and resources from the split get loaded into their own ClassLoader and AssetManager. <manifest xmlns:android="..." ... android:isolatedSplits="true" ... In order to make this more useful, splits can declare dependencies on other splits, which will all get pulled in to the Context and run as expected at runtime. A split declares its dependency on another split by using the tag <uses-split> in its AndroidManifest.xml: <manifest xmlns:android="..."> ... <uses-split android:name="feature_split_1" /> ... A split can have a single parent on which it depends on. This is due to the limitation of having a single ClassLoader parent. All splits depend on the base APK implicitly. PackageManager verifies that no cycles exist and that each dependency is present before allowing an installation to succeed. The runtime will then load splits based on the dependencies. Given the following APKs: base <-- split A <-- split C ^----- split B If an Activity defined in split C is launched, then the base, split A, and split C will be loaded into the ClassLoader defined for the Activity's Context. The AssetManager will similarly be loaded with the resources of the splits. A split can be manually loaded by creating a Context for that split, defined by its name: Context.createContextForSplit("my_feature_split_1"); All installed Activities, Services, Receivers, and Providers are accessible to other apps via Intent resolution. When they are instantiated, they are given the appropriate Context that satisfies any dependencies the split they were defined in stipulated. Test: WIP (CTS tests to come) Change-Id: I8989712b241b7bc84381f2919d88455fcad62161
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
6788212d17f54475ca9c3dd689a863e031db868f |
|
12-Dec-2016 |
Svet Ganov <svetoslavganov@google.com> |
Platform support for static shared libraries This change adds support for static shared libraries that emulate static linking allowing apps that statically link against the same library version to share a common implementation. A library is hosed by a package in a standard APK. Static shared libraries have a name and a version declared by a dedicated manifest tag. A client uses also a new tag to refer to the static library it uses by specifying the lib name, version, and the hash of the signing certificate. This allows two apps to rely on two different library versions and prevents impersonation of the shared library by a side-loaded app with the same package name. Internally apps providing static libs use synthetic package name generated from the manifest package name and the library version. This allows having different "versions" of the same package installed at the same time. An application cannot be installed if a static shared lib it depends on is missing. A used shared library cannot be uninstalled. Shared libraries can rotate certificates like normal apps. The versions of these libs should be ordered similarly to the version codes of the hosting package. Such libs cannot use shared user id, cannot be ephemeral, cannot declare other libraries, cannot rename their package, cannot declare child-packages. They must target O SDK. Also they cannot be suspended or hidden or their uninstall blocked. Generally, speaking policy regarding code in static shared libs should be applied to the packages using the library as it could have just statically linked the code. We now have APIs to query information about the shared libraries on the device in general. To clients static shared libraries are presented as multiple versions of the same package which is how they are declared and published. Therefore, one can have two versions of the same package which means we need way to query for and uninstall a specific version of a package. Also static shared libs can depend on other static shared libs which are versioned packages. To ease representation we add the concept of a versioned package which should be used in the case of static shared libs. A client can see only the static shared libs it depends on and more specifically only the versions it depends would be retrieved by using the standard package manager APIs. There is a new dedicated API to get info about all shared libraries which would provide data about all static shared lib versions. Also these libraries must use v2 signing scheme. Test: CTS tests pass bug:30974070 Change-Id: I4f3d537ee7a81f880950377b996e1d9d4813da5c
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
b7717682495e51f602004dfbfabdf767d3fbf3de |
|
01-Dec-2016 |
Todd Kennedy <toddke@google.com> |
Add system API to install ephemeral apps Test: manual; install using "adb install --ephemeral" Change-Id: Idce214779fea5f3c4a0121542319044f9f0e0a42
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 |
|
11-Nov-2016 |
Sudheer Shanka <sudheersai@google.com> |
Update usage of ActivityManagerNative. - Remove references to ActivityManagerProxy. - Add isSystemReady to ActivityManager. Bug: 30977067 Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \ -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
9caf94e535a1a7573ad61fbc487b74d122ca4d29 |
|
13-Oct-2016 |
Todd Kennedy <toddke@google.com> |
force appropriate size during install, the user could specify an invalid size [ie. a negative number]. also error out if we're given a path that's not a file. Change-Id: I79e9ef82723495782146208eb5469722d1f8ed02 Test: manually ran 'adb install' with invalid arguments
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
852638dad613c8cbeee6e7a52a46968a75b4e423 |
|
11-Oct-2016 |
Shunta Sato <Shunta.Sato@sonymobile.com> |
Fix: "adb install -s" adaptation for session based install am: 4f26cb5a36 am: 55bcb9f422 am: 4549426d6e Change-Id: I400fc32717172cca401e3ccdae9a6b17687390b6
|
4f26cb5a36487b3f5b497804faebe16241c15d54 |
|
28-Jun-2016 |
Shunta Sato <Shunta.Sato@sonymobile.com> |
Fix: "adb install -s" adaptation for session based install Internal implementation of "adb install" has been changed to session install. As a result '-s' option doesn't work. Size info is required when using '-s' option in session install. PackageHelper.fitsOnExternal() returns false and moving app to SD is failed when size info is not set. So set size info when '-s' option is used. And change identity on some method because shell doesn't have some permission to access to asec. Bug: 29932779 Author: Ryuki Nakamura <ryuki.x.nakamura@sonymobile.com> Change-Id: I65edcc0f01ceecaaba17792ad329791a9253d603
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
7cb54a34c44547b55200e4be15be397f6a363c55 |
|
16-Sep-2016 |
Sudheer Shanka <sudheersai@google.com> |
Allow some packages to be excluded during during work profile creation. Bug: 31657192 Test: adb shell am instrument -e class com.android.server.pm.UserManagerTest#testAddManagedProfile_withDisallowedPackages -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner Change-Id: I37eab6084e0f911d0e2407186b789875588194a2
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.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/cmds/pm/src/com/android/commands/pm/Pm.java
|
b75fc2b2b7ec5e3d8f45bcd9c7078ec0a8c143fe |
|
23-Jun-2016 |
Amith Yamasani <yamasani@google.com> |
Add tron logging for retail demo session counters Count each demo user creation and time between first touch (to dismiss the video) and the start of inactivity timeout. Fixed an NPE in SysUI when user switcher is missing. Bug: 29540372 Change-Id: I7bc0e0dde75e7b213a025683c15c9b3e750643a9
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
bf0a9a7445ffb8718d238d43833f48893e8d5d41 |
|
16-Jun-2016 |
Sudheer Shanka <sudheersai@google.com> |
Add pm operation to set user restrictions. Bug: 29189712 Change-Id: I6fdb3b68dfe3f51119e5ce8008880fc7d9c793df
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
0c4e6a8da3405f742e5cef8afdf579d58b6f1246 |
|
14-May-2016 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #27532364: Security Vulnerability in IIntentSender.send We need to make IIntentSender oneway... but when the system is calling that for itself, it needs to be able to return a result code. Solution: instead of directly calling the interface, we have a new IPC through the activity manager. If the thing being used is the activity manager impl, it can do the synchronous send and return the result directly in place. If not, you only get asynchronous sending and thus never a failure result back (too bad for you!). Change-Id: I4096e5b00063e8dba66230585a2dfe67e35e8092
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
b1072718130b998e6d25bc3358eefa62b4fa5a2d |
|
27-Apr-2016 |
Todd Kennedy <toddke@google.com> |
Don't override pre-release target sdk If a package targets a pre-release SDK [eg a letter version] it should not be allowed to be upgraded by a release SDK [eg a number version]. If one absolutely must upgrade to a release SDK, use the "--force-sdk" option during install. Bug: 28345311 Change-Id: Ic9fb209968e7c5da2c80c5ca4c0f44f5125f610a
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
47763629fe5469d1ea3fb20e42f247da6513cdd2 |
|
19-Apr-2016 |
Todd Kennedy <toddke@google.com> |
Add "do not kill" install option Passing the "--dont-kill" argument to pm install-create can be used to install a feature split without killing the contianing application. Use with caution. Bug: 27780548 Change-Id: I743ac4f640c9c4251d1b3bc70ddf428bd79e07bf
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4d709f998d5a13180d0ad6d9848456556129dabc |
|
29-Mar-2016 |
Fyodor Kupolov <fkupolov@google.com> |
Fixed arguments order for addSharedAccountsFromParentUser Bug: 27900775 Change-Id: I8c48fabddb778bfd94333d4dcdd296fef87cb59a
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
88b42855c95779fd6f0817bc2ee9ff5e49f1b37e |
|
25-Feb-2016 |
Alex Klyubin <klyubin@google.com> |
Only debuggable packages can be downgraded. This reflects the change in PackageManager service: frameworks/base commit 921dd754ab49df0cd580ff96503f7616c4c85f4a. Bug: 27327503 Change-Id: Ic13788a3850c4d1a3a566b208853de9a6d2c5237
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
8d9366cfe9657e6884c00e728bc3b4e8b191bc53 |
|
16-Dec-2015 |
Todd Kennedy <toddke@google.com> |
Remove 2nd line from failure In an attempt to provide more detailed information to the end-user, we caused tests to fail [they parse the output of the 'pm' command]. Remove the 2nd line of the output that was causing the failure. Also took the opportunity to merge changes from the Pm command to the Cmd command. Bug: 26131598 Change-Id: I459f9ec8978d87dd571136222f780039e426474e
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
1fd413f63779b7cc42fc3890f9416a282270b56a |
|
08-Dec-2015 |
Todd Kennedy <toddke@google.com> |
Merge "Temporarily stop proxying to cmd"
|
c4dd021322d38ea32ac49930e904b6d08ce6490c |
|
18-Nov-2015 |
Lenka Trochtova <ltrochtova@google.com> |
Introduce ephemeral users. BUG: 24883058 Change-Id: I2e1d6aa184142c2a3dc0415c0cd407573453cf41
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
9619d049bfb24dbd7be83543e2c66fe4b0d0594b |
|
02-Dec-2015 |
Todd Kennedy <toddke@google.com> |
Temporarily stop proxying to cmd Unless the APK is streamed, proxying pm install commands to the cmd command will generally not work on any system that has SElinux enforcement. This is due to the system sever [where cmd commands are run] not having access to the directories where files are uploaded to. We'll re-enable the proxy once we determine an appropriate, safe location for uploaded APKs. Bug: 25769800 Change-Id: I73b2da0b03fe8bd9ce29e20b37cb4eeff9b491b4
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
2699f065558ba78066887210b0c7346105959860 |
|
20-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Add ephemeral installs * Add a new --ephemeral argument to 'adb install' * Add plumbing to internally track ephemeralness * Create new app directory for ephemeral installs Bug: 25119046 Change-Id: I1d379f5ccd42e9444c9051eef2d025a37bd824fe
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
72cfcd02b89838264b018e9b9417d2829c87b7e2 |
|
04-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Move 'un/install' to cmd Move the implementation of the install variants and uninstall to the cmd command. Additionally, make two other important changes: 1) replace calls to the legacy PackageManager#installPackageAsUser with the PackageInstaller 2) allow streaming package bits for 'pm install' Change-Id: I5680f57208d377daadb69b2cc09c233c02fe5016
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
18bc3305e43a040018add48c97cfbc7b3d9ecf7c |
|
09-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Revert "Move 'un/install' to cmd" This reverts commit ec059d839de6d061085dcfd85ce6565dcf4d5b69. Change-Id: Ieaa1373e96fb4cc20aa41c3159518bd9e86c572b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ec059d839de6d061085dcfd85ce6565dcf4d5b69 |
|
04-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Move 'un/install' to cmd Move the implementation of the install variants and uninstall to the cmd command. Additionally, make two other important changes: 1) replace calls to the legacy PackageManager#installPackageAsUser with the PackageInstaller 2) allow streaming package bits for 'pm install' Change-Id: Ia49dac0ccd6470f9d1c1964bdeb3c0b22b856075
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ce8bf86d6d6d3342d6b94c90fcfe382070127eb2 |
|
05-Nov-2015 |
Brian Carlstrom <bdc@google.com> |
Merge "Fixes for sm and pm usage" am: ffb15da518 am: 671d5965f7 am: f73e78fe1c * commit 'f73e78fe1cb6803a29f7f85b49792f4e8a7350c8': Fixes for sm and pm usage
|
82bfca4609244f2b8169bd779765791d6638b448 |
|
05-Nov-2015 |
Brian Carlstrom <bdc@google.com> |
Fixes for sm and pm usage sm showed IllegalArgumentException after usage. pm inconsistently used "return showUsage()" Bug: 20948199 Change-Id: I5828489a9d4ef2eabfb97dd408d66e1560a5a983
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
60459abb211a11caf71238a44f543fdc18289772 |
|
30-Oct-2015 |
Todd Kennedy <toddke@google.com> |
Implement shell commands for package and user services Only implement the 'list' package service command. More will follow in future CLs. Change-Id: Iae225cd4ee63c7d468a4fd882d8cb4b6b76ccc09
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
f5bf0de1aa939531f1efe6696c17d42c1980f57a |
|
20-Oct-2015 |
Xiaohui Chen <xiaohuic@google.com> |
clean up USER_OWNER in Pm command Change-Id: I3092cdf1ca619b4c1ba881955b8a55b97ba10e24
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
80435a7fcd98e5ad1a0537a9646be2fca575f3bb |
|
15-Oct-2015 |
Brian Carlstrom <bdc@google.com> |
am bd5b6252: am b9a28ae1: am f916524f: Merge "Add support for --user to "pm path" for work profile use" * commit 'bd5b6252a5dd068c2db30fbbd16e87a656047197': Add support for --user to "pm path" for work profile use
|
f916524f44c9955e7c747e5319d17c46a61a3c4c |
|
15-Oct-2015 |
Brian Carlstrom <bdc@google.com> |
Merge "Add support for --user to "pm path" for work profile use"
|
008b932d9503ccdca02020e5ef03a5e7380a430f |
|
03-Oct-2015 |
Makoto Onuki <omakoto@google.com> |
Fix "pm list permissions GROUP" The command wasn't parsing a group name correctly. Change-Id: I966e56e2f7b3eab2531be6bec8f744735b865910
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
02cb6e773b323a0d54b21f43460a23f668b7727c |
|
19-Sep-2015 |
Fyodor Kupolov <fkupolov@google.com> |
Added --restricted option for create-user command Also moved restricted profile create/setup logic from Settings to UMS.createRestrictedProfile. Bug: 24212155 Bug: 24303609 Change-Id: I0346a3368de53f4bb4b6e054349f19adac959d7f
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
9249a9097707bb57ae0a7d114eff54bc82ad462d |
|
26-Sep-2015 |
Bart Sears <bsears@google.com> |
Revert "Added --restricted option for create-user command" This reverts commit 737b216b5c28f7d7162f219136d4e8a9eb1a486b. Change-Id: I4c43967933bb2e46cdb8ad6e643d7037d722cab2
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
f83612b295bd4a50eeea74a262edd2db4ce7fdf0 |
|
24-Sep-2015 |
Brian Carlstrom <bdc@google.com> |
Add support for --user to "pm path" for work profile use Change-Id: Ic8bb923e15a40f32cc7daa6a344250abfc81e423
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
737b216b5c28f7d7162f219136d4e8a9eb1a486b |
|
19-Sep-2015 |
Fyodor Kupolov <fkupolov@google.com> |
Added --restricted option for create-user command Also moved restricted profile create/setup logic from Settings to UMS.createRestrictedProfile. Bug: 24212155 Bug: 24303609 Change-Id: I5f0d48bcbd3c0b51927926b874fd057c15ac5219
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
dcaf0eccb25edd4cb34531b21ebd0dab11bb9f99 |
|
26-Aug-2015 |
Chris Tate <ctate@android.com> |
am 748dd873: am 8d662a07: am e49dcfed: am 9b7a4ac5: am e62421f1: Merge "Teach Pm about the "always ask" link-handling state" into mnc-dev * commit '748dd8736fa15f426a5accb265141a6046aa2636': Teach Pm about the "always ask" link-handling state
|
47dd08d7fb81ac4fa351111e9d5183cc8cc87d17 |
|
25-Aug-2015 |
Christopher Tate <ctate@google.com> |
Teach Pm about the "always ask" link-handling state Bug 23511867 Change-Id: I74b3c8222a7d22541a96b698edd1a175d378e48f
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
2a5c3e59c8c7bb5a8c57b0ffb966487c6d3303f6 |
|
24-Aug-2015 |
Xiaohui Chen <xiaohuic@google.com> |
pm: translate incoming user id for installation Currently the pm install commands will not take virtual user id like -2. Adding this feature will make it easier to install packages in a multi-user environment. Bug: 19913735 Change-Id: I68b13cf8f2290158f0f4ec5c0966853719c2e80f
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
848dd4bfc9575956187eccfc7c563eb9dd64a2b4 |
|
14-Aug-2015 |
Chris Tate <ctate@android.com> |
am 14e12258: am 13845aea: am b2d4c550: am b47890c4: am 7e7d79ef: Merge "Make "Ask every time" actually work that way" into mnc-dev * commit '14e122582c45e236bf2e4c59d10438816f2eed09': Make "Ask every time" actually work that way
|
56f0ff3c48c88b969d9bf5e62eb1ee590e03e461 |
|
14-Aug-2015 |
Christopher Tate <ctate@google.com> |
Make "Ask every time" actually work that way ..in link-opening behavior. If a candidate is marked as "ask every time," then the user is guaranteed to get a disambiguation prompt including that candidate even when some other candidate app is in the "always prefer this over a browser" state. Bug 23147746 Change-Id: I904d8697a992b3f16f32b1c1b49c2bf9424c7137
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
2ccf49e7f465dc0fb2b78c28cf7a38f7e4bbe140 |
|
04-Aug-2015 |
Xiaohui Chen <xiaohuic@google.com> |
Clean up USER_OWNER references in am/pm commands. Bug: 19913735 Change-Id: I9cd27dc037048f4e5e312c769fc59669a4abf3e3
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
6323fff7df629cb3c3585118f124e86a8c64af4e |
|
24-Jul-2015 |
David Stevens <stevensd@google.com> |
Merge "Add cmd to reset default component enabled setting"
|
f6ec60dd1e9c49f1350d0beaf042b32f9c66ef5e |
|
23-Jul-2015 |
David Stevens <stevensd@google.com> |
Add cmd to reset default component enabled setting Change-Id: Ice5e366643bb5c536b579089dcc98e06c9bb5645
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
387225ff0173986d1c7f0e8d0a657117ad51cf15 |
|
21-Jul-2015 |
Christopher Tate <ctate@google.com> |
Add 'pm' operation to set a package's app-linking state Set an app's state: pm set-app-link [--user USER_ID] PACKAGE {always|ask|never|undefined} Read an app's current state: pm get-app-link [--user USER_ID] PACKAGE The latter prints to stdout one of the strings usable as an argument to set-app-link. If an error is encountered, the string printed to stderr begins with "Error: ". Bug 19628527 Change-Id: I68b6dc24445917807345a8cf5baa2078490740af
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
396080dd021c431c895012b0e4262021b457abf2 |
|
09-Jul-2015 |
Jeff Sharkey <jsharkey@android.com> |
Add grant flag support to "install-create" verb. This matches the "install" behavior. Bug: 22331569 Change-Id: I07bfe067bd4be01fc92126750b0ff25a5c5ba5c9
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ca8e6da41c6e63e3ed17eb461171f1ef2e1d29c6 |
|
25-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22023824: Download folder is not created in internal storage The media provider and some other things need to be given storage access. Also, seems like we should give storage access to the camera app as well. And add a dump dump command that will dump data about a particular permission name. Change-Id: Idaaa9bba2ff4dc95290cf6d17e5df933df91e909
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
a750a63d639f6936af456df904fa6b9ba941885e |
|
17-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ab2340996a515ea0c437ad5bb1ea1fa88ab9edff |
|
10-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Flags to select storage volume for app installs. Remote callers can now provide the "--install-location" value from the APK to help select a location, or they can explicitly force a volume by UUID. Bug: 21676789 Change-Id: Iefc92d770a851fc33e37edbf259fdb8df2b14ae5
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4ccca50d7e501154127ac360e0fcbae850b1bbc8 |
|
15-May-2015 |
Svet Ganov <svetoslavganov@google.com> |
Fix grant/revoke to act on owner by default and log invalid user id. bug:21163229 Change-Id: I66d0cc130b37b5752ed06afc73259ed41bfb7830
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
8c7f700a59ad26e75c9791335d78f14322cad49a |
|
07-May-2015 |
Svet Ganov <svetoslavganov@google.com> |
Add permission meta-state flags to support grant/revoke permission policy. We now maintain a mata-state with each permission in the form of flags specyfying the policy for this permission. This enables support of the following use cases: 1. The user denies a permission with prejudice in which case an app cannot request the permission at runtime. If an app requests such a permssion it gets a denial unless the user grants the permission from settings. 2. A legacy app with disabled app-ops being upgraded to support runtime permissions. The disabled app ops are converted to permission revocations. The app ops manager is a part of the activity manger which sits on top of the package manager, hence the latter cannot have a dependency on the former. To avoid this the package installer which is the global permission managment authority marks the permission as revoked on upgrade and the package manager revokes it on upgrade. 3. A device policy fixing a permission in a granted or revoked state. This additional information is folded in the meta-state flags and neither apps can request such permissions if revoked not the user can change the permission state in the UI. Change-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
275e3e43f2fba72fa99001cafa2a70e5478fc545 |
|
25-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Migrate primary external storage. Wire up through MountService to call down into vold. Watch for unsolicited events that report progress, including special value "82" that signals that copy has finished. We use this value to persist the volumeUuid in case of unexpected reboot, since it indicates the new volume is ready. Wire progress updates through existing callback pipeline. Update the volume mounting code to match against the persisted UUID when selecting the primary external storage. Bug: 19993667 Change-Id: Id46957610fb43517bbfbc368f29b7d430664590d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
620b32b316fd4f1bab4eef55ec8802d14a55e7dd |
|
24-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Package and storage movement callbacks. Since package and primary storage movement can take quite awhile, we want to have SystemUI surface progress and allow the Settings app to be torn down while the movement proceeds in the background. Movement requests now return a unique ID that identifies an ongoing operation, and interested parties can observe ongoing progress and final status. Internally, progress and status are overloaded so the values 0-100 are progress, and any values outside that range are terminal status. Add explicit constants for special-cased volume UUIDs, and change the APIs to accept VolumeInfo to reduce confusion. Internally the UUID value "null" means internal storage, and "primary_physical" means the current primary physical volume. These values are used for both package and primary storage movement destinations. Persist the current primary storage location in MountService metadata, since it can be moved over time. Surface disk scanned events with separate volume count so we can determine when it's partitioned successfully. Also send broadcast to support TvSettings launching into adoption flow. Bug: 19993667 Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
529f91fc8e7e884ef19bef8eb3e4e3a1d69336f4 |
|
19-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Always send volume UUID with installd commands. Since packages can be moved to other volumes, all relevant commands to installd now require an explicit volume UUID parameter. Bug: 20275577 Change-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
39fb7fd730dc2113ced7e663d7a35e48a4c6b1ae |
|
18-Feb-2015 |
Benjamin Franz <bfranz@google.com> |
Allow silent package install for device owner. Allow the device owner to silently install and remove packages using the PackageInstaller APIs. Show notifications to the user after the installation / deletion was successful. Bug: 19422461 Change-Id: I0506e18c510efd9d04c4aea9b60a37456e689615
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
b2b9ab8354da1485178cd8d8e9d89ac915b3f269 |
|
06-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Installing packages to expanded storage. PackageManager now offers to load/unload packages when expanded volumes are mounted/unmounted. Expanded storage volumes are still treated as FLAG_EXTERNAL_STORAGE from a public API point-of-view, but this change starts treating the INSTALL_EXTERNAL flag as exclusively meaning ASEC containers. Start tracking the UUID of the volume where a package is installed, giving us a quick way to find relevant packages. When resolving an install location, look across all expanded volumes and pick the one with the largest free space. When upgrading an existing package, continue preferring the existing volume. PackageInstaller now knows how to stage on these volumes. Add new movePackage() variant that accepts a target volume UUID as destination, it will eventually move data too. Expose this move command through "pm" command for testing. Automount expanded volumes when they appear. Bug: 19993667 Change-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
3605fac80b527fafd76836b09a4cfe1ad8b11e19 |
|
06-Apr-2015 |
Amith Yamasani <yamasani@google.com> |
Update command line usage for pm Include the --user flag. Change-Id: Id2a2bc73f4b7392e308c5946eeb42b21426a1bfd
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
95c1adea0c5fe10ceba217a327163757f4589d3d |
|
19-Mar-2015 |
Svet Ganov <svetoslavganov@google.com> |
Add install option to grant all runtime permissions. Change-Id: I72ba67a72025646a3d53611621b0353d3a86677c
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
c6d1c345f41cf817bf2c07c97b97107d94296064 |
|
26-Feb-2015 |
Svetoslav <svetoslavganov@google.com> |
Runtime permissions: per user permission tracking. Before all permissions were granted at install time at once, so the user was persented with an all or nothing choice. In the new runtime permissions model all dangarous permissions (nomal are always granted and signature one are granted if signatures match) are not granted at install time and the app can request them as necessary at runtime. Before, all granted permission to an app were identical for all users as granting is performed at install time. However, the new runtime model allows the same app running under two different users to have different runtime permission grants. This change refactors the permissions book keeping in the package manager to enable per user permission tracking. The change also adds the app facing APIs for requesting runtime permissions. Change-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
|
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
9bd1382f210732f406e497883dc8f4039f8d33d9 |
|
05-Jan-2015 |
Hui Shu <hush@google.com> |
am e5cb6a25: am bb845152: Merge "pm path needs to return 0 when it succeeds." into lmp-mr1-dev * commit 'e5cb6a253afa8faffb85c73779a78c74aead23ae': pm path needs to return 0 when it succeeds.
|
1cc57aba8128134f55b6d5e4f4800c51e3472828 |
|
29-Dec-2014 |
Narayan Kamath <narayan@google.com> |
am 1bafd01a: am 44a5a30a: Merge "Fix "pm list permissions" crash if resource string missing" * commit '1bafd01a3fc5f94e77d1c18e5a7dcdecddcaa47f': Fix "pm list permissions" crash if resource string missing
|
44a5a30a61e69b60f2f2b4b8884d28a0ec855f3a |
|
29-Dec-2014 |
Narayan Kamath <narayan@google.com> |
Merge "Fix "pm list permissions" crash if resource string missing"
|
ac3151063e47ab693242d8d0eae021601a7d6529 |
|
12-Dec-2014 |
Hui Shu <hush@google.com> |
pm path needs to return 0 when it succeeds. BUG: 18721587 Change-Id: I2136d1933e62a20645517d17c1365d214509de16
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
7c006199e53a3cb082b9041793aa8364eb86a217 |
|
22-Oct-2014 |
Evan Charlton <evanc@google.com> |
Have Pm return the correct code If the command fails, have Pm return a nonzero exit code. Bug: 18085950 Change-Id: I3de1b8f69aa8f44b2e2109864c1aa093e3b82141
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
41de9bb6fda113f7cfb8b7b8d64d07d3809f8f20 |
|
15-Sep-2014 |
Esteban Talavera <etalavera@google.com> |
Add 'adb dpm' subcommand to set profile owner 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
5ab6e0bac2de1688f2f4bb0de2c9964a9b15a4e6 |
|
15-Sep-2014 |
Jeff Sharkey <jsharkey@android.com> |
Whoops, wait around for pm result. poll() returns immediately; we want to take() to wait for the result to actually arrive. Bug: 17510699 Change-Id: I87669e79e9941480fed33e4cc8a38de793d59e90
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
e980804df16c968c14a56b8853886bf5f049f46e |
|
12-Sep-2014 |
Jeff Sharkey <jsharkey@android.com> |
Bring install and install-multiple into parity. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
dda003ffa84f986bfaba4344124eafa533f5039d |
|
29-Aug-2014 |
Amith Yamasani <yamasani@google.com> |
Clean up apks installed for a removed user 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
941a8ba1a6043cf84a7bf622e44a0b4f7abd0178 |
|
21-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Installing splits into ASECs! 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
a0907436c01fd8c545a6b5c7b28bc3bc9db59270 |
|
15-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
PackageInstaller API refactoring. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4903f64ba2478849e6c401f42f5a77c1d4f9f7df |
|
11-Aug-2014 |
Narayan Kamath <narayan@google.com> |
Persist the cpuAbiOverride setting. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
fbd0e9fa37fc17ccd25e4c1f16195bbd27de3c4c |
|
07-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Surface user action events when un/installing. This will be used shortly to connect up with permissions confirmation UI. Bug: 16515814 Change-Id: If28cecc28549900d960ac107a1fba0b10ce5bd7b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
1cb2d0d4bba387665128c62c342e59103ea4be26 |
|
31-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Persist install sessions, more lifecycle. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
20e0c50f601e5930a246d4556118423a49c12ca1 |
|
25-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Offer force-dex-opt when running as root. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
16c8e3f49497b6046972ae650772f65768366be8 |
|
25-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
PackageInstaller changes based on feedback. Mostly cosmetic changes from API council feedback. Bug: 16543552 Change-Id: Ic926829b3f77c31f50a899c59b779353daf00d59
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7 |
|
20-Jul-2014 |
Amith Yamasani <yamasani@google.com> |
Rename setApplicationBlocked to setApplicationHidden 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
9a445771f57dd15b06db0dbefd66c368d84eec2d |
|
16-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Install sessions only inherit APK files. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
69ea974f1712c83a9ad194187237edf1169f9064 |
|
15-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Public API for PackageInstaller!" into lmp-dev
|
6c833e07a05c48ca60ee4d72421bf8b1e78dc710 |
|
15-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Public API for PackageInstaller! Flesh out documentation and finalize first cut of API. Also surface installLocation and splitNames through PackageInfo. Bug: 14975160, 15348430 Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ad11eb52fe62b6696df2194cb9e176f7d799e844 |
|
14-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Pass install result message; path selection. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
a10311434778ea1be1621c2251c0c8c2966f337b |
|
13-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Package installation listener events. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
bb580670350b76fa2fcc5ee873f99b7970759cbf |
|
10-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Progress toward installer public API: callbacks. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ec55ef0934b8e0d1bb705434947de817f7be57f1 |
|
08-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Extend pm to support sessions and split APKs. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
513a074de68a4772a9900e90f38e74ff92c15e7c |
|
09-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Clean up IPackageManager install surface area. Also more removal of encryption support. Change-Id: If525dc5a8422134515f225a8ac4731e968069468
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
bf8b57af351ae9272b7490b373ca57b2a96e643a |
|
11-Jun-2014 |
Denver Coneybeare <denver@sleepydragon.org> |
Fix "pm list permissions" crash if resource string missing The "pm list permissions" command lists detailed information about each permission on the system, including its label and description, both of which can be stored as translatable resource strings in APK files. However, it is possible that the resource identifiers for these strings point to non-existent resources. When this happens, the loadText() method throws Resources.NotFoundException, causing the "pm" command to abort prematurely, simply printing "Killed" to stdout and a stack trace to logcat. This commit fixes the crash by explicitly catching the Resources.NotFoundException exception in loadText() and returning null if it is thrown. The loadText() method already has the potential to return null so none of its callers need be modified. This fixes the crash and simply shows "label:null" and/or "description:null" in the output if the string resource is missing. Change-Id: I92273399e1dac6029163750d004940ee1da67428
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
8a4c9721a9e09d20c63381c13fa29bd9f7cbc3e3 |
|
16-Jun-2014 |
Jeff Sharkey <jsharkey@android.com> |
Plumb split APKs into public API. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
116bdbd823b607d860b039ec334a1f985eed7a7f |
|
29-May-2014 |
Narayan Kamath <narayan@google.com> |
Add an --abi argument to "pm install" 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
6431d11cd420536aaa9d93ae510a3151ccc4df1d |
|
29-May-2014 |
Narayan Kamath <narayan@google.com> |
Add an --abi argument to "pm install" 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. Change-Id: Icb1528c0cd35b1aa9323386cb35ff4aaba374fcb
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
1bdbd4be02aec4fd164ba41c164735639b9c7e15 |
|
14-May-2014 |
Kenny Guy <kennyguy@google.com> |
Add ability to uninstall per user to adb shell pm. 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
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
2a764949c943681a4d25a17a0b203a0127a4a486 |
|
02-Apr-2014 |
Kenny Guy <kennyguy@google.com> |
Rename related users to profiles. Rename the related user concept as profiles. When returning profiles of a user include the user as a profile of itself. Change-Id: Id5d4f29017b7ca6844632ce643f10331ad733e1d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
f1977b4500e82b72ea6aa5c46d97406a20017caf |
|
25-Mar-2014 |
Christopher Tate <ctate@google.com> |
Expand install observer semantics ...and now fail conservatively when two apps both attempt to define the same permission. Apps signed with the same certificate are permitted to redefine permissions. We also finally have a (hidden) interface class for observing package installation so that we can now rev the interface without breaking existing callers. Bug 13551375 Change-Id: Ifa4e59154dcccbb286ee46a35a6f25e4ad0f0f01
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
7629a18a3f190368e6268d3f2827824905683268 |
|
26-Mar-2014 |
Glenn Kasten <gkasten@google.com> |
Revert "Expand install observer semantics" This reverts commit ab8a501f255b272af887acb0e66eb71cdf24c755. Change-Id: I4ab4ae1a96efa2adf9d5a513793d8b84eef38b4e
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ab8a501f255b272af887acb0e66eb71cdf24c755 |
|
25-Mar-2014 |
Christopher Tate <ctate@google.com> |
Expand install observer semantics ...and now fail conservatively when two apps both attempt to define the same permission. We also finally have a (hidden) interface class for observing package installation so that we can now rev the interface without breaking existing callers. Bug 13551375 Change-Id: I3a286d024a30e812ee4b098f345401df3c00e178
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
6143a02f96a5c6c7a0a84f5dbe70732998256a72 |
|
05-Mar-2014 |
Kenny Guy <kennyguy@google.com> |
Start related users on boot and user switch. Collect related initialized users and start them on boot and user switch. Update list users command to show whether a user is running or not. Change-Id: Ib3d5debcb01ec55a07d93450b988b0180fc63263
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
31d6776a9225be5d4ae521a5b551f413c9481aa3 |
|
14-Feb-2014 |
Kenny Guy <kennyguy@google.com> |
Extend pm create-user to handle related and managed users. Change-Id: I0a290b9debdc8ddf23b72a84bf98908ab7fa7c0d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
655d0e2029e6ae77a47e922dce4c4989818b8dd1 |
|
12-Jun-2013 |
Amith Yamasani <yamasani@google.com> |
Single-user restrictions Introduces a new "blocked" state for each package. This is used to temporarily disable an app via Settings->Restrictions. PIN creation and challenge activities for use by Settings and other apps. PIN is stored by the User Manager and it manages the interval for retry attempts across reboots. Change-Id: I4915329d1f72399bbcaf93a9ca9c0d2e69d098dd
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
cbfd23ee6f14445c3e17c5169abbc80c216fa137 |
|
11-Jun-2013 |
Dianne Hackborn <hackbod@google.com> |
Add new API to retrieve a dumpsys of a single package. Adds a platform API, and pm command. Fixes some issues with dumping per-package data in package manager, makes battery stats able to dump per-package state. Change-Id: I76ee6d059f0ba17f7a7061886792b1b716d46d2d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
3fa3c28a356108a6558b6b54a0b10e1a5cc4f1b6 |
|
27-Mar-2013 |
Dianne Hackborn <hackbod@google.com> |
Keep track of who has disabled applications. Change-Id: I2640d3dc2200b589e2beb42a43cc93efd090f06e
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
a83cab0001ca4d90abe622c22a7af1b0da54f739 |
|
08-Mar-2013 |
Christopher Tate <ctate@google.com> |
Do not hang in pm clear on an invalid package name The Activity Manager was not properly informing the observer that the operation had concluded (unsuccessfully). Bug 8222595 Change-Id: I8234e32d8edf4112c8c7a5e20e341d0b41e23014
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
67df64b3a48a8157d08a98fa90135d0ac0ee621c |
|
14-Dec-2012 |
Amith Yamasani <yamasani@google.com> |
Shared accounts and sharing of apps API and preliminary implementation for sharing primary user accounts with a secondary user. AbstractAccountAuthenticator has new methods to retrieve and apply a bundle of credentials to clone an account from the primary to a restricted secondary user. The AccountManagerService initiates the account clone when it starts up the user and detects that the user has a shared account registered that hasn't been converted to a real account. AccountManager also has new hidden APIs to add/remove/get shared accounts. There might be further improvements to this API to make shared accounts hidden/visible to select apps. AccountManagerService has a new table to store the shared account information. Added ability in PackageManager to install and uninstall packages for a secondary user. This is required when the primary user selects a few apps to share with a restricted user. Remove shared accounts from secondary users when primary user removes the account. Change-Id: I9378ed0d8c1cc66baf150a4bec0ede56f6f8b06b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
50707cc8206f0d257ba83de2f1f99c3eaa13a4bd |
|
09-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #8133857: Tracking ANR in Gallery Reworking the locking in resources so that we never hold the state lock while calling in to potential long running operations. This means the mTmpValue can no longer be final (since we need to use it while the lock isn't held), so a new field needs to be added as the lock and everything that touches mTmpValue must deal with it being null, restoring the value in there when possible, etc. Change-Id: Ie5ffd0f66e5f2d0e869a62d72e7a55b1c74fe872
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
fd7adedebf88427162a3ce27fcc9cfd3893c869d |
|
23-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
Add new disabled state for "optional" built-in apps. The disabled state allows you to make an app disabled except for whatever parts of the system still want to provide access to them and automatically enable them if the user want to use it. Currently the input method manager service is the only part of the system that supports this, so you can put an IME in this state and it will generally look disabled but still be available in the IME list and once selected switched to the enabled state. Change-Id: I77f01c70610d82ce9070d4aabbadec8ae2cff2a3
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac |
|
18-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
Rework ParceledListSlice to be much easier to use. Take advantage of this to return better information about packages filtered by permissions -- include the permissions they have in the requested array. Also fix issue #8026793 (Contact picture shows default pic while searching for a contact in qsb) by using the base package name of the Context when reporting the app name of an operation. Otherwise you could make a resource-only context for another application and do calls through that and get reported as the wrong app. Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
a3e9ff7debde50f6b58ebc3033cbbad650c10ac7 |
|
16-Oct-2012 |
Jeff Sharkey <jsharkey@android.com> |
Support pm clear as --user. Bug: 7352703 Change-Id: I0e9cc4f2313e5424d234c3cb051004c0321d9dac
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4c76ea6b88fad2b0147c050c02c6fd3d886d6743 |
|
12-Oct-2012 |
Jeff Sharkey <jsharkey@android.com> |
Pm command to get maximum users. Used to drive CTS tests. Also print success message when removing a user. Bug: 7334718 Change-Id: Ia3886ddf860cd000ce567b0fed2ef0a4e2a2295c
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
e6d3ccc99270aaf62808adc7475a25d96664f0fb |
|
12-Oct-2012 |
Jeff Sharkey <jsharkey@android.com> |
Print newly generated userId. Bug: 7334718 Change-Id: Id4dc456b079bebbe9f2d7ea2a8343d2215f296dc
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
37d83a3caf138e35fa1a355787d20c351f6b37a6 |
|
27-Sep-2012 |
Ben Gruver <bgruv@google.com> |
Pass the originating uid to the package verifier Bug: 6923241 Change-Id: I85a3e0d53b469543cb0551d3a440d2663b5d0697
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
920ace0bbc2d4133dbec991d2636c99a57d6245e |
|
21-Sep-2012 |
Amith Yamasani <yamasani@google.com> |
Query users excluding any being removed Keep track of user creation and last logged-in time. adb shell dumpsys users User switcher shouldn't show users about to be removed. No need to check for singleton for activities. Bug: 7194894 Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
151ec4c9f8ca34625733730a4551a23eb97cda23 |
|
08-Sep-2012 |
Amith Yamasani <yamasani@google.com> |
More multi-user methods in PM pm can list installed packages by user now. Bug: 6926465 Change-Id: I822311bfd6e7e2d6fb315fc484739fbf953c9bb6
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
5e03e2ca7d25b899b129baad2dd5eca6bf99d88a |
|
06-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
More multi-user stuff: - New (hidden) isUserRunning() API. - Maintain LRU list of visited users. - New FLAG_IS_DATA_ONLY for ApplicationInfo. - Clean up pending intent records when force-stopping a user (or package). (Also fixes bug #6880627: PendingIntent.getService() returns stale intent of force stopped app) - Fix force-stopping when installing an app to do the force-stop across all users for that app. - When selecting which processes to kill during a force stop, do this based on the actual packages loaded in the process, not just process name matching. - You can now use --user option in am when starting activities, services, and instrumentation. - The am --user option accepts "current" and "all" as arguments. - The pm uninstall command now uninstalls for all users, so it matches the semantics of the install command. - PhoneWindowManager now explicitly says to start home in the current user. - Activity manager call to retrieve the MIME type from a content provider now takes a user argument, so it will direct this to the proper user. - The package manager uninstall paths are now implemented around PackageSetting, not PackageParser.Package. This allows them to work even if the application's apk has been removed (in which case it only exists as a PackageSetting, not the PackageParser.Package parsed from the apk). Change-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4120375d46091df8527bb701882e056fbb0e6b06 |
|
31-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Remove Binder.getOrigCallingUid(). Replaced all remaining places that used it with explicit user specification. While doing this, I ran into stuff that was creating PendingIntent objects (that now need to specify the explicit user they are for), which are also posting notifications... but have no way to specify the user for the notification. So the notification manager in the system process now also gets a formal concept of a user associated with the notification, which is passed in to all the necessary aidl calls. I also removed the old deprecated aidl interface for posting/cancelling notifications, since we now always need a user supplied. There is more work that needs to be done here, though. For example I think we need to be able to specify USER_ALL for a notification that should be shown to all users (such as low storage or low battery). Along with that, the PendingIntent creation needs to be tweaked to be able to handle USER_CURRENT by evaluating the user at the point the pending intent is sent. That's for another change, however. Change-Id: I468e14dce8def0e13e0870571e7c31ed32b6310c
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
786b44046a79d6c4c9cd07f5989d491c7196ad80 |
|
28-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix installing applications from non-primary users. We also now send the correct broadcasts to each user. You no longer need to be running the shell as root to be able to create/remove users. Also added some more man page material to the pm command, and got rid of a bunch of showUsage() calls that now make error messages completely buried because of how large the usage info has become. And the package manager now shows the user each historical broadcast was sent to. Change-Id: Iab42498e1352a0c023069139c80fc04d2d69ab4b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
7e0e19d4201374d72b7082492bd269dbdb17d972 |
|
27-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Restore man page entries. Change-Id: I002808037ec117c039aeb71f425c1f43d4cac6d8
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
7767eac3232ba2fb9828766813cdb481d6a97584 |
|
24-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Keep track of whether an app is installed for each user. This add a new per-user state for an app, indicating whether it is installed for that user. All system apps are always installed for all users (we still use disable to "uninstall" them). Now when you call into the package manager to install an app, it will only install the app for that user unless you supply a flag saying to install for all users. Only being installed for the user is just the normal install state, but all other users have marked in their state for that app that it is not installed. When you call the package manager APIs for information about apps, uninstalled apps are treated as really being not visible (somewhat more-so than disabled apps), unless you use the GET_UNINSTALLED_PACKAGES flag. If another user calls to install an app that is already installed, just not for them, then the normal install process takes place but in addition that user's installed state is toggled on. The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED, PACKAGE_REPLACED etc broadcasts to users who don't have a package installed or not being involved in a change in the install state. There are a few things that are not quite right with this -- for example if you go through a full install (with a new apk) of an app for one user who doesn't have it already installed, you will still get the PACKAGED_REPLACED messages even though this is technically the first install for your user. I'm not sure how much of an issue this is. When you call the existing API to uninstall an app, this toggles the installed state of the app for that user to be off. Only if that is the last user user that has the app uinstalled will it actually be removed from the device. Again there is a new flag you can pass in to force the app to be uninstalled for all users. Also fixed issues with cleaning external storage of apps, which was not dealing with multiple users. We now keep track of cleaning each user for each package. Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
706e8ba26bf0de19ad5f736516dae40c4c88c2d7 |
|
20-Aug-2012 |
rich cannings <richc@google.com> |
Pass URLs to package verifiers This change passes the originating URL and accompanied referrer to package verifiers, when available. Bug: 6544677 Change-Id: I9ebc71bc13f549bd88267e444816151a99bda000
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
258848d2ae04f447ff1c18023fa76b139fcc0862 |
|
11-Aug-2012 |
Amith Yamasani <yamasani@google.com> |
User Manager service to manage users and query user details Moved a bunch of methods from PackageManager to UserManager. Fix launching of activities from recents to correct user. Guest creation APIs Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
e1d7c711df3e3a2d2f195457882aa4ddb5626167 |
|
08-Aug-2012 |
Rich Cannings <richc@google.com> |
Revert "Pass URLs to package verifiers" This reverts commit 24713907fe4632d263aea82f7a35c8fb08918a09 Change-Id: Ie04ba73475b813635c4a74915c45e83250801b6b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
24713907fe4632d263aea82f7a35c8fb08918a09 |
|
26-Jul-2012 |
rich cannings <richc@google.com> |
Pass URLs to package verifiers This change passes the originating URL and accompanied referrer to package verifiers, when available. Bug: 6544677 Change-Id: If9ff6663ad7f3426b7aea2aceb1413b689788138
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
197a0c82a1fbf337ec0a85d36b6b89c3d6e8a0ac |
|
12-Jul-2012 |
Dianne Hackborn <hackbod@google.com> |
Improve cleanup of file caches. This rewrites installd's code for deleting cache files to be better: - Isn't really stupid about just deleting directories in the order they are found on the filesytem; now collects all cache files and sorts them by mod time to determine which to delete. - Also deletes cache files in /data/media and for all users. This also tweaks DeviceStorageMonitor to be a little smarter about deciding when to flush cache files, having upper and lower limits that it allows memory to get down to and then flash files to reach the higher free storage limit. This should reduce the amount that we perform flushing when starting to reach the storage limit. Finally add a new pm command to force a cache flush. Change-Id: I02229038e1ad553d1168393e5cb6d5025933271d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
fd3d009dde21d7670d42d26f197f67c4c8e59184 |
|
31-May-2012 |
Amith Yamasani <yamasani@google.com> |
Remove some unnecessary man page entries Change-Id: I1ceda3f5efac83b80ab4b6e7cae4086aeed5062a
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ceb1b0bfaea56251796b08c07b963de7403d84eb |
|
24-Apr-2012 |
Anonymous Coward <nobody@android.com> |
Add encryption parameters to package installation Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
719a6320a789e76566d6416d5ec35491d21f5c44 |
|
30-Apr-2012 |
Jeff Sharkey <jsharkey@android.com> |
Change permission enforcement through pm command. Add "set-permission-enforced", which can currently only mutate enforcement of READ_EXTERNAL_STORAGE. Bug: 6363043 Change-Id: I3f7929738c8c36b0a54fbf171c03fe16c09b5d99
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
483f3b06ea84440a082e21b68ec2c2e54046f5a6 |
|
14-Mar-2012 |
Amith Yamasani <yamasani@google.com> |
Package restrictions per user Packages can be enabled/disabled per user. This requires maintaining stopped/launched states and enabled / disabled components and packages per user. Refactored pm.Settings and PackageSettingsBase to keep track of states per user. Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml Changed intent resolution to handle individual user restrictions. Bunch of IPackageManager calls now have a userId argument. Make AppWidgetService handle removals of packages. Added some tests for pm.Settings and PackageManager. Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
e639da7baa23121e35aa06d6e182558e0e755696 |
|
22-Feb-2012 |
Dianne Hackborn <hackbod@google.com> |
New development permissions. These are permissions that an application can request, but won't normally be granted. To have the permission granted, the user must explicitly do so through a new "adb shell pm grant" command. I put these permissions in the "development tools" permission group. Looking at the stuff there, I think all of the permissions we already had in that group should be turned to development permissions; I don't think any of them are protecting public APIs, and they are really not things normal applications should use. The support this, the protectionLevel of a permission has been modified to consist of a base protection type with additional flags. The signatureOrSystem permission has thus been converted to a signature base type with a new "system" flag; you can use "system" and/or "dangerous" flags with signature permissions as desired. The permissions UI has been updated to understand these new types of permissions and know when to display them. Along with doing that, it also now shows you which permissions are new when updating an existing application. This also starts laying the ground-work for "optional" permissions (which development permissions are a certain specialized form of). Completing that work requires some more features in the package manager to understand generic optional permissions (having a facility to not apply them when installing), along with the appropriate UI for the app and user to manage those permissions. Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
742a67127366c376fdf188ff99ba30b27d3bf90c |
|
04-May-2011 |
Amith Yamasani <yamasani@google.com> |
Multi-user - 1st major checkin Switching activity stacks Cache ContentProvider per user Long-press power to switch users (on phone) Added ServiceMap for separating services by user Launch PendingIntents on the correct user's uid Fix task switching from Recents list AppWidgetService is mostly working. Commands added to pm and am to allow creating and switching profiles. Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
92a208c6d3e0fdae54bbc942e7e041e48812bcaa |
|
02-Nov-2011 |
Ashish Sharma <ashishsharma@google.com> |
Add a command option to display installerPackageName Change-Id: I2e5cb5891c610531d9ba7c359fd5dd521f8ecfec
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
5ab2157bf1f105b02d3e2913cd3a33f9765b74ca |
|
27-Jul-2011 |
Kenny Root <kroot@google.com> |
Infrastructure to support package verifier Allow a package verifier to approve or disapprove of a package being installed. Change-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
46d110329e659cc9cb9514e220ce273701eb151d |
|
24-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Small cleanup of am/pm commands. Change-Id: I5af730bc177635821a82d4dd3ec9130a5dcd525a
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
0ac3031c159a0904e73eb4439cdc724d8df4a6e6 |
|
17-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Implement remaining infrastructure for user disabling apps. Change-Id: If8135eb0e27ec36f8f159eb7b6397add7acd0299
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
a51b6fd6f8a53f040894ef07cf23695581595e6b |
|
20-May-2011 |
Kenny Root <kroot@google.com> |
resolved conflicts for merge of b2d0ee16 to master Change-Id: I4483a6d0ccecfea4a1e66bb6eba80d13e8b9a3a4
|
e6cd0c747e76723bc51a23925c239ae10f9d3b5c |
|
19-May-2011 |
Kenny Root <kroot@google.com> |
resolved conflicts for merge of 2433c443 to honeycomb-plus-aosp Change-Id: I3385f57e5761679e6700bcbe3c41deb3ecd43ba1
|
2433c443bb5fe96d9a39b59e10e3c03d791e2278 |
|
19-May-2011 |
Kenny Root <kroot@google.com> |
am f2006f31: Merge "Break apart queries to getInstalled* API" into gingerbread * commit 'f2006f3123dcdf598e052051041b49c89710b53e': Break apart queries to getInstalled* API
|
3d0724dc220a2e027b9e38f61c39c84c28a505d5 |
|
13-May-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 0e59729b to master Change-Id: I2d3a6bddf66b1df0c101c45ea2fec1cf65caf01b
|
0f1de9adde0b52d2a385a76232bd7ac30c3eeea2 |
|
12-May-2011 |
Dianne Hackborn <hackbod@google.com> |
New compat mode front end: UI and persistence. Adds a really crappy UI for toggling compat mode. Persists compat mode selection across boots. Turns on compat mode by default for newly installed apps. Change-Id: Idc83494397bd17c41450bc9e9a05e4386c509399
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
0e2c0f37d98bb5539b0fe41865aaf1add0ff1bb3 |
|
16-Apr-2011 |
Kenny Root <kroot@google.com> |
Break apart queries to getInstalled* API To avoid blowing past the Binder IPC limit, change the PackageManagerService to have a DB-like interaction where the client tells the service the last "row" that it read. The fact that we use a HashMap instead of a TreeMap makes this problematic. For now we're just making a new ArrayList for the keys and then sorting them for each call. This can make the API slower for callers of this, but it's probably greatly overshadowed by the cost of the data transfer itself. Bug: 4064282 Change-Id: Ic370fd148d4c3813ae4f2daffa1a7c28d63d5a09
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
0b285499db739ba50f2f839d633e763c70e67f96 |
|
15-Apr-2011 |
Amith Yamasani <yamasani@google.com> |
Plumbing in PackageManager and installd for multi-user support. - Create /data/user directory and symlink /data/user/0 -> /data/data for backward compatibility - Create data directories for all packages for new user - Remove data directories when removing a user - Create data directories for all users when a package is created - Clear / Remove data for multiple users - Fixed a bug in verifying the location of a system app - pm commands for createUser and removeUser (will be disabled later) - symlink duplicate lib directories to the original lib directory Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb |
|
28-Feb-2011 |
Kenny Root <kroot@google.com> |
Switch to returnCode for IPackageDeleteObserver Before the IPackageDeleteObserver only knew whether the deletion succeeded or failed, but not the reason why. Bug: 2520191 Change-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
4f05220d10338b6ad668c87e70cbe7b9914a9047 |
|
09-Jan-2011 |
Dianne Hackborn <hackbod@google.com> |
Merge commit '690d20bb53ba2485f59d128b365eff991d5cc3e6' into manualmerge
|
95db1cfc741c23c7f4192128e3b7bb3c43761bdb |
|
09-Jan-2011 |
Dianne Hackborn <hackbod@google.com> |
am cd23823d: Merge "Fix issue # 3227963: SecurityException: Neither user 10023 nor..." into gingerbread * commit 'cd23823d4f533431c76baa104eb50b7803b3b391': Fix issue # 3227963: SecurityException: Neither user 10023 nor...
|
690d20bb53ba2485f59d128b365eff991d5cc3e6 |
|
22-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue # 3227963: SecurityException: Neither user 10023 nor... ...current process has android.permission.WAKE_LOCK When updating a system app, we would actually uninstall the package of the system app, which also meant removing its uid...! It was just luck that we would get the same uid when installing the update after that. During that time, if anyone tried to do anything related to that uid, it would be unknown. This change tweaks how we go about replacing system apps by making it more like normal apps -- to make this work, if we need to disable the system app, we generate a new PackageSetting from the current system app and replace it into our data structures, so we can update that without trashing the current correct information about the (still actually there) system app. Also fixed a problem where we were not killing the currently running app before installing, like we do when updating a normal application. And fixed a problem where we were not deleting the /data .apk when uninstalling a system app update. And added a new option to the "pm" command to clear the data associated with an app. Change-Id: I0e879677849aa42950a3c360bf78ad820e87674b
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ccc714131359eb1022d8c6702b7d82ab9e93f27c |
|
13-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 78e9f4cb to master Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
|
78e9f4cbaece783b7b87ce3fb0a157dae766012a |
|
13-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
am e4a59519: Fix issue #3154576: battery stats checkin should include UID -> packages+ map * commit 'e4a5951925f16f18dae91ed65567e96528f17fee': Fix issue #3154576: battery stats checkin should include UID -> packages+ map
|
e4a5951925f16f18dae91ed65567e96528f17fee |
|
07-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #3154576: battery stats checkin should include UID -> packages+ map Includes some other small fixes to battery collection and a few other things. Output of package info looks like this: 5,0,i,uid,1000,com.android.settings 5,0,i,uid,1000,com.android.providers.subscribedfeeds 5,0,i,uid,1000,com.android.providers.settings 5,0,i,uid,1000,com.android.server.vpn 5,0,i,uid,1000,android 5,0,i,uid,1000,com.android.systemui 5,0,i,uid,1000,com.google.android.backup 5,0,i,uid,1001,com.android.phone 5,0,i,uid,1001,com.android.providers.telephony 5,0,i,uid,1022,com.android.nfc 5,0,i,uid,10021,com.google.android.location 5,0,i,uid,10021,com.google.android.syncadapters.calendar 5,0,i,uid,10021,com.google.android.gsf 5,0,i,uid,10021,com.google.android.syncadapters.contacts 5,0,i,uid,10026,com.android.providers.downloads.ui 5,0,i,uid,10026,com.android.providers.media 5,0,i,uid,10026,com.android.providers.drm 5,0,i,uid,10026,com.android.providers.downloads 5,0,i,uid,10032,com.android.launcher 5,0,i,uid,10039,com.google.android.gm 5,0,i,uid,10041,com.google.android.gallery3d 5,0,i,uid,10049,com.android.providers.calendar Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
edebb2fe1d1c4d3ad17db91cd7e2bfe8feafd0b7 |
|
02-Dec-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am b087ceea: am 40eade14: Merge from open-source master * commit 'b087ceead79bcb304e5793c6ae9109ce590847dc': Fix crash by "adb shell pm list permissions -f|-s"
|
1c3274ca12a6931568693b897c269107f0346eab |
|
30-Nov-2010 |
Ali Utku Selen <aliutku.selen@sonyericsson.com> |
Fix crash by "adb shell pm list permissions -f|-s" pm command makes the assumption that every permission should contain android:description and android:label attributes while they are not mandatory. If a permission does not contain these two attributes, we get "android.content.res. Resources$NotFoundException: String resource ID #0x0" followed by a NPE when using -f or -s options. With the following change, users will get "null" in output for respective fields. Change-Id: I4e7f407592fa071abdab1d979775f46ec27dc9d2
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
babe28e01c6e845e41f8a7d23ab0b2a2c93a2e6b |
|
31-Aug-2010 |
Joe Malin <jmalin@google.com> |
Doc change: Update pm command usage for test packages Change-Id: If9c51e0265394538023a913fa271dfb80f14a92e
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
40e472521a544f26cb6956995788f7c36fff1404 |
|
08-Apr-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Fix 2579461 Move install location values to secure settings. Diable attribute for UI. Set default value to auto. Add command line interface to set install location via pm. Change-Id: I80e97b3d24845adad7102f40dcbe238f00efa406
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
e99bb5f10b90736d10cee9729b56cba156fc0921 |
|
19-Mar-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Add new method call back in MountService. PackageManager invokes this call back when its done handling the media status update. Add new uid check for updateExternalMediaStatus Change killPids method in ActivityManager. Remove mountsd command in Pm.java We cannot arbitrarily enable/disable packages in PackageManager now. Change-Id: I28dcba4afd2b4486f68abdaa1628a31b66544c91
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
14b6abda1309631d49d4bebbb0317a7e1dfc0a50 |
|
17-Mar-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Add new install flag to install on internal flash only Change default install location policy for new flag. New error code for media unavailable. Change-Id: I5a5d0828b067692b2b94a15a2bcc7534f796c1a2
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
8946dd3355fc1dcbad872c0546e356474d4cc5de |
|
19-Feb-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Move package from internal to external and vice versa.
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
5b993ce7bc29e43a3215a50ce6ce5d6550d4e5e2 |
|
12-Feb-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Include install location preference when installing packages. Changes include Add new remote call in default container service to determine install location. Rename INSTALL_ON_SDCARD Remove recommentAppInstall method Add some additional flags used in remote stubs. Move check for protected apps prior to copy. Unit tests DefaultContainerService first parses the file uri(if content uri is specified it returns a default install internal only value) and returns a recommended location. Based on which the temporary id is determined either a file name or a container id and the file is copied there. This is then later renamed during install. Todo's light weight parsing of package when determining location since we just need the install location attribute only when finding out recomended location. This will also enable to move the check for updated system apps(cannot be on sdcard) prior to copying.
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
fd3530f90562bb7e66edfee39d90fc8beda82f1d |
|
18-Jan-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Mount/Unmount secure containers Persist flags in PackageSetting. Flags are relevant to ApplicationInfo.FLAG_SYSTEM, Application.FLAG_ON_SDCARD, ApplicationInfo.FLAG_FORWARD_LOCK. New pm command to simulate mount/unmount in Pm. This will be removed when MountService/vold event generation gets fixed. Calls from MountService into PackageManager when media gets mounted/unmounted. Scan the packages and grant permissions when the sdcard gets mounted. This api might change again.
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
af8e9f4805643f90a9dc0ecfa119e0a860c12f8a |
|
12-Jan-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
app install on sdcard. provide skeleton implementation to install an app on sdcard, just resources. Add new install path for /asec in installd. ignore . when checking for apk path since the sdcard packages id'ed by package name. Add new -s option to adb shell pm Refactor fwd locked from scanMode to ApplicationInfo. Add new flag for sd install Add new parse flags for fwd locking and installing on sdcard New mock api's in PackageManagerService to invoke MountService api's. These will be refactored again and so have been wrapped internally. Some error codes in PackageManager Changes in PackageManagerService to use mPath and mScanPath during installation and switch to using PackageParser.Package.applicationInfo attributes for source and public resource directories. Some known issues that will be addressed later using system_uid for now. needs some tinkering with uid and packagesetting creation to use the actual app uid error handling from vold not very robust. ignoring lot of things for now sending a delayed destroy to delete packages. will revisit later revisit temp file creation later. just copy for now
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
039c68e75606e837cf021815a0210836724574ad |
|
27-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
The touch screen is probably a feature. Also extend the feature APIs a bit. Change-Id: I99e932d7f4e61edb0e20f75c55e9831e4b59a14d
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
23b4faf69437b732d681d9bee5c9a84379d5ccad |
|
25-Sep-2009 |
Xavier Ducrohet <xav@android.com> |
Use reflection to figure out a readable string from install error code. Instead of a switch that needs to be maintained, the code now look for public static final int fields in PackageManager whose names start with INSTALL_FAILED or INSTALL_PARSE_FAILED. If their int value match the error code, the name of the field is used as a human readable error string. Change-Id: If58ddc4d9ccc40a9a8aaec9de4cc7e4931db0292
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
f03fb486ac089bf68ae3bfe7b6687dd4b928a340 |
|
01-Sep-2009 |
Xavier Ducrohet <xav@android.com> |
Add error output to pm for FAILED_MISSING_FEATURE Change-Id: Ib9955b69b69db7d442402ab33e148cb40dec3d40
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
b181118b6e58c0014da4e9d52bf38548adc73a8a |
|
22-May-2009 |
Dianne Hackborn <hackbod@google.com> |
Define TARGET_CPU_ABI for finding native code in .apks
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
ade3ecad94d1f4431576f53bae26c35efbf7a2c9 |
|
12-May-2009 |
Dianne Hackborn <hackbod@google.com> |
Implement issue #1783881 (manifest option for adb-install-only apps) You can now use android:testOnly="true" to not allow your .apk to be installed as a normal app. The only way to do so is with the pm command and giving the -t option, which sets a new INSTALL_ALLOW_TEST flag when installing. I also used this to clean up the install API... actually, mostly to hide it, since it is not accessible to apps so shouldn't be in the SDK. We will be doing some more work on it, so this will prevent adding yet another backwards-compatibility-for-no-reason version.
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
c64322c35212e919906ffd66118c7d5d3ad36636 |
|
28-Apr-2009 |
Jacek Surazski <jaceks@google.com> |
PackageManager keeps track of who installed what. Stores the package name of the installer app in packages.xml
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
851a54143c15a1c33361efae2db3f7f45059b472 |
|
08-May-2009 |
Dianne Hackborn <hackbod@google.com> |
Implement targetSdkVersion and maxSdkVersion, plus version code names. This adds new attributes for specifying a targetSdkVersion and maxSdkVersion. There is a new ApplicationInfo flag that is set if the application has set its targetSdkVersion to the current platform or later. Also you can now use a string for minSdkVersion and targetSdkVerion, to indicate you are building against a development tree instead of an official platform.
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
105925376f8d0f6b318c9938c7b83ef7fef094da |
|
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake_rel/...@140373
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
b798689749c64baba81f02e10cf2157c747d6b46 |
|
10-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@125939
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
|