Commit Graph

12353 Commits

Author SHA1 Message Date
Jorim Jaggi
988f66885c Lock free app animations (4/n): Implement thubmnail
Bug: 64674361
Test: go/wm-smoke
Change-Id: I8f25dae04b69613c93ccb5416c2cda2df6373103
2017-12-27 15:49:55 +01:00
TreeHugger Robot
9f5ceae640 Merge "Document which sys services can be accessed by instant apps" 2017-12-26 04:13:15 +00:00
TreeHugger Robot
b743b067e5 Merge "Don't record audio if UID is idle - core framework" 2017-12-26 03:39:42 +00:00
Svet Ganov
8f90bcc50a Document which sys services can be accessed by instant apps
This change documents that some system services are not available
to instant apps due to the restricted security sandbox they run in.
Also ensure that if target SDK is P WallpaperManager is null if the
backing system service cannot be looked up to be consistent with
the way other system services behave.

Test: Manual

Fixes: 70984822
Fixes: 69848394

Change-Id: I9aae884d5840c92136c7d713fac87e7732dc2642
2017-12-23 20:47:12 +00:00
Andrii Kulian
ab71a93624 Merge "Fix object pool for lifecycler" 2017-12-22 19:48:35 +00:00
TreeHugger Robot
edf829f41b Merge "Enforce platform level animation in CrossProfileApps.startMainActivity" 2017-12-22 11:24:28 +00:00
Andrew Scull
8b2af876d3 Merge "DPMS: expose password blacklist API for SDK" 2017-12-22 09:36:52 +00:00
Andrii Kulian
1c110302fe Fix object pool for lifecycler
The original implementation of object pool for lifecycle
transactions tried to always recycle objects after a
transaction was scheduled. In case when a client was running
in the same process this lead to objects being emptied before
it could actually perform the transaction.
Also when checking if object was already in the pool we should
use "==" instead of equality check.

Bug: 70568084
Bug: 70526039
Bug: 70616950
Test: android.app.servertransaction.ObjectPoolTests
Change-Id: I45eeecc189b9a458d8efdfed256b81cf0baf8b95
2017-12-21 15:36:08 -08:00
TreeHugger Robot
7e3cae8584 Merge "Workaround apps that are doing very very bad things" 2017-12-21 22:07:15 +00:00
Jason Monk
24d12a327d Workaround apps that are doing very very bad things
Disable AppComponentFactory for them.

Test: manual
Bug: 70776434
Change-Id: Iccfc47af360b719578f0ab9771849a822118518d
2017-12-21 10:39:17 -05:00
Naomi Musgrave
db980f4a3c Add id to SecurityEvent.
Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/SecurityEventTest.java
Bug: 63910201
Change-Id: I053ec9d6c8281d637ace5dc89057e5f7b5ad6554
2017-12-21 15:34:11 +00:00
TreeHugger Robot
af5bac3d23 Merge "Profile lock timeout." 2017-12-21 13:37:42 +00:00
Mady Mellor
cdba028b5d Merge "Add subtype for priority" 2017-12-20 21:16:17 +00:00
TreeHugger Robot
5bebd1e932 Merge "Unhide HINT_HIDDEN from slices api and rename to HINT_SHORTCUT" 2017-12-20 21:04:38 +00:00
Mady Mellor
ca8e884b85 Add subtype for priority
Intended to use with SliceItem type int to note the priority of an item
(such as an action) within a template.

Test: none
Bug: 68378561
Change-Id: I109adf4ea77638b7d27f3aaa7f8eb1c325287f0c
2017-12-20 10:45:36 -08:00
Ian Lake
1f4e67b6e1 Improve Fragment+Loader deprecation Javadoc
Make it clear that the framework versions of
Fragments and Loaders should be replaced with their
identically named versions in the Support Library.

Reference the recent work on Lifecycle as an example
of a Support Library only change that should motivate
developers to switch to the Support Library
equivalents.

Test: Reviewed new Javadoc
BUG: 70336450
Change-Id: I93151fa0a316bba824c2e55f80f7de9d30bed3c6
2017-12-20 18:16:40 +00:00
TreeHugger Robot
702b491903 Merge "Add MessagingStyle#isGroupConversation()." 2017-12-20 17:20:27 +00:00
Tony Mak
089c35e931 Enforce platform level animation in CrossProfileApps.startMainActivity
With this change, whenever apps start an activity in another profile
using CrossProfileApps.startMainActivity, an animation will be enforced.
For now, we are showing the "open task" animation.
We may put something fancier if we have time in P.

