6e2d3fa82f85e6c1c6c8a07e4ed47e96a74c9c93 |
|
05-Dec-2016 |
Tobias Thierer <tobiast@google.com> |
Merge "Migrate StrictJarVerifier and ShortcutPackageInfo to java.util.Base64" am: 1e498a96c1 Change-Id: I28b8deadc9386b8772bd94870809213fdddad7e6
|
9f00d71787774bf79d4b398c28630f670765b791 |
|
02-Dec-2016 |
Tobias Thierer <tobiast@google.com> |
Migrate StrictJarVerifier and ShortcutPackageInfo to java.util.Base64 Previously, they weres using libcore.io.Base64, which is @deprecated. The two implementations' encoders produce the exact same result. The two implementations' decoders' behavior differs for malformed input: - In case of error, libcore.io.Base64.decode() returns null while java.util.Base64.getDecoder().decode() throws. - java.util.Base64 tends to be stricter about rejecting malformed input; specifically, it allows neither whitespace nor unexpected '=' characters (should only occur in the padding) whereas libcore.io.Base64.decode() leniently allows them throughout the input. - if the input terminates prematurely, libcore.io.Base64 tends to return fewer bytes (stops at a four byte boundary). The behavior differences for malformed Base64 encoded data should not affect ShortcutPackageInfo because it should only need to deal with XML attribute values written by itself, which are well-formed. Note that this CL does not lead to any known changes of the encoding step, so values written by earlier versions should not cause problems when read by later versions of ShortcutPackageInfo. StrictJarVerifier may now reject or behave differently for .jar / .zip files with malformed attribute values but this seems okay since, per its name, it is meant to be strict. For example, after this CL, StrictJarVerifier will no longer accept algorithm + "-Digest" attribute values with extra whitespace or padding characters as valid. Test: Confirmed that the two implementations' encoders produce the same result by running the following code just before this CL: assertEquals( libcore.io.Base64.encode(allBytes()), Base64.getEncoder().encodeToString(allBytes())); where allBytes() returns a byte[] with values (byte) 0 .. (byte) 255 Test: Test that phone still boots after flashing code that includes this CL. Test: CtsLibcoreTestCases Bug: 31292683 Change-Id: I775d32f329f693514a8f14d87e1ef0d7a757e6c3
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
c8c3329dd918b8ea16d6317d19ddee12325800f3 |
|
13-Sep-2016 |
Makoto Onuki <omakoto@google.com> |
Don't update publisher version code without scanning manifest - It was (theoretically) possible for shortcut manager to update the version code for a publisher package without rescanning manifest shortcuts, if backup happens right after unlocking a user before SM searches for updated packages. If it happens, then SM will not scan the manifest for this package until it's updated next time. So don't refresh the version code during backup, which we only have to do for launchers but not publishers. - Also fix the owner-user-id for launchers. (Luckily it's not causing any issues.) Bug 31402152 Change-Id: I5d898eb3882b74edaca8b2d5f960849370ffc23b
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
440a1ea8e2204ecb171e0187318beb2f08f6012c |
|
20-Jul-2016 |
Makoto Onuki <omakoto@google.com> |
Support multiple intents in ShortcutInfo Also fix b/30230996. TODO: Support the sourceBounds argument to LauncherApps. startShortcut(). Bug 30218829 Bug 30230996 Change-Id: Ibb6c59d5b7c0a320c21d09436d016d0eac94644f
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
22fcc68e6be0edaa98f3dacf79d580a5e5d50005 |
|
17-May-2016 |
Makoto Onuki <omakoto@google.com> |
ShortcutManager: Support manifest shortcuts - Now apps can publish shortcuts via AndroidManifest.xml (Sample: I5b127150) - Rename some APIs per API council feedback - Publishers can now "disable" shortcuts. (https://docs.google.com/presentation/d/1raUn1QBURDb1yrd6mSmVxII9ezNh3MWukODdtufJ29U/edit#slide=id.g13ef592464_7_39) Bug 28785283 Bug 28536066 Change-Id: I4a126841e43e40139bb4baa6d0f98ad7b3a75ac1
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
c51b2876ec5c0af449469a0f76bb38c51cfcff04 |
|
05-May-2016 |
Makoto Onuki <omakoto@google.com> |
Refactoring ShortcutManager + bug fixes. - Don't pass the ShortcutService instance as an argument. This tiny optimization is no longer meaningful now that PackageShortcut and PackageLauncher have reference to ShortcutUser. - Rename mLauncherComponent to mDefaultLauncherComponent for clarity. - Don't instantiate ShortcutPackage instances when not needed. - Don't allow intents with a null action. - Also improve javadoc. Bug 28592642 Bug 28474517 Bug 28557169 Change-Id: I8790d3494bf3b92c143c02824b0ed0e514504baa
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
39686e8cdec3550c941d376929084f59ac0d78cd |
|
14-Apr-2016 |
Makoto Onuki <omakoto@google.com> |
When app is updated, save the new version code, and update shortcuts with resource based icons. Bug 28152054 Change-Id: I14f537c08b1a0ba48dd508b0c42fc1d3ed4f5eb0
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
2e210c4d0f766e52ea4c087a1d54213c36a4e0ea |
|
30-Mar-2016 |
Makoto Onuki <omakoto@google.com> |
ShortcutManager: implement backup & restore Also: - Fix cross profile pinning. Now ShortcutLauncher correctly keeps track of target package user IDs. - Add performance stats for package manager calls and show them on dumpsys. Bug 27548047 Change-Id: I2472980b2955b6c70947aaaa9b76f75d0616db6e
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
9da23fc6ac565b38129d52f4f8f174c833a9bd01 |
|
29-Mar-2016 |
Makoto Onuki <omakoto@google.com> |
ShortcutManager: proper work profile support Bug 27548047 Change-Id: I8acea3355f8974a551f53814624dec30732f7b2f
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
d99c6f04bbb68f8be78f2c3ca625a3a8d5645275 |
|
28-Mar-2016 |
Makoto Onuki <omakoto@google.com> |
ShortcutManager: Fix work profile - Pinned shortcuts need to know not only which package has pinned them, but also on which user's, due to work profile. - Launcher can always launch shortcuts that it has pinned. Bug 27548047 Change-Id: I23b4e7dfbb6ecc42099d31008bcfd61d44e2c7fb
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
905e8855e7df111f835fecde32598479058fe4df |
|
28-Mar-2016 |
Makoto Onuki <omakoto@google.com> |
ShortcutManager: Cleanup package info handling Bug 27548047 Change-Id: I598b25d1901230cec6fb3760fe5efeff3b3fef96
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|
0acbb14574d859b5f1cc0b7c6bbdfbeba38f3e55 |
|
23-Mar-2016 |
Makoto Onuki <omakoto@google.com> |
ShortcutManager: Handle package broadcasts. - Do a cleanup when an app is gone. - Record the app version and signatures. - Also make saveToXml() capable of saving for backup. Bug 27548047 Change-Id: I7eb2bbec7665b4d625630e7312c0f2a8b03c5ffa
/frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
|