This attempts to find all framework only exceptions, and adds that to
our collection and emit system.
Bug: 271135048
Test: Build, Waiting for E2E (won't submit without E2E)
Change-Id: I72540ebc337d48e9a014c5bf4069d22d370dbc12
Also, designs setup for authentication entry collection, and creates a
new abstraction object for said collection. Given that authentication
entries can occur in loops, this starts to think about how we might
aggregate authentication entries.
On top of this, this re-designs the session id in the collection system
so that it is immutable once created.
Bug: 271135048
Test: Build + Won't submit w/o E2E test
Change-Id: Ib32036430f5cf0249a651a2867758de08f19e63b
This sets up the design for how candidate aggregate metrics will be
collected, and runs through the whole flow up to emits. Currently, many
values are default values, and will be filled in as the design is
extended out. It does handle the split session id logic, however,
between the two tracks. Also, after deliberation, we now use the
hashCode of a random UUID to get closer to ~ (1/2^(32))
collision rate - their hashcode is pretty random, utilizing an int
conversion from a bitwise xor operation of the most and least
significant bits from the already high entropy uuid. This will provide
more security than the binder implementation, especially under time and
device id buckets, against collisions.
Bug: 271135048
Test: Build and Won't Submit without E2E Test
Change-Id: I8e7455dd6eaf8adb15035f6a9262f34a0c20531f
It looks like this was added for provider model (b/175421071), and
provider model is no longer supported.
Fixes: 281070805
Test: compiles
Test: roaming indicator still appears
Change-Id: Ic8dc6d1755e1a77d912ba41060c0086b54242cd6
Set sourceRectHint in pictureInPictureParams to null
if it is smaller than the entry bounds in PipTransition.
This makes sure we use content overlay to enter PiP.
Bug: 280508242
Test: reproduce the steps in the bug
Change-Id: Id622756e6005ae6535373f4975638eb3971d917c
By "getDrawable & al", I mean all wallpaper read methods with a which flag
The exhaustive list (reviewers, please check that I did not miss one):
- getDrawable(which)
- peekDrawable(which)
- getFastDrawable(which)
- peekFastDrawable(which)
- peekWallpaperDimensions(which)
- getBitmap(hardware, which)
- getBitmapAsUser(userId, hardware, which)
This CL does a couple things:
- Clarify the javadoc of getDrawable & al public methods. In particular
clarify when the method will return null and when it will return the
default built-in wallpaper, and that getDrawable/getFastDrawable are
the same as peekDrawable/peekFastDrawable respectively. Also
deduplicate some copied/pasted javadoc, and mention all equivalences
between functions.
- Replace duplicated code in peekDrawable/peekFastDrawable
- Adapt the API of get|peek(Fast)Drawable|Bitmap to return null with FLAG_LOCK
when there is no static lock-only wallpaper.
- Add a hidden overload of getBitmap with a "boolean returnDefault" argument
(to always return the default wallpaper instead of null) and use it
in ImageWallpaper
- Small nit: use a try-with-resource and refactor getDefaultWallpaper
slightly (it is now used in two places after recent changes, but one
was not using the cached mDefaultWallpaper)
Bug: 253507223
Test: atest WallpaperManagerTest
Change-Id: I3acd46ec76df5035940f2af360dda145d98b5901
When manipulating a RecyclerView, the position of a visible child
view is used as a feedback signal for scroll tracking. If the view
remains detached after scrolling, view operations fail and crash
the application.
Detect this condition and return an empty result. If the RecyclerView
moved during this request, the remaining tiles will be offset by the
same amount. This will manifest as a missing section of content.
Logging has been added to identify and track this bug.
Test: manual repro w/test app; see bug
Bug: 239050369
Change-Id: I5a0a62aaad10ffa7838d7902fd9c5f4f84b52ce6
The cause is that layer will be clipped to the bound when alpha < 1.0
Previously reverted due to b/280863001, b/280873846
Test: atest KeyguardClockSwitchControllerTest, KeyguardStatusViewTest
TurnOffUnlockScreenToAoD, LockscreenWithNone
Bug: 279487893
Change-Id: Ia73ea00920ca0147e0acc5d2919b457203b7575e
Add and update log statements in DesktopTasksController to include the
controller name in log string. Simplifies tracking down the messages.
Add log statements to DesktopModeTaskRepository to ease debugging.
Bug: 280657549
Test: build wmshell
Change-Id: I37579eba3b0a8b6883f2f2b745061028b42db369
Protolog is currently not supported in Kotlin files. The tool can only
process java files.
Creating a Kotlin based class that has a similar API and should be a
drop-replacement.
Bug: 280657549
Test: build wmshell
Change-Id: Ie27b2980930a7c26408773d05bb47f9802398d1b
Previously it only checks the transition type. It will incorrectly
add the background color for a CHANGE mode window.
An example:
CLOSE type {
CLOSE mode: translucent
CHANGE mode: opaque
}
Bug: 281010752
Test: Launch a translucent activity and it calls
Activity#finishAndRemoveTask(). A fullscreen background
color should not show.
Change-Id: Iff51289467c448b422f4011e14b9fd61de881b45
The old roaming drawable took up the full space of the signal icon, so
it couldn't be moved around using gravities alone. Reducing its size
to be just the size of the R lets us move it around correctly in RTL.
Fixes: 230795372
Test: `adb shell am broadcast -a com.android.systemui.demo -e command
network -e mobile show -e level 2 -e datatype roam -e slot 4 -e roam
show` -> see roaming icon in top-left of signal icon.
Test: above command in RTL -> see roaming icon in top-right of signal
icon.
Change-Id: Ie8be70a3c92e88bcfe0a9bdd9610995ccbfd9529
Some targets don't have a WallpaperManager, thus this null check is
necessary to avoid crashes. A crash was detected in Android auto
emulator.
Fixes: 280883891
Test: build completed successfully
Change-Id: Ie475e9ba1999f109572252303e4103e5f977b4bd
Calling AudioManager.removeDeviceAsNonDefaultForStrategy with
an invalid strategy is expected to fail (as documented).
Fix by returning a failure when the useCase (aka strategy) and
role is not found in the map of roles for the audio devices.
Bug: 280554476
Test: atest android.media.audio.cts.NonDefaultDeviceForStrategyTest#testInvalidStrategy
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8777944d3010a3be3d69405300b4a4e0b9f961a5)
Merged-In: I29f9d9a5d9e7fb2c0865dfa0c86e7531bb148b41
Change-Id: I29f9d9a5d9e7fb2c0865dfa0c86e7531bb148b41
The NotificationAreaController is responsible for adding the
StatusBarIconViews to their appropriate container and update their
looks. An icon is usually added through updateNotificationIcons(List<ListEntry> entries),
which adds the icons and updates their colors. It works well if AOD icons are added through this path.
However there is another path through onFullyHiddenChanged(boolean
fullyHidden) and if an AOD icon becomes visible during this update, we
miss to update its color. In case of black PNG icons it resulted in an
_invisible_ notification on the AOD.
To trigger this path:
- show aod
- turn off faceauth bypass
- post a Pulsing notif with a black PNG icon
Fixes: 276353191
Test: post notifs on AOD and observe their color
Change-Id: I0c1e97e9862d8d100e8710f6d825200603f0b2a4