Commit Graph

94768 Commits

Author SHA1 Message Date
Jeff Sharkey
c4156e0ec4 Recover shady content:// paths.
The path-permission element offers prefix or regex style matching of
paths, but most providers internally use UriMatcher to decide what
to do with an incoming Uri.

This causes trouble because UriMatcher uses Uri.getPathSegments(),
which quietly ignores "empty" paths.  Consider this example:

    <path-permission android:pathPrefix="/private" ... />

    uriMatcher.addURI("com.example", "/private", CODE_PRIVATE);

    content://com.example//private

The Uri above will pass the security check, since it's not
technically a prefix match.  But the UriMatcher will then match it
as CODE_PRIVATE, since it ignores the "//" zero-length path.

Since we can't safely change the behavior of either path-permission
or UriMatcher, we're left with recovering these shady paths by
trimming away zero-length paths.

Bug: 112555574
Test: atest android.appsecurity.cts.AppSecurityTests
Test: atest FrameworksCoreTests:android.content.ContentProviderTest
Change-Id: Ibadbfa4fc904ec54780c8102958735b03293fb9a
2018-09-25 14:10:15 -06:00
Mihai Popa
8b3002e769 Merge "[Magnifier-62] Deprecate constructor" 2018-09-25 16:05:17 +00:00
TreeHugger Robot
48f2fad424 Merge "Recycle PooledLambda in CameraDeviceImpl.CameraDeviceCallbacks" 2018-09-25 15:17:40 +00:00
TreeHugger Robot
3bea414ae6 Merge "Cleanup: make ProcessMemoryState fields final, reformat imports of ActivityMetricsLogger" 2018-09-25 11:41:39 +00:00
Mihai Popa
b6ca909ed7 [Magnifier-62] Deprecate constructor
The CL deprecates the old constructor for Magnifier instances in favor
of the usage of builder Magnifier#Builder.

Bug: 116116502
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: I3daa9f066c77144e9d5c62bc666ecd37041f4bbb
2018-09-25 11:35:52 +01:00
Adam Vartanian
86b381be69 Merge "Inline two short methods from Conscrypt" am: 9da9b33cc2 am: 91d61ea0ed
am: 8879ee4a78

Change-Id: Iffbb91414c16b055fc3358e83fb5c23ef4998816
2018-09-25 02:33:46 -07:00
Adam Vartanian
8879ee4a78 Merge "Inline two short methods from Conscrypt" am: 9da9b33cc2
am: 91d61ea0ed

Change-Id: I541ff04bd67780e8920d802a7935c97e0adb535b
2018-09-25 02:20:26 -07:00
Rafal Slawik
5c1263e1b3 Cleanup: make ProcessMemoryState fields final, reformat imports of ActivityMetricsLogger
Test: cleanup CL, existing tests pass
Change-Id: I6307ddf6d18530c908a5f92f9bc497f6f8b00e19
2018-09-25 09:09:54 +00:00
Adam Vartanian
91d61ea0ed Merge "Inline two short methods from Conscrypt"
am: 9da9b33cc2

Change-Id: I4c66064ec1a0569f7766282d6dbee5202906ae00
2018-09-25 02:04:57 -07:00
Yuzhou Jia
5d41bd2973 Merge "Add SHOW_SOURCE_NOTIFICATION to indicate that the interaction service was invoked by a notification." 2018-09-25 03:30:04 +00:00
Lucas Dupin
9aa4b469ae Merge "Fix ambient color resolution" 2018-09-25 00:14:27 +00:00
TreeHugger Robot
fd74da1573 Merge "Deprecate InputMethodManager#getInstance()" 2018-09-24 22:41:07 +00:00
Felipe Leme
bc75159db6 Merge "Fixed when the CompatibilityBridge is attached to an activity." into pi-dev
am: 45fda27211

Change-Id: I420b0392602e0889862c7d77e62b614e2c5617bf
2018-09-24 15:22:37 -07:00
TreeHugger Robot
45fda27211 Merge "Fixed when the CompatibilityBridge is attached to an activity." into pi-dev 2018-09-24 22:04:27 +00:00
Lucas Dupin
1596b659f4 Fix ambient color resolution
resolveColor() now considers that black backgrounds should have
monochromatic icons. Ambient style is an exception because we
do want colors in there.

