Commit Graph

93399 Commits

Author SHA1 Message Date
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
f49c18e1a9 Merge "OMS: add TEST_MAPPING" into qt-dev 2019-06-06 20:44:49 +00: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
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
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
Antoan Angelov
dad55ca4fe Merge "Update docs for EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS." into qt-dev 2019-06-05 14:17:39 +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
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
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
TreeHugger Robot
57854d3b90 Merge "Post finishing after transition in onBackPressed" into qt-dev 2019-06-04 19:11:52 +00:00
Torne (Richard Coles)
aa68ab8288 Clarify problems with Linkify.MAP_ADDRESSES.
Update the documentation for WebView.findAddress, as well as the related
functionality in Linkify and TextView, to clarify why the method is
deprecated, why it should not be used, and that it can cause unexpected
exceptions to be thrown from several places on older OS versions.

Fixes: 24676033
Test: m offline-sdk-docs
Change-Id: I45d82b9a4c9cf62d9566898dd21cd2139ad98f37
2019-06-04 14:14:05 -04:00
TreeHugger Robot
e2fb127e41 Merge "Allow passing in acceptUnvalidated without explicitlySelected" into qt-dev 2019-06-04 18:00:31 +00:00
Makoto Onuki
dee07f5d7f Merge "Fix slow query log." into qt-dev 2019-06-04 16:57:23 +00:00
TreeHugger Robot
eabafd5ceb Merge "Fix cannot create Nat-T keepalive on mobile data" into qt-dev 2019-06-04 15:38:18 +00:00
Lorenzo Colitti
0e33bd1167 Allow passing in acceptUnvalidated without explicitlySelected
This will allow wifi to tell ConnectivityService that partial
connectivity is acceptable even if the network is not explicitly
selected.

This is needed when the user selects a partial connectivity
network and tells the system to connect to the network, and never
to ask again. In such cases, the system must switch to the
network even if it is not explicitly selected.

Bug: 130766237
Test: atest FrameworksNetTests
Test: unit tests in an upcoming CL
Change-Id: I13465090b7b1c0bf5dc83362387a5428d77b7e1d
2019-06-04 14:35:22 +00:00
Michael Wright
8b1f3c970c Uncanonicalize URIs when searching for audio-coupled haptics.
It's possible that the Ringtone URIs will be pre-canonicalized, which
don't maintain equality when compared to uncanonicalized URIs. In order
to handle this case, we just need to uncanonicalize both URIs before
comparing.

Fixes: 134394754
Test: manual, verified audio-coupled haptics works again on B1C1
Change-Id: I2e216db1013d5bc0db0a1622e0670853663f0db8
2019-06-04 15:26:25 +01:00
Alan Stokes
9e2457622a Cleanup background activity starts for release.
This removes the parts of the feature that were only needed in beta
releases:
- Toast when a start is or would be blocked.
- Configurable whitelist of exempt apps.
- Global setting to disable.

Not to be submitted until after beta 5 is cut.

Bug: 131747138
Test: atest BackgroundActivityLaunchTest
Test: atest RootWindowContainerTests
Test: atest WmTests:ActivityStarterTests
Test: atest CtsWindowManagerDeviceTestCases:ActivityStarterTests
Test: atest CtsAppTestCases:.ServiceTest

Change-Id: I3d8b9c72c8fac86b93ac57a8a1988f4133043af8
2019-06-04 14:26:00 +00:00
junyulai
931ec8efa0 Fix cannot create Nat-T keepalive on mobile data
Currently phone process fail to unparcel NattKeepalivePacketData
since it is not in framework. Moves NattKeepalivePacketData to
framework to make it can be utilized by telephony.

This change also removes the error feedback triggered by calling
add keepalive packet filter to an unsupported network agent. This
is misinterpreted by KeepaliveTracker that start keepalive is
failing.

Bug: 134048171
Test: 1. atest android.net.cts.ConnectivityManagerTest#testSocketKeepaliveLimitTelephony
      2. atest android.net.cts.ConnectivityManagerTest
      3. atest FrameworksNetTests
      4. atest FrameworksTelephonyTests

