27833 Commits

Author SHA1 Message Date
Lorenzo Colitti
cbb2c1d52a Reinstate CHANGE_NETWORK_STATE as a normal permission.
This is a partial revert of http://ag/738523 , but not a full
revert because M apps that have gone through the WRITE_SETTINGS
route to obtain permission to change network state should
continue to have permission to do so.

Specifically:

1. Change the protection level of CHANGE_NETWORK_STATE back from
   "signature|preinstalled|appop|pre23" to "normal". This allows
   apps that declare CHANGE_NETWORK_STATE in their manifest to
   acquire it, even if they target the M SDK or above.
2. Change the ConnectivityManager permission checks so that they
   first check CHANGE_NETWORK_STATE, and then ask Settings
   if the app has the WRITE_SETTINGS runtime permission.
3. Slightly simplify the code in the Settings provider code that
   deals specifically with the ability to change network state.
4. Make the ConnectivityService permissions checks use the
   ConnectivityManager code to avoid code duplication.
5. Update the ConnectivityManager public Javadoc to list both
   CHANGE_NETWORK_STATE and WRITE_SETTINGS.

Bug: 21588539
Bug: 23597341
Change-Id: Ic06a26517c95f9ad94183f6d126fd0de45de346e
2015-12-16 15:33:15 +09:00
Dianne Hackborn
c14cbac4a3 Merge "Fix issue #23361510: Increase assist timeout from 500ms to 1 second" into mnc-dev 2015-08-20 01:56:02 +00:00
Dianne Hackborn
cf836079cd Fix issue #23361510: Increase assist timeout from 500ms to 1 second
Actually, timeout is okay, but need to schedule it on UI thread.

Change-Id: I5b4ffa7caa33815a5223e3ddd08d4809bc7cf7b6
2015-08-19 18:54:38 -07:00
Lorenzo Colitti
11e84bde9e Merge "Don't mark NetworkRequests restricted when they don't have restricted caps" into mnc-dev 2015-08-19 20:48:31 +00:00
Amith Yamasani
e3de6c5df5 Merge "Fix crashes when removing work profile" into mnc-dev 2015-08-19 20:10:30 +00:00
Paul Jensen
aae613d961 Don't mark NetworkRequests restricted when they don't have restricted caps
Requests without NET_CAPABILITIES_INTERNET and just the default network
capabilities should not be marked restricted.  Without this fix apps
can hit permissions exceptions if they inadvertently make requests
without NET_CAPABILITIES_INTERNET.

Bug:23164917
Change-Id: I4c7136821315bcb05dfc42ffbc505a5d4f6109e6
2015-08-19 11:08:38 -04:00
Dianne Hackborn
865b79b43b Fix issue #23326715: Clarify --checkin/-c options in batterystats
Change-Id: I3f026447ba7c6d2c3f9ef065269c31a78cf73512
2015-08-18 17:33:00 -07:00
Amith Yamasani
236b2b5d28 Fix crashes when removing work profile
This isn't specific to work profile. When multiple user
deletions happen in sequence, a race causes a dying user
to lose permissions prematurely. This fix delays removal of
user state until the user is completely cleaned up and all the
processes have been killed.

Bug: 23178833
Change-Id: I1636bc2022416359a25f19a3f65d113c05289cd3
2015-08-18 16:48:55 -07:00
Adam Lesinski
886e7a63b1 Merge "Change default cellular activity timeout to 10" into mnc-dev 2015-08-18 20:43:34 +00:00
Jim Miller
448216e7b8 Merge "Revert "Disable fingerprint when remotely reset by DPM"" into mnc-dev 2015-08-18 19:32:01 +00:00
Adam Lesinski
ed6160d299 Change default cellular activity timeout to 10
LTE radios take 10 seconds to power down, so we should set the
activity timeout to 10 seconds.

