Commit Graph

81912 Commits

Author SHA1 Message Date
Akinobu Nakashima
ba4e877905 Suppress AID log on adb logcat
When NFC event transaction intent is sent,
the device shows AID information on logcat.
But such information should not be shown for security reasons.

Test: Send NFC EventTransaction and check logcat
Bug: 80551185
Change-Id: I8d1f9c1946bb1514e3a6bfa70fff03be4525d6b5
(cherry picked from commit 37e7028615)
2018-06-05 11:00:47 -07:00
Jiyong Park
c4b6bd34e1 Merge "Fix: vendor public libraries are accessible via System.loadLibrary" into pi-dev 2018-06-05 17:37:24 +00:00
Jorim Jaggi
44121059dc Merge "Crashing can not override Keyguard transit" into pi-dev 2018-06-05 11:32:55 +00:00
TreeHugger Robot
0192e9a213 Merge "Optimise the hit test algorithm" into pi-dev 2018-06-05 11:24:19 +00:00
Makoto Onuki
205a5581ae Merge "Allow except-idle whitelisted apps to start BG services in EBS" into pi-dev 2018-06-05 01:29:48 +00:00
TreeHugger Robot
0c6929ec04 Merge "Revert "Update checking of flag MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS"" into pi-dev 2018-06-04 23:27:42 +00:00
Makoto Onuki
af8ff4f2af Allow except-idle whitelisted apps to start BG services in EBS
Change-Id: I8dd42f48cf13c97b4e428afbf29838f442d8731b
Fixes: 80420676
Test: dumpsys activity processes| grep mDeviceIdle
  mDeviceIdleWhitelist=[1000, 1001, 2000, 10028, 10035, 10036, 10042, 10053, 10137, 10138, 10139, 10142]
  mDeviceIdleExceptIdleWhitelist=[1000, 1001, 2000, 10006, 10008, 10014, 10016, 10028, 10035, 10036, 10042, 10047, 10053, 10058, 10060, 10070, 10111, 10137, 10138, 10139, 10142]
Test: Manual test with "DEBUG_BACKGROUND_CHECK = true" and
am startservice 'com.android.vending/com.google.android.finsky.hygiene.DailyHygiene\$DailyHygieneService'
then check the whitelist log.
2018-06-04 15:31:42 -07:00
TreeHugger Robot
492457e94e Merge "New behavior of setSynchronousMode" into pi-dev 2018-06-04 21:30:17 +00:00
Hongming Jin
64896541d4 Merge "Add shell command handler for account manager to allow enabling service binding for instant app. Test: cts-tradefed run cts -m CtsAccountManagerTestCases cts-instant-tradefed run cts-instant -m CtsAccountManagerTestCases Bug: 79367659" into pi-dev 2018-06-04 20:38:46 +00:00
Andrew Sapperstein
4da326c0d6 Revert "Update checking of flag MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS"
This reverts commit 44c4ca41d8.

Reason for revert: Wanted to go with a different option and this was mistakenly Dr. No'ed.

Bug: 80444486
Test: clean revert
Change-Id: I7fdd13a5bc0f4d9fabf91f3e5497c4065008b531
2018-06-04 20:34:31 +00:00
TreeHugger Robot
15ebbeb9fd Merge "Update checking of flag MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS" into pi-dev 2018-06-04 20:32:30 +00:00
Hongming Jin
8e2bfc11ce Add shell command handler for account manager to allow enabling service
binding for instant app.
Test: cts-tradefed run cts -m CtsAccountManagerTestCases
cts-instant-tradefed run cts-instant -m CtsAccountManagerTestCases
Bug: 79367659

Change-Id: I3ac968ebc20be68da08293d9b685a01920f11b76
2018-06-04 09:41:01 -07:00
Jiyong Park
cfe38cdb1c Fix: vendor public libraries are accessible via System.loadLibrary
This CL fixes the problem that vendor public libraries (libs that are
listed in /vendor/etc/public.libraries.txt) are not loadable via
System.loadLibrary(). (Note that the libs were accessible via dlopen()
though.)

The problem was happening because when System.loadLibary() is called,
the classloader first checks whether the lib is found and accessible in
its own native lib search paths. The native lib search paths basically
come from the java.library.path property, which in turn is from
namespace.default.search.path in /system/etc/ld.config.txt. When VNDK is
enforced starting from P, namespace.default.search.path does not have
paths other than /system/lib because otherwise system process can have
unlimited access to libs in vendor partition. The linker namespace is
dynamically configured by the libnativeloader so that only the public
vendor libs are accessible. However, as a side effect of removing
/vendor/lib from namespace.default.search.path, the classloader always
fails to find any lib under /vendor/lib even if the lib is a public one.

