Commit Graph

57683 Commits

Author SHA1 Message Date
Robin Lee
4d03abcd49 Make some of the UID-based VPN code reusable
By changing some member refs into arguments and having one of the
functions create the UID range instead of adding to mVpnUsers.

This will be useful for other layers of UID filtering like having
UIDs explicitly blocked from the VPN.

Deleted one broken line of code that cleared the status intent when
a restricted profile is removed. Other than that, this commit shouldn't
change any behaviour. If it does, that's a bug.

Bug: 26694104
Change-Id: Ieb656835d3282a8ba63cc3f12a80bfae166bcf44
2016-05-13 16:03:11 +00:00
Jorim Jaggi
e85ce990fe Don't stage content drawn bounds
It's certainly not needed for two up, so remove the staging aspect.

Freeform resizing is currently broken because of another bug so this
can't be tested, but because we are not "shipping" it in any case
fixing the 2-up bug is more important, but it shouldn't break freeform
anyways.

Bug: 28618501
Change-Id: I6f285a714281fde50fd7328a3f8999cfa8dfb2c5
2016-05-11 00:37:33 +00:00
Fyodor Kupolov
fdc675968c Merge "Push unlocking/unlocked state to UserManager" into nyc-dev 2016-05-11 00:27:48 +00:00
Amith Yamasani
a66d395490 Merge "Fix multi-window assiststructure trashing" into nyc-dev 2016-05-10 22:29:20 +00:00
Adam Powell
56e2aeba8f Merge "Move Activity multi-window event logic out of the public methods" into nyc-dev 2016-05-10 21:34:29 +00:00
Chong Zhang
44aabe4b72 Disable keep_screen_on traces
bug: 28692100
bug: 27522448

Change-Id: Ic077e8985f1f21bc111287813fb2992ed01df909
2016-05-10 21:34:01 +00:00
Winson Chung
9e935820b5 Merge "Reducing the number of recent tasks we keep." into nyc-dev 2016-05-10 21:33:33 +00:00
Keisuke Kuroyanagi
f2cbf95b6b Merge "Sum up character widths to get the last line width for ellipsis." into nyc-dev 2016-05-10 21:16:02 +00:00
Paul Crowley
f829c1463b Merge "Revert "Two phases to set the password for disk encryption"" into nyc-dev 2016-05-10 21:07:59 +00:00
Winson
7c40291b0a Reducing the number of recent tasks we keep.
- This should decrease the time it takes to fetch the recent task list,
  and also reduce the number of tasks we store on-disk.
- Since a user can still open a fair number of tasks within the 
  time-window, and this list includes tasks that are excluded from the 
  UI, we are just reducing it to about half for the time being.

Bug: 28318359
Change-Id: Ie21b3d3d09a567007015fbbecaf914123c71cc06
2016-05-10 21:01:33 +00:00
Paul Crowley
a1eb750e75 Revert "Two phases to set the password for disk encryption"
This reverts commit 17e5dce511.

Bug: 28694324
Change-Id: I6d89bc26cb429b195c9bcf640666c495617257b7
2016-05-10 20:36:56 +00:00
Antonio Cansado
6965c1869a Addressing API council comments on NetworkStatsManager.
Callbacks
 - DataUsageCallback renamed to UsageCallback
 - DataUsagePolicy removed; passing in params directly to register method
 - making it an abstract class
 - passing in (networkType, subscriberId) that reached its threshold
 - renaming onLimitReached to onThresholdReached to match existing naming
 - only monitor single network,subscriberId
 - no monitoring of specific uids; using device or user wide instead

Tags
 - only owner uid can read its tags
 - exposing only TAG_NONE to match service side

BUG: 27530098

Change-Id: I2b2664da71806868a1e937d2bf4d1f234637509b
2016-05-10 13:24:16 -07:00
Phil Weaver
cdaaaaad90 Merge "Reduce cost of a11y services with magnification." into nyc-dev 2016-05-10 20:18:12 +00:00
Andreas Gampe
a8f51e3e46 Merge "Frameworks/base: Shorten system property" into nyc-dev 2016-05-10 19:55:43 +00:00
Andreas Gampe
eff0639345 Frameworks/base: Shorten system property
Otherwise it's too long.

Bug: 26877591
Change-Id: I741186a9fbea6ee50df6cef58d528ec58662c772
2016-05-10 12:52:53 -07:00
Keisuke Kuroyanagi
78f0d83550 Sum up character widths to get the last line width for ellipsis.
To properly apply ellipsis, we virtually concatenate the last line and
overflowed lines after line breaking for a paragraph.
Previously, width of the concatenated line was computed by summing up all
line's width.  However, the width is wrong when there are any trailing
white  spaces that can be normal white spaces by concatenating lines.
With this CL, we sum up widths of all characters in lines except the last
overflowed line.