Change-Id: Ia21202bb354babb77013feda67c313323ec1e070
Fixes: 115887386
Test: visual
2018-09-24 14:40:23 -07:00
TreeHugger Robot
ba940c4279 Merge changes from topic "biometric-op"
* changes:
  Check AppOps in BiometricService
  Rename OP_USE_FACE to OP_USE_BIOMETRIC
2018-09-24 20:37:16 +00:00
Mike Ma
fef5a7ab31 Merge "More robust read mechanism in KernelCpuProcReader" into pi-dev
am: f76c383f82

Change-Id: I6b70fbe607adb37a93d764615decfca243eff347
2018-09-24 13:12:23 -07:00
TreeHugger Robot
e64d55010f Merge "Create plumbing for disabling force-dark" 2018-09-24 19:54:33 +00:00
Mike Ma
f76c383f82 Merge "More robust read mechanism in KernelCpuProcReader" into pi-dev 2018-09-24 19:53:19 +00:00
TreeHugger Robot
cc704723bd Merge "Fixed FillCallback.onFailure() and SaveCallback.onFailure() behavior." 2018-09-24 18:48:13 +00:00
John Reck
1423e1331f Create plumbing for disabling force-dark
Test: sysui's rounded corners are no longer white
Bug: 102591313

Change-Id: Id99ae38c354cef06b94a5fb79b5b1a9a216a514c
2018-09-24 09:34:18 -07:00
Adam Vartanian
54148c0e57 Inline two short methods from Conscrypt
We're trying to reduce unnecessary direct dependencies on Conscrypt.
These two methods are simple and the implementations can't change, so
they're good candidates for inlining directly instead of depending on
the Conscrypt implementation.

Bug: 110404540
Test: atest NetworkSecurityConfigTests (same failures pre/post)
Change-Id: I303d955e3f49885326fe75f451c06a52af745053
2018-09-24 15:34:13 +01:00
Julia Reynolds
34560ec27d Merge "Fix potential NPE" 2018-09-24 13:11:00 +00:00
Nan Zhang
fcc578e118 Merge "Fix the unresolved link/see tag error for framework docs" into pi-dev am: 98d747e7f3
am: d837987639

Change-Id: Ief6003b003582711771a5f239acd4cdc6cab42b9
2018-09-23 03:01:35 -07:00
Nan Zhang
d837987639 Merge "Fix the unresolved link/see tag error for framework docs" into pi-dev
am: 98d747e7f3

Change-Id: Idf0fadc2d62c872c9bc82388f4d8fbcd58694e83
2018-09-23 02:50:22 -07:00
TreeHugger Robot
98d747e7f3 Merge "Fix the unresolved link/see tag error for framework docs" into pi-dev 2018-09-23 09:34:23 +00:00
Yohei Yukawa
bfcf9a8321 Recycle PooledLambda in CameraDeviceImpl.CameraDeviceCallbacks
PooledRunnable has a nice optional method recycleOnUse(), which can be
used if the Runnable is guaranteed to be executed at most once.

By calling this method, PooledRunnable instance will be auto-recycled
into the internal object pool once it's executed.

Test: presubmit
Change-Id: I6ff341be5d0abddba8134489950be0b7c1affcbb
2018-09-22 13:36:47 -07:00
Yohei Yukawa
e2fa39ec3d Use PooledLambda.obtainMessage() when possible
As its JavaDoc says, in most of cases PooledLambda.obtainMessage() is
a better choice than PooledLambda.obtainRunnable().

If PooledLambda.obtainRunnable() is really necessary, let's make sure
to call recycleOnUse() whenever possible.

Test: presubmit
Change-Id: I3dbe500f49c0df187f2ffefd11c71836696dfd4e
2018-09-22 13:13:10 -07:00
TreeHugger Robot
21ba5d4f3f Merge "Let IMM have internal APIs for layoutlib" 2018-09-22 16:31:28 +00:00
Yunfan Chen
75157d7791 Introduce process configuration to WindowProcessController
Introduced the process config and adjusted mergedconfiguration
related calls. Such that we can override configuration for a process
when need to.

The potential use cases include:
1. Maintain process window bounds for the latest activity to override
the display info for legacy apps;
2. Override the display info for IME process to make sure the IME can be
shown with the correct display metrics.

ActivityManagerService:
- Use process configuration instead of the global configuration when
  it's for app.

