Uses the atom MagnificationFollowTypingFocusActivatedSessionReported in
westworld to log the activated session duration for the window magnifier
which its following typing focus is enabled.
The duration is accumulated by the time when the window magnifier and
the ime are all on. If one of them is off, we would pause the
accumulated timer. If a user moves the window magnifier to disables
this function, we would stop the accumulated timer and log the duration.
Bug: 216733714
Test: m statsd_testdrive & statsd_testdrive 453
atest WindowMagnificationManagerTest
Change-Id: I994fc2a3ada8a90fde8b3a0b4f1cc8d7ec21638a
Merged-In: I994fc2a3ada8a90fde8b3a0b4f1cc8d7ec21638a
Uses the atom MagnificationTripleTapAndHoldActivatedSessionReported in
westworld to log the activated session duration for the window magnifier
which is triggered by the triple-tap-and-hold gesture.
The duration is from the window magnifier's enabled time to its disabled
time.
Bug: 216733714
Test: atest WindowMagnificationGestureHandlerTest
m statsd_testdrive & statsd_testdrive 452
Change-Id: I423ac39c167c89b0b2db931a616cdd34d6eb151c
Merged-In: I423ac39c167c89b0b2db931a616cdd34d6eb151c
Ensure that all uses of ANIMATOR_DURATION_SCALE are bounded between 0
and 20.
Bug: 238178261
Test: adb shell dumpsys window windows | grep "Animation setting"
Change-Id: I1f3797c5cf708f5c02ba8644ea9f703244d229a9
The issue happens when activity is launched on the secondary
display. It's because the base context of DecorContext is
a DisplayContext, but we should check #isConfigurationContext in
associatd window's Context instead, like DecorContext#isUiContext
fixes: 242571036
Test: manual - launch activity on the secondary display
Merged-In: Ie2659fb31248ad64099018bfebb6a6b43c72f466
Change-Id: Ie2659fb31248ad64099018bfebb6a6b43c72f466
The issue happens when activity is launched on the secondary
display. It's because the base context of DecorContext is
a DisplayContext, but we should check #isConfigurationContext in
associatd window's Context instead, like DecorContext#isUiContext
fixes: 242571036
Test: manual - launch activity on the secondary display
Change-Id: Ie2659fb31248ad64099018bfebb6a6b43c72f466
If an Icon carries package designator, LocalImageResolver has now
ignored it. This could lead to loading of a wrong icon in cases where
the ID collided with the same ID in android package.
This is fixes that corner-case.
Bug: 241066484
Test: atest LocalImageResolverTest - the new test checks for pkg
correctness and fails on devices without this cl
manual test: bluejay device with known, reproducible resource
collision in media player notification. In reproducible case,
icon appears as a broken block.
After applying this patch, small icon in media notification loads
correctly for the collision case.
Change-Id: Ic79c0d4acb1d347a24282972e009a5a079ce6c21
* Adds screenshotType into the request instead of relying on the
Message it is sent in (msg.what).
* Adds a constructor which accepts type, source and topComponent
* Adds more @IntDef annotations to `int` constructor args
Bug: 231957192
Test: atest ScreenshotHelperTest
Change-Id: If4bf8ef1b889e4e7b2fabf195a538a13664cce12
The toolbar should set the theme to the app's theme. Because the
service cannot get the application context, we should pass this
information from application to service.
Bug: 218833400
Test: manual. Use light/dark theme for app, the toolbar shows with
the same theme
Test: atest TextViewIntegrationTest
Test: atest android.widget.TextViewActivityTest
Change-Id: I6d4e4e117c680ce57e760a87987059eded09b2bc
In [1] & [2] we introduce auto-subscription for editor bounds to IME. However,
it is actually better for IME to do it due to following reasons:
1. Simpler for IMEs do it. Easier state management in IME as to
what is subscribed.
2. IME can subscribe to CusrosAnchorInfo as early as onStartInput(), which
delivers required CAI even sooner to IME resulting in faster
Handwriting startup.
3. We cannot predict what data IME may need. e.g. IME may not
implement Rich handwriting gestures and hence may not need line
bounds (Line bounds will be added in near future).
This CL essentially mechanically reverts [1] and a small part of [2]
No user observable behavior change.
[1] I3d6b1728d62139785593af14c24cb52bf2c91e31
[2] Ibba06e9a2533ca91c5cc215dfb18d21c9a74fb73
Fix: 238970465
Bug: 203086136
Bug: 210039666
Bug: 215533103
Test: atest CtsInputMethodTestCases
Change-Id: Ia72a9fe0ceac1798ee1989eaae3906e8e1b696bf
This class contains structured data about a timeout. In this context a timeout is something about to become an ANR (as long as it passes the various ANR deduping/skipping checks). Types of timeout include input dispatch timeout, broadcast receiver timeout etc.
It wraps the ANR subject and contains useful metadata like the value of the system uptime clock when the timeout actually triggered. This is foundational work so that ANR stack latency can be measured and tracked. It will also enable us to log more useful ANR information in perfetto traces.
go/timeout-record
Bug: b/239390223
Test: atest FrameworkServicesTests
Change-Id: I6541b13b4862f6878383d17ba96058b39d36718c
Naming of SoftInputShowHideReason#{SHOW,HIDE}_MY_SOFT_INPUT
constants may not clear enough to indicate its semantics.
Improve show/hide reasons of InputMethodService by:
-. Update constants naming to {SHOW,HIDE}_SOFT_INPUT_FROM_IME.
-. Introduce respective reasons to indicate different hide request
cases within IME process.
Bug: 224565148
Bug: 241890033
Test: presubmit
Test: atest CtsInputMethodTestCases and observe logs
Change-Id: I8b148e9b5ab05ff7b827c6b8fe23008ca30a8c4b
Merged-In: I8b148e9b5ab05ff7b827c6b8fe23008ca30a8c4b
When a Display has the flag VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, the
content on the display is expected to mirror another display. This was
previously done by setting the same layerStack. This change removes that
behavior and instead will create a mirror hierarchy of the other display
and place it at the root of the new Display. This is leveraging the work
done for ContentRecorder, but using it as default for all displays
instead of only for VD created by MediaProjection.
Test: Screen record via MediaProjection
Test: Screen record via DisplayManager
Test: ContentRecorderTests
Test: DisplayContentTests
Bug: 237664947
Change-Id: I18b36dadc43ba1c37f9516ff10d24bb8683c04ac
Add real_to_elapsed_time_offset_nanos field to protobuf traces:
- Accessibility
- IME
- WindowManager
Bug: 235196806
Change-Id: I922a85edb940719c27028623c26208ece016b9b2
Test: record and view accessibility + IME + WindowManager traces with winscope
This reverts commit ade911b9c7.
Reason for revert: The feature is planned to run a study in QPR1
with the aim of launching in QPR-2. The code will be removed from
build time before QPR1 finalized.
Change-Id: Ida04260a1196121bb4084b527216aae1e4e6ec54
android.os.Trace#beginSection limits the length of the section to 127,
otherwise, a IllegalArgumentException throws. We limit the length before
passing the argument to avoid this.
Bug: 239860117
Test: atest InteractionJankMonitorTest FrameTrackerTest
Change-Id: I3d9cbc65a8036c18680edf11aace0b324a1befb6
the Wifi process. The same collection is already active for
system_server, Bluetooth, and Telephony.
Test: Binder calls stats collection is unit tested
Bug: 218318948
Change-Id: I2cb0f7b69758f23f5f16f9beef96d721d88def7b