Commit Graph

102854 Commits

Author SHA1 Message Date
bj1211jeon
b38f168397 DO NOT MERGE: Add DENSITY_450
Add 450dpi as a supported screen density.
This change follows up below change Id : Iac673eae2d82c27d96e279c076454af2f5933208

Originally 600dpi was added to support sw384 with WQHD resolution,
though it was lack of for the cases when resolution is FHD resolution. (In case of other resolutions, there already exist 300 and 200 for HD and WVGA resolutions).

Bug: 78283907
Test: run android.dpi.cts.ConfigurationTest#testScreenConfiguration and android.app.cts.ActivityManagerMemoryClassTest#testGetMemoryClass
(cherry picked from commit 13ca0450ede3eedf7d34bbd0b69525cb6ebc63f1)

Change-Id: Ide0baba183c7dea962610d16f18fecbd0dc62567
2019-06-14 15:41:13 -07:00
Adrian Roos
f5432f1862 Merge "DecorView: Fix status guard" into qt-dev 2019-06-11 17:34:32 +00:00
Adrian Roos
27db0caaca DecorView: Fix status guard
Fixes several issues with the status guard:
- poor background color for light status bar background
- guard & action mode need insets for the navigation bar in landscape
- status guard was not properly dismissed after completion of the action mode
- uses the proper non-zero root inset when LAYOUT_HIDE_NAVIGATION is unset & in landscape

Bug: 132924796
Test: make ApiDemos, use SystemUiModes activity to trigger action mode
Change-Id: Ie9ba2b6fb2c87a1825df85f756ffb062a45d4f55
2019-06-11 17:09:12 +02:00
Qasid Ahmad Sadiq
2e6efdefa6 AccessibilityNodeIdManager should hold onto weak references of Views.
... as opposed to strong references.
In case the calls between register and unregister aren't matched, we don't want to be leaking views.
I haven't seen any real eveidence of there being leaks, just a report. But this is preventative.

Created a "WeakSparseArray", which wraps SparseArray, and passes in a kind of WeakReference that has an id.
The references become unreachable, we use the id to remove the the entry from the SparseArray.

Test: Used the device for a bit with talkback on. CTSAccessibility*
Change-Id: I8d11727428f56fc06007232ae341d1409a11991f
Fix: 134506015
2019-06-10 19:47:34 -07:00
Christian Wailes
5e468cf4dd Merge "Fixes two data races in USAP pool management." into qt-dev 2019-06-10 22:09:43 +00:00
TreeHugger Robot
e64acbea8e Merge "Guard against null mFunc in PooledLambdaImpl" into qt-dev 2019-06-10 20:28:11 +00:00
TreeHugger Robot
d703395fcb Merge "Expose PermissionManager as TestApi and fix SplitPermissionInfo equality" into qt-dev 2019-06-10 20:12:57 +00:00
Andrew Solovay
b230dd4fe6 Merge "docs: Fixing broken HTML" into qt-dev 2019-06-10 18:23:40 +00:00
TreeHugger Robot
fcc4d76a97 Merge "Sharesheet - Hide direct share area for low ram devices" into qt-dev 2019-06-10 17:29:52 +00:00
TreeHugger Robot
3baa0b34e3 Merge "Add timeout for setPermissionGrantState" into qt-dev 2019-06-10 16:32:44 +00:00
TreeHugger Robot
503b489384 Merge "Sharesheet - Adjust timeouts and logic for direct share" into qt-dev 2019-06-10 14:46:28 +00:00
Matt Pietal
6e88b51026 Sharesheet - Hide direct share area for low ram devices
Make sure to force the item count to 0 to make sure the direct share
area stays hidden.

Bug: 134776740
Test: Low ram device, manual
Change-Id: I598752db5747b1c845495af7ae2f591488799352
2019-06-10 10:20:15 -04:00
Matt Pietal
ab73a887ef Sharesheet - Adjust timeouts and logic for direct share
Improve direct share loading by:
1. Do not issue redundant service calls within the watchdog timeout
period
2. Set a min and max watchdog timeout period, and if all services
return early, then informt the user we are done to so that they don't
have to wait until the max timeout period.
3. Be more specific on package changes. Resolver requires any change
to trigger a refresh, but chooser only needs to know about top level
package changes.

Bug: 134416594
Test: Manual
Change-Id: I075fd5b6f64c25637fd7ba7aa6b163dca81371a8
2019-06-10 07:24:51 -04:00
TreeHugger Robot
e53837182c Merge "Record textAppearance information for TextView." into qt-dev 2019-06-07 22:35:55 +00:00
Winson
f27394ee70 Expose PermissionManager as TestApi and fix SplitPermissionInfo equality
Bug: 129200416
Bug: 129200610