Merged-In: If630d5b339aa722717258c721daa8ead8c431e2d
Change-Id: Ic0f168be6f5a6263a5e0565b6381dcb5c645660f
(cherry picked from commit 9ede677bb2)
2019-06-04 20:44:29 +08:00
TreeHugger Robot
952bcb8ffe Merge "RootViewImpl: Fix measure size hint for WRAP_CONTENT windows" into qt-dev 2019-06-03 22:52:59 +00:00
TreeHugger Robot
a54b943d59 Merge "Fix a bug about missing onConfigurationChanged" into qt-dev 2019-06-03 18:09:34 +00:00
Makoto Onuki
a9be33f7cf Fix slow query log.
SQLiteDebug.Const isn't supposed to be preloaded.

Fix: 134176355
Test: "setprop db.log.slow_query_threshold.10045 0" and make sure ...
it works for UID 10045

Change-Id: I06ca1531e968faa2378d0cb7f627e2c6a87cf502
2019-06-03 10:39:30 -07:00
arangelov
f59d691da2 Update docs for EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS.
Bug: 134391678
Test: none
Change-Id: I7c88200470163b0ec07f345727cfd85ec4d8b96e
2019-06-03 18:05:51 +01:00
Chavi Weingarten
fd979ca3d2 Merge "Only updateBoundsSurface when surface size has changed." into qt-dev 2019-06-03 16:08:42 +00:00
TreeHugger Robot
3bc96f9113 Merge "Invoke setWindowStopped on the thread that created the view" into qt-dev 2019-06-03 10:13:18 +00:00
TreeHugger Robot
3960d2232d Merge "Camera: Handle hidden physical camera without camcorder profile" into qt-dev 2019-06-02 01:41:54 +00:00
TreeHugger Robot
e5e876265c Merge "Verify staged APKs pre-reboot." into qt-dev 2019-06-01 00:25:51 +00:00
chaviw
c0a8c4edbd Only updateBoundsSurface when surface size has changed.
Currently, updateBoundsSurface was getting called when the surface
changed, not just when the size changed. This meant it could be calling
setWindowCrop and deferTransaction when no size had changed. If size
hadn't changed, there was a high possibility that no new frames would be
submitted by the client, causing the deferTransaction to wait forever.

Since the deferTransaction was still waiting, SurfaceFlinger would wake
up every vsync to check if it should call doTransaction for the deferred
transaction. This caused 60Hz composition even when frames were rendered
slower.

Fixes: 132110524
Test: SF doesn't compose 30fps app at 60Hz
Change-Id: Icf3a99b34c288575438bfcd05e9077ea7919b4ca
2019-06-01 00:12:09 +00:00
Shuzhen Wang
aae389639d Camera: Handle hidden physical camera without camcorder profile
For hidden physical sub-camera, if there is no camcorder profile,
use stream configuration map to figure out maximum recording size.

Test: RobustnessTest
Bug: 133819902
Change-Id: Ie0e76b51b1942b6fd3612c0b849a07bbb5d205e9
2019-05-31 13:23:40 -07:00
Christopher Ferris
6db1108ddc Avoid using usap when wrap property set.
Bug: 133515802

Test: Verified that malloc debug can be enabled on a USAP enabled device.

(cherry picked from commit 86bd25d5ed)

Change-Id: I5f25030ce8e667d175712796c0950f38baa2532d
Merged-In: I5f25030ce8e667d175712796c0950f38baa2532d
2019-05-31 12:46:42 -07:00
TreeHugger Robot
ae76af46b2 Merge "Prevent double teardown of service connections" into qt-dev 2019-05-31 17:27:34 +00:00
Gavin Corkery
5b9e00273b Merge "Perform user data back up in post install stage" into qt-dev 2019-05-31 16:10:13 +00:00
Dario Freni
f141aab4ed Verify staged APKs pre-reboot.
Test: adb install --staged file.apk on taimen-eng target; adb
install-multi-package file1.apex file2.apex file3.apk file4.apk
Test: atest StagedRollbackTest
Bug: 123753157
Change-Id: I41121b73c0db8ca55bafd2f57cba73bb3b940149
2019-05-31 14:55:08 +01:00
Adrian Roos
c18c6da441 RootViewImpl: Fix measure size hint for WRAP_CONTENT windows
Fixes an issue where we would measure WRAP_CONTENT windows inconsistently
in the measure passes before and after relayoutWindow.

