Commit Graph

103111 Commits

Author SHA1 Message Date
Ioannis Ilkos
83270da58c Merge "Add anon RSS + swap metric" into qt-dev
am: 9af8d15783

Change-Id: Icdc2f66054c9f1450a731f051707b3824c487865
2019-06-24 08:11:08 -07:00
Ioannis Ilkos
9af8d15783 Merge "Add anon RSS + swap metric" into qt-dev 2019-06-24 08:46:40 +00:00
Lorenzo Colitti
f80234a9b0 Merge changes If7d41052,I66f263d7,Id45ae956,Iba752fed,I575a7e4f, ... into qt-r1-dev
* changes:
  Inline readNetworkStatsDetailInternal, make mUseBpfStats final
  Remove VPN info arrays from NetworkStats(Observer|Recorder)
  NetworkStatsFactory: Take VPNs into account for network/battery stats
  Remove duplicate line in clat_simple test file
  Remove unused lastStats parameter
  Revert "Revert "Take all VPN underlying networks into account when migrating traffic for""
2019-06-24 03:37:23 +00:00
Dave Mankoff
6c9547a9a5 Merge "DO NOT MERGE Allow the new BrightLineFalsingManager to be enabled via PhenoType." into qt-dev 2019-06-22 15:41:14 +00:00
Dave Mankoff
e0321d5809 DO NOT MERGE Allow the new BrightLineFalsingManager to be enabled via PhenoType.
Test: atest SystemUITests
Bug: 111394067
Change-Id: I0ab9a72d66bf56a56df2de2ad2d247f299d1b748
Merged-In: I0ab9a72d66bf56a56df2de2ad2d247f299d1b748
2019-06-22 14:19:01 +00:00
Robert Carr
9e4b7a3f8d Merge "ViewRootImpl: Ensure layout when configuration changes." into qt-dev
am: 6397ab05f9

Change-Id: I17feac89670b328f88878ce57636cf4954e0c6f3
2019-06-21 17:30:57 -07:00
TreeHugger Robot
6397ab05f9 Merge "ViewRootImpl: Ensure layout when configuration changes." into qt-dev 2019-06-22 00:04:19 +00:00
Dave Mankoff
84c07e9f1a DO NOT MERGE Allow the new BrightLineFalsingManager to be enabled via PhenoType.
Test: atest SystemUITests
Bug: 111394067
Change-Id: I0ab9a72d66bf56a56df2de2ad2d247f299d1b748
2019-06-21 20:43:14 +00:00
Antoan Angelov
648eb2d3a7 Merge "Update docs for EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS." into qt-dev
am: ab34f61c3b

Change-Id: I4b0230f1429e5ca278fa6f5c15babddb1a71cda6
2019-06-21 11:15:06 -07:00
Antoan Angelov
ab34f61c3b Merge "Update docs for EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS." into qt-dev 2019-06-21 18:07:22 +00:00
Ioannis Ilkos
466ad6c3e0 Add anon RSS + swap metric
We are planning to use this metric to detect leaks.

This CL also decouples the actual memory sampling from AM. This means:
- Less time locking the pid list (we used to lock and then read proc)
- Less serialization / deserialization for the parcel
- Simpler to evolve (e.g. removed the HWM-specific method in AM)

Change-Id: I87a7243156dd8c88cfa85038e7e6cf4963e271e1
Test: manual, MemoryStatUtilTest, UidAtomTests
Bug: b/135418017
2019-06-21 11:10:19 +01:00
Benedict Wong
c9511e7525 NetworkStatsFactory: Take VPNs into account for network/battery stats
This change fixes detailed UID stats to ensure network and battery stats
both take VPNs into account. NetworkStatsFactory is being made aware of
VPNs enabled, and the full set of underlying networks present.

Since traffic can only be migrated over a NetworkStats delta, NSF
maintains a NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSF records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or NetworkStatsService's
getDetailedUidStats() method being called.

This change widens the scope of the existing mPersistentSnapshot lock,
renaming it to mPersistentDataLock, and ensures that TUN migrations are
not done in parallel. Additionally, mVpnInfos is updated via
pointer-swapping, to reduce the scope of the mPersistentDataLock.

The safety of this change is predicated on:
1. NetworkStatsFactory lock not held, so services cannot deadlock through
the cyclical lock.

2. The broadening of the scope of the lock in NetworkStatsFactory has no
threading implications, as it is always the last (leaf node) lock held,
and therefore is impossible to have lock inversion.

Additionally, to ensure VPNs work with 464xlat, the VPN info passed to
the NetworkStatsFactory includes all underlying interfaces, instead of
only passing the first one.