Bug:23294704
Change-Id: I7478b77f134b0fe2d82e39acd5c370add12735ca
2015-08-18 11:47:07 -07:00
Dianne Hackborn
af75c17bca Fix issue #23270878: NPE in UsageStatsService while running UserManagementTest
Change-Id: I34d4fcdc103b3a6ea5c4ed78895f2fe18597237a
2015-08-18 11:08:10 -07:00
Filip Gruszczynski
610008c0eb Merge "Clear old clip rect when creating new surface." into mnc-dev 2015-08-18 02:04:57 +00:00
Dianne Hackborn
12b9c2d6aa Merge "Fix issue #23214751: Get a GPS fix before going in to doze" into mnc-dev 2015-08-18 01:17:00 +00:00
Chris Tate
c0a2254e08 Merge "Clean up properly if outcall for doRestoreFinished() fails" into mnc-dev 2015-08-18 01:07:50 +00:00
Filip Gruszczynski
3fcb5d66e4 Clear old clip rect when creating new surface.
This fixes an issue where a window state animator holds on to old clip
rect from previous transition and applies it to the newly created surface.

Bug: 22851074
Change-Id: Ic416a2a0c5d0f69fc80d5656541256ade41c9c36
2015-08-17 17:52:24 -07:00
Jim Miller
deb050706c Revert "Disable fingerprint when remotely reset by DPM"
This reverts commit 8ae1be120806d0189f65a492004a7b5416aa6c6f.

Fixes bug 23187090

Change-Id: Idd9798895b08618f7d272b818818a45d3c9dc7d2
2015-08-17 23:33:39 +00:00
Dianne Hackborn
42df4fbe10 Fix issue #23214751: Get a GPS fix before going in to doze
This introduces a new phase of device idle mode, immediately
before going idle (once we are sure the device is not moving),
try to collect a location for the device so that any later
requests for it will have a good chance of having an accurate
value.

We do this with two location requests: one a single-shot as
accurate as possible location, and a second longer-running
attempt to get an accurate location from the GPS.  There is
a limit on how long we will try to collect the location (default
is 30 seconds), and we stop collection once we reach a desired
accuracy (default is 20 meters).

Also cleanup various transition paths out of the normal state
flow to clean up any active state we may have running.

Change-Id: Ibd3d2e9a720fbfd9640755baf5547180dd409f6a
2015-08-17 16:32:54 -07:00
Christopher Tate
d71d7c350c Clean up properly if outcall for doRestoreFinished() fails
The target app crashed at an inopportune time but this shouldn't
invalidate the whole ongoing restore operation; it's a problem local to
the specific app undergoing restore.  Recognize this, clean up the app's
possibly-incomplete data, and continue running the restore queue as
planned.

Bug 23228982

Change-Id: If9a19d2fe6a0ce5339c893630d7a61a5a5ccd9b1
2015-08-17 12:16:19 -07:00
Junda Liu
f2cb6f7e3e Merge "Grant SMS carrier provisioning app the permission to receive SMS." into mnc-dev 2015-08-17 18:58:19 +00:00
Christopher Tate
ff7add011a Check component permissions like 'exported' before assigned permissions
In particular, don't assume that the absence of an explicit permission
requirement means that the activity is freely launchable unless you have
also checked thing like exported="true" first.

Bug 23223804

Change-Id: Idbfd1f5662b374a7a447b738591b267a1c497e41
2015-08-17 10:25:27 -07:00
Junda Liu
d878f53277 Grant SMS carrier provisioning app the permission to receive SMS.
Bug: b/22982966
Change-Id: I4af525532e2f97973ba255bf8dbb002e42997eea
2015-08-14 17:24:43 -07:00
Dianne Hackborn
ae49872100 Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo...
...from Camera360 to Hangouts }

In the short URI toString, include a small summary of the ClipData (instead
of just saying it has a clip data).  This makes it a lot easier to understand
what is happening when you look at the log of activity starts.

Also separate out the activity manager dump of URI permission grants from
its dump of providers, so it is easy to just look at that state.

