Commit Graph

3626 Commits

Author SHA1 Message Date
Bo Zhu
0ee628f47b Merge "Change packVaultParams to use the real vault_handle directly" 2018-01-19 00:44:40 +00:00
TreeHugger Robot
e45515687f Merge "Add factory for TaskPositioner." 2018-01-19 00:01:04 +00:00
Makoto Onuki
5cc9f721ce Merge "Revert "Add setting/experiment for small battery devices to have"" 2018-01-18 23:10:54 +00:00
Bo Zhu
31ccba1af0 Change packVaultParams to use the real vault_handle directly
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I5ebe28fddba3d3939a105c696250f3ea68720822
2018-01-18 14:32:36 -08:00
Makoto Onuki
12391f22df Revert "Add setting/experiment for small battery devices to have"
This reverts commit 9a60382be1.

Reason for revert: Broke battery saver

Bug: 72168928
Bug: 69259147

Change-Id: I09664653686a51c297224c863c4fc6d1ff7e5caf
Test: Manual test
Test: atest CtsBatterySavingTestCases
2018-01-18 22:05:40 +00:00
TreeHugger Robot
940ba0c8fe Merge "Rename CrossProfileApps API as per API council feedback" 2018-01-18 21:10:18 +00:00
Tony Mak
b0d22627e9 Rename CrossProfileApps API as per API council feedback
Three changes:
1. android.content.pm.crossprofile - > android.content.pm
2. getProfileSwitchingIcon -> getProfileSwitchingIconDrawable
3. startMainActivity “user” parameter should be named “targetUser”

Test: atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest
Test: atest frameworks/base/core/tests/coretests/src/android/content/pm/CrossProfileAppsTest.java
Test: atest cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CrossProfileAppsHostSideTest.java

FIXES: 71818128

Change-Id: Icf9a6d1f8b6808935ffd79b43185c7b12235f349
2018-01-18 21:07:50 +00:00
Garfield Tan
6caf1d8c2a Add factory for TaskPositioner.
Bug: 64149458
Test: Unit test passes.
Change-Id: I5bcc22f5e51080001c16479f5636a915d4a4309b
2018-01-18 12:51:06 -08:00
Robert Berry
1ae3cf14c3 Merge "Rename RecoveryManager to RecoveryController" 2018-01-18 20:00:13 +00:00
TreeHugger Robot
8ed2c7f267 Merge changes Iaeb8d9c2,Ifa83ce1d
* changes:
  Fix notification sorting.
  Remove all caps style
2018-01-18 19:10:28 +00:00
Robert Berry
74928a1dfb Rename RecoveryManager to RecoveryController
This fixes the linting error that happens when we attempt to make this a
@SystemApi.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ib9eea030874608d73ceeff21ee8d7e9d5a75bce8
2018-01-18 18:00:10 +00:00
TreeHugger Robot
6ccd91cec3 Merge "Use RecoverySession object to hide session IDs (redux)" 2018-01-18 17:44:37 +00:00
Kenny Guy
0e4bc3f2ba Merge "Add more brightness config details to dumpsys" 2018-01-18 15:18:08 +00:00
Robert Berry
2bcdad9533 Use RecoverySession object to hide session IDs (redux)
Session IDs are an implementation detail that the framework can (and should)
abstract away. This was previously reverted due to breaking master.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I4427c818348c054ada39d799b6da3b739f27eba9
2018-01-18 14:36:32 +00:00
Julia Reynolds
472f01cf34 Fix notification sorting.
Calls are now appropriately sorted.

Test: runtest systemui-notification
Change-Id: Iaeb8d9c2d58c0bfdf3fdeaa9fe7be86f9ab05189
Fixes: 72145403
2018-01-18 09:25:44 -05:00
Robert Berry
588a06f5a2 Merge "Revert "Use RecoverySession object to hide session IDs"" 2018-01-18 12:24:06 +00:00
Robert Berry
9fa87627ed Revert "Use RecoverySession object to hide session IDs"
This reverts commit 988c55ce67.

Reason for revert: broke some tests

