Commit Graph

12472 Commits

Author SHA1 Message Date
Petr Cermak
4fa2aa03ea Merge "Add "results source" parameter to RemoteInput" 2018-01-18 17:39:34 +00:00
TreeHugger Robot
4212de2e74 Merge "Add adb command to get max running users" 2018-01-18 16:50:31 +00:00
Bryce Lee
e6c2b50229 Merge "Disallow starting activities without new task from non-activity context." 2018-01-18 15:49:15 +00:00
Alex Chau
c12189b24c Add adb command to get max running users
Bug: 72033601
Test: New command is working
Change-Id: I38746a2c03a6da35e7d8a149e1fb0b3604234dbc
2018-01-18 15:17:22 +00:00
TreeHugger Robot
e8ffec1661 Merge "Add hint to indicate 'see more' type content" 2018-01-18 14:17:14 +00:00
Jorim Jaggi
1f2acb9a16 Merge "Add ability to register remote animation definitions per activity" 2018-01-18 00:17:26 +00:00
Dake Gu
d4356fdf4b Merge "autofill: support dpad/keyboard" 2018-01-18 00:14:36 +00:00
TreeHugger Robot
1721004ec9 Merge "Customize user switch dialog" 2018-01-17 23:55:47 +00:00
Dake Gu
67decfa7f8 autofill: support dpad/keyboard
To make autofill works on non-touch device such as TV, allow
fill ui window to gain window focus. Fill ui window does not
need IME. When IME and fill ui window are both shown, fill ui
window will intercept keyevent before IME.

Since autofill window will steal window focus from app window,
we no longer uses View.onWindowFocused() for enter/exit event.
Switched to use Activity onResume/onPause. When view
notifyViewEntered or notifyViewExited called when Activity is paused,
it will be ignored. Before Activity goes to pause state,
notifyViewExited() is fired on focus view, after Activity leaves
pause state, notifyViewEntered() is fired on focus view.

In CTS testDatasetAuthTwoFieldsUserCancelsFirstAttempt,  the
authentication activity finishes itself in onCreate() which will not
produce onPause/onResume in app activity, but it will produce window
focus loss/gain event. Since we switch from window focus to activity
onResume/onPause, we will be missing a show fill ui when return from
the never shown authentication activity. To solve this problem,
we added special code when receive ActivityResult from authentication
activity where we check if the authenticate activity never causes
onStop event, where we should issue an extra ACTION_VIEW_ENTERED
event to show fill ui.

Test: passed all existing autofilltest CTS on sailfish
      atest CtsAutoFillServiceTestCases
Bug: 70181616

Change-Id: Iafe4dca3be8f049fa6dfd34bac13ccb030c583b6
2018-01-17 14:42:16 -08:00
Bryce Lee
f9b7201a63 Merge "Add more logging to Activity Lifecycler." 2018-01-17 22:03:04 +00:00
Antoan Angelov
f68bf1a819 Merge "Add metadata to validate incoming administrator during transfer of ownership." 2018-01-17 21:32:15 +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
Craig Donner
022320cb57 Merge "Deprecate android.software.vr.mode" 2018-01-17 20:20:51 +00:00
TreeHugger Robot
3fb6ea960f Merge "Add BackupManager#isBackupServiceActive() system API" 2018-01-17 19:07:21 +00:00
TreeHugger Robot
13e7ad1e1c Merge changes from topics "SliceDesc", "SliceCleanup"
* changes:
  Add SliceManager#getSliceDescendants
  Update slice APIs
2018-01-17 18:58:27 +00:00
Alex Chau
93ae42b04d Customize user switch dialog
- Introduced DevicePolicyManager to set messaging for switching out of and into user 0
- Introduced coressponeding API to get the message

Bug: 71787514
Test: Set start and end session message with TestDPC, change is reflected
Test: Restart the device, switch message is still enforced
Test: Clear the message with TestDPC, reverted back to default
Change-Id: I527eca6f151cee35459abad7ae9dcdeef486148f
2018-01-17 18:51:19 +00:00
TreeHugger Robot
4ba2c3f4ec Merge "Ensure a user's SP does't change." 2018-01-17 18:08:45 +00:00
Bryce Lee
f465ea0d6a Disallow starting activities without new task from non-activity context.
A change to the conditions to allow such behavior when a task id was
specified now allows for all non-activity contexts to start activities
as long as no options bundle is specified.

This changelist corrects the condition.

Change-Id: Ifaff4fc6d875ba74ec532b3e3ce91c6aa3ca3362
Fixes: 32625589
Test: atest CtsActivityManagerDeviceTestCases:StartActivityTests
2018-01-17 10:06:06 -08:00
Petr Cermak
6cb667cb12 Add "results source" parameter to RemoteInput
This CL adds the following methods to RemoteInput:

  * setResultsSource(Intent intent, int source)
  * getResultsSource(Intent intent)