This (partially) re-applies changes from:
aosp/972848: Add one more test for VPN usage stats.
aosp/972847: Addressing comments for http://ag/7700679.
aosp/885338: NetworkStatsService: Fix getDetailedUidStats to take VPNs
             into account.
Co-developed with: Varun Anand <vaanand@google.com>

Bug: 113122541
Bug: 120145746
Bug: 129264869
Bug: 134244752
Test: FrameworksNetTest passing
Test: Manual tests show data usage fixes maintained.
Merged-In: I6466ec1411fc5ed6954125d27d353b6cd1be719e
Change-Id: Id45ae956ad7165be346ecc010e17d260563ac1c0
(cherry picked from commit 9fbbdebc61)
2019-06-21 01:12:27 +00:00
Benedict Wong
edcd5ad555 Revert "Revert "Take all VPN underlying networks into account when migrating traffic for""
This reverts commit d8220c2050.

Reason for revert: Fix available for deadlocks.

Bug: 113122541
Bug: 134244752
Merged-In: Ib65214598837289bd39dbf040b56ab7835f893ba
Change-Id: Ia90bf2c72ef686e80800d113d03548e0efcadb66
(cherry picked from commit a84d9fa572)
2019-06-21 01:09:49 +00:00
Robert Snoeberger
06d2500944 Handle case that settings string is JSON
Settings.Secure string for clock face may be JSON so that it can contain
the timestamp that it was set for logging purposes.

Bug: 134687399
Test: Added SettingsWrapperTest
Change-Id: I50afba479c30029428819c6616ca754db681a2b4
2019-06-20 15:06:28 -04:00
arangelov
bb2a802a23 Update docs for EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS.
Bug: Fixes: 134391678
Test: manual
Change-Id: I993af4f4a741283294b1754dfc0adc7c6f6f849e
2019-06-20 16:31:10 +01:00
Junyu Lai
8ffb2b0106 Merge "Move the test of minimum supported keepalive slots to CTS" into qt-dev
am: 544e00d382

Change-Id: I5a8e52154f777064df66e943a3def4cbbc762856
2019-06-19 22:55:07 -07:00
Junyu Lai
1459e84fd6 Merge "Correct value of supported keepalive count for cellular" into qt-dev
am: fbe58171d6

Change-Id: Ic36c3be787c6c12647b1fd1460e3c2183ea605ec
2019-06-19 22:54:45 -07:00
Amith Yamasani
32fbd5c62f Merge "Expose BIND_NOT_PERCEPTIBLE service flag" into qt-dev
am: 41d0b1abc8

Change-Id: Id99a04acfde6efd779f7c6cb5059f11a380aa1a4
2019-06-19 22:53:21 -07:00
Junyu Lai
544e00d382 Merge "Move the test of minimum supported keepalive slots to CTS" into qt-dev 2019-06-20 05:35:07 +00:00
Junyu Lai
fbe58171d6 Merge "Correct value of supported keepalive count for cellular" into qt-dev 2019-06-20 05:35:07 +00:00
TreeHugger Robot
41d0b1abc8 Merge "Expose BIND_NOT_PERCEPTIBLE service flag" into qt-dev 2019-06-20 05:34:34 +00:00
Junyu Lai
a248130fc9 Correct value of supported keepalive count for cellular
Cellular only supports 1 keepalive connection so correct the default
supported value to 1.

Bug: 134037217
Bug: 134352656
Test: - atest FrameworksNetTests
      - atest android.net.cts.ConnectivityManagerTest \
        #testSocketKeepaliveLimitTelephony

Merged-In: Ia3761f2e78d54866bb2e156d58004396bbc8adc3
Change-Id: If833b813ba00eeff913160598f1ea9c74e6e35d8
(cherry picked from commit 680abbb591)
2019-06-20 04:02:38 +00:00
Eugene Susla
aee049db67 [DO NOT MERGE] Fix race in AbstractSinglePendingRequestRemoteService
am: 45fcf147c1

Change-Id: Ia01a95311ee3b38be9a9ce8aa97039294f8a66c2
2019-06-19 20:26:47 -07:00
TreeHugger Robot
c056428db2 Merge "[DO NOT MERGE] Fix race in AbstractSinglePendingRequestRemoteService" into qt-dev 2019-06-20 02:58:21 +00:00
Makoto Onuki
5b80149cce Merge "Optionally trigger CG in onTrimMemory()" into qt-dev
am: 71acb72cbd

Change-Id: I02c2450dc66c3741c451c34d54f90f0214114988
2019-06-19 19:41:10 -07:00
Junyu Lai
70c06b5e52 Move the test of minimum supported keepalive slots to CTS
This change also enables log when keepalive is started.