Test: atest SplitPermissionsTest

Change-Id: I98795944e6440e5b7ebba134bd7735a6f78ebc4f
2019-06-07 15:09:06 -07:00
Eugene Susla
f8fc474c8f Guard against null mFunc in PooledLambdaImpl
Fixes: 134594642
Test: presubmit
Change-Id: I7b65d18df1625a276986a844569a1275c09df4e4
(cherry picked from commit 1cff0828e3)
2019-06-07 21:22:33 +00:00
Andrew Solovay
7ad2170f4e docs: Fixing broken HTML
A couple of broken </code> tags were messing up the formatting
for the entire page (see b/134696600 , http://screen/aThdcpoDvJo.png )

Staged the fixed doc to:

http://go/dac-stage/reference/android/app/Activity

(The live version of this doc has already been fixed -- I fixed
the HTML by hand in cl/251937759 -- but we need to fix the Java
comment, or the file will revert when we publish beta 5.)

Bug: 134696600
Test: make ds-docs (& staged HTML output)
Exempt-From-Owner-Approval: Docs-only fix
Change-Id: I7e6d11ca358d747cdc6d04741d31c7acd85aa080
2019-06-07 14:14:04 -07:00
Chris Wailes
f59ea2cc39 Fixes two data races in USAP pool management.
The USAP pool management code contained two data races.  One could cause
a double decrement if a runtime thread executed the SIGCHLD handler
while the server was responding to a pool exit message from a USAP.  The
other data race could occur when the SIGCHLD handler executed in the
middle of a USAP pool flush.

The solution to the first race is to change the return value from a
helper function to ensure that the decrement only occurs when the entry
is invalidated through that specific invocation of the helper.

The second data race was fixed by using SIGTERM instead of SIGKILL when
flushing the USAP pool.  This allows the Zygote to clear the table
entries outside of the SIGCHLD handler, and the handler to avoid
duplicate bookkeeping cleanup when this occurs.  SIGTERM is used so that
it can be differentiated from other process termination events and so
that it can be blocked while the USAP is specializing, but hasn't yet
informed the Zygote of it's removal from the pool.  This issue and this
fix will no longer be necessary once the Zygote signal handler has been
replaced with a signalfd.

Bug: 132794985
Test: atest SignedConfigHostTest
Change-Id: Ie01637a10b356b80b5aa62291a97f2c167242827
Merged-In: Ie01637a10b356b80b5aa62291a97f2c167242827
(cherry picked from commit fb329ba7c8)
2019-06-07 13:32:38 -07:00
Eugene Susla
fa5fb1f661 Add timeout for setPermissionGrantState
Fixes: 134380096
Test: presubmit
Change-Id: Ifff243068eea2637cf8f6391b52a4c53bc544615
2019-06-07 12:56:47 -07:00
TreeHugger Robot
5cb8996742 Merge "Resetting widget cache when some configurations change" into qt-dev 2019-06-07 18:28:35 +00:00
Daniel Sandler
d4d9b233b2 Merge "Dramatically simplify NotificationRankingUpdate." into qt-dev 2019-06-07 17:11:23 +00:00
Svet Ganov
85c951601a Add OWNERS for DeviceConfig
Test: N/A

Bug: 134753749

Change-Id: Ia1b10287a0d056fd9d242936e90d8f91d847fe59
2019-06-07 16:43:12 +00:00
Benedict Wong
ac06c1022d Revert "Take all VPN underlying networks into account when migrating traffic for"
This reverts commit 917327b193.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: Ibdaad3a4cbf0d8ef1ed53cfab1e454b9b878bae9
2019-06-07 09:18:01 +00:00
Benedict Wong
055992b112 Revert "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account."
This reverts commit ed11b84131.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I0c00e8f0e30cee987b71b561079a97bf09d4dae4
2019-06-07 09:17:47 +00:00
Benedict Wong
1fbf261c01 Revert "Addressing comments for http://ag/7700679."
This reverts commit a229333986.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I5fbb3443a39a21fc9d96442726cd10d20e8d61cd
2019-06-07 09:17:31 +00:00
Sunny Goyal
758e88bd44 Resetting widget cache when some configurations change
Sometimes widget providers hardcode colors in their remoteViews
by loading them from resources. On UI mode change, this can lead to
inconsistent UI if some widgets use a different configuration
than others.

Test: Verified with calendar widget on device
Bug: 133064045
Change-Id: If47a6b1973f55b7590f5d4116813d6a332951697
2019-06-06 17:02:55 -07:00
TreeHugger Robot
1f66726d08 Merge "Decouple Game Driver from preloading graphics driver" into qt-dev 2019-06-06 22:54:21 +00:00
TreeHugger Robot
4335d958e4 Merge "Improves the REMINDER_EXP mode for Assist Handle behavior" into qt-dev 2019-06-06 21:50:28 +00:00
TreeHugger Robot
f49c18e1a9 Merge "OMS: add TEST_MAPPING" into qt-dev 2019-06-06 20:44:49 +00:00
Govinda Wasserman
48cdd68afe Improves the REMINDER_EXP mode for Assist Handle behavior
- User learning state is reset when leaving REMINDER_EXP behavior.
- Default parameters updated for easier testing and better experience
- Show and go only performed once per day when gesture has been learned
- Slightly delay handle showing when entering an apps with a longer
  delay when switching between apps rapidly.
- Adds state dump to improve debugability.
- Adds ability to suppress handle showing in specific states using
  flags.

Test: atest AssistHandleBehaviorControllerTest
Test: Tested locally
BUG:132983599
Change-Id: I7829ad55d7667f5db3633e702add709968dcd0a9
2019-06-06 16:24:35 -04:00
Dan Sandler
ba666f8f54 Dramatically simplify NotificationRankingUpdate.
It is now simply a container for a parceled RankingMap,
which can be unparceled entirely into objects in the
listener's heap and discarded. Notification key strings are
interned (by reference into the Ranking data structure).

This should save a considerable amount of RAM:

 - parceled Bundles hanging around in the listener process,
   waiting to be unparceled, never freed
 - a dozen copies of the notification key string

Bug: 133763354
Test: atest NotificationManagerServiceTest NotificationListenerServiceTest NotificationDataTest
Test: coretests, cts, etc.
Change-Id: I5d8ab5c8f27c70f4af7051b24608ba0d1f2dd5cd
2019-06-06 15:43:23 -04:00
Adam Bookatz
14a34b9efb Merge "loadUnbadgedItemIcon doesn't crash from getUserIcon" into qt-dev 2019-06-06 17:54:24 +00:00
TreeHugger Robot
a0d66cf3f6 Merge "Clarify problems with Linkify.MAP_ADDRESSES." into qt-dev 2019-06-06 17:40:51 +00:00
TreeHugger Robot
730b22c229 Merge "GestureNav: Fix broken split screen navbar" into qt-dev 2019-06-06 16:09:25 +00:00
TreeHugger Robot
78a48f5512 Merge "Fix an issue that clicking on a smart action chip on keyguard ... failed to launch app resolver when there are more than one app handlers." into qt-dev 2019-06-06 09:22:13 +00:00
Sudheer Shanka
c703d04fbb Merge "Fix Environment.isExternalStorageLegacy() impl." into qt-dev 2019-06-06 01:32:03 +00:00
Yiwei Zhang
6100c70d58 Decouple Game Driver from preloading graphics driver
Previously, when the Game Driver package name is set, graphics driver preloading
is automatically disabled. Now we'd like to decouple the relation here. So Game
Driver could still work no matter graphics driver is preloaded in Zygote or not.

Bug: 134526352
Test: build, flash and boot.
Change-Id: Id720cc11e3365423dd9b984b7d30a2dbeecb6116
2019-06-05 15:56:10 -07:00
Aurimas Liutikas
9504459279 Record textAppearance information for TextView.
Test: Added in CTS
Bug: 133773670
Change-Id: I1d66a75ef7aca11f577fe54b7ef393565a64da79
2019-06-05 15:49:20 -07:00
Brian Duddie
086d840d74 Clarify documentation for sensor placement
Update documentation to be in sync with new language added to HAL
interface, which better explains the expected payload, format, and
usage.

Fixes: 133264933
Test: make docs, view HTML
Change-Id: Ib602674d395cb8c8e6431d23b051685c8d172560
2019-06-05 11:44:44 -07:00
Makoto Onuki
a478c5f9aa Merge "Avoid creating multiple death recipients for same observer" into qt-dev 2019-06-05 15:54:05 +00:00
Antoan Angelov
dad55ca4fe Merge "Update docs for EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS." into qt-dev 2019-06-05 14:17:39 +00:00
TreeHugger Robot
83375a391c Merge "Sharesheet - Adjust button bar insets" into qt-dev 2019-06-05 13:02:51 +00:00
Tony Mak
82e60027f4 Fix an issue that clicking on a smart action chip on keyguard ...
failed to launch app resolver when there are more than one app handlers.

What happened:
1. TextClassifier constructs an implicit intent to fulfill a task
like opening a link, making a phone call, etc.
2. TextClassifier calls resolveActivity against the implicit intent to
resolve the intent. The resolve component name will be used to create
an explicit intent. In this case, the intent is resolved to the
app resolver activity.
3. wouldLaunchResolverActivity in SysUI returns false for an explicit
intent with component name android/ResolverActivity.
4. SysUI does not trigger the "start the activity after the keyguard
is gone" logic because wouldLaunchResolverActivity returns false.
5. When user clicks on the action on keyguard, ResolveActivity.onStop
is triggered because it is shown (and thus moved to the background)
under the keyguard. So, finish() is called in onStop, and thus the bug.

IMHO, wouldLaunchResolverActivity should not return false
for an explicit intent with component name android/ResolverActivity.
But since we are late at this point, the safest option is to not setting
component name when the intent is resolved to package "android". Note that
this is what we are doing for P, so it should be pretty safe.

Test: 1. Install two browsers. Send myself a link. Tap on the Open Link
chip on keyguard. App resolver is shown.
2. atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/

BUG: 129220155

Change-Id: I6d4d67c2233a2fec950887ea274825bf1cbc1ae2
2019-06-05 12:52:22 +01:00
TreeHugger Robot
eeffe0c9dd Merge "Uncanonicalize URIs when searching for audio-coupled haptics." into qt-dev 2019-06-05 11:31:25 +00:00
Matt Pietal
78fdbd492f Sharesheet - Adjust button bar insets
Button bar insets were set before the inset callback. Add a call to
layout the button bar during the inset callback.

Bug: 134472146
Test: Steps from defect
Change-Id: I0246f06315cd05343002071dd6d217d41e0059ca
2019-06-05 07:09:17 -04:00
Bookatz
9313af68c2 loadUnbadgedItemIcon doesn't crash from getUserIcon
AppicationPackageManager.loadUnbadgedItemIcon would call
UserManager.getUserIcon if the icon was supposed to represent
switching to another the parent user (from a work profile).
However, that call requires extra permissions which may not be
available, which would cause a crash. The work profile doesn't
generally have permission to see the parent's icon, so rather
than showing the actual icon, a generic user icon is shown instead.

Bug: 134177607
Test: Manual confirmation: create a work profile and try to share a
picture (from Photos) to the personal profile.

Change-Id: Id79ca50b8e0a26593addbacf1a0ea709a2bc4da2
2019-06-05 03:03:24 +00:00
Makoto Onuki
ad1291e749 Avoid creating multiple death recipients for same observer
Also do a WTF when the same process registers 1000 observers with the
same observer instance.

Fix: 133388082
Test: manual test: Launch leaky app and make sure WTF is raised
Test: manual test: Open contacts app, close, and make sure the
"Total number of unique observers" goes back
Test: manual test: Open contacts app, kill it, and make sure the
"Total number of unique observers" goes back
Test: manual test: Open contacts app while contacts are syncing,
and make sure the activity refreshes itself.
Test: atest cts/tests/tests/content/src/android/content/cts/ContentResolverTest.java
Test: atest FrameworksCoreTests:BinderDeathDispatcherTest
Test: atest FrameworksServicesTests:com.android.server.content.ObserverNodeTest

Change-Id: Id738ca66023c029b92db3d108d99a9fc240fe77c
2019-06-04 17:06:39 -07:00
Sudheer Shanka
572fdfd18f Fix Environment.isExternalStorageLegacy() impl.
Earlier, this API only used to consider op_legacy_storage
appop to decide whether an app will get legacy storage view
or not but there are few other factors it needs to consider
like whether the app has WRITE_MEDIA_STORAGE permission or
whether app was allowed to be an installer in which case it
will get legacy access.

Bug: 132760141
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Change-Id: I227a171bf40e43e135e1a6dbc819cfad21d91520
2019-06-04 16:46:57 -07:00
Hui Yu
28d28a4ee5 Merge "Only set mStartClockTime when device is fully charged." into qt-dev 2019-06-04 21:59:52 +00:00
TreeHugger Robot
57854d3b90 Merge "Post finishing after transition in onBackPressed" into qt-dev 2019-06-04 19:11:52 +00:00