Commit Graph

10021 Commits

Author SHA1 Message Date
Selim Cinek
6825542381 Merge "Started visual hierarchy for min priority notifications" 2017-01-25 19:53:49 +00:00
TreeHugger Robot
000f7cd646 Merge "Initial IME integration." 2017-01-25 19:44:33 +00:00
TreeHugger Robot
13fd7f1899 Merge "Fix issue with PiP hiding when dragging divider." 2017-01-25 19:31:56 +00:00
TreeHugger Robot
fbcb01cde7 Merge "Move theme out of tuner and into display settings" 2017-01-25 19:17:22 +00:00
TreeHugger Robot
b93ecbae57 Merge "MessagingStyle: Add historic messages" 2017-01-25 18:47:20 +00:00
Edman Anjos
452efaac32 Merge changes I50d2903e,Ieb347ce3
* changes:
  Add DPMS delegation scopes.
  Add block uninstall delegation in DPMS.
2017-01-25 18:00:03 +00:00
Jason Monk
524fb4025e Move theme out of tuner and into display settings
Change-Id: Id939a8a34e92c6190c59317155238697861a65e5
Fixes: 34682466
Test: Manual
2017-01-25 12:32:07 -05:00
Adam Lesinski
9aa513bf95 Merge "Add support for Split APK dependcies" 2017-01-25 16:56:51 +00:00
Adrian Roos
437cd56a7f MessagingStyle: Add historic messages
Adds an API to supply additional context to a Notification that uses
MessagingStyle. To be used in the future to enhance the Direct Reply
experience.

Test: runtest cts
Change-Id: I6da0b9067cbffbaae2bd3c5d9606a0b5437f1ed4
2017-01-25 16:55:57 +00:00
Julia Reynolds
717ca4b07d Merge "Allow notifications to be autocanceled at a time." 2017-01-25 16:03:38 +00:00
Edman Anjos
52088e4859 Add DPMS delegation scopes.
Implement the permission grant, package access, enable system app, and
keep uninstalled packages delegation scope APIs in the
DevicePolicyManagerService.

This feature gives a device owner or profile owner the ability to
delegate some of its privileges to another application.

Bug: 33105287, 33105284, 33105719
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDelegation
Change-Id: I50d2903eb73ae7844ec1f6fe07e41101ea2760ea
2017-01-25 16:53:50 +01:00
Edman Anjos
a5f2fb1a43 Add block uninstall delegation in DPMS.
Implement the uninstall blocker delegation scope API in
DevicePolicyManagerSercice.

This feature gives a device owner or profile owner the ability to
delegate some of its privileges to another application.

Bug: 33105718
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDelegation
Change-Id: Ieb347ce3fb6219fe7f04cafbcd1e6b7359b31a10
2017-01-25 16:31:13 +01:00
Julia Reynolds
2a128746b3 Allow notifications to be autocanceled at a time.
Test: cts
Change-Id: I24ebcab2c0fa2028ec5d2984dc3b7ec19391b590
2017-01-25 09:28:01 -05:00
Edman Anjos
f994677626 Refactor DPMS Cert Installer and App Restrictions delegation.
The DevicePolicyManagerService currently supports delegation of
certificate installation and application restriction management, both
of which are individually handled by DPMS.

Upcoming framework features will add four more delegation types,
namely: block uninstall; app permission management; app access
management; and system app enabler. At this moment it makes sense to
refactor the underlying delegation system in DPMS so that current and
future delegates can be handled in a more generic way.

Bug: 33099995
Test: DPMS unit tests
Change-Id: I9e350143572c6690febdd59d1ed5149af8ee4388
2017-01-25 13:00:40 +01:00
Selim Cinek
6743c0bd52 Started visual hierarchy for min priority notifications
Min priority notifications are now greyed out and in an
even smaller form-factor then before.

Test: add low-priority notifications - observe visuals
Bug: 34469375
Change-Id: I3ce2cbf22dbc3276ac738224a16c1b10165964f3
2017-01-24 18:58:55 -08:00
Adam Lesinski
4e8628157a Add support for Split APK dependcies
Apps can now declare in their base APK AndroidManifest.xml
that they want to have their split APKs loaded in isolated
Contexts. This means code and resources from the split
get loaded into their own ClassLoader and AssetManager.

