Commit Graph

5558 Commits

Author SHA1 Message Date
Jeff Sharkey
3c3d9d8158 Merge commit '06951ac74d9e74b29037b0a5d8e3b9ad85983b5b' into mergeit
Change-Id: Ifa69c7bb53de94312e2b32607fa098c194a4c72c
2017-05-31 08:43:51 -06:00
Jeff Sharkey
ddff807b76 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
2017-05-30 22:17:23 -06:00
Adam Lesinski
01b95f9067 Merge "Add ResourceId validation helper method" into oc-dev
am: 24c18af14a

Change-Id: I18dc41c220d3cd91c8ce78d93de860064c5f2294
2017-05-26 18:55:15 +00:00
Adam Lesinski
24c18af14a Merge "Add ResourceId validation helper method" into oc-dev 2017-05-26 18:45:28 +00:00
Tenghui Zhu
246bf5cb9b Merge "Create a new drawable after caching the DrawableContainer" into oc-dev
am: 36d6a985cd

Change-Id: I53422934c6bf84033fdfff94c5eda79275e91b3a
2017-05-26 16:22:09 +00:00
Tenghui Zhu
36d6a985cd Merge "Create a new drawable after caching the DrawableContainer" into oc-dev 2017-05-26 16:10:25 +00:00
Nicolas Geoffray
7e1a273708 resolve merge conflicts of 255b69aca0 to oc-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I9caf7542f11b0b322da063a5a08140384eba0ce0
2017-05-26 11:03:19 +01:00
Nicolas Geoffray
3b4359a06c Pass bootComplete to dexopt.
bug: 37165062
Test: After OTA, check bootComplete=false on package updates
Change-Id: I6fc00216020bb16d8ed4f6e839b5e1df0e942700
2017-05-25 13:56:00 +01:00
Adam Lesinski
9553fb3240 Add ResourceId validation helper method
An invalid, 'null' resource ID is defined as 0. Apps often use -1.

Add a helper method that makes checking valid IDs easy and more
centralized.

Eventually make it public API.

Bug: 38393777
Test: manual
Change-Id: I969ec4a45e86bdab3d7f57d357d475b77c7f8a78
2017-05-24 15:39:23 -07:00
Todd Kennedy
4cdc26746e Merge "System installed launcher can see instant apps" into oc-dev
am: 1de10d6602

Change-Id: I70d707c25ed793bd2ad8e58f3558d2a4d0b6e980
2017-05-24 20:49:59 +00:00
TreeHugger Robot
1de10d6602 Merge "System installed launcher can see instant apps" into oc-dev 2017-05-24 20:38:56 +00:00
Todd Kennedy
3051caac52 System installed launcher can see instant apps
Change-Id: I97f791b61f9b4f7ed33305345bf3d92394b40ae4
Fixes: 38202759
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Test: Manual. Create sample app that replaces the launcher to test ability to see ephemeral apps.
2017-05-24 07:34:55 -07:00
Adam Lesinski
006a6fa850 Merge "Resources: fix race with creating theme" into oc-dev
am: 5f70bc89be

Change-Id: I73bb76a7ff3fe6d3e0a974b5cbaed34c632ee8ae
2017-05-23 23:19:26 +00:00
Adam Lesinski
4fed971437 Resources: fix race with creating theme
Bug: 38353957
Test: none
Change-Id: Id78770b475b979635da6a4067db6269e3a1b04d6
2017-05-23 13:14:54 -07:00
Dianne Hackborn
7fdeb9ff3f Merge "Fix issue #38393543: Not allowed to start service Intent" into oc-dev
am: ad6dde65ff

Change-Id: Ife26f513fa6d04771148a3965171822874854828
2017-05-22 20:09:29 +00:00
Dianne Hackborn
ad6dde65ff Merge "Fix issue #38393543: Not allowed to start service Intent" into oc-dev 2017-05-22 20:03:33 +00:00
Dianne Hackborn
3e6e3855ea Fix issue #38393543: Not allowed to start service Intent
Turns out there was another path in to the activity manager
to trigger a PendingIntent, which needs to be modified to
now also pass in the whitelist token of that pending intent.

Test: manual
Change-Id: I755ff87db1b782fa6974d404dcb490786053c5e0
2017-05-19 16:12:08 -07:00
ztenghui
ee7e8f13ea Create a new drawable after caching the DrawableContainer
fix:37135264

Test: Add new CTS test
bit
CtsGraphicsTestCases:android.graphics.drawable.cts.DrawableContainerStateTest,
CtsGraphicsTestCases:android.graphics.drawable.cts.DrawableContainerTest,
CtsGraphicsTestCases:android.graphics.drawable.cts.Drawable_ConstantStateTest

Change-Id: I8bb868d16a944f746ec41d3e37ae4215b964d949
2017-05-19 12:29:14 -07:00
Seigo Nonaka
99c587a9b1 Merge "Introduce early exit path for non resource path." into oc-dev
am: 01d5b3d2af