Bug: 28599066
Change-Id: I41d828ee8eb8a702cd5096d626b307cbb3467047
2016-05-10 12:21:33 -07:00
Amith Yamasani
4f128e4d96 Fix multi-window assiststructure trashing
When multiple activities within the same process
try to handle requests for AssistStructure, the
singleton mLastAssistStructure tends to trash
the old structure when a second window's request
comes in.

This change passes in a sessionId so that the
cache is only cleared if the session id changes.

Bug: 28348867
Change-Id: I07efcd933db7e48aefd25a1c95493b71bbcffe4b
2016-05-10 12:17:51 -07:00
Fyodor Kupolov
6c915ead38 Push unlocking/unlocked state to UserManager
Push unlocking/unlocked state to UserManagerInternal when it's changed in
UserController. Use UserManagerInternal.isUserUnlockingOrUnlocked when
updating flags for filtering in PackageManager.

Bug: 28629076
Change-Id: I8440af090f533f93870d0cff0e3871e114c37efa
2016-05-10 11:09:02 -07:00
Dimitry Ivanov
eb96b00382 Simplify permitted-path construction
The white list of permitted directories is applied for every
classloader namespace by libnativeloader. LoadedApk no longer
needs to do that.

Add mDataDir to permitted paths in the case if for any reason
it is outside of the whitelisted dirs.

Bug: http://b/28639227
Change-Id: I5b61ac64e281ecee3e3e9b1fe56cf04dc6ee7b25
2016-05-10 10:51:40 -07:00
Andreas Gampe
a2723ca88c Merge "Frameworks/base: Make profile buffer adjustable" into nyc-dev 2016-05-10 04:15:13 +00:00
Andreas Gampe
0f03a01ca3 Frameworks/base: Make profile buffer adjustable
Add a debug system property to change the profile buffer size.

Bug: 26877591
Change-Id: Idd13f2bc6563fd88daadd1d6679f3243dab1a0ef
2016-05-09 21:05:12 -07:00
Phil Weaver
2fbdd48682 Reduce cost of a11y services with magnification.
Services that declare that they can control magnification,
but never actually make a change or register a listener
waste cycles as we compute magnification data they never use.

Avoid registering for magnification callbacks unless magnification
gestures are enabled, a service is listening for magnification
changes, or a service has changed magnification.

Bug: 28425922
Change-Id: I114a833669bd53b2cd757c94ea52b65a2f838a08
2016-05-09 16:21:29 -07:00
Adam Powell
858cf036a3 Move Activity multi-window event logic out of the public methods
Move the logic for dispatching multi-window mode change events to
fragments and the activity window out of the public API onFoo methods
meant to be overridden by apps. This prevents problems if an extending
class forgets to call super.onFoo in these methods and removes the
need for doing so.

Bug 28667205

Change-Id: Ibf4c543e22b95753e1e4812bbd3e81f7648de54d
2016-05-09 15:45:37 -07:00
TreeHugger Robot
3b25fd081d Merge "Fix a couple bad links in the javadoc for android.os.health." into nyc-dev 2016-05-09 22:03:05 +00:00
Paul Crowley
9aa6bb5a4a Merge "Two phases to set the password for disk encryption" into nyc-dev 2016-05-09 21:35:34 +00:00
Joe Onorato
168638c594 Fix a couple bad links in the javadoc for android.os.health.
Bug: 28295754
Change-Id: I3b21e204bec626e4d1c6fb8f07580c2854e364eb
2016-05-09 13:32:32 -07:00
TreeHugger Robot
ac29617c6e Merge changes I04301fbd,If6577602 into nyc-dev
* changes:
  Flesh out the docs for the android.os.health package.
  Properly blame the correct uid for wakeup alarms that don't have a WorkSource.
2016-05-09 20:05:13 +00:00
Joe Onorato
181cada18a Flesh out the docs for the android.os.health package.
Bug: 28295754
Change-Id: I04301fbdbfb0708172adb4fd4b4a3658d5ea14eb
2016-05-09 10:32:31 -07:00
Alan Viverette
d8c38b892b Merge "Cancel animation and jump to current state if not animating picker" into nyc-dev 2016-05-09 14:06:29 +00:00
TreeHugger Robot
638a6e8140 Merge "Fixed connectivity state in some restricted network scenarios." into nyc-dev 2016-05-06 23:25:30 +00:00
Svetoslav Ganov
ba83e90e18 Merge "Properly map runtime permissions to app ops" into nyc-dev 2016-05-06 23:08:31 +00:00
Felipe Leme
d31a97fd83 Fixed connectivity state in some restricted network scenarios.
NetworkPolicyManagerService (NMPS) keeps an internal list of uid
rules (mUidRules) for network restrictions, and when these rules
changes it needs to notify external listeners (such as
ConnectivityService / CS).