In order to solve the problem, while keeping rest of the non-public
vendor libs from apps, /vendor/lib (and /odm/lib and /product/lib as
well) is added to the classloader AFTER native loader is created for the
classloader.

Bug: 93333337
Test: m -j
Test: System.loadLibrary("adsprpc") is successful in Pixel (because
libadsprpc.so is in Pixel's vendor public lib list)
Test: atest cts/tests/tests/jni
Change-Id: Iac12384548cbdd51234568082d02eeba466c160c
2018-06-04 15:31:47 +00:00
Fyodor Kupolov
8ba2089165 New behavior of setSynchronousMode
setSynchronousMode is now applicable to any journal mode.
This can be useful for apps that want to use stricter durability
settings for their database.

Test: android.database.sqlite.cts.SQLiteDatabaseTest
Bug: 86953240
Change-Id: I7dbaa6d0bc0975da8067e87b402f63f51b4add10
2018-06-01 12:11:42 -07:00
Hongming Jin
dbc6052022 Merge "Enforce permission check before returning application info Test: atest CtsAppSecurityHostTestCases:ApplicationVisibilityTest Bug: 77821568" into pi-dev 2018-06-01 17:15:21 +00:00
Jorim Jaggi
9c52ebbf96 Crashing can not override Keyguard transit
If an app crashes during Keyguard transition, make sure to keep
Keyguard transition

Test: AppTransitionTests
Test: go/wm-smoke
Change-Id: I80b80952f93d2b5611754f05a3dc333905cd1c86
Fixes: 80132133
2018-06-01 16:32:44 +02:00
Makoto Onuki
079f6d7fa6 Merge "Serialize AM.getContentProvider() calls in client side" into pi-dev 2018-06-01 05:35:02 +00:00
Jackal Guo
44c4ca41d8 Update checking of flag MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS
Update the logic in PackageParser to avoid unistalled system app
can't be found.

Test: follow steps on b/80444486 and can add account normally
Test: PackageManagerTest
Bug: 80444486
Change-Id: Ifafac34111d883e51563018be793655c25d09fba
2018-06-01 12:22:38 +08:00
John Reck
b559512508 Merge "Attempting to fix the black flicker" into pi-dev 2018-06-01 03:05:51 +00:00
Hongming Jin
83e162615f Enforce permission check before returning application info
Test: atest CtsAppSecurityHostTestCases:ApplicationVisibilityTest
Bug: 77821568

Change-Id: I7554805c36c0c2552163dad7b07cfc5f552b624e
2018-05-31 17:20:14 -07:00
Makoto Onuki
b6c79ea065 Serialize AM.getContentProvider() calls in client side
Th wait() call in AMS.getContentProviderImpl() can cause a deadlock when it
starts a new process for a target provider and all system server binder threads
are reaching out to the same provider at the same time, because AMS won't be
able to receive a callback from the provider process.

Let's serialize access to AM.getContentProvider() to avoid this scenario.

Longer team, we should stop waiting in the system server and instead do so in
the client side.

Bug: 74523247
Test: Boot, add a google account, and let syncs run and finish.
Test: Watch free video on Coursera

Change-Id: If5be2dc4b6f22f72d1bb3aa1b5b4d49f20c8d94d
2018-05-31 14:52:51 -07:00
TreeHugger Robot
d4c5d1e448 Merge "Camera: add new detailed error callback" into pi-dev 2018-05-31 21:11:24 +00:00
TreeHugger Robot
fe8c263011 Merge "Camera: Document getNumberOfCameras behavior for logical camera" into pi-dev 2018-05-31 20:50:33 +00:00
TreeHugger Robot
2f898c4df5 Merge "Ensure permission held for MATCH_KNOWN_PACKAGES" into pi-dev 2018-05-31 20:41:01 +00:00
John Reck
5b02c629bd Attempting to fix the black flicker
Bug: 79231206
Test: Repro steps from bug

Merged-In: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6
Change-Id: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6
2018-05-31 12:56:28 -07:00
Yin-Chia Yeh
a07cd32684 Camera: add new detailed error callback
For the legacy shim layer to tell the difference between evction
and disable error.

Test: CTS CameraEvictionTest + IdleUidTest
Bug: 77486868
Change-Id: I5b68f55460287634903c9b8b42188d9dec8744d5
2018-05-31 12:24:55 -07:00
Shuzhen Wang
e7d3cd0a76 Camera: Document getNumberOfCameras behavior for logical camera
For camera1 API, framework only exposes one camera id for every
logical/physical camera id group. Document this behavior accordingly.

Test: Build
Bug: 80075565
Change-Id: I32c2de84d27a603d485014255bf1fad5031aa08e
2018-05-31 12:21:37 -07:00
Mihai Popa
138b106402 Optimise the hit test algorithm
Layout#getOffsetForHorizontal was running in O(n^2) time, where n is the
length of the current line. The method is used when a touch event
happens on a text line, to compute the cursor offset (and the character)
where it happened. Although this is not an issue in common usecases,
where the number of characters on a line is relatively small, this can
be very inefficient as a consequence of Unicode containing 0-width
(invisible) characters. Specifically, there are characters defining the
text direction (LTR or RTL), which cause our algorithm to touch the
worst case quadratic runtime. For example, a person is able to send a
message containing a few visible characters, and also a lot of these
direction changing invisible ones. When the receiver touches the message
(causing the Layout#getOffsetForHorizontal method to be called), the
receiver's application would become not responsive.

This CL optimizes the method to run in O(n) worst case. This is achieved
by computing the measurements of all line prefixes at first, which can
be done in a single pass. Then, all the prefix measurement queries will
be answered in O(1), rather than O(n) as it was happening before.

Bug: 79215201
Test: manual testing
Change-Id: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
2018-05-31 19:14:17 +01:00
Jason Monk
ce1beadc09 Don't use stable providers for slices
Because they aren't what we want.

Test: manual + existing tests
Bug: 80532760
Change-Id: Ib69799a2ef9440d0d67cea02e6b3c61844535755
2018-05-31 14:12:52 -04:00
Evan Rosky
7ba4c2b254 Merge "Fixed a bug where sometimes unhandled handler would consume all keys" into pi-dev 2018-05-30 21:47:25 +00:00
Todd Kennedy
ef9acb6ed9 Ensure permission held for MATCH_KNOWN_PACKAGES
There's an escape clause that passes the cross user permissions
if the caller UID is identical to the target user ID [eg. we're not
operating across users]. However, the method getInstalledPackagesList()
uses android.permission.INTERACT_ACROSS_USERS to filter the results and
a calling UID check is not sufficient. Ensuure the permission is
actually held, regardless of the calling UID or target user.

Change-Id: Iebf88668766d387a15246d6eea6420610665105a
Fixes: 80435086
Test: atest CtsAppSecurityHostTestCases:ApplicationVisibilityTest
2018-05-30 13:56:17 -07:00
Michael Wright
0dbb516a43 Allow for any default vibration intensity level.
Because we can't always create the range of effects we'd like, we may
need different default intensity levels for different devices. This
works fine for prebaked effects, but for application defined amplitudes
we need to provide a scaling function. In addition, this scaling
function should leave amplitude values untouched in the default state so
that application developers produce the effects they expect.

Bug: 80275800
Test: manual
Merged-In: Ibb552ddfa60891853ebcb1a5567ed6745bb5defe
Change-Id: Ibb552ddfa60891853ebcb1a5567ed6745bb5defe
2018-05-30 00:21:38 +01:00
TreeHugger Robot
8c4c359b25 Merge "Fix for missing location icon" into pi-dev 2018-05-29 20:09:21 +00:00
Glenn Kasten
a5d8c3718d Merge "Resolve conflict between javadoc and CDD re: audio output" into pi-dev 2018-05-29 19:09:31 +00:00
TreeHugger Robot
14e605d7e9 Merge "Enable systemui_theme feature flag" into pi-dev 2018-05-29 18:22:16 +00:00
Amith Yamasani
a1ce963743 Fix for missing location icon
OpEntry.duration was being used to indicate that the
operation was still running if -1 is returned. A recent
change caused a regression.

Adding a new mRunning field in OpEntry to explicitly
hold the running state, even when partial duration is
updated.

Change-Id: Ib29f4c903f990aaa202e84f964959aedfc24abdb
Fixes: 80242152
Test: atest FrameworksServicesTests:AppOpsActiveWatcherTest
Test: Launch maps and verify the location icon is visible
      in the status bar
2018-05-28 21:20:56 -07:00
Adrian Roos
8997b7e4c9 Merge "WindowInsets: Never dispatch negative insets" into pi-dev 2018-05-28 14:40:20 +00:00
TreeHugger Robot
879d09f946 Merge "Dump proxy debug info when exceeding proxy limit." into pi-dev 2018-05-26 09:05:14 +00:00
TreeHugger Robot
9d19487b1c Merge "Added TestApi to ActivityInfo.isTranslucentOrFloating" into pi-dev 2018-05-26 02:23:25 +00:00
Evan Rosky
cd80e611ca Fixed a bug where sometimes unhandled handler would consume all keys
In a situation where a focused view consumed only the UP of a key
and the unhandled key manager would focus a listener, it wouldn't
drop focus unless the original key was pressed/released again.

This updates the record of captured keys before it can be consumed
in the view hierarchy.

Bug: 79993136
Test: Added a test for this to cts ViewTest#testUnhandledKeys
Change-Id: I5dfdcf16c5c41e9ad51cb62b385580c5493e8520
2018-05-25 16:18:57 -07:00
TreeHugger Robot
64a33d695d Merge "Final cleanups to permission slices" into pi-dev 2018-05-25 22:10:20 +00:00
Selim Cinek
c4e19963f4 Merge "Fixed the behavior of group conversations when targeting P" into pi-dev 2018-05-25 20:06:52 +00:00
Jason Monk
b14dde0793 Final cleanups to permission slices
- Add icons to the right and shortcut modes
 - Add color
 - Make sure dialogs are secure

Test: manual
Bug: 79960669
Change-Id: I6d251b0ea5bd3c1b3eed32b184e4aae22c52ffb5
2018-05-25 15:42:16 -04:00
Martijn Coenen
eebac6d6b5 Dump proxy debug info when exceeding proxy limit.
If a process gets killed because it sends too many proxies,
dump proxy debug info so we can see what types of interfaces
it sends.

Bug: 71353150
Test: builds, output generated
Change-Id: I3a7787cb3fa73b0b4ad223b18cd79f44e22b9ef5
2018-05-25 20:13:24 +02:00
Wale Ogunwale
30eab1f430 Added TestApi to ActivityInfo.isTranslucentOrFloating
This would be use to determine the right activity state during CTS
test for products that have windowSwipeToDismiss set.

Also, dump ActivityRecord.fullscreen to proto for the same reason.

Bug: 76207986
Bug: 79167358
Test: atest CtsActivityManagerDeviceTestCases:ActivityLifecycleTests
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerAssistantStackTests
Change-Id: Iadc088e9129be088b8a083ebbafd8d20fe26b673
2018-05-25 10:24:14 -07:00
Selim Cinek
ce8794fbbc Fixed the behavior of group conversations when targeting P
Fixes an issue where the group conversation heuristic was still
applied even when the app is targeting P. We're now following
the isGroupConversation completely and only do the migration
for apps targeting < P.

Change-Id: I471d58e8a8f5e6270f0dcce8691d08a2bdd1c582
Fixes: 78450835
Test: add messaging notification, observe correct display
2018-05-25 09:16:38 -07:00
TreeHugger Robot
1ffdec20b4 Merge "Fix monkey crash in smart selection animation" into pi-dev 2018-05-25 15:59:07 +00:00
TreeHugger Robot
568ccfe0b6 Merge "Camera: Clarify multi-camera id selection logic" into pi-dev 2018-05-25 15:27:43 +00:00
Mihai Popa
6e8e27bf9a Fix monkey crash in smart selection animation
In Id65443e93d277c106ea955c867d39e94192cc55d we fixed a monkey crash
happening when the smart selected text had changed while the smart
selection animation was running. However, the change introduced a new
crash, happening when the smart selection result was null. This CL fixes
it, and lets startSelectionActionMode run even when the result is null,
as there seems to be some logic there which should happen in this case.

Bug: 80244201
Test: none
Change-Id: I7f0304446dec85578bdcd5011d2e9ea2737d3c36
(cherry picked from commit a9d27ea869)
Merged-in: I7f0304446dec85578bdcd5011d2e9ea2737d3c36
2018-05-25 14:01:23 +00:00
Adrian Roos
7419a17d92 WindowInsets: Never dispatch negative insets
Bug: 80204753
Test: atest ViewRootImplTest
Change-Id: Idace95ae57c6a3a1667b95ce8c3ac7d2bfe06f94
2018-05-25 14:54:09 +02:00