Commit Graph

59772 Commits

Author SHA1 Message Date
Paul Navin
7b89a7b1f7 Add hidden API for whether permission review mode is on.
BUG: 34240393
Change-Id: I68e55767a7da1d457a6cedd210aac9e339fb996c
2017-01-27 03:42:32 +00:00
Elliot Waite
ab978c035e Fix @links in reference docs.
am: 54de77470d

Change-Id: Id38c30bad13d6b61ed504a06471b9f197b360f7b
2017-01-26 04:34:57 +00:00
Elliot Waite
54de77470d Fix @links in reference docs.
Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
2017-01-25 17:00:55 -08:00
Nancy Zheng
8ac1bff7e2 Merge "Query for the settings package in KeyguardManager instead of hardcoding it." into cw-f-dev 2017-01-23 21:17:19 +00:00
Nancy Zheng
e256a18dcd Query for the settings package in KeyguardManager instead of
hardcoding it.

Bug: 33047002
Change-Id: I57bfab4750540789937d50c72ec05bb7a4535ae1
2017-01-20 13:46:31 -08:00
Svet Ganov
e710a6fc66 Use separate switch ops for runtime permissions
If permissions review is enabled we allow individual
control of fine graned permissions in the SMS group.
This change ensures these permissions use the
corresponding app op as a switch to allow indifidual
control.

Change-Id: I83cd78a78a8266df8324b8a10cd9e36c04ff3112
(cherry picked from commit 99e4d51584)
2017-01-19 12:31:42 +00:00
Svetoslav Ganov
a7ff8fbe74 [DO NOT MERGE] Prevent crash from early Toast surface destruction.
am: 016c9c8cb5

Change-Id: Ib33d75a050a1b79de9590f2dbe03609c6e2b4463
2017-01-17 22:58:18 +00:00
Andrew Scull
3aac3ebee1 resolve merge conflicts of ad4aa1ce7d to nyc-mr1-dev
am: eb35ad9969

Change-Id: I4fd9ce4c79db5a10f28008c89205fc9c8ef2888f
2017-01-13 17:17:49 +00:00
Andrew Scull
eb35ad9969 resolve merge conflicts of ad4aa1ce7d to nyc-mr1-dev
Change-Id: I97ef31536cd06495a08a3f94f81df2d1376186e0
2017-01-13 15:28:36 +00:00
Andrew Scull
ad4aa1ce7d resolve merge conflicts of e4cefbf4fc to nyc-dr1-dev
Change-Id: Ib536a33ba381c28397320edd516d52727e5bdacc
2017-01-13 13:16:09 +00:00
Philip P. Moltmann
331a4bb8d4 Do not write if apply() did not change the file.
am: 1f99f81bdc

Change-Id: I4dd94b4f862f6c3d5ada9961d75cc2f91886edf1
2017-01-13 01:10:01 +00:00
Philip P. Moltmann
889a420a9e Only persist last Shared Preferences state
am: d15c4f1da5

Change-Id: I6431d4b7d07064eec5013d01b5bda76b1ed35e14
2017-01-13 01:09:03 +00:00
Philip P. Moltmann
1f99f81bdc Do not write if apply() did not change the file.
Bug: 33385963
Test: SharedPreferences CTS tests
Change-Id: I39955f8fbcdaa54faa539a3c503e12cb00808136
2017-01-12 16:43:30 -08:00
Philip P. Moltmann
d15c4f1da5 Only persist last Shared Preferences state
If multiple async shared preferences writes are queued, all but the
last one can be ignored as they will be overwritten by the last one
anyway.

For commit() we need to make sure that we have at least persisted the
state of the commit.

Generation counts are 64 bit, hence they never overflow.

Test: Produced a lot of SharedPreferences.Editor.apply and did not see
excessive writes anymore, ran SharedPreferences CTS tests
Bug: 33385963
Change-Id: I3968ed4b71befee6eeb90bea1666a0bb646544f6
(cherry picked from commit 31d6889f4c)
2017-01-12 16:42:59 -08:00
Andrew Scull
e4cefbf4fc Don't save password metrics to disk.
On FBE devices, don't save the metrics to disk but compute them when the
password is first entered and only store them in RAM.

Merged-in: 5daf273b7e
Bug: 32793550
Change-Id: Icee7f615167761177b224b342970a36c7d90f6ba
2017-01-12 16:01:59 +00:00
Dave Friedman
eedb695579 Docs: Updates Javadoc documentation. Bug: 32532540 am: 2a3ebadcbe am: e0fd4c8a3b
am: a111e0f7f0

Change-Id: Ic5d7e0ce01bd573e0882122d0709cbc2da56f448
2017-01-07 02:43:44 +00:00
Dave Friedman
a111e0f7f0 Docs: Updates Javadoc documentation. Bug: 32532540 am: 2a3ebadcbe
am: e0fd4c8a3b