Test: cts-tradefed run cts-dev --module DevicePolicyManager --test - com.android.cts.devicepolicy.CrossProfileAppsHostsideTest
Test: atest services/tests/servicestests/src/com/android/server/pm/crossprofile/CrossProfileAppsServiceImplTest.java
Bug: 70799822

Change-Id: I03525080151c6112633108419d69d64e76a511f3
2017-12-20 17:04:15 +00:00
Andrew Scull
9dcb7cade9 DPMS: expose password blacklist API for SDK
Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testPasswordBlacklist
Test: cts-tradefed run cts -m CtsAdminTestCases -t android.admin.cts.DevicePolicyManagerTest

Bug: 63578054
Change-Id: Ide58673ab22dcb4454a67300e8aa23b5fe343e3d
2017-12-20 13:56:15 +00:00
TreeHugger Robot
a82824272c Merge "DPM: Implement installing certificates for generated keys" 2017-12-20 08:43:56 +00:00
Kodlee Yin
9ac617c5a2 Add MessagingStyle#isGroupConversation().
This will allow apps to mark a Notification's MessagingStyle as a group
conversation. This is useful because the current implementation
overloads MessagingStyle#conversationTitle; which, when not null,
implies a group conversation. Instead of relying on this implicit
contract, we include this change's explicit field.

Test: runtest -x
core/tests/coretests/src/android/app/NotificationTest.java
Bug: 67717177
Bug: 70725009

Change-Id: I5405b6b0ca9723a06113482c04b8c2f8e1a4318c
2017-12-19 14:56:18 -08:00
Mady Mellor
225e0dac45 Unhide HINT_HIDDEN from slices api and rename to HINT_SHORTCUT
Test: manual, build a slice with HINT_SHORTCUT, note content doesn't appear
      in slice template but can appear when displayed as shortcut
Bug: 68378574
Change-Id: I4f7d0b8dbbcb0da4efe79a709b0d9fbf24026a6e
2017-12-19 14:14:17 -08:00
TreeHugger Robot
6348ddcd04 Merge "Make TOP_SLEEPING procstate more like a cached process." 2017-12-19 18:47:19 +00:00
Andrew Scull
f7ca81fbc9 Merge "DPMS: password blacklist" 2017-12-19 18:01:56 +00:00
Esteban Talavera
e51ffaa6ac Merge "Fix usagestats DUMP OF SERVICE" 2017-12-19 17:46:06 +00:00
Esteban Talavera
838ea24493 Fix usagestats DUMP OF SERVICE
DUMP OF SERVICE Usagestats was empty in bugreports
because an unexpected -a argument was being passed.
adb shell pm dump <package> had a similar issue with --packages

Change-Id: Ic67c723b8edc74ec7c9c48582b08896ca3430a4a
Fix: 70777338
Test: adb shell pm dump <package> and bugreports now contain usage stats
2017-12-19 15:23:43 +00:00
TreeHugger Robot
60a3c1e313 Merge "incidentd: Dumping java process meminfo data." 2017-12-19 01:07:49 +00:00
Dianne Hackborn
bad8d91056 Make TOP_SLEEPING procstate more like a cached process.
When an app is on the top of the activity stack but the screen
is not on, this doesn't really count as a top app in the normal
sense.  In particular, we'd really like to apply the normal
restrictions we have on background and cached apps: no network
access, no ability to use wake locks, etc.  (In other words, in
this state the app's activity is stopped, so from its perspective
it is no different than the user leaving it to go to another app.)

To do this, we change the order of the TOP_SLEEPING proc state
out from the range of foreground states down to between the
cached and background states.

Test: ActivityManagerProcessStateTest
Bug: 70808931
Change-Id: I994caba8c27553a452de75efa358be0e683d046f
2017-12-18 17:05:52 -08:00
TreeHugger Robot
4316d8ecde Merge "Move heavy-weight process state down to cached range." 2017-12-19 00:29:31 +00:00
TreeHugger Robot
84a41d6684 Merge changes from topic "aod_wallpapers"
* changes:
  Hide AoD wallpaper after 1min
  Support wallpapers in AoD