Prior to Android N, both Data Saver mode (the feature previously known
as "Restrict Baground Data") and Battery Save mode used the same set of
firewall rules to implement their restrictions: when Battery Saver mode
NPMS would mark all networks as metered and set the proper firewall
rules externally.

Recently, these 2 modes were split in 2 distinct firewall rules and
NMPS.updateRuleForRestrictBackgroundLocked() was changed to update
the mUidRules logic based on the Data Saver firewall (since the Battery
Saver firewall changes are handled externally, on
updateRuleForRestrictPowerLocked()). As such, CS was not notified when
the power-related changes were made, which would cause apps to get a
state of CONNECTED / CONNECTED when querying its active connection.

Another scenario that is not properly handled is when a UID whitelisted
for Data Saver is brought back to foreground: although the proper
firewall rules are set, CS is not notified, and the apps state would be
DISCONNECTED / BLOCKED.

This CL introduces many changes that fix this issue:

- Fixed updateRuleForRestrictBackgroundLocked() to invoke
  onUidRulesChanged() when the Battery Saver status changed.
- Fixed updateRuleForRestrictBackgroundLocked() to invoke
  onUidRulesChanged() when an app whitelisted for Data Saver is brought
  back to the foreground.
- Added a new API (onRestrictPowerChanged() and getRestrictPower())
  to notify external services about Battery Saver mode changes.
- Fixed CS logic to properly handle the Battery Saver changes.

Externally to this change, the CTS tests were also improved to verify
the apps get the proper connection state; they can be verified running:

cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests \
    -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests

BUG: 28521946

Change-Id: I8eaccd39968eb4b8c6b34f462fbc541e5daf55f1
2016-05-06 14:53:50 -07:00
TreeHugger Robot
de66540fd3 Merge "Refactored NetworkPolicyManagerService mUidRules." into nyc-dev 2016-05-06 21:41:41 +00:00
Chris Tate
0588954071 Merge "Move the 'pretend idle jobs can run now' broadcast into AMS" into nyc-dev 2016-05-06 21:34:52 +00:00
Pavlin Radoslavov
2f463d4c8b Fix divergent equals and hashCode behavior
Calling Objects.hash with a byte[] will call the identity hashCode on
the byte[] and this doesn't agree with the use of Objects.deepEquals
in equals.
Bug caught by error prone.

Also, replaced usage of Objects.deepEquals(mServiceDataUuid, ...) with
Objects.equals(mServiceDataUuid, ...), because mServiceDataUuid
is an Object of type ParcelUuid.

Bug: 28585195
Change-Id: Id92734874339985fedafe1a28286a6a4dcd88d3b
2016-05-06 12:45:43 -07:00
Alan Viverette
32f7dab282 Cancel animation and jump to current state if not animating picker
Bug: 28629631
Change-Id: I0e1b3c2f2c774e027f2df8c9ab75c7a89bd2ddb7
2016-05-06 15:31:23 -04:00
TreeHugger Robot
5d6a218d9e Merge "Dismiss docked stack if an activity is shown on top of the lock screen" into nyc-dev 2016-05-06 18:30:23 +00:00
Christopher Tate
27d92e4e39 Move the 'pretend idle jobs can run now' broadcast into AMS
It's a protected broadcast, so sending it directly from 'am' is
no longer an option.  This is needed for CTS as well as being
generally useful during app development.

Bug 28406044

Change-Id: I101915a8c6f19454330a8db2079a75023c112582
2016-05-06 11:25:11 -07:00
Paul Crowley
17e5dce511 Two phases to set the password for disk encryption
In one phase, we make the new password work, and in the second we make
it the only one which works ("fixation"). This means that we can set
the password in Gatekeeper between these two phases, and a crash
doesn't break things. Unlocking a user automatically fixates the
presented credential.

Bug: 28154455
Change-Id: I18812f9ce753486ce4e33b4fe2cca392b006b39c
2016-05-06 11:10:23 -07:00
Phil Weaver
b42afe9be0 Merge "Make AccessibilityService#disableSelf atomic." into nyc-dev 2016-05-06 18:08:29 +00:00
Chris Thornton
0f6a7abb83 Merge "Fix NPE in KeyphraseEnrollmentInfo.toString()" into nyc-dev 2016-05-06 18:04:20 +00:00
Felipe Leme
46c4fc357c Refactored NetworkPolicyManagerService mUidRules.
NetworkPolicyManagerService (NMPS) keeps an internal list of uid
rules (mUidRules) for network restrictions, and when these rules
changes it needs to notify external listeners (such as
ConnectivityService / CS).