Change-Id: Ib43099aebc8ff025e052337475bab13445da74eb
2018-01-18 12:23:33 +00:00
TreeHugger Robot
c07dd18a3e Merge "Update the VaultParams encoding to reflect the recent change in the format of vault_handle" 2018-01-18 11:08:26 +00:00
TreeHugger Robot
c4e99794e9 Merge "Use RecoverySession object to hide session IDs" 2018-01-18 10:40:24 +00:00
Annie Meng
799438229a Merge "Rename Robo tests to BackupManagerServiceTest" 2018-01-18 10:34:07 +00:00
Robert Berry
988c55ce67 Use RecoverySession object to hide session IDs
Session IDs are an implementation detail that the framework can (and should)
abstract away.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ieba641a9b54ac9bba197a6e9749b621a07e40c67
2018-01-18 08:25:26 +00:00
Robert Berry
9e1bd362df Rename KeychainProtectionParameter to KeychainProtectionParams
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Iab6d85d0be38e1a09ce78bb96b8f68493de65be9
2018-01-18 08:21:43 +00:00
Bo Zhu
4ff2b3fd83 Update the VaultParams encoding to reflect the recent change in the
format of vault_handle

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I105d17ac87b70795fa977b7649c7a1fdcb97b5e9
2018-01-18 08:07:13 +00:00
Jorim Jaggi
1f2acb9a16 Merge "Add ability to register remote animation definitions per activity" 2018-01-18 00:17:26 +00:00
Jorim Jaggi
f84e2f60fe Add ability to register remote animation definitions per activity
This introduces a more stable way of setting a remote animation
than using overridePendingTransition: An activity can register
a set of remote animations which is broke down by transition type.
Whenever the activity is involved into such a transition, the
remote animation will be started.

Remote animations take precedence over regular animations, and
prefixOrderIndex in the hierarchy decides precedence within
multiple apps that set remote animation definitions such that
higher apps override lower apps.

Bug: 64674361
Test: go/wm-smoke
Test: Use with launcher
Change-Id: Id300ff62d9f60966ea2609168f6a02860b3de7af
2018-01-17 22:00:37 +01:00
Kenny Guy
05ce809b82 Add more brightness config details to dumpsys
Allow client to add a description to a brightness
config and dump to dumpsys
Dump time and package name of system app that
set the last brightness config.

Bug: 71854421
Test: atest PersistentDataStoreTest
Test: manaual - check adb shell dumpsys display
Change-Id: I5ff0c0d3a4c5e30c9d4aa7eea850c7174ee20450
2018-01-17 20:42:42 +00:00
Julia Reynolds
072abed5f5 Merge "Fix flaky schedule tests" 2018-01-17 20:16:52 +00:00
TreeHugger Robot
b1a00d5e16 Merge "Use better names for associated classes of RecoveryManager" 2018-01-17 20:04:55 +00:00
Nancy Zheng
2baa9ab4be Merge "Add setting/experiment for small battery devices to have all forced app standby enabled except for when the device is charging." 2018-01-17 19:00:10 +00:00
TreeHugger Robot
4ba2c3f4ec Merge "Ensure a user's SP does't change." 2018-01-17 18:08:45 +00:00
TreeHugger Robot
468ea7b99c Merge "One time permission grant to default noti assistant" 2018-01-17 17:15:42 +00:00
Annie Meng
2ab9c4c953 Rename Robo tests to BackupManagerServiceTest
Bug: 71988336
Test: m -j RunFrameworksServicesRoboTests
Change-Id: I79acd816e2e1fc320fd2bea39692ed52cf56a67e
2018-01-17 16:52:46 +00:00
Jorim Jaggi
7e269fca40 Merge changes from topic "remote_animations"
* changes:
  Remote animations (app-controlled animations)
  Defer hiding clients until animation is done
2018-01-17 15:59:52 +00:00
Robert Berry
5f138701fe Use better names for associated classes of RecoveryManager
I will also rename RecoveryManager to RecoveryController -- in a separate CL,
as this one is already becoming too large.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I2fb4e1f55fb50d95f15c230783c3d289dd71f7f3
2018-01-17 15:22:56 +00:00
Jorim Jaggi
33a701a55c Remote animations (app-controlled animations)
Adds the ability for another app to control an entire app
transition. It does so by creating an ActivityOptions object that
contains a RemoteAnimationAdapter object that describes how the
animation should be run: Along of some meta-data, this object
contains a callback that gets invoked from WM when the transition
is ready to be started.