<manifest xmlns:android="..."
          ...
          android:isolatedSplits="true"
          ...

In order to make this more useful, splits can declare dependencies
on other splits, which will all get pulled in to the Context
and run as expected at runtime.

A split declares its dependency on another split by using the
tag <uses-split> in its AndroidManifest.xml:

<manifest xmlns:android="...">
    ...
    <uses-split android:name="feature_split_1" />
    ...

A split can have a single parent on which it depends on. This is
due to the limitation of having a single ClassLoader parent.
All splits depend on the base APK implicitly.

PackageManager verifies that no cycles exist and that each dependency
is present before allowing an installation to succeed.

The runtime will then load splits based on the dependencies.

Given the following APKs:

base <-- split A <-- split C
  ^----- split B

If an Activity defined in split C is launched, then the base,
split A, and split C will be loaded into the ClassLoader defined
for the Activity's Context. The AssetManager will similarly be loaded
with the resources of the splits.

A split can be manually loaded by creating a Context for that split, defined
by its name:

Context.createContextForSplit("my_feature_split_1");

All installed Activities, Services, Receivers, and Providers are accessible
to other apps via Intent resolution. When they are instantiated, they are
given the appropriate Context that satisfies any dependencies the split they
were defined in stipulated.

Test: WIP (CTS tests to come)
Change-Id: I8989712b241b7bc84381f2919d88455fcad62161
2017-01-24 18:34:08 -08:00
Felipe Leme
3461d3c069 Initial IME integration.
- Created an AutoFillManager class, which provides methods to show
  the auto-fill bar for views and virtual nodes.
- Automatically launches an auto-fill request when the IME is shown
(and an AutoFillService is set for the given user) on TextViews.
- Updated VirtualNodeListener to use this new API.

BUG: 31001899
BUG: 34171325
Test: CtsAutoFillServiceTestCases passes
Test: manual verification

Change-Id: Id72ce97da70217081b5823cfc7b138412634fcf3
2017-01-24 17:57:16 -08:00
TreeHugger Robot
e84ad491c8 Merge "Add color mode to activity/window" 2017-01-25 01:20:28 +00:00
Winson Chung
2af04b31d9 Fix issue with PiP hiding when dragging divider.
- Prevent the PiP windows from being set to drag resizing and getting
  clipped.

Test: Open PiP, dock a window, and start interacting with the divider.
Change-Id: I6a28a139261f1c3c09ec2b027e438df0411987c1
2017-01-24 16:24:17 -08:00
Romain Guy
4832745b84 Add color mode to activity/window
The color mode lets an application request a wide color gamut for
a specific window. This will also be used in the future to request
HDR. The color mode is currently either default (sRGB) or an undefined
wide gamut color space chosen by the platform. These attributes could
later be used to choose a specific color space if we deem this important
or useful.

This change also renames the various "colorimetry" attributes and
constants to "color mode" for consistency. These symbols were
added in O and can be safely renamed.

Test: CtsColorModeTestCases
Bug: 32984164
Change-Id: I4d4691dd12dbe3f3aa6a5cf893cff39aa16c739e
2017-01-24 15:55:09 -08:00
TreeHugger Robot
f070b4ef55 Merge "Snoozing API changes" 2017-01-24 22:52:43 +00:00
Winson Chung
6d2fe9e96d Merge "Remove dependency on resizable activity to enter PiP." 2017-01-24 22:26:47 +00:00
Shreyas Basarge
a393ff7dc7 Merge "API to select backup transport" 2017-01-24 22:02:28 +00:00
Julia Reynolds
cf63ff1532 Snoozing API changes
- No one can snooze for an undetermined amount of time
- Only the assistant can unsnooze
- Listeners can retrieve a list of snoozed notifications