Change-Id: I07120a86307dd397862e0d341763d0048b066845
2017-05-18 23:39:41 +00:00
TreeHugger Robot
01d5b3d2af Merge "Introduce early exit path for non resource path." into oc-dev 2017-05-18 23:30:24 +00:00
Makoto Onuki
fd1dd05815 Merge "Restrict access to instant app data in usage stats" into oc-dev
am: f38a1d3d2a

Change-Id: I923a3d6792bddc782382edf1180704167e8918b1
2017-05-16 22:11:46 +00:00
Makoto Onuki
ad623015a1 Restrict access to instant app data in usage stats
- Events are obfuscated based on whether the app was instant or not at
the time each event was logged.

- UsageStats are obfuscated based on whether each app is instant or
not at the moment.

Bug 38202133
Test: Manual test using UsageStatsTest and instant apps

Change-Id: I3c74309196b88d010d317cb0dd6749bf4624e876
2017-05-16 12:33:43 -07:00
Seigo Nonaka
2ea169a2ec Introduce early exit path for non resource path.
Developer can specify android:fontFamily with three ways, pre-defined
font family name, e.g. "sans-serif", path to the font file in resource
directory, e.g. "res/fonts/Roboto-Regular.ttf", or path to the XML font
family file, e.g. "res/fonts/Roboto.xml".

Resources.getFont treats font files and XML files but pre-defined family
name is handled by TextView. Thus, we can early exit if the passed value
is not likely resource path.

This improves the inflation performance.
The score without this patch:
gfx-avg-frame-time-50: 6.9
gfx-avg-frame-time-90: 9.4
gfx-avg-frame-time-95: 10.4
gfx-avg-frame-time-99: 16.7

The score with this patch:
gfx-avg-frame-time-50: 7.0
gfx-avg-frame-time-90: 8.9
gfx-avg-frame-time-95: 9.7
gfx-avg-frame-time-99: 16.5

Measured on bullhead-userdebug.

The APCT perf test improves from
String FontFamily: 200,086 -> 132,561
File FontFamily  : 199,256 -> 161,843
XML FontFamily   : 203,681 -> 158,553

Measured on angler-userdebug.

Bug: 38232467
Test: UiBenchmark
Change-Id: Ia601ae7207ae8c60848c9efdbb9396267a57257c
2017-05-16 10:14:56 -07:00
Svet Ganov
8adfc2cac7 Merge "Support recursive static shared lib dependency" into oc-dev
am: e04765998e

Change-Id: I674191296c7d0a409e19614b2f18a4b86bf03ab8
2017-05-16 00:03:00 +00:00
TreeHugger Robot
e04765998e Merge "Support recursive static shared lib dependency" into oc-dev 2017-05-15 23:49:07 +00:00
Svet Ganov
58c99f0207 Support recursive static shared lib dependency
Test: Updated the static shared lib CTS tests to verify that
      All static shared lib CTS tests pass

bug:35359862

Change-Id: Id4a0dabbc9d8e98962e92b6f537f6ffffa63b585
2017-05-15 14:43:17 -07:00
Dianne Hackborn
48e6d1594a Merge "Fix issue #38210653: Few more tweaks of job scheduler" into oc-dev
am: c75bd416e9

Change-Id: I6c7cf4506c73fbed60bff0d43fb0a588d780d93a
2017-05-13 20:15:14 +00:00
Dianne Hackborn
c75bd416e9 Merge "Fix issue #38210653: Few more tweaks of job scheduler" into oc-dev 2017-05-13 20:08:25 +00:00
Dianne Hackborn
bfc2331f2f Fix issue #38210653: Few more tweaks of job scheduler
- Now keep track of the time a job was enqueued, and order
  the pending list by that.
- Added configuration constants for rescheduling: maximum
  times to reschedule, minimum backoff times.
- Fixed printing of active jobs -- the method to get the current
  JobStatus was old and didn't require the caller to hold a
  lock, so made a copy, which didn't contain all the data we were
  interested in.  Now with our simple locking, we can just make
  that require the caller hold a lock and return the real
  JobStatus object.
- Include oom_adj and procstate when printing information about
  processes being killed.
- Expanded documentation of BroadcastReceiver.goAsync().

Test: bit CtsJobSchedulerTestCases:*

Change-Id: I2e45f181e45be9836c74cbff1b844ffdf6e93019
2017-05-12 17:29:04 -07:00
Todd Kennedy
a17fe9cca6 Merge "Add command to retrieve the instant app resolver" into oc-dev
am: 2a34734131

Change-Id: I928a7c6ecf81163350fe42ea1669f454710dd1b7
2017-05-12 23:20:08 +00:00
TreeHugger Robot
2a34734131 Merge "Add command to retrieve the instant app resolver" into oc-dev 2017-05-12 23:11:51 +00:00
Hyunyoung Song
ac9b9de6df Merge "Update ShortcutManager/Service javadoc/impl around sizing" into oc-dev
am: b9a098aeb6

