Commit Graph

16105 Commits

Author SHA1 Message Date
Ahan Wu
eae7d291f9 Fix memory leak due to not removing ended or cancelled tasks
While the tracker session ends abnormaly, we should also remove the task
which is kept by InteractionJankMonitor, or a memory leak happens.

Bug: 184651704
Test: atest FrameworksCoreTests:InteractionJankMonitorTest
Test: atest FrameworksCoreTests:FrameTrackerTest
Change-Id: I56f7759ef39d34cedc795042d3210d9be375cf77
2021-04-07 02:47:04 -08:00
TreeHugger Robot
0751e1b15f Merge "Make note/startOperation return SyncNotedAppOp, add mode" into sc-dev 2021-04-06 18:34:05 +00:00
Siim Sammul
c31917ddd4 Create BinderLatencyObserver to collect binder call latency stats.
Pushing these as a metric will come in a future change.

Test: unit tests
Bug: 180584913

Change-Id: I8a123f7aed7c0ce416814372f2287b04a8a04ac0
Merged-In: I8a123f7aed7c0ce416814372f2287b04a8a04ac0
(cherry picked from commit 8d0ecde2b8)
2021-04-06 15:32:20 +00:00
Wu Ahan
790f33d571 Merge "End the trace section while the surface has destroyed" into sc-dev 2021-04-06 13:36:37 +00:00
Galia Peycheva
adb4b12d77 Merge "Fix stale background blur drawable in DecorView" into sc-dev 2021-04-06 10:27:46 +00:00
Ahan Wu
c35810dd64 End the trace section while the surface has destroyed
- Also invoke end method in surfaceDestroyed.
- Add debug logs

Bug: 183348579
Test: atest FrameworksCoreTests:InteractionJankMonitorTest
Test: atest FrameworksCoreTests:FrameTrackerTest
Test: Check the pftrace file
Change-Id: Ic3ab5212bd1d5a828ef6605814dafa4ecca3df0d
2021-04-05 22:47:49 -08:00
Janis Danisevskis
9ba0f37f8a Merge "Keystore 2.0: Remove Keystore 1.0 SPI with all remaining references" am: a8b1b1a2e6 am: 08945c21ef am: 66ead4fb0b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1624872

Change-Id: I08fcf329e59c309d9292edc846653b02e7a60f21
2021-04-03 02:02:03 +00:00
Janis Danisevskis
66ead4fb0b Merge "Keystore 2.0: Remove Keystore 1.0 SPI with all remaining references" am: a8b1b1a2e6 am: 08945c21ef
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1624872

Change-Id: I9efb4419a7dac6e1bb7d99f31e7776759cea9491
2021-04-03 01:16:07 +00:00
Janis Danisevskis
a8b1b1a2e6 Merge "Keystore 2.0: Remove Keystore 1.0 SPI with all remaining references" 2021-04-03 00:21:18 +00:00
Nate Myren
ee9a4741d4 Make note/startOperation return SyncNotedAppOp, add mode
Use the SyncNotedAppOp when collecting self/sync ops in AppOpsManager.
Also adds "mode" to SyncNotedAppOp

Fixes: 184111263
Test: Atest AppOpsServiceTest
Change-Id: Ia20c7054d06e241cbe017a641d728e11c7eccd06
2021-04-02 13:24:21 -07:00
Hans Boehm
874b0a96e0 Merge "Rename to isIndefiniteThreadSuspensionSafe" am: 0bf32e7e7b am: b7f0eacf8f am: d5301eb3bf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1662663

Change-Id: Id628c80d3afda76d8107048a356f5816706d9a48
2021-04-02 18:42:20 +00:00
Hans Boehm
d5301eb3bf Merge "Rename to isIndefiniteThreadSuspensionSafe" am: 0bf32e7e7b am: b7f0eacf8f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1662663

Change-Id: Id06325d1294f14f65795488d3ebe00dc7ccd0f4c
2021-04-02 18:16:03 +00:00
Hans Boehm
0bf32e7e7b Merge "Rename to isIndefiniteThreadSuspensionSafe" 2021-04-02 17:29:53 +00:00
George Mount
e57091c6c3 Merge "Fix NPE in RecyclerView" into sc-dev 2021-04-02 16:20:06 +00:00
Janis Danisevskis
a6dcf091f5 Keystore 2.0: Remove Keystore 1.0 SPI with all remaining references
Bug: 171305684
Test: CtsKeystoreTestCases
Change-Id: I337515dadc9e45b909bff058d4e13371b4fa843c
2021-04-01 17:06:41 -07:00
George Mount
49bd07d665 Fix NPE in RecyclerView
Bug: 184256183

Prevents NullPointerException when there are no children in the
RecyclerView while a fling occurs.