Window manager supplies a list of RemoteAnimationApps into the
callback. Each app contains information about the app as well as
the animation leash. The controlling app can modify the leash like
any other surface, including the possibility to synchronize
updating the leash's surface properties with a frame to be drawn
using the Transaction.deferUntil API.

When the animation is done, the app can invoke the finished
callback to get WM out of the animating state, which will also
clean up any closing apps.

We use a timeout of 2000ms such that a buggy controlling app can
not break window manager forever (duration subject to change).

Test: go/wm-smoke
Test: RemoteAnimationControllerTest

Bug: 64674361
Change-Id: I34e0c9a91b28badebac74896f95c6390f1b947ab
2018-01-17 15:12:19 +01:00
Jorim Jaggi
4876b4a273 Defer hiding clients until animation is done
This is a preparation for remote animations: We used to set app
visibility state immediately after we started the animation.
However, with remote animations, we'd like to allow them drawing
until the transition is done. For that, we defer hiding the client
until the animation is done.

Instead of special-casing remote animations, we do it for all
apps, as there is no harm in doing so.

Test: Open YouTube, make sure it enters Auto-PIP when pressing
home.
Test: go/wm-smoke
Test: Open trace with open/closing a couple of apps. Make sure
app visibility gets dispatched at the correct time.
Test: WindowStateTests

Bug: 64674361
Change-Id: I8deb6a97ca1c3d8f4a70a6e045f45a6bc16604bb
2018-01-17 13:46:27 +01:00
TreeHugger Robot
f4bd556cea Merge "Fix NPE occured when null ClipData is passed to startDrag." 2018-01-17 02:26:23 +00:00
Nancy Zheng
9a60382be1 Add setting/experiment for small battery devices to have
all forced app standby enabled except for when the device
is charging.

Bug: 69259147
Test: Manual test
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/ForceAppStandbyTrackerTest.java
Change-Id: Ica3fe6835958f186269413519ee82bc19fb83275
2018-01-16 14:30:23 -08:00
TreeHugger Robot
f59809c014 Merge "Do not pause initializing activities when becoming visible." 2018-01-16 21:15:28 +00:00
TreeHugger Robot
020b579dd4 Merge "DisplayCutout: LayoutInDisplayCutoutMode API" 2018-01-16 19:58:17 +00:00
Bryce Lee
052957b6c0 Do not pause initializing activities when becoming visible.
makeVisibleIfNeeded was recently modified to ensure activities
becoming visible were not left in the stopped state. However, the
condition was based on simply not being in the paused state, rather
than requiring it be in the stopped/stopping state. This can lead
to lifecycle issues for moving an initializing activity into the
paused state.

This changelist ensures that only stopped/stopping activities are
considered.

Change-Id: I17fc6310db6ee111d1db8f69599090becd1e1760
Fixes: 72028454
Test: atest FrameworksServicesTests:com.android.server.am.ActivityRecordTests
2018-01-16 11:13:30 -08:00
TreeHugger Robot
931abbc249 Merge "Binding on-demand #10: Remove permanent binding and add registration" 2018-01-16 18:39:27 +00:00
Andrew Scull
1416bd022f Ensure a user's SP does't change.
Changes of the SP are caused by untrusted credential reset which can be
triggered by certain admin modes. When such an admin is active, the SP
needs to be cached. Untrusted reset will be removed in a future release
at which point this caching can also be removed.

Bug: 71527305
Test: runtest frameworks-services -p com.android.server.locksettings
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy
Change-Id: I54f3b299b79ce019ba679b5550d37fd090b679fb
2018-01-16 18:14:23 +00:00
Adrian Roos
fa02da6250 DisplayCutout: LayoutInDisplayCutoutMode API
Replace the FLAG2_LAYOUT_IN_DISPLAY_CUTOUT flag with a
dedicated layoutInDisplayCutout field; given the change
in behavior of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN with respect
to the display cutout, apps that request this now also need
a way to request the same behavior as FLAG_FULLSCREEN.

Broadly, there's three categories of apps:

1) Apps that want to make dedicated use of the cutout
   area -> no letterbox ever