Prior to Android N, both Data Saver mode (the feature previously known
as "Restrict Baground Data") and Battery Save mode used the same set of
firewall rules to implement their restrictions: when Battery Saver mode
NPMS would mark all networks as metered and set the proper firewall
rules externally.

Recently, these 2 modes were split in 2 distinct firewall rules and
NMPS.updateRuleForRestrictBackgroundLocked() was changed to update
the mUidRules logic based on the Data Saver firewall (since the Battery
Saver firewall changes are handled externally, on
updateRuleForRestrictPowerLocked()). As such, CS was not notified when
the power-related changes were made, which would cause apps to get a
state of CONNECTED / CONNECTED when querying its active connection.

This change refactores the mUidRules to use bitmasks, in preparation for
another change that will fix the issue.

It also fixes a minor bug that was preventing removed packages to be
removed from the whitelist.

BUG: 28521946
Change-Id: I9f0e1509a6192cad403f740c1cd76a6b7dab7d26
2016-05-06 17:58:40 +00:00
Wale Ogunwale
9973294080 Dismiss docked stack if an activity is shown on top of the lock screen
It is risky/complicated to try to put the activity showing on-top of
the lock screen in the right fullscreen configuration with the current
architecture. So, we just dismiss for now.

Bug: 28195260
Change-Id: I29a0350993ce8fe548d4a465b06d877cde151c78
2016-05-06 10:13:14 -07:00
Phil Weaver
19557de767 Make AccessibilityService#disableSelf atomic.
This API was using a oneway aidl call, which meant that the
service was disabled some time after the method returned. That
confused tests that were turning a service off during tearDown
and then turning it back on again in setUp.

Bug: 28621277

Change-Id: I75984df0613bdbb1bc876e2a15caf59106027337
2016-05-06 08:57:12 -07:00
Tony Mak
13532bdd2e Merge "Fix enterprise contacts APIs naming and docs" into nyc-dev 2016-05-06 12:06:29 +00:00
Svetoslav Ganov
eaca4c5022 Properly map runtime permissions to app ops
The code assumed mapping from a permission to an app op
is one to one but this is not always the case. For example,
READ_SMS is mapped to OP_READ_SMS and OP_READ_ICC_SMS which
resulted mapping the READ_SMS permission to the OP_READ_ICC_SMS
instead of OP_READ_SMS resulting in a failure to find the op
name given the permission.

This breaks the AppOpsManager.permissionToOp() API for READ_SMS
returning null instead of OPST_READ_SMS. The consequence of this
is that the apps that proxy permission protected operations may
let the operations for READ_SMS go through as they would get a
null app op, i.e. no app op while there is one and it can be
disabled for the caller.

bug:28620132

Change-Id: I92f8ef375ae2122b7266c50653ce73f3d90f4b28
2016-05-05 18:21:09 -07:00
Chris Thornton
d9729d1df8 Fix NPE in KeyphraseEnrollmentInfo.toString()
If there are no enrollment applications on the system, but someone still
makes a KeyphraseEnrollmentInfo and tries to print it, it would generate
a NPE on a map object. Instead of setting the map to null when we don't
find any enrollment applications, we can just set it to an empty map.

Bug:28622866
Change-Id: I023e6fd90effd3143c19817a0d6637a013bebc31
2016-05-05 17:20:44 -07:00
Adam Lesinski
c1ff12eccd Merge "Fix issue where existing Activity Resources references would not update" into nyc-dev 2016-05-05 23:23:43 +00:00
Adam Lesinski
8ce4e12c73 Fix issue where existing Activity Resources references would not update
When relaunching an Activity, the DecorView and ViewRootImpl is re-used,
along with the IBinder activity token. This means that when we create
new resources, we end up just updating the base Activity resources.

However, we would set the configuration to the new requested override
config and then proceed to update existing Resources references, which
would return immediately due to the equality check for configuration
updates.

This change pushes the setting of the new override config to the
updateResourcesForActivity method, which will properly update Resources
references that are held in the re-used DecorView.

Bug:27915587
Change-Id: I113007a40fa464b8a234b073dcf851e16fee0177
2016-05-05 23:08:09 +00:00
Vladislav Kaznacheev
7d2a0a0571 Merge "Add @TestApi to ActivityOptions.setLaunchStackId" into nyc-dev 2016-05-05 23:04:49 +00:00