2017-12-19 00:18:49 +00:00
Kweku Adams
983829fec5 incidentd: Dumping java process meminfo data.
Bug: 65750823
Test: flash device and check incident.proto output
Change-Id: I9b10daddf0580b3fab4ed7970fb838a605eef0e6
2017-12-18 15:19:13 -08:00
Dianne Hackborn
f097d42f0c Move heavy-weight process state down to cached range.
This allows us to generally treat heavy-weight processes in
the background as cached processes, applying all of the limitations
we want for such things -- disable wake locks, etc.

Test: run-am-test ActivityManagerProcessStateTest
Bug: 63937884
Change-Id: I7c140c8f48188f6aa9c09731e83e3db4e4405e77
2017-12-18 14:54:08 -08:00
TreeHugger Robot
c5f607cee9 Merge "Make isUsingUnifiedPassword throw when used on parent instance" 2017-12-18 21:26:32 +00:00
Lucas Dupin
7517b5dcce Support wallpapers in AoD
Such wallpaper has to define supportsAmbientMode,
and set it to true on its android.service.wallpaper
meta data.

Also introduces WallpaperService.Engine#onAmbientModeChanged
to notify a live wallpaper that the display state has changed.

Change-Id: I49e846069a698b3cc3bb6e7cda98172920eaae4c
Bug: 64155983
Test: runtest -x frameworks/base/packages/SystemUI/tests/src/com/android/systemui/doze/DozeWallpaperStateTest.java
Test: runtest -x frameworks/base/tests/Internal/src/android/app/WallpaperInfoTest.java
Test: runtest -x frameworks/base/tests/Internal/src/android/service/wallpaper/WallpaperServiceTest.java
Test: set AoD wallpaper, go to aod, lock screen, launcher
Test: set regular wallpaper, go to aod, lock screen, launcher
2017-12-18 11:28:16 -08:00
Pavel Grafov
3b27ed07fe Make isUsingUnifiedPassword throw when used on parent instance
It doesn't make sense to call it via parent instance.

Bug: 70788883
Test: cts-tradefed run cts -m DevicePolicyManager -t com.android.cts.devicepolicy.ManagedProfileTest#testParentProfileApiDisabled
Change-Id: I66334757ca8e9ee2525dbe88c83216563837aee6
2017-12-18 18:29:51 +00:00
Alexandru-Andrei Rotaru
7f31bb0478 DPMS: password blacklist
Allows admins to blacklist passwords so they cannot be enrolled by the
user or the admin.

Test: bit FrameworksServicesTests:com.android.server.devicepolicy.PasswordBlacklistTest
Test: bit FrameworksServicesTests:com.android.server.devicepolicy.DevicePolicyManagerTest
Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testPasswordBlacklist
Test: cts-tradefed run cts -m CtsAdminTestCases -t android.admin.cts.DevicePolicyManagerTest

Bug: 63578054
Change-Id: I8949ac929c760b66dc719cb058a9f88dc9cad727
2017-12-18 17:05:18 +00:00
Eran Messeri
ecf0f22e58 DPM: Implement installing certificates for generated keys
Add a new method in the DevicePolicyManager to associate certificates (and
set the user-visibility) with a given key alias.
Conceptually, the new method, setKeyPairCertificate is very similar to
installKeyPair, except it does not install a key, only certificates.

(The new setKeyPairCertificate, together with generateKeyPair is
functionally equivalent to installKeyPair, except the keys are generated
in hardware rather than supplied externally).

Bug: 63388672
Test: cts-tradefed run commandAndExit cts-dev -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testKeyManagement -l DEBUG
Change-Id: Idbfe151f6e5311766decbc1a010bff78dc60249f
2017-12-18 13:26:01 +00:00
Sudheer Shanka
b430d8ff06 Merge "Start processes asynchronously in AMS." 2017-12-16 18:36:48 +00:00
TreeHugger Robot
ffed5c82ca Merge "Revert "Log an App Op when an accessibility action is performed."" 2017-12-16 11:57:25 +00:00
Jeff Sharkey
23733285c6 Merge "Delay touching disks when secure keyguard showing." 2017-12-16 02:20:32 +00:00
Phil Weaver
e8fb83fd62 Revert "Log an App Op when an accessibility action is performed."
CTS tests are now throwing security exceptions for accessibility actions.

This reverts commit 19eb58959b.

