Move requestDropPermissions from DragEvent to Activity.
Permissions will be granted using UriPermissionOwner
associated with this activity and revoked when the activity
is destroyed (if DropPermissions.release is not called before that).
Change-Id: Ic8f8fc3f56f57e83b9bc34ae8c96d82c2c9c4e1d
The user restriction DISALLOW_MODIFY_ACCOUNTS and the policy
DPM.setAccountManagementDisabled can now be circumvented by a device
or profile owner. This allows the device or profile owner to add
accounts without briefly having to remove the policy.
Bug: 22030831
Change-Id: I2b59c4b3ad354287d7a00f21b2afef072d12517d
Since the summary is now in the header, we can allow one
more line in bigtext. Also made it look nicer if the
bigtext was empty, in case we always want to use bigtext
by default.
Change-Id: I13679de084757ef174b3bf53e75837a4d95ddc99
The notifications are now measured at wrap_content such
that the layout still looks good even if the text
was ommited instead of arbitrarily making it bigger.
This also fixes some small rounding issues where the
expanded notification was just a pixel bigger than
the collapsed version.
Bug: 26185377
Change-Id: Ie3339ff75680ab512446605055304576e058f588
The views were based on a legacy systemUI notification.
We are now creating it in Notification.java in order to
always have the latest visuals and avoiding duplicate work.
Change-Id: I3f544cad069a8eab34d4464404d020e06d7f6626
- Implement a "VR mode" that may be enabled by a focused Activity.
- Add a system service that tracks the current VR mode state and notifies
other core framework services of mode changes.
- Extend NotificationListenerService to allow the bind/unbind lifecycle
of specified listeners to be triggered by system events.
Bug: 22855417
Bug: 25479708
Change-Id: I1ac8692bbb5521bb6c7cfb9d2b56b98b720f8568
We started adding noDisplay activities to source tasks to make the
resolver activity show up within the same task bounds as what caused it
to appear. However, in other cases it might cause to add a noDisplay
activity to a task in which we don't expect anything to appear, e.g.
home task when launching from home.
Bug: 26128908
Bug: 26023670
Change-Id: I2f64e82b3c3754cdbcb4cac3f907674344e67e04
This CL moves layer calculation into a separate class, so the whole
logic can be encapsulated. It also extracts special cases from the
general loop and instead applies them at the end. This simplifies the
logic in the main algorithm and makes it clearer what needs to happen
for special cases.
Bug: 26144888
Change-Id: I87347bf0198bd0d3cd09e4231b4652ab979f2456
The device or profile owner can allow another
package to set app restrictions for any app in that user
Similar to the way it can give permission to access
CA certificate related APIs from M.
Bug: 22541936
Change-Id: I0c1b0804ad300dfa4fbdc1c7721c5d8653d77861
The runtime needs the application's main code paths so it know for which
dex files to record the profile.
Bug:26080105
Change-Id: I5f2cb5c140aa6893ac78bc0d5897e33764569e5b
Bug 25504648
Invisible views don't respond to accessibility. The transition
system uses a sneaky way to make an invisible view visible
with the GhostView, so the views becoming visible doesn't
trigger the accessibility system to recognize the newly-
visible views. This forces accessibility to rescan the contents
after the transition completes.
Change-Id: If57114b7e7ee304707d53dd235cd7795df8f509f
Adds APIs in DevicePolicyManager and PackageManager for allowing
a device admin to suspend a package. PackageManagerService sets
or unsets a new PackageUserState 'suspended' setting. Terminal
command to suspend/unsuspend has been added via
PackageManagerShellCommand (as root).
Next steps:
* use the new 'suspended' setting for denying access to start app
(probably in ActivityStackSupervisor)
* broadcast a PACKAGE_(UN)SUSPENDED intent for launchers to pick up
* remove app from recents (go further and kill it if it is running)
* erase existing notifications for this app
Bug: 22776576
Change-Id: I718b3498f6a53cc0c6fdfb6d15031e53ddca4353
Adding new policy in DPM to trigger reboot on the device.
Requirement: Device owner can reboot the device if it is stuck or is
not useable due to some unresponsive UI.
Bug: 25304994
Change-Id: I7a6d5c8ad611de9c1cf6619378e492a306b41626
Allow bundled apps to reference platform native libraries
located in subdirectories of the default library path
(/system/lib/hw/* for example).
In addition to this bundled apps need to share native
libraries with default namespace. Added parameter to
ApplicationLoaders.createClassLoader() to do just that.
Bug: 26165097
Bug: 26164393
Change-Id: I833b4f758c4df8f8958d72eafd5d47ef14079ce1
The OS will not distinguish between the physical underlying wallpaper
image and the target displayable subrect of that image. This will enable
more pleasing conveyance of backed-up wallpaper imagery between dissimilar
devices. The allow-backup hint is a way for wallpaper sources to ensure
that the OS doesn't back up imagery that should not be propagated across
devices.
(NB: the backing implementation isn't in place yet; this is just to
permit forward-looking work on client apps in the interim.)
Bug 25454501
Bug 25453848
Change-Id: Id014d552ae509f659992d57b915ef95c5d4b8d1a
We currently decide when to show the decor caption onConfigurationChanged
However, if the app handles configuration changes or the threshold isn't
big enough for the configuration change to be reported to the app, we don't
display the caption in some cases when transitioning from fullscreen mode
to freeform mode.
We now also use the onMultiWindowModeChanged call to also determine if
the caption should be visible.
Change-Id: I237437f04ad90f904912ebac0253245f547b0e3e
The existing implementation returned null if the device was not locked,
but when using ConfirmCredentials for the Work Profile we need to take into
account the user we want to confirm credentials for, given that the device
user might not have a lock but the work profile will.
Change-Id: Ifb5882846b0a62c73ac7cc04d90d1a4d9b103e63
Currently, access to network usage history and statistics requires a
signature|privileged permission, an AppOps bit (associated with the
PACKAGE_USAGE_STATS permission), or device/profile ownership. Once
access is granted via one of these mechanisms, it generally applies to
any UID running in the same user as the caller.
This CL expands access as follows:
-Any app can access its own usage history with no extra requirements.
-Carrier-privileged applications can access usage history for the
entire device.
-Device owners can access per-UID breakdowns for usage. Previously
they could access the summary for the whole device, but not the
individual breakdowns.
We simplify the permission model by defining three access levels -
DEFAULT (own app only), USER (all apps in the same user), and DEVICE
(all apps on the device), and propagate these levels throughout.
Finally, this CL fixes an apparent bug in
NetworkStatsSerice#hasAppOpsPermissions - if the AppOp bit was in
MODE_DEFAULT, hasAppOpsPermission would always return false instead of
falling back to the PackageManager permission check.
Bug: 25812859
Bug: 25813856
Change-Id: Ic96e0776e2a4215a400163872acea1ededfaced9
On the client side we have additional protection not to save new
configuration reported by activity manager if the app isn't handling
any of the configuration change that occurred. This is done because
the activity is expected to relaunch for any configuration it doesn't
handle. However, with multi-window support the activity manager doesn't
relaunch an activity if the configuration change doesn't cross a resource
threshold.
We now save the configuration on the client side when activity manager
tells us not to report the changes to the app (i.e. configuration
changed, but wasn't big enough for relaunch)
Bug: 23904868
Change-Id: I54f65cad65c1b8ed5da1165a8b2816adbea41d4b
- Add way to open QS detail panels directly
- Add internal broadcast that can launch apps when dnd mode changes
Change-Id: If2b6350dc31623f3bf2f64c7eb141cff5d3d4e89
Basically anything Parcelable needs to go since it might be
quite large. Note that this includes additional extras such as
those contributed by WearableExtender.
Cherry-picked from 5012853de2
Bug: 26038546
Change-Id: I00eadd2b23dfc4fccf42332df658373bb05b8a45
System apps are the exception and they can
access internal platform libraries (this
is needed for bundled apps to work correctly).
Also fix the way NativeActivity loads the native
library to correspond to the way BaseDexClassloader
does it.
Bug: http://b/22548808
Bub: http://b/25777936
Change-Id: Idc94cdded182ea2cb1cbebc76c336cc3394c7ebe
(cherry picked from commit 6f06ad7df1)
System apps are the exception and they can
access internal platform libraries (this
is needed for bundled apps to work correctly).
Also fix the way NativeActivity loads the native
library to correspond to the way BaseDexClassloader
does it.
Bug: http://b/22548808
Bub: http://b/25777936
Change-Id: Idc94cdded182ea2cb1cbebc76c336cc3394c7ebe