where source can be one of:

  * RemoteInput.SOURCE_FREE_FORM_INPUT
  * RemoteInput.SOURCE_CHOICE

Rationale: This will allow apps to distinguish direct and smart replies
for logging purposes.

Bug: 67765414
Test: atest RemoteInputTest (http://ag/3469835)
Change-Id: Ie30416640df4b2cd0424f9c75b235fc124be87a3
2018-01-17 16:48:28 +00:00
Bryce Lee
d946f86f12 Add more logging to Activity Lifecycler.
This changelist introduces temporary logging targeting an issue
where lifecycle transactions are executing for non-existent client
records. Additional details are retained and exposed in this case
to help better understand what is happening.

Bug: 71506345
Test: manual
Change-Id: Ibfdbbd5ef0c465294709383405403aa0d3508ecb
2018-01-17 08:41:54 -08: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
Michal Karpinski
96e0be0fd8 Add BackupManager#isBackupServiceActive() system API
So that GMSCore can find out and disable restore flow
and Backup UI.

Bug: 33339643
Test: gts-tradefed run gts -m GtsGmscoreHostTestCases -t com.google.android.gts.devicepolicy.DeviceOwnerTest#testBackupServiceActive (new GTS test in companion CL)
Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testBackupServiceEnabling
Change-Id: I62c38dec2395d3aa926566d128b0067ce7d62c26
2018-01-17 15:00:45 +00:00
Alex Chau
4f46813ebc Merge "API Review: Put executor argument before the listener argument for clearApplicationUserData" 2018-01-17 14:46:03 +00:00
arangelov
5149d716e5 Add metadata to validate incoming administrator during transfer of ownership.
Bug: 69543092
Test: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.MixedDeviceOwnerHostSideTransferTest#testTransfer
Test: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.MixedDeviceOwnerHostSideTransferTest#testTransferNoMetadata
Change-Id: Iccefb37836d0f88e9d4f692ecf9aba6d3197ad08
2018-01-17 14:31:19 +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
Craig Donner
c6f9c85f74 Deprecate android.software.vr.mode
Bug: 71365436
Test: Build
Change-Id: I4e371dfea1823787e2e175206b34c25d872bd411
2018-01-16 16:00:42 -08:00
Makoto Onuki
13ccf0b951 Merge "Log sync stop (== onStopJob) reason in the sync log." 2018-01-16 23:04:15 +00:00
Jason Monk
5f8cc27e14 Add SliceManager#getSliceDescendants
Allows SliceProviders to give consumers a list of slices they might
be interested in.

Test: cts
Bug: 68378569
Change-Id: I2d7d50388055937cabe3378502db56201f051897
2018-01-16 17:57:20 -05:00
Jason Monk
b9e06a8458 Update slice APIs
- Remove deprecated onBindSlice
 - Move bindSlice to SliceManager since it exists.

Test: update-api
Bug: 68378571
Change-Id: I1bfde10b5da5f80d395c69a6408fa5b13cd113f0
2018-01-16 17:12:06 -05:00
Lenka Trochtova
c141d08b70 New management API for making backups mandatory.
Let the device owner make backups with a chosen backup
transport mandatory.

BUG: 64012357
Test: make RunFrameworksServicesRoboTests
Test: manually together with the corresponding GmsCore change.
Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases --test
com.android.cts.devicepolicy.DeviceOwnerTest#testGetAndSetMandatoryBackupTransport
Test: cts-tradefed run cts -m CtsBackupHostTestCase --test
android.cts.backup.BackupDeviceOwnerHostSideTest#testMandatoryBackupTransport

Change-Id: I9bfae5799beae3459659e697813b75a9b508ae55
2018-01-16 22:24:11 +01:00
Makoto Onuki
d2bfec6359 Log sync stop (== onStopJob) reason in the sync log.
Bug: 71866667
Test: Manual test

Change-Id: I89e492362759fe6318102b61a28818b642f5bc2f
2018-01-16 20:47:24 +00:00
Andreas Gampe
e8e016838a Merge "ActivityThread: Attempt to attach agent with app's classloader" am: f779d7e3be am: 9f1f950c31
am: 9853a65386

Change-Id: I064033ab86013dd80efa3cb4eb22b89ac143e7b6
2018-01-16 20:08:30 +00:00
Andreas Gampe
9853a65386 Merge "ActivityThread: Attempt to attach agent with app's classloader" am: f779d7e3be
am: 9f1f950c31

Change-Id: I0df113aff5a54c5a1dbc5f968679bb9d4f8ea158
2018-01-16 19:59:02 +00:00
Andreas Gampe
9f1f950c31 Merge "ActivityThread: Attempt to attach agent with app's classloader"
am: f779d7e3be

Change-Id: Id5ae3b90ca4b75046419fb1a6c02ef556d225f77
2018-01-16 19:46:36 +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
Naomi Musgrave
ff350a2f35 Merge "Include ID in toString of NetworkEvent subclasses, DNS and Connect event" 2018-01-16 15:00:38 +00:00
Oscar Key
0158d976c8 Merge "Add FLAG_INCREMENTAL and FLAG_NON_INCREMENTAL to performBackup()." 2018-01-16 11:17:00 +00:00
Andreas Gampe
ab8a63be6a ActivityThread: Attempt to attach agent with app's classloader
Try to use the app's (main) classloader when an attach-agent request
is handled. If that fails, retry without a classloader.

Add bind-application-time flag to ProfilerInfo. Use the flag to have
a second attach-agent point on app startup. Add --attach-agent-bind
to cmd activity start to expose the difference between pre-bind and
bind-time attaching.

Bug: 70901841
Test: m
Test: cts-tradefed run commandAndExit cts-dev -m CtsJvmtiAttachingHostTestCases
Change-Id: I21698ec3be43a6d095d577100b2adfb22daca7d5
2018-01-15 13:04:25 -08:00
Oscar Key
7b1d974d71 Add FLAG_INCREMENTAL and FLAG_NON_INCREMENTAL to performBackup().
These indicate if backup manager passed any previous state to the backup
agent when building a backup. The transport will use these to decide
whether to clear any existing encryption related state for the app.

I left the new flags as @hide for now.

Bug: b/71792427
Test: Tested manually with a buid of GmsCore updated to process the new
flag. I am attempting to write a robolectric test.

Change-Id: Ica0f6f578cd7d1ad29af532a45a2ee6685c84747
2018-01-15 18:22:29 +00:00
Alex Chau
4a4285bb5f API Review: Put executor argument before the listener argument for clearApplicationUserData
Bug: 71866615
Test: None (No change in IDevicePolicyManager)
Change-Id: I81eb6faf4948d1b230bdb7b9fe97d0764effa531
2018-01-15 14:06:56 +00:00
TreeHugger Robot
23374d63ec Merge "Move startUserInBackground to standalone and avoid user from being stopped unnecessarily" 2018-01-15 13:56:36 +00:00
TreeHugger Robot
82548f4bc3 Merge "Implement DISALLOW_SHARE_INTO_MANAGED_PROFILE" 2018-01-13 16:40:41 +00:00
Lucas Dupin
e1daf52b92 Merge "Allow custom keyguard "prompt reason"" 2018-01-13 01:13:26 +00:00
TreeHugger Robot
bc569cb25c Merge "Fix object pool for lifecycler" 2018-01-12 23:27:55 +00:00
Jeff Hamilton
2fd131b492 Merge "Minor LoadedApk refactoring." am: 6ca155f8c2
am: e6fee297a2

Change-Id: I919f7e7e11b64f6155919f7ea631f3f6fd84ce03
2018-01-12 21:43:44 +00:00
Jeff Hamilton
e6fee297a2 Merge "Minor LoadedApk refactoring."
am: 6ca155f8c2

Change-Id: I96fb0215bc09e2c190900be47dcca4de2c752d47
2018-01-12 21:30:13 +00:00
Kodlee Yin
d6ae867fb2 Merge "Create Notification.Action.SemanticAction intdef." 2018-01-12 21:20:54 +00:00
Andrii Kulian
0447068f27 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: 70554032
Bug: 71346774
Test: com.android.server.am.ClientLifecycleManagerTests
Test: android.app.servertransaction.ObjectPoolTests
Change-Id: I85fb3dae4589c2390e00a37144da0d285d16d151
2018-01-12 13:08:25 -08:00
Jeff Hamilton
caf728ea26 Minor LoadedApk refactoring.
- Rename varaibles holding LoadedApk to make the code easier to read.
- Move resource creation into LoadedApk, consolidating the logic.

(cherry picked from commit 7541ca4d1a)

Test: manual
Merged-In: I6bdc70482fbbb346ff694ada528ded18d3a63ef7
Change-Id: I6bdc70482fbbb346ff694ada528ded18d3a63ef7
2018-01-12 11:05:50 -08:00
Rubin Xu
cc391c2c13 Implement DISALLOW_SHARE_INTO_MANAGED_PROFILE
Add a user restriction to allow profile owners to enforce a stronger
isolation of managed profile by preventing users sharing data into
the profile. This is achieved by disabling a subset of built-in cross
profile intent filters added by ManagedProvisioning during profile
inflation.

Implementation wise, DevicePolicyManagerService listens for the restriction
change and notifies ManagedProvisioning to modify the built-in intent
filters. This is needed since ManagedProvisioning has ground truth of all
built-in intent filters and manages them. It also has the advantage that
ManagedProvisioning only needs to run when a policy change happens.

Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testDisallowSharingIntoProfileFromPersonal
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testDisallowSharingIntoProfileFromProfile
Bug: 63911046
Change-Id: Ia6d12a5086627d1280325cd19d6e3a0752dae633
2018-01-12 19:01:40 +00:00