Change-Id: I2027ee4cca0fcc2b38bb615a58d992ef309e2d70
2017-12-16 00:55:51 +00:00
TreeHugger Robot
73617b0cc0 Merge "Add hints for toggles in Slice" 2017-12-16 00:00:26 +00:00
susanta.patra
0da6e2ccf8 Merge "Fixed create app shortcut text and icon alignment in RTL Language" am: 29f61c21f4 am: c1a2cd2175
am: acbb9830c1

Change-Id: I3aa27e3e6d744a27ff4ee2ad9f1de7fc181f4c38
2017-12-15 22:24:46 +00:00
susanta.patra
acbb9830c1 Merge "Fixed create app shortcut text and icon alignment in RTL Language" am: 29f61c21f4
am: c1a2cd2175

Change-Id: Id0fc2be3255620089a632236af2997213a9d6003
2017-12-15 22:16:02 +00:00
Treehugger Robot
29f61c21f4 Merge "Fixed create app shortcut text and icon alignment in RTL Language" 2017-12-15 21:58:07 +00:00
Jeff Sharkey
9765e446d3 Delay touching disks when secure keyguard showing.
We've tried our best to protect against malicious storage devices
with limited SELinux domains, but let's be even more paranoid and
refuse to look at disks inserted while a secure keyguard is
showing.  We'll gladly scan them right away once the user confirms
their credentials.

Test: builds, boots, manual testing
Bug: 68054513
Change-Id: I19b7446e855176921ed477ef6d07bc9a2cc0ef9a
2017-12-15 13:44:59 -07:00
Sudheer Shanka
f6690100be Start processes asynchronously in AMS.
Currently, process start is initiated in ActivityManagerService
holding the main lock and this takes ~40ms to complete. As seen
in some of the issues in previous releases, this is one of the
contributors of the lock contention in system_server. This change
tries to address this issue by moving the process start outside
the locked section.

When a process start is required, instead of doing it synchronously,
this request will be posted on a handler thread. On the handler thread,
this process start request will be completed without holding a lock.
If for some reason, we decide the process is not needed anymore before
it is actually started or being started, then AMS does everything as
usual removing the references to the process from internal state except
actually killing the process which will be handled on the handler
thread.

Bug: 68775202
Test: Ran app startup perf tests using forrest, will update the bug with results.
Test: https://docs.google.com/spreadsheets/d/1cW81guRALZXKsN-WZsKyQiCSY-RgkJ2m_M9IfqIquz8
Test: cts-tradefed run singleCommand cts-dev -m CtsActivityManagerDeviceTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsWindowManagerDeviceTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsAppTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsMultiUserHostTestCases
Test: adb shell am instrument -e package com.android.server.am -w \
      com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -e class com.android.server.pm.UserManagerTest -w \
      com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -e package android.content -w \
      com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Test: cts-tradefed run singleCommand cts-dev -m CtsProviderTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsContentTestCases -t \
      android.content.cts.ContentResolverTest
Test: cts-tradefed run singleCommand cts-dev -m CtsContentTestCases -t \
      android.content.cts.ContentProviderTest
Test: cts-tradefed run singleCommand cts-dev -m CtsWebkitTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsHostsideWebViewTests
Test: cts-tradefed run singleCommand cts-dev -m CtsAssistTestCases
Test: make WebViewLoadingTests && make tradefed-all && tradefed.sh \
      run template/local_min --template:map test=WebViewLoadingTests
Test: adb shell setprop wrap.com.google.android.apps.maps \
      '"LIBC_DEBUG_MALLOC_OPTIONS=backtrace logwrapper"'
      && adb shell dumpsys meminfo --unreachable <PID_OF_APP>
      && check ppid of <APP> is logwrapper's pid.
Test: cts-tradefed run singleCommand cts-dev -m CtsWrapWrapNoDebugTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsWrapWrapDebugTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsWrapNoWrapTestCases
Test: cts-tradefed run singleCommand cts-dev -m CtsWrapWrapDebugMallocDebugTestCases
Test: manual

Change-Id: I1fe7ce48cd5a4aadccaf6b3d6fdb5cad3304f1d3
2017-12-15 12:23:12 -08:00
Jason Monk
1d521a54bf Merge "Add APIs for slice pinning" 2017-12-15 19:49:02 +00:00
Jeff Hamilton
50a716b03e Merge "Minor LoadedApk refactoring." 2017-12-15 17:53:03 +00:00
Peter Visontay
f5ba933e9c Merge "Log an App Op when an accessibility action is performed." 2017-12-15 15:58:12 +00:00