Change-Id: I8f65ad71433efbe1121e0617c6d7575b7db3a051
2017-01-07 02:38:45 +00:00
Dave Friedman
e0fd4c8a3b Docs: Updates Javadoc documentation. Bug: 32532540
am: 2a3ebadcbe

Change-Id: Ibee55c5e73d9b51e5f5df24be01b0b797fa8a7a5
2017-01-07 02:30:45 +00:00
Dave Friedman
2a3ebadcbe Docs: Updates Javadoc documentation.
Bug: 32532540

Change-Id: Ia811d9a51812206b18b75a98f6c5a55b92627404
2017-01-06 16:41:19 -08:00
Charles He
08ea823955 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882 am: e5156ec1e9 am: 9a47fa7fc0 am: 8bcdab7e6f am: dd7837c5ad
am: 9bc2d6b446

Change-Id: I7e5794885bf78dfd1d755a7fdb0b1edf66b9fdee
2016-12-29 11:03:26 +00:00
Charles He
9bc2d6b446 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882 am: e5156ec1e9 am: 9a47fa7fc0 am: 8bcdab7e6f
am: dd7837c5ad

Change-Id: I2124f52b38314199950d1448cddd2bbd328c85ce
2016-12-29 10:55:23 +00:00
Charles He
dd7837c5ad Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882 am: e5156ec1e9 am: 9a47fa7fc0
am: 8bcdab7e6f

Change-Id: I6e41bfad4ce66ca80bca636a5fb4ddc85b71e83a
2016-12-29 10:41:25 +00:00
Charles He
8bcdab7e6f Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882 am: e5156ec1e9
am: 9a47fa7fc0

Change-Id: Ifb9f5b177f7c031352e6e9cf308e6295f7c60074
2016-12-29 10:34:04 +00:00
Charles He
9a47fa7fc0 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882
am: e5156ec1e9

Change-Id: I62b79fe7ef5a2febce27729f4709a599832cb3da
2016-12-29 10:25:50 +00:00
Charles He
e5156ec1e9 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611
am: 00a581f882

Change-Id: I016955744e48d7a91380c2ff39f7c64536a39c7e
2016-12-29 10:18:49 +00:00
Charles He
00a581f882 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d
am: 133ff4d611

Change-Id: I54b163f645f561243aac3df1a55c1023531997b3
2016-12-29 10:11:20 +00:00
Charles He
133ff4d611 Prevent writing to FRP partition during factory reset. am: a9437bd1ca
am: 2ce5c4320d

Change-Id: I29339a634fd22cd46bfc08619464da8fe159a2b7
2016-12-29 10:03:53 +00:00
Charles He
2ce5c4320d Prevent writing to FRP partition during factory reset.
am: a9437bd1ca

Change-Id: Ib0b8db2357317dc3e680910c08f15f098baf2af9
2016-12-29 09:48:45 +00:00
Svetoslav Ganov
016c9c8cb5 [DO NOT MERGE] Prevent crash from early Toast surface destruction.
To understand this change it's first helpful to review Toasts.
The ViewRoot is constructed on the client side, but it's added,
to a window token controlled by the NotificationManagerService.
When we call NotificationManagerService#cancelToast, the system
will remove this window token. With the window token removed,
the WindowManager needs to destroy the surface to prevent orphaned
windows. If we destroy the Surface before removing the toast on the
client side however, we've never asked the ViewRoot to stop rendering
and we could have a crash. To solve this we just have to ensure we call
removeView before cancelToast.

Bug: 31547288
Bug: 30150688

Change-Id: Ic7e8914a7fb2134a8b9e0c2f3810d7f075c8391e
2016-12-20 15:15:29 -08:00
Mark Lu
d7c29565ba docs: remove implicit intent from bindService and startService
am: 94ebbe0e58

Change-Id: Iaf24452f3456703c917a2a574ff218c9eac854bd
2016-12-19 20:21:57 +00:00
Charles Mendis
a586b546c3 Merge "Fix OnCancelListener for Dialogs on swipe to dismiss." into cw-f-dev 2016-12-19 19:05:53 +00:00
Mark Lu
94ebbe0e58 docs: remove implicit intent from bindService and startService
bug: 18295867
Change-Id: Ib4b561dd215f4b124ce9a90b446bc03676f7e00a
2016-12-17 07:23:45 +00:00
Michael Kwan
67639a5f67 Fix OnCancelListener for Dialogs on swipe to dismiss.
Swipe to dismiss on dialogs did not dispatch onCancel events
to OnCancelListeners. Resolve by adding listener to monitor
swipe to dismiss events and dispatch onCancel events when
that occurs.

Bug: 33663411
Change-Id: I64ff29e008d485a4559eb3d1ff7f0e74dccff404
2016-12-16 13:43:16 -08:00
Mark Lu
377dab8ab3 docs: changes to broadcast documentation
am: 33ec106d22

Change-Id: I673efc100756ee6d6ef0d2afa99d48d471ce0987
2016-12-16 04:59:08 +00:00
Phil Weaver
74f9e1b867 Add null check to a11y interrupt.
Also adding same robustness to interrupt that we have for
sending a11y events.