ActivityStackSupervisor:
- Use process configuration when start activity.

WindowProcessController:
- Make it a ConfigurationContainer.

ActivityTaskManagerService:
- Add interface to get configuration for a process. If the process is a
  system process or non-existing process, return the global
  configuration.
- Return device configuration related to the process.
- Propagate configuration updates from Global to Process.

ActivityTaskManagerInternal:
- API to update configuration for IME process.

WindowManagerService/WindowManagerInternal:
- Propagate the process configuration change to wm.

WindowState:
- Use process configuration instead of global.

Test: go/wm-smoke
Test: servicestests will remain the same result as without this patch.
Bug: 113253755

Change-Id: I3660723352d2e8779d40528ae92d71f59ddbf1f1
2018-09-22 15:35:35 +09:00
Kevin Chyn
de92184b8c Merge changes from topic "biometric-manager"
* changes:
  3/n: Add BiometricManager, hasEnrolledBiometrics()
  2/n: Rename BiometricPromptService to BiometricService
  1/n: Rename BiometricService to BiometricServiceBase
2018-09-22 02:08:40 +00:00
Hui Yu
c35db561b8 Merge "Add RawContacts insert/update/delete notification URIs." 2018-09-22 01:16:49 +00:00
Kevin Chyn
69183e5ac3 Check AppOps in BiometricService
Fixes: 116340012

Test: manual
Change-Id: Id8e3ec341c4d20dfd77bdb4c554d0f99cbf84aa5
2018-09-21 17:19:20 -07:00
Kevin Chyn
b3c05aaa4f Rename OP_USE_FACE to OP_USE_BIOMETRIC
All future biometrics share the same USE_BIOMETRIC permission.

Bug: 116340012
Test: BiometricPromptDemo works

Change-Id: I6e5af4d6dc1b467e67957c0aec90f6c0a67028a7
2018-09-21 17:08:54 -07:00
Kevin Chyn
05c21508fd 3/n: Add BiometricManager, hasEnrolledBiometrics()
Fixes: 112570477

Test: BiometricPromptDemo works
Test: Able to get/use BiometricManager
Test: Tested with enrolled and non-enrolled biometrics

Change-Id: I26231894eccc87c42b5b3007aa0b7c6f09830452
2018-09-21 17:08:49 -07:00
Jeffrey Vander Stoep
60871d841d Merge "Add ConnectivityManager.getConnectionOwnerUid()" am: f8529dc891 am: 6729107f22
am: 904252f7a3

Change-Id: I8b8f6e74abc47f94231f3b9a1ab0db1ad0903a10
2018-09-21 15:36:28 -07:00
David Castro
cab85f3b2a Merge "docs: Removes reference to the clock displaying seconds" into pi-dev am: 02bc7c2228
am: 8bb6b0a7fc

Change-Id: I8dd5b5aa1590cf2179b03024184b283663a07df1
2018-09-21 15:17:30 -07:00
Nan Zhang
99adf3cb76 Fix the unresolved link/see tag error for framework docs
Synced with alanv@ that doc weren't federated against AndroidX yet, use
this v7 reference until they migrate the docs to AndroidX.

Test: m -j offline-sdk-docs
Bug: b/116163454
Change-Id: Ib5167c4815708d159945ce6db239f8debdf8f865
2018-09-21 14:58:26 -07:00
Yohei Yukawa
6c07572f16 Deprecate InputMethodManager#getInstance()
With this CL, no one in the Framework is using
InputMethodManager#getInstance() directly or indirectly.  It is time
to mark this method deprecated.

For applications that still call InputMethodManager#getInstance()
directly or indirectly via reflection, they will start seeing warnings
with stacktrace in logcat.

Except for that explict warnings in logcat, there is no behavior
change in this CL.  Added a new test to make sure that
InputMethodManager#getInstance() and InputMethodManager#peekInstance()
are still working in a way we expected for such applications.

Fix: 115891476
Test: atest FrameworksCoreTests:android.view.inputmethod.InputMethodManagerTest
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Change-Id: Ib393086d921f91993395b5f0007b725a5db7bf22
2018-09-21 14:52:12 -07:00
Jeffrey Vander Stoep
904252f7a3 Merge "Add ConnectivityManager.getConnectionOwnerUid()" am: f8529dc891
am: 6729107f22

