a8bbd76d9b5249c64ef31aa162e9a84abaad39ba |
|
14-May-2016 |
Svetoslav Ganov <svetoslavganov@google.com> |
Ensure app op restrictions reset when the app that set them dies. We were not keeping track when an app that set an app op restriction dies to clean up after that. As a result we may end up with stale restrictions that will be there until the device reoots - not cool. This change adds remote binder death tracking and simplifies the code as adding the formed would have made more complex. bug:28770536 Change-Id: I7dcaafba2354843a0cdf0206ab1f96625edc5120
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
4288419787120ce85a241a4b315d7d2123aa2d4a |
|
10-Apr-2016 |
Jeff Sharkey <jsharkey@android.com> |
Use inode numbers for CE storage. Certain operations, such as clearing/destroying app data, or just counting on-disk size, require us to know the CE storage directory of a particular app. To facilitate these operations, offer a method to get the inode of a CE directory, and accept that inode number for later operations. Collect and store the inode number in PackageUserState for future use when that user's CE storage is still locked. This design means it's safe to clear/destroy app data in both CE/DE storage at the same time. Move most installd-related methods to a uniform calling convention that accepts a single parent PackageParser.Package, and internally fans out to handle all "leaf" packages under that parent. In previous releases, we started installing apps using a new directory-based layout, where all app code, unpacked native libraries, and optimized code is bundled together. So now we only have a single path to measure for code size. This fixes several outstanding bugs that were causing sizes to be miscounted for apps supporting multiple architectures. Fix a subtle bug in PackageSettings that would cause "notLaunched" to be parsed incorrectly. Bug: 27828915, 27197819 Change-Id: Ia582cf3550553292bde4bb4313367111332913ec
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
167bbfac24b1e78576b18c0522218838dfdf57bb |
|
31-Mar-2016 |
Chong Zhang <chz@google.com> |
Avoid extra relaunch when rotating side-by-side apps Update configuration with WM first and check if the stacks need to be resized due to the update. If so, let activity manager resize the stacks inline, instead of letting WM schedule another pass of resizeStack. This way the configuration will be updated to the latest before ensureActivity- ConfigurationLocked, and we don't need another relaunch there. bug: 27834014 Change-Id: Ib761a96cada0c3247b0480f18370670c593159da
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
082614c6a57a115ee0c5975e3579bf34a178c0f8 |
|
04-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
Cache per-Activity Resources objects Each Activity has a Resources object whose underlying state changes when a configuration change occurs, both global and for that activity only (multi-window). Views and other clients of the Resources object can safely cache it knowing that they always have a reference to the most up-to-date resources. This applies to Resources.Theme objects as well. Bug:26854894 Change-Id: Ifd3da5a1086e17f747dfc265a447fe92a3a5c692
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
3e1958936e9fbf853269200c00f8506d84d1a64d |
|
06-Mar-2016 |
Jeff Sharkey <jsharkey@android.com> |
Skip publishContentProviders() when we have zero. If the list of providers for the application being bound is empty, don't bother trying to register them. Bug: 27510621 Change-Id: I921fb70a4c97433fa123fa88e170745ee013ee35
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
35871f2c2bb114806b4e3f109960b7f863d7885c |
|
30-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Offer to migrate databases and SharedPreferences. Databases and SharedPreferences often involve multiple files under the hood, so developers wanting to migrate them between different storage contexts should ask us to make sure all relevant files are migrated correctly. This makes a best-effort attempt to recover from battery pulls during migration, while still trying to alert developers to conflicting files. Bug: 26668510, 25860525 Change-Id: I9ffa3e8cb6191dfd4237b9466a081d6d77df3ba0
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
2bd31dbd023a11d90061c7b6831dd06454c928af |
|
10-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Install non-EA providers once user is unlocked. When starting encryption-aware apps while the device is locked, we can only spin up ContentProviders that have been marked as encryption-aware. Once the user is unlocked, we need to go back and install non-encryption-aware providers in already running apps. Fix bugs in getPackageInfo() where only one of the various MATCH_ flags was being consulted (!). Move matching logic to single unified location in PackageUserState so we have consistent behavior. Fix another class of bugs where Safe Mode wasn't correctly filtering package details (!). These bugs are fixed by splicing in the new MATCH_SYSTEM_ONLY flag as part of state-based flag mutation that was added for encryption. Bug: 25944787 Change-Id: I39c8da74b1f9ba944cc817176983f50ba322329c
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
5217cacbd9f382068bb9e176cd5a0b15388a335c |
|
20-Dec-2015 |
Jeff Sharkey <jsharkey@android.com> |
Make JobSchedulerService encryption aware. When a user is started, but a persisted job component doesn't appear in the normal resolution list, we avoid enqueuing the job. Later when the user is unlocked, we take another pass over the pending jobs to see if they became available. Load keyboard layouts from XML metadata regardless of crypto status, since we don't need to spin up any remote code. Add MATCH_SYSTEM_ONLY to make system logic easier to write when looking for trusted components. Sprinkle more annotations on ArrayUtils methods. Bug: 26279465 Change-Id: Iec28e0bb46862b07d740b12a79f6360de68dab0f
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
f9fc6d6cc05595241bc7ced6d4cab97b45f9b901 |
|
09-Nov-2015 |
Jeff Sharkey <jsharkey@android.com> |
More file-based encryption work. Add granular StorageManager APIs for key creation/destruction and unlocking/locking. Start passing through an opaque token as part of the unlock command, but leave it empty for now. We now have a separate "prepare" method that sanity checks that user directories are correctly setup. Define a handful of system properties used for marking devices that should be operating in FBE mode, and if they're emulating FBE. Wire a command to "sm", but persisting will come later. Start using new "encryptionAware" flag on apps previously marked with coreApp flag, which were apps running in the legacy CryptKeeper model. Small tweaks to handle non-encryptionAware voice interaction services. Switch PackageManager to consult StorageManager about the unlocked state of a user. Bug: 22358539 Change-Id: Ic2865f9b81c10ea39369c441422f7427a3c3c3d6
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
52153f4c0540a991b5b7214f4f14b5a891479a3c |
|
11-Aug-2015 |
Svet Ganov <svetoslavganov@google.com> |
Add GTS test to ensure valid default permission grants - framework The platform grants runtime permissions by default to apps on the system image that provide core device use cases which a user expects to work out-of-the-box. We are now adding a test to ensure that OEMs cannot pregrant premissions on non approved components. bug:23043018 Change-Id: Id76717cce0ee59678956bd0be347d3c045fe4c51
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
72478f053f403e29223dba6cc7be9e5bf115f670 |
|
18-Jun-2015 |
Adam Lesinski <adamlesinski@google.com> |
BatteryStats: Fix regression in wakelock power distribution We used to give 50% of the cpu time of each app to any app holding a wakelock while the screen is off. Since we switched to the new kernel module for measuring app's cpu time, this distribution was lost. Bug:21876567 Change-Id: I42c294547f63d150d9929271ca0e27fedaaa9d77
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
59d577a518333f4b4514315b6d10e8dba160abcd |
|
12-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Browse mode for DocumentsUI, removed volume state. The existing management mode is too specific, and requires that storage backends add queryChildDocumentsForManage(), etc. Instead, to offer more natural browsing support, add a new BROWSE_ROOT intent. It behaves mostly like MANAGE_ROOT, except that it doesn't mutate its Uris with setManageMode(), and it shortcuts straight to VIEW on clicked documents. It can be launched like this: $ adb shell am start -a android.provider.action.BROWSE_ROOT -d content://com.android.externalstorage.documents/root/8405-1DFB -c android.intent.category.DEFAULT Also rename a MetricsConstants to make it clearer, and don't auto-mount all emulated volumes. Fix bugs around parceling of DiskInfo/VolumeInfo. Method to resolve the best description for a VolumeInfo, which might need to fall back to DiskInfo. Add back "removed" volume state so we send broadcast when a volume is destroyed, matching the expected public API behavior. Bug: 19993667 Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
3256601f5e4d94713f59e97b9d4912875c1bdcaf |
|
03-Dec-2014 |
Jeff Sharkey <jsharkey@android.com> |
Offer to "merge" subscribers for data usage. There are some cases where multiple subscriber identities (IMSI) should be treated as "merged together" from a data usage perspective. This is done by extending the template used for matching purposes to support multiple subscribers. Then, when we query historical usage or set network policies, we normalize the matching template to merge to any other identities that should be included. When normalizing, the "lowest" identity is always used for equality and storage purposes, which allows identities to come and go over time. This change also fixes data usage recording for multi-SIM devices by passing along the concrete subscriber identity for each network interface. Also correctly create default policies for multi-SIM devices. This change also drops setPolicyDataEnable() until it can be wired up to the right underlying NetworkAgent. (This means we still bring up the network, and then rely on iptables rules to block traffic when over the limit, instead of proactively disabling the connection.) Bug: 18012787 Change-Id: If6acf32009fdfea2b836f5aff8e2f3e5e0248b4a
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
b4e5061fd6e0b665e025713643378ec31188cff2 |
|
10-Sep-2014 |
Mathieu Chartier <mathieuc@google.com> |
Change EmptyArray System.identityHashCode to Object.hashCode. Equivalent behavior, improves performance since Object.hashCode has a fast path in the java side that does not require JNI. According to traceview sampling profiler: Calendar had 6.8% time in System.identityHashCode during launch. 0.4% time in System.identityHashCode after the change. Bug: 16828525 Change-Id: I1ed1d1283a990f990b0d4352cc1f4822b1dadf7b
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
da96e137bcc8191c584ada7b5de31eaae92f244f |
|
15-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Parse more split APK manifest details. Allow split APKs to define activities, services, receivers, providers, and metadata. However, support for many manifest items are explicitly omitted. Only dexopt split APKs that include code. Bug: 14975160 Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
57dcf5b177b56195421535938544f32d8b591b42 |
|
19-Jun-2014 |
Jeff Sharkey <jsharkey@android.com> |
Slow progress towards APK clusters. Differentiate between "split APKs" and "cluster packages". A cluster package is a directory containing zero or more APKs (base+splits), and a monolithic package is a single APK (base). PackageSetting will use the directory name as its codePath, so track the baseCodePath separately. Clarify documentation in several places. Require that all installers provide file:// URIs through existing hidden APIs; PackageInstaller hasn't been able to read content:// URIs for a long time. Bug: 14975160 Change-Id: I1c6fed1b55205c2474b09871161a98a26669d22e
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
874d0d4032dc940327a81359f144d38d3cb580a3 |
|
30-May-2014 |
dcashman <dcashman@google.com> |
Add ArrayUtils methods and tests for consumption by KeySet code. Adds methods for dealing specifically with long data types. Used by PackageKeySetData as part of the KeySet work. Add appropriate test methods to MoreAsserts as well. Bug: 6967056 Change-Id: I1e263301b353e0cd1b45126be6ef5ec310f311a8
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4 |
|
29-Apr-2014 |
Jeff Sharkey <jsharkey@android.com> |
Initial support for split APKs, PackageInstaller. Defines a new PackageInstaller class that will be used for installing and upgrading packages. An application desiring to install an application creates a session, stages one or more package files in that session, and then kicks off the install. Previously, PackageManager would always make its own copy of a package before inspecting it, to ensure the data could be trusted. This new session concept allows the installer to write package data directly to its final resting place on disk, reducing disk I/O and footprint requirements. Writes are directed through an intermediate pipe to ensure we can prevent mutations once an install has been initiated. Also uses fallocate() internally to support optimal ext4 block allocation using extents to reduce fragmentation. Sessions are also the way we support installing multiple "split" APKs in a single atomic operation. For a set of packages to form a valid application, they must have exactly the same package name, version code, and certificates. A session can also be used to add a small handful of splits to an application by inheriting existing packages when not performing a full install. Add PackageParser support for extracting split names and certificates. Bug: 14975160 Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
776abc24cdd18610232a50b997cce3cffa74609b |
|
07-Mar-2014 |
Adam Lesinski <adamlesinski@google.com> |
Uses VMRuntime.newUnpaddedArray for ideal array sizes Bug:13028925 Change-Id: I0a9301248b10a339afbdc5e4ffe3310ac4fa1fb7
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
fc054349089563699349c161011f378c67d15587 |
|
22-Mar-2013 |
Christopher Tate <ctate@google.com> |
Throw on illegal arguments to ArrayUtils.equals(a1, a2, len) Specifically, throw an explicit IllegalArgumentException if 'len' is negative, rather than falling over in some other way further down the line. Change-Id: If955de7ec1a15aa9aa8c42b6994b059e0cdffcee
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
94c91dca55de9ffdbe072fcc5dd6dbf1efe5e4c1 |
|
07-Mar-2013 |
Jeff Sharkey <jsharkey@android.com> |
ArrayUtils.indexOf(), containsAll() with tests. Change-Id: I040164d4e45126e4a6c1df54bd114f47951da560
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
854b2b1670bda1eeb87a14b7ac3d222024f0aad6 |
|
14-Apr-2012 |
Jeff Sharkey <jsharkey@android.com> |
Surface list of apps with given network policy. Bug: 6007276 Change-Id: I0f0e939ee6481496480c4afaa108c99eb158547c
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
63abc37356728c0575d6a62a203102ae6d97953b |
|
12-Jan-2012 |
Jeff Sharkey <jsharkey@android.com> |
Move network stats to FileRotator pattern. Split existing network stats into two separate classes: a recorder which generates historical data based on periodic counter snapshots, and a collection of historical data with persistance logic. Recorder keeps a pending history in memory until outstanding data crosses a specific threshold. Persisting is handled through a given FileRotator. This pattern significantly reduces disk churn and memory overhead. Separate UID data from UID tag data, enabling a shorter rotation cycle. Migrate existing stats into new structure. Remove "xt" stats until iptables hooks are ready. Avoid consuming Entry values when recording into NetworkStatsHistory. Assign operation counts to default route interface. Introduce "Rewriter" interface in FileRotator with methods to enable rewriteAll(). Introduce IndentingPrintWriter to handle indenting in dump() methods. Bug: 5386531 Change-Id: Ibe086230a17999a197206ca62d45f266225fdff1
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
96e942dabeeaaa9ab6df3a870668c6fe53d930da |
|
01-Dec-2011 |
Jeff Brown <jeffbrown@google.com> |
Use a Choreographer to schedule animation and drawing. Both animations and drawing need to march to the beat of the same drum, but the animation system doesn't know abgout the view system and vice-versa so neither one can drive the other. We introduce the Choreographer as a drummer to keep everyone in time and ensure a magnificent performance. This patch enabled VSync based animations and drawing by default. Two system properties are provided for testing purposes to control the behavior. "debug.choreographer.vsync": Enables vsync based animation timing. Defaults to true. When false, animations are timed by posting delayed messages to a message queue in the same way they used to be before this patch. "debug.choreographer.animdraw": Enables the use of the animation timer to drive drawing such that drawing is synchronized with animations (in other words, with vsync or the timing loop). Defaults to true. When false, layout traversals and drawing are posted to the message queue for execution without any delay or synchronization in the same way they used to be before this patch. Stubbed out part of the layoutlib animation code because it depends on the old timing loop (opened bug 5712395) Change-Id: I186d9518648e89bc3e809e393e9a9148bbbecc4d
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
630a1712168f402653039e368259cb9480454fa8 |
|
26-Sep-2011 |
Jeff Sharkey <jsharkey@android.com> |
Overlay to configure data usage network types. Specify which network types should be counted when computing data usage totals. Bug: 5361005 Change-Id: I830caed1a29199892d209a692b50f8b3e144cafe
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/com/android/internal/util/ArrayUtils.java
|