Change-Id: I68093d9f279944e1aa9a29347075f237f4f55ed3
2015-08-14 14:08:43 -07:00
Julia Reynolds
7df411d0cc Merge "Clear calling identity before getting the current user." into mnc-dev 2015-08-14 19:17:31 +00:00
Chris Tate
7e7d79ef2f Merge "Make "Ask every time" actually work that way" into mnc-dev 2015-08-14 17:11:30 +00:00
Dianne Hackborn
81f3a85aa2 Merge "Fix issue #22940169: "pm grant" can no longer grant permissions..." into mnc-dev 2015-08-14 17:06:20 +00:00
Svetoslav Ganov
b045331fcb Merge "Add GTS test to ensure valid default permission grants - framework" into mnc-dev 2015-08-14 15:06:16 +00:00
Christopher Tate
56f0ff3c48 Make "Ask every time" actually work that way
..in link-opening behavior.  If a candidate is marked as "ask
every time," then the user is guaranteed to get a disambiguation
prompt including that candidate even when some other candidate
app is in the "always prefer this over a browser" state.

Bug 23147746

Change-Id: I904d8697a992b3f16f32b1c1b49c2bf9424c7137
2015-08-13 18:56:05 -07:00
Dianne Hackborn
9f5b0a2735 Fix issue #22940169: "pm grant" can no longer grant permissions...
...with protection flag PROTECTION_FLAG_DEVELOPMENT

Bring back the old grant/revoke code for development permissions.

Also some more dumpsys output to help debugging.

And new dumpsys command for checking a permission.

Change-Id: I6e27e62a9ca5ec1ecc0f102714a448ea02f0f41c
2015-08-13 18:25:20 -07:00
Julia Reynolds
ea6c448959 Clear calling identity before getting the current user.
This is necessary so non-privilged apps can call setInterruptionFilter.

Bug: 23156657
Change-Id: Ia903a39626c93957276d66805446cd25a91341b5
2015-08-13 09:01:33 -04:00
Bart Sears
bd29b07eab Merge "Fix Keyguard drawn timeout" into mnc-dev 2015-08-13 05:32:14 +00:00
Svet Ganov
52153f4c05 Add GTS test to ensure valid default permission grants - framework
The platform grants runtime permissions by default to apps on the
system image that provide core device use cases which a user expects
to work out-of-the-box. We are now adding a test to ensure that
OEMs cannot pregrant premissions on non approved components.

bug:23043018

Change-Id: Id76717cce0ee59678956bd0be347d3c045fe4c51
2015-08-12 21:57:59 -07:00
Jeff Sharkey
c97509c029 Merge "Update ifaces when global restriction changes." into mnc-dev 2015-08-12 23:51:55 +00:00
Jeff Sharkey
9d14206594 Update ifaces when global restriction changes.
Global restriction of background data only applies to metered
interfaces, but battery saver applies to all interfaces.  In the
very specific case where global background had been turned on while
battery saver was enabled, we'd end up with a stale battery saver
rule floating around.

This change triggers an update of iface rules when the global
restriction changes, giving us consistent behavior.

Bug: 23098198
Change-Id: I454dc71cf11d50a2e9e6122e8a801ff17039b43a
2015-08-12 16:46:05 -07:00
Adrian Roos
c0a4883d58 Merge "Prevent overlap of color views in landscape" into mnc-dev 2015-08-12 18:06:42 +00:00
Todd Kennedy
24e4d48f56 Merge "Promote system app permissions" into mnc-dev 2015-08-12 16:51:13 +00:00
Michael Wright
e20493ea5a Merge "Log last filtered sensor timestamp." into mnc-dev 2015-08-12 16:32:11 +00:00
Michael Wright
6eabf57e58 Log last filtered sensor timestamp.
Bug: 22870354
Change-Id: Ib4efaa0f05bec81856c939c5c640eceff98d88ed
2015-08-12 16:53:24 +01:00
Todd Kennedy
8b3e6b0df1 Promote system app permissions
When upgrading from a pre-M version of Android, install permissions for
exisiting system are promoted to runtime permissions. This only happens
for apps that existed prior to the OTA. Other system apps targeting M
are not automatically granted any permissions.

