(cherry picked from commit 9e64d0934a)
Bug: 182169548
Test: tried various flag values locally on a Pixel 3 + atest SystemUITests
Merged-In: I738d86e5ef3069a03de41fa6a5bc7cdd58e3bc88
Change-Id: I738d86e5ef3069a03de41fa6a5bc7cdd58e3bc88
* changes:
Hide app name from collapsed CallStyle.
CallStyle now supports contextual actions (e.g. smart replies)
Fix the layout issue with the expand button of the CallStyle
If InputMethodService declares suppressesSpellChecker="true", the system
SpellCheckerService will be disabled.
With TextView, when IMSs are switched while the user is editing,
SuggestionSpans that were previously added will not be removed even if
the next IMS declares suppressesSpellChecker="true".
This is because we don't know if the SuggestionSpans were from Spell
Checker, App, or IMS.
Bug: 153473490
Test: atest CtsInputMethodTestCases:SpellCheckerTest
Change-Id: Ia22b8758111087818beea8c07b1c173f1a94b8e4
Revert "Add cts for InputMethodService configChanges"
Revert submission 13727407-167948419
Reason for revert:
Possible root cause of Bug 182604598.
Reverted Changes:
Ib94fddadb:Avoid IME restart for configChanges
Ieca327b2e:Add cts for InputMethodService configChanges
Bug: 167948419
Bug: 182604598
Test: presubmit
Change-Id: I3accc55ac65d0e2ec30c3f6023680fda27ad3e97
Incoming pixels are negative numbers. Performing this operation
ensures we receive an accurate alpha value, without it, all pixels have negative alphas.
Fixes: 182523380
Test: Add logs, see that alphas _before_ this patch are logged
as negative numbers, causing all pixels to be marked as transparent and ignored in quantization. Add patch, see logs
indicate valid alphas.
Change-Id: Ice7b7db245de9dd089cffc490b2e24780f9c025b
Since ControlledInputConnectionWrapper is the only derived class
of IInputConnectionWrapper hence it doesn't have a reason keep them
separate.
Bug: 167948374
Bug: 163450598
Test: atest CtsInputMethodTestCases
Change-Id: Ice1ea23dcb2351b56ef03b507d8aec8f8fb7b30a
Added the following testsAPIs to replace the usage
of adb shell commands in tests:
* setChargerAcOnline
* setBatteryLevel
* unplugBattery
* resetBattery
* suspendBatteryInput
Test: atest MixedDeviceOwnerTest#testInstallUpdate using the adb
commands and the new testAPIs
Bug: 182260585
Change-Id: I48c2ad37f6240f4d7a3c437416fdcc0beeed6bd1
- Create a new method in StatusBar to enable/disable nav bar luma
sampling.
- Modify the IRcentsAnimationController.detachNavigationBarFromApp() API
to notify the server side whether we should run the fade-in animation
or not.
- Don't let fixed rotation animation control the navigation when it's
controlled by recents animation and vice versa.
- Don't attach nav bar when it's in split screen mode and in landscape.
- Translate the nav bar surface to match the secondary app's bounds in
split screen mode in portrait.
Bug: 139273001
Test: atest RecentsAnimationControllerTest CommandQueueTest
Change-Id: I06dc2dd0655bc8a2e6ad03808576e55294a322e8
* changes:
Move Wu check for max colors earlier.
Ignore transparent pixels during WSMeans
Fix create colors in Wu quantizer
Fix initializing clusters with random randoms
As requested, mount was added to OWNERS for RecyclerView
and ViewPager as changes are occasionally needed by UI
toolkit team.
Test: None
Change-Id: Ie3d49d0d5ddf092d2dd0680c6a067b2fe6b81f94
Also some small fixes:
* Bind the title in the CallStyle builder.
* Remove an unnecessary findViewById.
* Rename a method overload for clarity.
Bug: 179178086
Test: manual inspection
Change-Id: I6e96864c17718b9729b108e4db82534aad33675f
This has no impact. However, after going through the quantizers line by
line for other bug fixes, after getting a break from looking at them
in-depth for a couple weeks, it was much more readable/felt safer to
adjust mMaxColors at the top.
Bug: 182333325
Test: Verify output remains constant,
atest CtsAppTestCases:android.app.cts.WallpaperColorsTest#fromDrawableTest
passes.
Change-Id: I561ba44bca392634a956992fd946f3310aa1c8ee
The WSMeans quantizer uses starting clusters from a Wu quantizer as
starting points for an optimized Kmeans algorithm.
The first thing the quantizer does is assign pixels from the image being
quantized to those starting clusters. Either due to the image source or
downscaling, transparent pixels may be in the pixels. Filter those out:
they create misleading results, such as there being two colors in the
image, semi-transparent black and green, in a wallpaper that is solid
green by all accounts.
Fixes: 182333325
Test: atest CtsAppTestCases:android.app.cts.WallpaperColorsTest#fromDrawableTest
passes locally on sunfish. link: http://ab/I26300007868608112
Change-Id: Icaebd98eeba27d3dc59a698282dd3be03fce1bf9
This line is suspiciously complicated compared to other 3 ints -> int
representing color functions. This patch ensures the colors produced
have an explicitly opaque alpha channel (transparent pixels are filtered
out earlier in the quantization process), and ensures we're not
unnecessarily masking the red/green/blue channels.
Test: Add log dump to output hex for all colors created, immediately
after the Wu quantization finishes, thus isolating it from the larger
quantization process. Test a variety of wallpapers, make sure hex codes
make sense, verify that the fix holds by converting
Bug: 182333325
Change-Id: Ic0bd4afcd095845e00eb6d10d05aab336266d6c3
During the quantization process, an instance of a Quantizer is created.
When quantization is run, the Quantizer may need to create starting
points that are random. To keep results stable, meaning multiple runs of
a quantizer output the same results, those starting points must
be created using a Random with the same starting seed. Without
specifying a starting seed, or if an instance of Random is reused across
runs, the random starting points will vary across quantizer runs.
With this patch, the Random used to create starting points is no longer
used across multiple runs (i.e. it isn't a static variable anymore).
Additionally, a starting seed is specified.
Test: Add log dumps after the quantization process. Verify that results
from Kmeans remain consistent as long as the input is consistent.
Bug: 182333325
Change-Id: Ia0f984349b7885ae1b44536aaa1b286a28e50587
We didn't end the trace section in FrameTracker#cancel if the end
vsync id equals to the begin vsync id which is not an invalid value.
This cl fixes above problem.
Bug: 181683700
Test: atest FrameworksCoreTests:InteractionJankMonitorTest
FrameworksCoreTests: FrameTrackerTest --iteration 10
Change-Id: I6280e9b1e9b949cb6f144217ed78d21ec46eafd5
This CL reworks our previous CL [1], which enabled "adb bugreport" to
include wintrace tracing files into bugreport.
In the previous CL there was a side-effect that wintrace tracing files
are saved not only when "adb bugreport" is executed but also when the
following command is manually executed.
adb shell dumpsys window --dump-priority CRITICAL --proto
This is because we used the combination of
--dump-priority CRITICAL
and
--proto
as a signal that it's coming from "adb bugreport", but strictly
speaking it's not necessarily true.
Instead of relying on such a heuristic, this CL introduces a claer and
dedicated command as follows.
adb shell cmd window tracing save-for-bugreport
With this, we can let "adb bugreport" trigger the above command to
make the behavior more understandable and maintainable. Note that
this command is no-op when winscope is not running.
See the corresponding CL for frameworks/native [2] about how it's
triggered from "adb bugreport".
Our main motivation of this consolidation is to use the same pattern
for IME tracing, where we accidentally introduced Bug 177462676 while
attempting to save IME tracing data while running "adb bugreport" [3].
[1]: I102bc4afab5efff361633d75c09af1df4a11812e
9e2604688d
[2]: I8be9dee9aa36c2b085596d58e418f8613d874500
95305b3ba7bf18bc7ed3a07c67f84b1c2f4586f4
[3]: Ie87eb8423e2bb70f28c330983d45b95e2e07062d
ac24994aaa
Bug: 177462676
Test: Manually done as follows.
1. adb shell cmd window tracing start
2. adb logcat -d -s WindowTracing:*
Make sure wintrace is not yet running
3. adb shell dumpsys window \
--dump-priority CRITICAL --proto > /dev/null
4. adb logcat -d -s WindowTracing:*
Make sure wintrace has not been stopped.
5. adb shell cmd window tracing save-for-bugreport
6. adb logcat -d -s WindowTracing:*
Make sure wintrace was stopped then restarted.
7. adb root && adb shell ls /data/misc/wmtrace/ -al
Make sure wintrace files are saved.
Test: Manually done as follows.
1. adb logcat -d -s WindowTracing:*
Make sure wintrace is not yet running
2. adb logcat -d -s WindowTracing:*
Make sure there is no additional message
3. adb shell cmd window tracing start
4. adb logcat -d -s WindowTracing:*
Make sure wintrace is running
5. adb bugreport bugreport.zip
6. adb logcat -d -s WindowTracing:*
Make sure wintrace stopped then restarted.
7. unzip -v bugreport.zip | grep wm_trace.pb
Make sure "wm_trace.pb" is included.
8. unzip -v bugreport.zip | grep wm_log.pb
Make sure "wm_log.pb" is included.
Change-Id: I887ae6941b4844a606675b447f67ecee88d7f192
Bug: 171228096
The internal RecyclerView now supports stretch overscroll.
Implementation taken from androidx-platform-dev RecyclerView.
Test: manual testing with share sheet
Change-Id: I2b68530baf5d85438ec4483ab940f47d2fc8f11c
This is only necessary when a notification is posted without a title.
Fixes: 177976174
Test: Manual inspection of various staes.
Change-Id: I15fdc31e1557b7e5d6fb99e410f4bf37d6734ac4
Do not allow enabling compat changes in APEX gated on an sdk version
greater than the current one.
Test: atest OverrideValidatorImplTest
Test: atest PlatformCompatTest
Bug: 175790344
Bug: 179149558
Change-Id: Idd7d86f96a380bfe01940f356d38ad49d3f27678
Use the same approach that is used to track system server thread group
CPU usage: KernelSingleProcessCpuThreadReader which uses the eBPF
time_in_state program to record CPU usage for selected pids and tids.
Test: cmd stats pull-source 10098
Test: atest CpuStatsTests
Bug: 181232205
Change-Id: I84d46409547f92e410fd3b4f8b8ccb823bcee98b
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
[1] Iff88b768c6b06cf5cf1fe9e97ee97f8f78e6f0bd
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
Change-Id: Ib94fddadb0dae648cf73a4c1642e51edebd19f50