Change-Id: I4ec4b9a8954deec001841566e0722caa1a3fa248
2018-09-21 14:48:32 -07:00
Jeffrey Vander Stoep
6729107f22 Merge "Add ConnectivityManager.getConnectionOwnerUid()"
am: f8529dc891

Change-Id: Ib575a2a03c332d0143ed15652cc9c08c9cff694f
2018-09-21 14:26:19 -07:00
Tianjie Xu
58e024b33e Merge "Remove the metrics report in recovery system" am: aff3248507 am: 8deaf75cfd
am: acae1964ed

Change-Id: I9b61608bb34fd5658dcb2893296a04cdf4a98006
2018-09-21 14:12:30 -07:00
Jeffrey Vander Stoep
f8529dc891 Merge "Add ConnectivityManager.getConnectionOwnerUid()" 2018-09-21 21:04:20 +00:00
Felipe Leme
d9dc954e8f Fixed FillCallback.onFailure() and SaveCallback.onFailure() behavior.
FillCallback.onFailure() was not working as intented - it finished the session
on AutofillManagerService, but didn't update the client state on
AutofillManager.

And both of these methods were displaying Toasts to the user, which is something
the autofill services could take care of. Hence, for services target with SDK
Q, the message is ignored.

Also added a new Autofill Metric: FIELD_AUTOFILL_MESSAGE_LEN

Test: atest CtsAutoFillServiceTestCases:android.autofillservice.cts.LoginActivityTest#testAutofillAgainAfterOnFailure
Test: atest CtsAutoFillServiceTestCases # to make sure it didn't break anything
Test: time mmm -j frameworks/base/:doc-comment-check-docs
Test: m -j update-api

Bug: 112192360
Fixes: 116103297

Change-Id: I499909200980943dedf1fc8524dd1f14b49e2158
2018-09-21 13:31:44 -07:00
David Castro
8bb6b0a7fc Merge "docs: Removes reference to the clock displaying seconds" into pi-dev
am: 02bc7c2228

Change-Id: If238e952c1a923f7ac5c251c7e5c2429bf890ddd
2018-09-21 12:53:01 -07:00
TreeHugger Robot
02bc7c2228 Merge "docs: Removes reference to the clock displaying seconds" into pi-dev 2018-09-21 19:40:38 +00:00
Julia Reynolds
34a80841cb Fix potential NPE
Test: manual
Change-Id: I8f6ed47e5c51ca138f4c0b57eccab41336984548
Fixes: 67716207
2018-09-21 13:01:36 -04:00
Kevin Chyn
352adfec61 2/n: Rename BiometricPromptService to BiometricService
This is in preparation for BiometricManager. Each Manager should have its
own Service.

Bug: 112570477

Test: BiometricPromptDemo works
Change-Id: Ibbbd499a0fd5a2050b329ee038776c6c9f49cdb2
2018-09-20 23:51:40 -07:00
Jeff Vander Stoep
0ac2c0945b Add ConnectivityManager.getConnectionOwnerUid()
Allow VPN apps to lookup the UID owner of a network connection.

Requires specifying the:
 - IP address and port for both the source and destination of a TCP
   connection.
 - IP address and port for either source and destination or just
   source for a UDP connection.
Only TCP and UDP protocols are supported. Only connections for UIDs
that apply to the calling VPN app will be resolved. This is intended
to replace direct app access to /proc/net/{tcp,tcp6,udp,udp6}.

The implementation uses netlink inet_diag sockets[1] to perform
the lookup on TCP sockets as well as UDP sockets when supported
(kernel has CONFIG_INET_UDP_DIAG=y).

[1] http://man7.org/linux/man-pages/man7/sock_diag.7.html

Bug: 9496886
Bug: 109758967
Test: atest HostsideVpnTests
Test: atest InetDiagSocketTest on Taimen with CONFIG_INET_UDP_DIAG
    and on Sailfish without CONFIG_INET_UDP_DIAG.
Change-Id: I2bbc7072dd091e2e653dadf6dc05024c04180f34
2018-09-21 06:16:09 +00:00
Tianjie Xu
acae1964ed Merge "Remove the metrics report in recovery system" am: aff3248507
am: 8deaf75cfd

Change-Id: Id480a047be0799d6afc7cda472b6d4e00b48ec48
2018-09-20 23:01:09 -07:00