Test: Ran share sheet
Change-Id: I6aa5a4622c8afa792ca5e3f4c8fffb9ec92128d9
2021-04-01 23:34:25 +00:00
Dmitri Plotnikov
6a725247e5 Merge "Add BatteryConsumer.getPowerModel() method" into sc-dev 2021-04-01 23:25:55 +00:00
Hans Boehm
6fbea7cbbd Rename to isIndefiniteThreadSuspensionSafe
Bug: 181707712
Test: Build and boot AOSP
Change-Id: I0d95578cf689223a75fcb132f092805d77b1805b
2021-04-01 14:10:31 -07:00
Alec Mouri
d998c94c2a Merge "Revert "Temporarily additional stats into battery dumpsys"" into sc-dev 2021-04-01 20:54:48 +00:00
Steven Moreland
dfcb3c7908 Merge "IBatteryStats.aidl update path" am: 2a27671122 am: 0fd713954b am: 7c8edecd6d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1661234

Change-Id: Ief137e0a515e75737148c474bbdfa2f89be10952
2021-04-01 20:19:40 +00:00
Steven Moreland
7c8edecd6d Merge "IBatteryStats.aidl update path" am: 2a27671122 am: 0fd713954b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1661234

Change-Id: If052ba67117e377e1db06c1f2a19159593a73d2d
2021-04-01 19:31:07 +00:00
Steven Moreland
2a27671122 Merge "IBatteryStats.aidl update path" 2021-04-01 18:08:11 +00:00
Aaron Huang
5b1b6bf264 Merge "Move some constants from TrafficStatsConstants to NetworkStackConstants" am: e427565991 am: 40b438abcc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1625861

Change-Id: Ideb5a5abbd074a8c905861e902977c442317fc02
2021-04-01 16:45:22 +00:00
Aaron Huang
e427565991 Merge "Move some constants from TrafficStatsConstants to NetworkStackConstants" 2021-04-01 15:59:39 +00:00
Galia Peycheva
da9e3c8e1b Fix stale background blur drawable in DecorView
The BackgroundBlurDrawable is linked to a specific ViewRootImpl.
When the view is detached and re-attached, the ViewRootImpl changes, so
we need to reinitialize the background blur drawable inside DecorView.

This CL properly handles onDetachedFromWindow in DecorView.

Bug: 177523043
Test: m && atest BlurAggregatorTest
Change-Id: I2e25a2f85bdf95c151fd01dc794a6bc4b16c03b1
2021-04-01 15:28:04 +02:00
Aaron Huang
42951ddb37 Move some constants from TrafficStatsConstants to NetworkStackConstants
Keep the constants are only used by framework in TrafficStatsConstants
and move the others to NetworkStackConstants which is in libs/net.

Bug: 182349970
Test: FrameworksNetTests
      NetworkStackTests
      TetheringTests
Change-Id: Ib667c115e5f1e01237d88b77bba753363da309cc
Merged-In: Ib667c115e5f1e01237d88b77bba753363da309cc
2021-04-01 05:10:03 +00:00
Dmitri Plotnikov
c13f44e0aa Add BatteryConsumer.getPowerModel() method
This method will be used for testing and visualization purposes.

Bug: 184207674
Test: atest FrameworksCoreTests:com.android.internal.os.BatteryStatsTests
Change-Id: Id28ba4cbb8f27774f36248678f93ec187bc022b3
2021-03-31 18:14:08 -07:00
Alec Mouri
6abe2f9bc1 Revert "Temporarily additional stats into battery dumpsys"
This reverts commit 39db76b534.

Reason for revert: Eng-prod no longer requires this patch

Bug: 169376495

Change-Id: I93be09f03745734d65190a5a39f79d90c0150652
2021-04-01 00:22:55 +00:00
Steven Moreland
de4e95ed68 IBatteryStats.aidl update path
header moved

Bug: 183654927
Test: N/A
Change-Id: I5a74323f14da8aec636b4dea6eb22eae528556be
2021-03-31 23:46:34 +00:00
Wilson Wu
889e3d63bb Merge "Make IInputMethodPrivilegedOperations to async (1/N)" into sc-dev 2021-03-31 10:17:25 +00:00
Ioannis Ilkos
50d4ba03b5 Merge "Per process DMA-BUF stats" into sc-dev 2021-03-31 08:48:55 +00:00
Yohei Yukawa
12e4fde793 Merge "Avoid IME restart for configChanges" into sc-dev 2021-03-31 02:28:22 +00:00
Rob Carr
2b434b28b0 Merge "Expose API for using SurfaceControl with ViewRootImpl" into sc-dev 2021-03-31 01:35:49 +00:00
Ray Essick
2d2519e32d Merge "No longer preload libsfplugin_ccodec in zygote" into sc-dev 2021-03-30 21:09:42 +00:00
Daniel Sandler
ca0ac5e60d Merge "Add INVOCATION_TYPE_POWER_BUTTON_LONG_PRESS." into sc-dev 2021-03-30 20:23:06 +00:00
Taran Singh
71ab752fc5 Avoid IME restart for configChanges
Handle onConfigurationChanged() in order to prevent restarting
InputMethodService everytime. We introduce a new API attribute
"configChanges" in InputMethod(attrs.xml) which when declared
by IME, will be responsible for handling mentioned
configuration changes.