2a) Apps that hide the status bar, but don't expect the
    cutout to be there cutting into their content
    -> we want those to get letterboxed

 b) Some apps may only be transiently fullscreen, but always
    want to get letterboxed
     -> we want those to get letterboxed even if not currently
        fullscreen

3) Apps that never go fullscreen, and just draw the status
   bar background in the cutout area (i.e. the most common type
   of app)
   -> these need to get letterboxed whenever the cutout and
      status bar don't coincide (under our current guidelines
      that's only in fullscreen and landscape)

To cover each use case, we have:

ALWAYS: Always allow the app to draw into the cutout, never letterbox it; covers 1
NEVER: Never allow the app to draw into the cutout, always letterbox it; covers 2a and 2b
DEFAULT: Allow the app to draw into the cutout if that area is covered by the status bar
         anyways. This does the right thing for most existing apps (2a and 3).

Bug: 65689439
Test: atest PhoneWindowManagerLayoutTest
Change-Id: Ib8d551251e9be4ef9d580ca2151bf40a9678acae
2018-01-16 17:56:32 +01:00
Bernardo Rufino
41349c02a8 Binding on-demand #10: Remove permanent binding and add registration
This CL is the last of the P1 CLs for binding on-demand. During
transport-usage migration to binding on-demand the permanent-bound
code was still there and we piggybacked on it to register the
transports. Now that everything is migrated we removed the permanent
binding and used the registration code created in the CL #9
(selectTransport) for registering all the transports.

I put a 3s delay on registration after bring-up. Any operation that uses
the transport before that will gracefully fail.

The TransportBoundListener does not return a boolean anymore because it
can't fail anymore (we pass it the data it needs so that it doesn't need
to be exposed to TransportNotRegistered exceptions). It's now called
OnTransportRegisteredListener.

Eligible transports were a similar thing to valid transports from the
permanent binding code, whose only need came from rebinding from what I
could tell. I saw no need for it anymore and removed it. If I missed
something please shout :)

I shuffled methods a bit in TransportManager.

There were a lot of changes to robo test infra to bring together
TransportManager tests and the rest and re-use mocking infra.

Change-Id: If61268228dd0bb724b718abd3dcafdad50e8b3dc
Ref: http://go/br-binding-on-demand
Bug: 17140907
Test: m -j RunFrameworksServicesRoboTest
Test: runtest -p com.android.server.backup frameworks-services
Test: gts-tradefed run commandAndExit gts-dev -m GtsBackupTestCases
Test: gts-tradefed run commandAndExit gts-dev -m GtsBackupHostTestCases
Test: cts-tradefed run commandAndExit cts-dev -m CtsBackupTestCases
Test: adb shell bmgr enable true/false
Test: adb shell bmgr list transports [-c]
Test: adb shell bmgr transport <transport_name>/-c <transport_component>
Test: adb shell bmgr restore <token>/<token> <package>/<package>
Test: adb shell bmgr backup <pacakge>
Test: adb shell bmgr run
Test: adb shell bmgr wipe <transport> <package>
Test: adb shell bmgr fullbackup <package>
Test: adb shell bmgr backupnow --all/<packages>
Test: adb shell cmd jobscheduler run -f android <job_id>
Test: adb shell dumpsys backup
Test: D2D scenario
2018-01-16 14:22:23 +00:00
TreeHugger Robot
fb0152d494 Merge "DisplayCutout: Do not letterbox LAYOUT_FULLSCREEN windows" 2018-01-16 14:13:33 +00:00
TreeHugger Robot
30b8dd4199 Merge "Tag brightness APIs with @SystemAPI" 2018-01-15 18:31:34 +00:00
Adrian Roos
2dfb785e4e DisplayCutout: Do not letterbox LAYOUT_FULLSCREEN windows
Bug: 65689439
Test: atest PhoneWindowManagerLayoutTest
Change-Id: I34fd6421461127954483b5eb2d7ee7540ce6491c
2018-01-15 19:03:02 +01:00
TreeHugger Robot
7ac85a3b87 Merge "DisplayCutout: Move emulation into resource overlay" 2018-01-15 15:58:49 +00:00
Julia Reynolds
7edcd7881a Fix flaky schedule tests
Test: runtest systemui-notification
Change-Id: Ideec8798088c50d46fd2d1dddf9fa8bed408cdd9
2018-01-15 10:23:48 -05:00