Fixes: 119839070
Bug: 73813813
Change-Id: I376e416d648f31a0dedecd6a70b476c3bf82b8b0
Test: Install test case app from 119839070, verify dialog is correctly laid out.
2019-05-31 14:26:35 +02:00
Gavin Corkery
ab5ee411e5 Perform user data back up in post install stage
Currently the backup of user data is done in the enable rollback stage,
during which there is no guarantee that the package being backed up is
not currently running. Moving the backup to the post install stage will
guarantee that the package is not running.

Test: atest RollbackTest
Test: atest StagedRollbackTest
Bug: 124032231
Change-Id: I4b42a0c5ade1645585d1d6f698637df950d05c72
2019-05-31 10:26:56 +01:00
TreeHugger Robot
9bb2607703 Merge "Skip IME initialization when received the token that already registered" into qt-dev 2019-05-30 17:33:17 +00:00
TreeHugger Robot
26a28f64c5 Merge "Remove @VisibleForTesting from DevicePolicyEventLogger getters." into qt-dev 2019-05-30 15:05:26 +00:00
arangelov
3b37af4c3c Remove @VisibleForTesting from DevicePolicyEventLogger getters.
Also make it extendable for mocking and update atoms.proto comments.

Bug: 131833599
Test: compiled
Change-Id: I6a0e8a6175e7e9e46572ea4aa50ce7669a02588b
2019-05-30 14:40:12 +01:00
Luke Huang
459a5becd9 Fix issue for DnsResolver#query
1. Previously, getDnsNetId doesn't handle all the cases.
Fix it with cosidering bypass private DNS flag.
2. Make getDnsNetId return Network instead of netId,
and change name from getDnsNetId to getDnsNetwork

Bug: 129530368
Test: atest DnsResolverTest DnsUtilsTest

Merged-In: Ibb5080acd3c296650d56532fc7da525e9fa95e8f
(cherry picked from commit 3854966dc9)

Change-Id: I37353642088bcc17da0cf17f78a5ed9efc9aefc3
2019-05-30 11:58:25 +00:00
lumark
e0af39403e Skip IME initialization when received the token that already registered
When IME window switches from current display to another display and back quickly,
system will re-bind InputMethodService to re-attach window token for each moving,
the IME service lifecycle will be onBind -> onUnBind -> onDestroy -> onBind.

Ideally, system will deliver window token when onServiceConnected and system should
only receive one onServiceConnected when the last service bound.

But due to user switch display very quick, before unbind service callbacked from client,
the next bind service request comes, caused the connection exists in system side and
client will then callback 2 onServiceConnected to system.

Since CL [1] introduced InputMethodPrivilegedOperationsRegistry to deal with token
registraction singleton-ness, the exception will be thrown for above case due to
the duplicate window token passed to client.

Add InputMethodPrivilegedOperationsRegistry#isRegistered to check if the token
already registered, if so, skip this duplicate initialization request.

[1]: I4a61470f06ffac5f7a512536f8431489db0108f4

Fix: 133624278
Test: manual as below steps:
    1) Settings > Developer options, enable "Simulated display" & "force desktop mode"
    2) Reboot device.
    3) Launch app from simulated display.
    4) Launch app from primary display (i.e. contacts), focus EditText to show IME.
    5) Tapping primary & simulated display repeatly & quickly.
    6) See if any exception log from IME application. (i.e. Gboard)

Change-Id: Ie6bfbae735724fe744590e715124d2737d2b665d
2019-05-30 12:27:17 +08:00
Michael Groover
daf8086aa0 Merge "Update Build#SERIAL docs to reflect device ID restrictions" into qt-dev 2019-05-30 04:11:55 +00:00