This CL re-introduces [1] with fix: Use new Configuration instance for
IMS#mLastKnownConfig and also handle followup comments.

[1] Ib94fddadb0dae648cf73a4c1642e51edebd19f50

Note: this change has no impact for devices not using DisplayAreas.

Bug: 167948419
Test: atest InputMethodServiceTest
    Manually:
      1. Patch Ie91e7a8e06b80864ef9409031e8543858552d70d to use dual
         display area.
      2. Open applications with editors on both display areas.
      3. Attach a debug point for IMS#onConfigurationChanged().
      4. Make sure IMS#resetStateForNewConfiguration() is not called
         when IME moves between these two identical DisplayAreas
    Also verify that bug 182604598 don't happen.

Change-Id: I43b6b80cdb35410554412ee1d3b0917ee3198272
2021-03-30 20:03:55 +00:00
Treehugger Robot
cbbe436700 Merge "Notify CellLocation whenever ACTION_USER_SWITCHED" am: 2a5efce2d7 am: 4a73b5f3b5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550658

Change-Id: I796876646ef59d15fb1d9f1bd8b751af4c0ec304
2021-03-30 19:47:51 +00:00
Treehugger Robot
2a5efce2d7 Merge "Notify CellLocation whenever ACTION_USER_SWITCHED" 2021-03-30 19:01:17 +00:00
Taesu Lee
9a218febc2 Notify CellLocation whenever ACTION_USER_SWITCHED
Notify device's cell location when ACTION_USER_SWITCHED even though no
changes.
And 1st arg of notifyCellLocationForSubscriber() shall be subId instead.

Bug: 177495399
Test: atest TelephonyRegistryTest

Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Merged-In: I6761c4bb500da1748119f9917663dae0307ab437
Change-Id: I6761c4bb500da1748119f9917663dae0307ab437
2021-03-30 17:47:48 +00:00
Amit Mahajan
244c071737 Merge "Notify CellLocation whenever ACTION_USER_SWITCHED" into sc-dev 2021-03-30 17:42:08 +00:00
Ioannis Ilkos
228fc0293b Per process DMA-BUF stats
In order to detect memory regressions caused by improper handling of
dma-buf buffers we need to measure how this memory is used.

This change:
- Introduces DmabufInfoReader which wraps libmeminfo and provides
per-process DMA-BUF stats.
- Specifically, measures buffers mapped to the process address space
(from /proc/pid/maps). This is supported on all devices.
- For devices running 5.4+ (where the system processes can query fdinfo)
also measures the total retained memory (either by mmap or an open fd).
- Introduces a statsd atom that collects this for all running managed
processes. Non-managed processes will also hold dmabufs, but the
likelihood of them causing issues (post-launch) is smaller so I am
trading them off for cheaper collection (if indeed we encounter such
problems, they will definitely be caught by the total dmabuf counters).

Test: manual
Bug: 183708249
Change-Id: I5e0ef58ac1a66ebe2d280c5733de46ba84f75a46
2021-03-30 10:38:10 +01:00
Robert Carr
ee90cd4871 Expose API for using SurfaceControl with ViewRootImpl
This API is appropriately called "ViewRoot". So far we just expose
an API surface to reparent SurfaceControl to the ViewRoot (but without
exposing the ViewRoot's SurfaceControl, to encourage developers not
to shoot themselves in the foot) and to synchronize with the drawing
of the ViewRoot SurfaceControl.

Bug: 173463039
Test: ViewRootSyncTests
Change-Id: I8ce0ed4b3efe50cdb3b71ae0f05ce25438d42368
2021-03-30 04:10:05 +00:00
Jacky Kao
b599784e05 Merge "Logs magnification feature behavior. (2/2)." into sc-dev 2021-03-29 23:56:22 +00:00
Svetoslav Ganov
a6c3d6ad39 Merge "Runtime permission attribution improvements" into sc-dev 2021-03-29 21:03:06 +00:00
Dan Sandler
f44b1709ff Add INVOCATION_TYPE_POWER_BUTTON_LONG_PRESS.
Since this is intended to be used by PhoneWindowManager,
this patch also hoists these internal constants out of
SystemUI and into com.android.internal.app.AssistUtils.