Bug: 134352656
Test: 1. atest android.net.cts.ConnectivityManagerTest#testSocketKeepaliveLimitTelephony
      2. atest FrameworksNetTests
Merged-In: I408750fa0bceb0c1c26afb5fead4e44fb824fbc1
Change-Id: Ib9b06d3458782a648a2f5b8fd5a9ca1d34bd11f9
(cherry picked from commit aed835f086)
2019-06-20 02:26:58 +00:00
Eugene Susla
45fcf147c1 [DO NOT MERGE] Fix race in AbstractSinglePendingRequestRemoteService
Fixes: 135355306
Test: presubmit
Change-Id: I78d9840a9d7e04cd373c967b259a614990153841
2019-06-20 01:50:48 +00:00
Makoto Onuki
71acb72cbd Merge "Optionally trigger CG in onTrimMemory()" into qt-dev 2019-06-19 23:24:04 +00:00
John Reck
2f8cae24b9 Merge "Revert SurfaceView back to Q's version" into qt-r1-dev 2019-06-19 22:15:18 +00:00
Tim Joines
2ca532cd57 Merge "Add config to control full task snapshot scale" into qt-dev
am: 10b9def7cb

Change-Id: Ic834d26d4f2196a390feb8b2268d42e87d8a9ab1
2019-06-19 14:55:32 -07:00
Amith Yamasani
5016a7891a Expose BIND_NOT_PERCEPTIBLE service flag
Using this flag when binding to a service will
allow the bound process to be held at a low
oom_adj of 250, so that it can be expunged to
reclaim memory if a more user-visible app needs
it.

Use for bindings such as job services and other
connections that the caller can easily recover
from and restart if necessary.

Adjust the lmk thresholds to use this oom_adj
as one of the levels, so they're killed before
perceptible apps (such as foreground services).

Bug: 135219821
Test: CtsAppTestCases
      Manually check notification listener oom_adj
      and dumpsys activity services output

Change-Id: I9f6d0891d842e4d12f7995b9b1a8f57b0903a16d
2019-06-19 14:40:57 -07:00
John Reck
5866a0c6ab Revert SurfaceView back to Q's version
Revert API behavior changes to SurfaceView, snapping
back to Q's version.

Bug: 133378280
Test: none
Change-Id: I3a47f9bfdfab2d16707f952a9af672551736e681
2019-06-19 11:39:20 -07:00
Makoto Onuki
0a9ee1af2c Optionally trigger CG in onTrimMemory()
Set a trim-level threshold to debug.am.run_gc_trim_level to activate it.

Bug: 135148702
Test: Manual test with "setprop debug.am.run_gc_trim_level 0", run a lot of
heavy apps and take pictures, and check logcat for the "force_gc" event log.
Test: Manual test with "setprop debug.am.run_mallopt_trim_level 0", run a lot of
heavy apps and take pictures, and check logcat for a debug log.

Change-Id: I73b4dc7374e85e9a22c98ab17da53aa6cb25a188
2019-06-19 10:01:55 -07:00
Matt Casey
e1ff28dabc Add ASSIST_TAP_PASSTHROUGH flag.
Make PhenotypeHelper public.

Bug: 135459244
Test: Manual via adb
Change-Id: I039552bdfde1b0c3ff481af5b4f8813091112391
2019-06-19 09:33:10 -04:00
Robert Carr
437c0e4c15 ViewRootImpl: Ensure layout when configuration changes.
When the configuration changes between landscape and reverse
landscape, the app will not receive onConfigurationChanged as
orientation is not part of the public portion of the configuration.
However, when the ViewRootImpl receives such a configuration back from
relayout, it will force a layout of the client views
(see updatedConfiguration in performTraversals), this is because
Configuration#equals compares the non public part of the configuration
as well. This CL changes MSG_REPORT_RESIZED to handle the configuration
changing the same way performTraversals does, so that the app consistently
receives a configuration change.

Bug: 134643273
Test: Manual
Change-Id: If016bcd9a5b8d2a7efc5e1ab3c82a88a608caf8b
2019-06-18 16:12:29 -07:00
Winson Chung
ffde2ea8e5 Add config to control full task snapshot scale
- Also save the scale with the snapshot data instead of trying to infer it
  from the state
- Also recycle the reduced resolution snapshot copy after writing it

Bug: 135150767
Test: atest TaskSnapshotPersisterLoaderTest
Change-Id: I64a9ccf16f3966ad5c6d07ff0b6ce8e9dd710e40
2019-06-18 14:12:25 -07:00
Will Brockman
e320fca53a Merge "Log usage of addPerson() and setStyle() in notifications." into qt-dev
am: 029190c1bc

