Use screen on time as timebase for idling out apps
that have been inactive.
Store the time when an app was last active as an additional
package state in UsageStats. Compare it to screenOnTime to decide
if it's inactive.
Exclude device idle whitelist from apps that can go inactive.
Bug: 20066058
Change-Id: I709f9f31a9affa7ca6e1ae3e4c5729c5fb221669
We now maintain a mata-state with each permission in the form of flags
specyfying the policy for this permission. This enables support of the
following use cases:
1. The user denies a permission with prejudice in which case an app cannot
request the permission at runtime. If an app requests such a permssion
it gets a denial unless the user grants the permission from settings.
2. A legacy app with disabled app-ops being upgraded to support runtime
permissions. The disabled app ops are converted to permission revocations.
The app ops manager is a part of the activity manger which sits on top
of the package manager, hence the latter cannot have a dependency on the
former. To avoid this the package installer which is the global
permission managment authority marks the permission as revoked on
upgrade and the package manager revokes it on upgrade.
3. A device policy fixing a permission in a granted or revoked state. This
additional information is folded in the meta-state flags and neither
apps can request such permissions if revoked not the user can change
the permission state in the UI.
Change-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811
When in device idle mode, we now prevent most apps
from being able to hold partial wake locks. The
device idle controller now pushes its white list of
app uids into the power manager, so it can apply this
policy correctly to only apps that are not whitelisted.
The implementation adds a new "disabled" flag to a wake
lock which is set when we want to apply this policy. When
set, we ensure that we tell battery stats that the wake lock
is not being held and ignore that wake lock when computing
the power state summary.
Also add new SDK APIs to schedule alarms that are allowed
to execute while in idle mode.
Finally add new dumpsys commands to the device idle controller
to completely disable and re-enable its operation, to use
for testing.
Change-Id: I1f16672c6ac06d03bb538f9854d5843db9aa6f27
Make SystemUpdatePolicy Parcelable; hide public constructor and
expose static builder methods.
Bug: 20820025
Change-Id: I594ba3c7e5514551134ba6c866b24498b66506bf
Always assume the factory-reset default primary storage before parsing
storage settings. Without this, we'd always default to picking
internal emulated storage during first boot or upgrade.
Bump version code to re-evaluate this for devices that default to
physical storage as primary.
Also restrict available move targets when storage is physical, since
we can't really translate between multi-user and non-multi-user aware
storage.
Bug: 20836019
Change-Id: I186ded1aa3dd9cea67497a4f53b0973031174ccd
On user switch, kill existing processes of the background user with
android.permission.RECORD_AUDIO permission. Home activity should not be
killed to avoid an expensive restart of the home launcher, when the
user switches back.
Introduced DISALLOW_RECORD_AUDIO user restriction, which is enabled for the
background user, and removed for the foreground user.
Introduced a concept of system controlled user restriction, which can only
be set by the system, rather than device administrator.
Bug: 20346194
Change-Id: Ic942fd565e80d14424230dae612965a8e229c4ef
The 'App Summary' section is shown by default when other memory
details are shown. This adds a new meminfo flag '-s' to show only the
App Summary section.
Change-Id: I66913673cd3afca873a8b13e45abe071d4c57b82
- Remove the concept of a notification policy management token
in favor of a simple grant/deny per app. Currently, all requests
are immediately granted.
- Add zen mode getter/setting, limit to apps that have been granted
policy access.
- Add intent for zen mode changes.
- Public name for zen mode = "interruption filter", moved from
NotificationListenerService to NotificationManager.
- Add settings metadata for new DND access Settings screen.
- Add the split sender settings for calls vs messages to the public
Policy api.
- This change is meant to finalize the public api, persisting
granted app status and showing the user-visible dialog will be
done as followups.
Bug: 18298798
Change-Id: I511be98d69939f057c0c7dc1a6dfe63d1c468193
A previous CL introduced a new way of encoding view properties for
use by heirarchy viewer. This CL updates all views using the old
@ExportedProperty annotation to use this new method. The older
mechanism will be removed in a subsequent CL.
Change-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452
Fix the various view assist related APIs.
Also remove the blockAssist view attribute, and instead use
the window's FLAG_SECURE to drive blocking of the entire
hierarchy (which is semantically correct, and will protect
existing apps that have already indicated they need it).
Change-Id: I6beebc86b202809cba0a356cae9607d8d0fb5e78
This CL fixed the issue where scroll offset was ignored when shared
elements are added to the ghost view and when they are laid out.
Bug: 20349408
Change-Id: Ifaeb821bffe6fcfe303221a1732125bf1c4a91b7
Bug 19437530
While the actual Activity Transitions are running,
input is stopped, except for the "back" button.
Change-Id: I112e6252b9de05ece10a6267681fee5487e5ef6b
PhoneWindow, PhoneLayoutInflater and PhoneFallbackEventHandler decided
to @hide out over in the android.view package after the policy jar was
disbanded. Give them a more appropriate home over in framework that
doesn't imply that they should be accessed from other internal layers
of abstraction.
Bug 19606548
Change-Id: Id07b791d178fa447010b49b24726b52208838e88
Themes now use an array of applied styles rather than a String to store
their history. They are keyed based on a hash code computed from the
history of applied styles. The themed drawable cache has been abstracted
out into its own class.
Also updates system context to use DayNight as the default and ensures
that GlobalActions uses the correct context, which exercises the change.
CTS tests have been added in another CL.
Bug: 20421157
Change-Id: I9eb4b7dffd198ad24d02f656eaf0839570b59caa
Rename the DevicePolicyManager functions setKeyguardEnabledState and
setStatusBarEnabledState to setKeyguardDisabled and
setStatusBarDisabled respectively.
Bug: 20820039
Change-Id: I06f6a19ac55b24e66e9f2cb340ead5d940cb2235
- Add method hasUserAuthenticatedSinceBoot to TrustManagerService
- Use this information to only enable fingerprint auth after the user
has at least once authenticated with his regular authentication
method.
Change-Id: Icf073ac3b340d557b044f6bf27f1a7f8511048e2
Previously all shared element names were delivered when
returning from an Activity, even if no shared elements
existed in the exiting Activity. That prevented the calling
Activity from showing a shared element that it delivered,
but will not be receiving back again until shared elements
are transfered. That leaves a weird hole in the UI.
Now only the shared elements mapped in the returning view
hierarchy are delivered to the calling Activity.
Change-Id: I481a8bc7a771d7e819871f424d22313314c9ee8b