Adds the new UiEvent ASSISTANT_INVOCATION_POWER_LONG_PRESS
for future use by calling code.

This patch also fixes an inconsistency in the existing
constant names (internally to these files).

Fixes: 181601214
Test: atest SystemUITests
Change-Id: Ida860d78ef490e0dc119b37287c6ecdff5b9c0de
2021-03-29 20:23:27 +00:00
Jeff DeCew
2ea75ab9ce Merge "Fix color filter on NotificationExpandButton's chevron" into sc-dev 2021-03-29 19:20:15 +00:00
Svet Ganov
8d2ed50604 Runtime permission attribution improvements
When an app is proxying access to runtime permission protected
data it needs to check whether the calling app has a permission
to the data it is about to proxy which leaves a trace in app ops
that the requesting app perofmed a data access. However, then the
app doing the work needs to get the protected data itself from the
OS which access gets attributed only to itself. As a result there
are two data accesses in app ops where only the first one is a
proxy one that app A got access to Foo through app B - that is the
one we want to show in the permission tracking UIs - and one
for the data access - that is the one we would want to blame on
the calling app, and in fact, these two accesses should be one -
that app A accessed Foo though B. This limitation requires fragile
one off workarounds where both accesses use the same attribution
tag and sys UI has hardcoded rules to dedupe. Since this is not
documented we cannot expect that the ecosystem would reliably
do this workaround in apps that that the workaround in the OS
would be respected by every OEM.

This change adds a mechaism to resolve this issue. It allows for
an app to create an attribution context for another app and then
any private data access thorugh this context would result in a
single app op blame that A accessed Foo though B, i.e. we no longer
have double accounting. Also this can be nested through apps, e.g.
app A asks app B which asks app C for contacts. In this case app
B creates an attribution context for app A and calls into app C
which creates an attribution context for app B. When app C gets
contacts the entire attribution chain would get a porper, single
blame: that C accessed the data, that B got the data from C, and
that A got the data form B. Furthermore, this mechanism ensures
that apps cannot forget to check permissions for the caller
before proxying private data. In our example B and C don't need
to check the permisisons for A and B, respectively, since the
permisisons for the entire attribution chain are checked before
data delivery. Attribution chains are not forgeable preventing
a bad actor to create an arbitrary one - each attribution is
created by the app it refers to and points to a chain of
attributions created by their corresponding apps.

This change also fixes a bug where all content provider accesses
were double counted in app ops due to double noting. While at
this it also fixes that apps can now access their own last ops.
There was a bug where one could not pass null getting the attributed
ops from a historical package ops while this is a valid use case
since if there is no attribution everything is mapped to the null
tag. There were some app op APIs not being piped thorough the app
ops delegate and by extension through the app ops policy. Also
now that we have nice way to express the permission chain in a
call we no longer need the special casing in activity manager to
handle content provider accesses through the OS. Fixed a bug
where we don't properly handle the android.os.shell calls with
an invlaid tag which was failing while the shell can do any tag.

Finally, to ensure the mechanims is validated and works end-to-end
we are adding support for a voice recognizer to blame the client
app for the mic access. The recognition service can create a blaming
context when opening the mic and if the mic is open, which would
do all permission checks, we would not do so again. Since changes
to PermissionChercker for handling attribution sources were made
the CL also hooks up renounced permissoins in the request permission
flow and in the permission checks.

bug:158792096
bug:180647319

Test:atest CtsPermissionsTestCases
     atest CtsPermissions2TestCases
     atest CtsPermissions3TestCases
     atest CtsPermissions4TestCases
     atest CtsPermissions5TestCases
     atest CtsAppOpsTestCases
     atest CtsAppOps2TestCases

Change-Id: Ib04585515d3dc3956966005ae9d94955b2f3ee08
2021-03-29 16:49:33 +00:00
Jeff DeCew
a29c7b91a6 Fix color filter on NotificationExpandButton's chevron
Bug: 181048615
Test: visual
Change-Id: I7a9a9943e091f8a60b9a77836a946a38f5b570d6
2021-03-29 10:55:20 -04:00
lpeter
6f2a263810 Add callback to report HotwordDetectionService status
Bug: 182788844
Test: Test: atest CtsVoiceInteractionTestCases
Test: atest CtsVoiceInteractionTestCases --instant
Change-Id: I12f0a265fc4fce0bbfe0983f39b4dcd947e3cf64
2021-03-29 17:41:24 +08:00
Wilson Wu
1b8593fdfe Make IInputMethodPrivilegedOperations to async (1/N)
-. Remove VoidResultCallback of setImeWindowStatus
   and let it be asynchronous.
-. Rename function naming to setImeWindowStatusAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ia9f19ca5ae418089ce43816dcd50487e1b1172f1
2021-03-29 11:53:42 +08:00