Bug: 32507871

Test: Ran a11y CTS. Verified manually with sample app
that sends interrupt and accessibility service that
crashes when started. That case used to crash the
app, and doesn't anymore.
Change-Id: I5cf05dcbb54ea23ae876cb3258dd206c55dce775
(cherry picked from commit 867ad35d9c)
2016-12-15 08:06:15 +00:00
Charles He
a9437bd1ca Prevent writing to FRP partition during factory reset.
Avoid potential race condition between FRP wipe and write operations
during factory reset by making the FRP partition unwritable after
wipe.

Bug: 30352311
Test: manual
Change-Id: If3f024a1611366c0677a996705724458094fcfad
(cherry picked from commit a629c772f4)
2016-12-14 12:08:30 +00:00
Mark Lu
33ec106d22 docs: changes to broadcast documentation
- move BroadcastReceiver info to developer guide. see cl/140402421
- add usage note to CONNECTIVITY_ACTION broadcast

bug:32533262
bug:33106411

Change-Id: Ic2aa517831d29418e0c42aa6fc1e7f9aeb50f802
2016-12-13 18:28:32 -08:00
Ivan Podogov
e5592abb83 Merge changes from topic 'f-radio-toggle' into cw-f-dev
* changes:
  Add WiFi toggle prompts - framework
  Add Bluetooth toggle prompts - framework
2016-12-13 15:55:30 +00:00
Svetoslav Ganov
385277305e Fix vulnerability in MemoryIntArray am: 1181f448c1
am: d08cf2b071

Change-Id: I436a09f1e49626fa45a7f6cc6bff92b2e5486a97
2016-12-09 01:48:16 +00:00
Svetoslav Ganov
d08cf2b071 Fix vulnerability in MemoryIntArray
am: 1181f448c1

Change-Id: I4217066be49bb9525e945f110c22eb864ec6c212
2016-12-09 01:43:52 +00:00
Svetoslav Ganov
1181f448c1 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.

Tests: Updated the tests and they pass.

bug:33039926
bug:33042690

Change-Id: Ibf56827209a9b791aa83ae679219baf829ffc2ac
2016-12-09 00:08:33 +00:00
Bill Napier
ef435f6780 Revert "Fix vulnerability in MemoryIntArray am: a97171ec49" am: 43966dafb3
am: 498547ec6c

Change-Id: I8874250d553a7271305efc3f027c933e4aad3b1d
2016-12-08 22:34:34 +00:00
Bill Napier
498547ec6c Revert "Fix vulnerability in MemoryIntArray am: a97171ec49"
am: 43966dafb3

Change-Id: I01bc83edd411dc39cb696e64ea35b5d4a8497fbf
2016-12-08 22:30:02 +00:00
Bill Napier
43966dafb3 Revert "Fix vulnerability in MemoryIntArray am: a97171ec49"
This reverts commit fb12dd509f.

Change-Id: I9e1b22b8df0e754095541a758096cba279a81ab1
2016-12-08 22:22:38 +00:00
Svetoslav Ganov
5250d90637 Fix vulnerability in MemoryIntArray am: a97171ec49 am: fb12dd509f
am: a5ee109029

Change-Id: If1b852faa812b0bcb7419ae0f75a3e2349926de0
2016-12-08 21:46:34 +00:00
Svetoslav Ganov
a5ee109029 Fix vulnerability in MemoryIntArray am: a97171ec49
am: fb12dd509f

Change-Id: I269ec7d61ebdc9f485d759d1398d5fa4eacf868f
2016-12-08 21:42:05 +00:00
Svetoslav Ganov
fb12dd509f Fix vulnerability in MemoryIntArray
am: a97171ec49

Change-Id: Ifa2221a9b8ca705ef0239d61772938ac11761ce2
2016-12-08 21:37:33 +00:00
Svetoslav Ganov
a97171ec49 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

 Further, we now check the memory mapped size against
 the size of the underlying ashmem region after we do
 the memory mapping (to fix the ahsmem size) and if
 an attacker changed the size under us we throw.

 Tests: Updated the tests and they pass.

 bug:33039926
 bug:33042690

Change-Id: I1004579181ff7a223ef659e85c46100c47ab2409
2016-12-08 11:51:26 -08:00
Svetoslav Ganov
590b77da13 Revert "Fix vulnerability in MemoryIntArray" am: 1f06508bc6 am: 64b5725900
am: 60357eb6bd

Change-Id: Ib81f6d25a1f59c14f47fe79325c95b02c7cbe639
2016-12-08 02:36:54 +00:00
Svetoslav Ganov
60357eb6bd Revert "Fix vulnerability in MemoryIntArray" am: 1f06508bc6
am: 64b5725900

Change-Id: Id7021fb02059cfb3bb9184ef24f417c0be7f55b9
2016-12-08 02:33:00 +00:00