Change-Id: Ie08ced373f88647afa6d8788ea78dd07ade6decf
2017-05-12 23:08:38 +00:00
TreeHugger Robot
b9a098aeb6 Merge "Update ShortcutManager/Service javadoc/impl around sizing" into oc-dev 2017-05-12 23:01:35 +00:00
Sunny Goyal
1e0a89055d Merge "Setting Session commited broadcast when an existing apk is enabled for a different user" into oc-dev
am: fc157e702f

Change-Id: I4cabbad8bac8fb24c86506a89c29d0a34b90a564
2017-05-12 21:16:32 +00:00
Hyunyoung Song
4703746f50 Update ShortcutManager/Service javadoc/impl around sizing
to account for AdaptiveIconDrawable type of shortcuts

Test: builds for now.. If Makoto is happy with this change, will add tests

b/37743074

Change-Id: Ieecd95d621db57f858fac449d3bcedd173c8607c
2017-05-12 11:45:06 -07:00
Sunny Goyal
a31a74b993 Setting Session commited broadcast when an existing apk is enabled for
a different user

Test: Manual tests and CTS
Bug: 38204385
Change-Id: Ic3bddbc2e6070c11b11f0685077db7737f2b8849
2017-05-12 10:00:30 -07:00
Svet Ganov
e87dc7bb2c Merge "System/root/shell need to explicitly ask for static libs to get them" into oc-dev
am: c3db339987

Change-Id: I9c00d0c1040929a55638436d7ae703287fe62620
2017-05-12 06:35:43 +00:00
TreeHugger Robot
c3db339987 Merge "System/root/shell need to explicitly ask for static libs to get them" into oc-dev 2017-05-12 03:46:58 +00:00
Adam Lesinski
0532e76302 Merge "Fix support for @empty in style resolution" into oc-dev
am: 7d75f49175

Change-Id: Ie5a046f75a7c7fa13d330b90f3b9a8ff6c5ac373
2017-05-12 01:00:00 +00:00
Svet Ganov
9e77977ffa System/root/shell need to explicitly ask for static libs to get them
Test: manual - settings no longer shows static shared libs
      all shared lib CTS tests pass

bug:36632271

Change-Id: If3363059b5f5300e309b61899af8c2559af317fe
2017-05-11 15:41:39 -07:00
TreeHugger Robot
7d75f49175 Merge "Fix support for @empty in style resolution" into oc-dev 2017-05-11 21:55:24 +00:00
Dianne Hackborn
8b4c4f09f6 Merge "Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist" into oc-dev
am: c3b938ca5e

Change-Id: I585bf57074064761c7d216f05be23d7f044208fa
2017-05-11 18:45:00 +00:00
Adam Lesinski
32e7501a27 Fix support for @empty in style resolution
If @empty is encountered in XML, do not fallback
to searching through the theme.

Bug: 36891052
Test: make aapt2_tests
Test: bit CtsContentTestCases:android.content.res.cts.TypedArrayTest
Change-Id: Ie3bf7b70af9c7913513a1092afd95d26bec5e635
2017-05-11 11:28:29 -07:00
Dianne Hackborn
983055231b 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
2017-05-10 17:23:02 -07:00
Makoto Onuki
3b178f77ce Merge "Offload saving bitmaps from binder threads" into oc-dev
am: 31ef139466

Change-Id: I2980b05a8a997e003792fe995973b54eaf29d5e1
2017-05-11 00:06:56 +00:00
TreeHugger Robot
31ef139466 Merge "Offload saving bitmaps from binder threads" into oc-dev 2017-05-10 22:24:14 +00:00
Bryce Lee
537ece988a Merge "Prevent non-fullscreen activities from influencing orientation" into oc-dev
am: 8a698a1721

Change-Id: I7dd30182184fc5ce6ec5e9750eaa26f174b79b38
2017-05-10 15:04:05 +00:00
Makoto Onuki
475c36539d Offload saving bitmaps from binder threads
Bug 34691191
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutManagerTestCases
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutHostTestCases
Test: Manual test with the phone app

Change-Id: Ibccf8ca162eae9179ee4cbdf0307ff34a6953aa1
2017-05-09 16:53:01 -07:00
Bryce Lee
3979159456 Prevent non-fullscreen activities from influencing orientation
This changelist enforces that activities targeting O and beyond
can only specify an orientation if they are fullscreen. The
change ignores the orientation on the server side and throws an
exception when the client has an orientation set in onCreate or
invokes Activity#setRequestedOrientation.

Fixes: 33483680
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testNonFullscreenActivityProhibited
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testLegacyNonFullscreenActivityPermitted
Change-Id: I4f7f79744918fad6465a537633dfadec8d05c6df
2017-05-09 16:13:51 -07:00
Abodunrinwa Toki
41564af248 Merge "Remove redundant TextClassificationService" into oc-dev
am: 104590844e

Change-Id: Ib2881e478819eaff8910f5a0982e4f048e4bb7c1
2017-05-09 16:59:38 +00:00