Change-Id: If5b6463d6c44df9660088e14b6357321c85c095d
2019-06-18 10:48:27 -07:00
TreeHugger Robot
029190c1bc Merge "Log usage of addPerson() and setStyle() in notifications." into qt-dev 2019-06-18 17:04:01 +00:00
lumark
c0ecccca16 Merge "Make InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED testable." into qt-dev
am: b7abebde5b

Change-Id: I7459ec72287ffa36bcc11e9cce87d9a4258705d5
2019-06-18 05:32:28 -07:00
TreeHugger Robot
b7abebde5b Merge "Make InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED testable." into qt-dev 2019-06-18 12:27:15 +00:00
Mihai Popa
104a254b1a Merge "[Magnifier-87] Fix deadlock causing ANR" into qt-dev
am: 9550c185f9

Change-Id: I0bd285dde76e8e232c119f66c5904bf1b461fb5b
2019-06-18 02:22:45 -07:00
Mihai Popa
9550c185f9 Merge "[Magnifier-87] Fix deadlock causing ANR" into qt-dev 2019-06-18 09:10:17 +00:00
Chalard Jean
5fa9d376ea Merge "Remove the <= P restriction for WIFI_P2P" into qt-dev
am: 2ae76cdbe8

Change-Id: Ib1cb85a5864345d1367a92b2d0e3545fd8c4872e
2019-06-17 23:35:14 -07:00
TreeHugger Robot
2ae76cdbe8 Merge "Remove the <= P restriction for WIFI_P2P" into qt-dev 2019-06-18 06:16:30 +00:00
Chalard Jean
449b9c378c Remove the <= P restriction for WIFI_P2P
This is still sent in an intent.

Bug: 131764329
Fixes: 131764329
Merged-In: I56c86b0c1912064d5a642991df32d2cefb6a8d5b
Change-Id: I64b9d632be97dc51e6085162371bb8c19f410258
(cherry picked from commit e546cb0bd16b7359feeb3c46ba52e64cf91ae4d3)
2019-06-18 06:15:58 +00:00
Julia Reynolds
fb6dd2a8c0 Merge "Use connected boolean as NLS does vs IBinder" into qt-dev
am: 23dcdcefde

Change-Id: I51f2fec6b85c4d9e3e6a5b39cd0a2e09955ec802
2019-06-17 15:16:05 -07:00
Julia Reynolds
b1f5aafc91 Use connected boolean as NLS does vs IBinder
To determine if the CPS can get/send messages. Apparently
the IBinder can be cached in ActivityManager and onBind() is not
always called when a service is connected the second time.

Test: manual; ensure a service recieves an onsubscribe for an
active rule post requestUnbind/requestRebind
Fixes: 62584038

Change-Id: Iffe37242509f3bf26e609e6b423f3928c00156ad
(cherry picked from commit 265d093cd9)
2019-06-17 17:51:18 +00:00
Mihai Popa
e42215ea70 [Magnifier-87] Fix deadlock causing ANR
Before this CL, the magnifier could deadlock when the following
happened:
1. the renderer is asked to draw (and a frame callback is provided)
2. a #dismiss() happens on the UI thread. This acquires mDestroyLock
(previously line 309)
3. InternalPopupWindow#destroy() is called, and this calls
mRenderer.destroy(). This attempts to destroy the renderer on the UI
thread, however the UI thread will wait until the pending frame callback
corresponding to step 1 is executed on the render thread.
4. The frame callback starts executing on the render thread, and tries
to acquire mDestroyLock (previously line 1093). However, this is held by
the UI thread, so a deadlock happens.

This CL completely removes mDestroyLock, relying on the existing
synchronization between the UI and render threads described in step 3.

Bug: 134584742
Test: manual testing
Change-Id: Ia4c75b5b997e0ed94d5a3814dd4507a8fffa124d
2019-06-17 11:59:20 +00:00
lumark
ca442d5d9f Make InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED testable.
Annotates InputMethodSystemProperty#MULTI_CLIENT_IME_ENABLED as @TestApi
to let cts can verify if multi-client IME enabled.

Bug: 135217809
Test: build and passes
Change-Id: Id7b4dceb2dbfaf3d7ed1084957dd14b04cad0cdf
2019-06-17 16:09:42 +08:00
bj1211jeon
2153bd3920 DO NOT MERGE: Add DENSITY_450
am: b38f168397

Change-Id: Iae2867be2b3533da492ddfc79e3006fe385742d4
2019-06-14 17:41:26 -07:00