Test: runtest systemui-notification, cts verifier
Change-Id: Idfaee6d8bc15a5d41630f86f7e852468b07dc7d0
2017-01-24 16:18:52 -05:00
Winson Chung
d339538a67 Remove dependency on resizable activity to enter PiP.
- Removing the requirement for activities to have both the
  resizeableActivity and supportsPictureInPicture attribute
  to enter PiP.  The activity may still be resized when
  entering picture-in-picture.

Bug: 34256643
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: If6bd4721c53072e5518f554a8c7598705517c132
2017-01-24 10:56:33 -08:00
Shreyas Basarge
865303fce5 API to select backup transport
This cl adds an API to select a backup
transport by its component name and
receive a callback when BackupManager
is bound to the transport. Calling this API
will make BackupManager bind to the transport
if it isn't already bound to it.

Also fixes the issue where BackupManager would
detect only one transport per package.

Ref: go/backup-transport-switching

Bug: 33616220
Test: Manually tested. GTS tests will be put up shortly.

Change-Id: I8c23bdbb84ceb05eb1fad9b3a8b9c4441cb06c74
2017-01-24 17:28:48 +00:00
Winson Chung
59fda9e217 Adding AppOps setting for entering PiP when hidden.
- In O, apps can request to enter picture-in-picture when the user
  effectively leaves their activity for another task by default. To
  prevent this from being abused, we need to add a setting for the
  user to disable this behavior per-package in the system level.
  When disabled, any activity from that package will only be able
  to enter picture-in-picture when it is visible and resumed.

Bug: 34520451
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testAppOpsDenyPipOnPause
Change-Id: Ib3a993e99ffb071706c6b7d3fb1c882b74acc5d7
Signed-off-by: Winson Chung <winsonc@google.com>
2017-01-24 09:15:01 -08:00
Alexander Hills
3c290d43b1 Merge "Changes the default value of Notification.Action.mAllowGeneratedReplies" 2017-01-24 16:31:42 +00:00
Alex Hills
1f27f88f02 Changes the default value of Notification.Action.mAllowGeneratedReplies
Changes the default from false to true

Bug:31934635
Fixes:31934635
Test: CTS tests in ag/1824710
Change-Id: I1c7097627e77eed12bb9cc644c1cbb5c3197a750
2017-01-24 15:38:56 +00:00
Julia Reynolds
c4d3a70b97 Merge "Add updatable fields to Ranking" 2017-01-24 15:15:28 +00:00
Abodunrinwa Toki
1f50fa6df5 Merge "Update TextAssistant interface." 2017-01-24 15:04:29 +00:00
Abodunrinwa Toki
f001fefff3 Update TextAssistant interface.
Rename to TextClassifier
Move to android.view.textclassifier package
Adds getTextClassifierInfo(...)
Changes addLinks(...) to getLinks(...)

This CL also integrates this interface with framework components
and passes a context to TextClassificationManager.

Test: Tests will be added with implementation.
Bug: 34661057
Change-Id: If9e90f034ebb702c1f78e72b6a844f39eebf738f
2017-01-24 15:01:24 +00:00
Julia Reynolds
924eed1ca6 Add updatable fields to Ranking
- NotificationChannel
- Badging

Test: runtest systemuinotification & cts

Change-Id: I7fd1f2dc06148927e9a4bd5b760d436e2c5e8a98
2017-01-24 08:43:38 -05:00
TreeHugger Robot
2cff9319e8 Merge "Merge commit '12562abcd47de4aee3b0469cb04bf771c2072113' into manual_merge_12562abcd47d" 2017-01-24 11:35:18 +00:00
Jeff Sharkey
9727f22fc0 Merge "Introduce RecoverableSecurityException." 2017-01-24 03:19:18 +00:00
Jason Parks
7a190b08fe Merge "Allow the profile owner to enforce auto time." 2017-01-24 02:46:29 +00:00
TreeHugger Robot
24454ca4b8 Merge "Add an 'am crash' shell command" 2017-01-24 01:25:12 +00:00
Jeff Sharkey
56f0368fb7 Introduce RecoverableSecurityException.
This takes advantage of the recently added behavior that offers to
send Parcelable exception types across Binder calls.

