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
|