Bug: 22970710
Change-Id: I964ee3f93c66ea43fbb1be6b5ac6b09ddea3c385
2015-08-12 08:26:15 -07:00
Narayan Kamath
bf88205bef Fall back to persist.sys.language/country if locale isn't set.
This will prevent users from losing their language setting when they
take an OTA to M.

bug: 23021286
Change-Id: Ifb66f6bf6a940ab745edac709321f3009ec6eab4
2015-08-12 11:03:46 +01:00
Lorenzo Colitti
e022cb085f Merge "Don't attempt to stop the receive thread if we never started it." into mnc-dev 2015-08-12 03:38:57 +00:00
Jorim Jaggi
a4b51bc4fd Fix Keyguard drawn timeout
The timeout for waiting for Keyguard drawn was posted at the wrong
place. If the screen was turning on but the device wasn't waking up,
like in doze mode, we didn't post the timeout, thus, if Keyguard
wouldn't notify us, we would never unblock the screen. This doesn't
really cause a user visible bug but it *could*
prevent the screen from turning on if Keyguard doesn't behave nicely.
Put it at the right place so I can sleep better.

Bug: 21855614
Change-Id: Icda31399261b4ee80c292ce09a0858b0127e2999
2015-08-12 01:58:12 +00:00
Carlos Valdivia
968fc3ab75 Merge "Fix deadlock." into mnc-dev 2015-08-12 01:42:19 +00:00
Filip Gruszczynski
59123b9b2d Merge "When closing task stack remove reference to display content." into mnc-dev 2015-08-12 00:40:50 +00:00
Adrian Roos
fe836fabd9 Prevent overlap of color views in landscape
Removes overlap from the color views which resulted in subotimal looks
when both color views were translucent and the nav bar was on the right
edge.

Also fixes a bug introduced in I2df7092a91eceeb815367ef917dd7289f4f2b27e
where the navigation-bar-on-right-side case got forgotten and caused
flickering in landscape when IMMERSIVE_STICKY was set but the navigation bar
was visible.

Bug: 22876533
Change-Id: I449a82eb3dc3f7b5051f26b37b362a196b4ff63a
2015-08-11 17:36:43 -07:00
Wale Ogunwale
e43d43c391 Merge "Fixed issue with moveTaskToBack on single stack devices" into mnc-dev 2015-08-12 00:31:26 +00:00
Andres Morales
494d6e9b03 [fingerprint] use credential owner in FingerprintService
Bug: 23027554
Change-Id: I185492b5008058fdb23a4536a8a73177ee4903d8
2015-08-11 23:14:34 +00:00
Winson Chung
8851608de3 Merge "Always call onProvidersChanged() when packages containing widgets are updated." into mnc-dev 2015-08-11 22:53:51 +00:00
Carlos Valdivia
a3721e1cc8 Fix deadlock.
AccountManagerService can't ever synchronize on mUsers within a block of
code locked by UserAccounts.cacheLock. That will lead to deadlocks.

This change fixes a case where we were doing that in
getAccountsInternal(). Also I have purgeOldGrantsAll() run off the the
main thread.

Bug: 23036400
Change-Id: I8634691ca54c57a6e83633baba549226fdcd1064
2015-08-11 15:12:22 -07:00
Winson
dbba74e81f Always call onProvidersChanged() when packages containing widgets are updated.
- In the existing logic, the call to onProvidersChanged() is called when a package
  with widgets is added or removed, but only called when a package is updated _and_
  there is an app widget bound to a host.  This differs from what the expected
  behavior is based on the documentation and means that packages with widgets that
  update have no way of notifying host apps of changes except via package events.

Bug: 20698931
Change-Id: I60af36d51e99ca1ea751d9d9d03a50ef2d5bef98
2015-08-11 14:29:13 -07:00