Certain SecurityException can be resolved if we involve the end user,
such as when a password has expired, or a user challenge is required
to proceed.  This new subclass of SecurityException provides
user-visible messaging and convenience methods for quickly rendering
that messaging as a notification or dialog.

Test: builds, boots, throws, shows as notification and dialog
Bug: 33749182
Change-Id: Iba66c7466b8fabca9e3f83c60db5a4ab849a256f
2017-01-23 17:23:17 -07:00
Dmitri Plotnikov
d11b9e77e4 Merge "Adding TvExtender channel override" 2017-01-24 00:07:42 +00:00
Dianne Hackborn
5f1a2a34d9 Merge "Optimize bg check flow." 2017-01-24 00:05:38 +00:00
Jason Parks
841cb0a37f Allow the profile owner to enforce auto time.
Test: runtest -c com.android.server.devicepolicy.DevicePolicyManagerTest frameworks-services

Change-Id: I1cb04cce5d232fba668535dd391459a050d62dd7
2017-01-23 17:32:53 -06:00
Adrian Roos
5304e89dfd Merge "KeyguardManager: Fix user resolution of isDeviceSecure/Locked" 2017-01-23 22:21:07 +00:00
Dianne Hackborn
c3af19a87d Optimize bg check flow.
No longer need to look up the application info, target SDK is
explicitly passed in to the check.  For the external method, we
change this to just checked to see if background is completely
disabled, which doesn't need a target SDK check (and is the only
thing any of the current clients care about).

Now allow SystemUI to put targets of notification pending intents
on the temporary whitelist when they fire, so developers can avoid
dealing with background restrictions in this case (if the user
interacts with their notification, they will temporarily be
considered in the foreground).

Remove any thoughts of enforing restrictions on registerReceiver(),
so we don't need to deal with target SDK versions there (which can't
be done all that efficiently).

Also bring back the old "allow starts coming from foreground apps"
only for the MODE_IGNORE app op, since it should provide some
better compatibility.

Test: ran them.

Change-Id: Id4ea7f992d12ce4bd8e54f1dbaeb4a460a3dee59
2017-01-23 14:18:33 -08:00
Nancy Zheng
6111e23d30 Merge commit '12562abcd47de4aee3b0469cb04bf771c2072113' into manual_merge_12562abcd47d
Test: manually tested upstream

Change-Id: I8ca2eebcb468f73bf609ed09dc141a2bf40b8697
2017-01-23 14:06:38 -08:00
Nancy Zheng
12562abcd4 Query for the settings package in KeyguardManager instead of hardcoding it. am: e256a18dcd
am: ed92230c38

Change-Id: I41ef0f14cbd3f7e19e6fde0cdf636619683704a2
2017-01-23 21:34:45 +00:00
Nancy Zheng
ed92230c38 Query for the settings package in KeyguardManager instead of hardcoding it.
am: e256a18dcd

Change-Id: I9e83ca9e1cab882fc0f508ba6c538e08b4fa7499
2017-01-23 21:23:40 +00:00
Adrian Roos
0b1853f997 KeyguardManager: Fix user resolution of isDeviceSecure/Locked
Fixes isDeviceSecure and isDeviceLocked APIs to use
the user id of the app that executes the code rather
than that of any incoming binder call.

Change-Id: Ib7772b60c35a3ebf96830f9b013c539021e1f063
Fixes: 34592592
Test: manual
2017-01-23 12:40:30 -08:00
TreeHugger Robot
1f42d9a6ec Merge "Fix recent checkPermission() bug." 2017-01-23 20:27:32 +00:00
Christopher Tate
8aa8fe1289 Add an 'am crash' shell command
Induce a normal VM crash via adb, because it's quite different from the
effects of 'am kill'.

Test: induced crashes via adb shell using both pid & pkg

Change-Id: I79654afa7c4a70364cfd7d3af3e80a7b0e59b882
2017-01-23 20:18:45 +00:00
TreeHugger Robot
4a65687b85 Merge "Expose fonts.xml via public API with a service" 2017-01-23 19:57:23 +00:00