Skip to content

SystemUI: Extend screen recorder options#1324

Open
zerotwo-alt wants to merge 969 commits into
crdroidandroid:16.0from
zerotwo-alt:16.0
Open

SystemUI: Extend screen recorder options#1324
zerotwo-alt wants to merge 969 commits into
crdroidandroid:16.0from
zerotwo-alt:16.0

Conversation

@zerotwo-alt

Copy link
Copy Markdown
IMG_20260620_154520_381

talle112 and others added 30 commits June 5, 2026 21:48
Address a bug where complex resources (Styles, arrays, etc) can use
resource references (<item type=...) but at runtime they would not be
found.

When getting a Bag check for the resource being a reference and
recursively resolve the reference.

Added tests to AssetManager2_test which verify the functionality. The 2
alias tests failed prior to the change but pass now.

Bug: 480904335
Test: AssetManager2_test
Change-Id: Ie6b8740558e566056c3a4acbfe9201b3f43bdac8
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Ib9f9cd63713946004fb0f0e7622de572f1b2431c
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
A malformed event can cause an NPE in
CriticalEventLog.saveLogToFileNow() when
CriticalEventLogStorageProto.toByteArray() calls
computeSerializedSize() on an event with null fields. This leads to a crash system_server and will force a device reboot.

Move the toByteArray() call into the try-with-resources block
and broaden the catch from IOException to Exception so that
any exception during serialization or writing is caught and
logged rather than crashing the system_server.

Bug: None
Test: atest CriticalEventLogTest
Change-Id: I57190fc3245f9f03950f0cf7597fa3d4d2a5b550
Change-Id: I25755bded0e38fb5f43f49e70126ee5d73a2856d
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Test: Screen record notification will flicker on expansion.

Reason: Override tint color was reset on expansion.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I7a4c3b55b073b82beb24d079681b585f93c64f70
Signed-off-by: SuperDroidBond <superdroidbond@yahoo.com>
 It is not necessary to use this for all devices, but only for those
 that have a problem with charging display (for example OnePlus 7 series)

Change-Id: I98441087ec450ec3a2699a1a79b84bc32a1fe340
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
During the use of makeSceneTransitionAnimation(), two
ExitTransitionCoordinator instances are generated, corresponding to the
activity before the transition and the activity after the transition,
respectively. The activity after the transition is released after
finishing() when finishAfterTransition() is called. However, the
activity before the transition is leaked in ExitTransitionCoordinator
because mExitCallbacks holds it and cannot be released.. We found that
the reason why the activity before the transition cannot reach finish()
is that mIsReturning is always false.Therefore, we modified
finishIfNecessary() to release the activity to avoid the leak.

Change-Id: I795f4c85ebb85a5fb8448738e127f7b07cf8ef35
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
[neobuddy89: Completely remove doze dependencies.]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Polling every 5 seconds is wasteful. Use MutableStateFlow instead.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
The variable mEglContext was incorrectly declared as EGLDisplay, which is a type mismatch. This commit corrects the type to EGLContext to accurately represent the EGL rendering context.

Bug:493359405

Change-Id: I2488ac4de10e0498328c4f67fccd9bbb2af150ac
Signed-off-by: zhangzhihao6@xiaomi.com <zhangzhihao6@xiaomi.corp-partner.google.com>
The Wi-Fi QS tile currently shows the mobile network description when
Wi-Fi is inactive and mobile data is the default connection. This makes
the tile subtitle describe mobile data state instead of Wi-Fi state.

Use the existing Wi-Fi fallback subtitle for inactive Wi-Fi states so
the tile remains Wi-Fi-specific.

Change-Id: Iaed44551664723975a399e829245a4524e51a80c
Signed-off-by: Ashwin Devi Srinivasan <astroashwin@outlook.com>
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Ghosuto: Adapt weather view to updated omnijaw controller
neobuddy89: Clean up unnecessary changes

Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
@neobuddy89: Various clean ups and adapt for our weather impl.

Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: Lixkote <95425619+Lixkote@users.noreply.github.com>
Co-authored-by: kshitij-bhale <156404280+kshitij-bhale@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
makinbacon21 and others added 29 commits June 11, 2026 22:18
If people want to disable this by default you can set the pref.

Change-Id: Iec09847958a23a43ff57374c14d4dcde32364284
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Fix Gmail soft reboot

05-24 23:03:49.023 15207 15362 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: PackageManager
05-24 23:03:49.023 15207 15362 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.android.server.wm.Transition.collectExistenceChange(com.android.server.wm.WindowContainer)' on a null object reference
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.wm.ActionChain.collectClose(ActionChain.java:214)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.wm.ActivityRecord.handleAppDied(ActivityRecord.java:4357)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.wm.WindowProcessController.handleAppDied(WindowProcessController.java:1633)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.wm.ActivityTaskManagerService.handleAppDied(ActivityTaskManagerService.java:7265)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:3446)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.ProcessList.removeProcessLocked(ProcessList.java:3309)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.ProcessList.killPackageProcessesLSP(ProcessList.java:3237)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.ProcessList.killPackageProcessesLSP(ProcessList.java:3037)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.BroadcastController.broadcastIntentLockedTraced(BroadcastController.java:1260)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.BroadcastController.broadcastIntentLocked(BroadcastController.java:811)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:17521)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.am.ActivityManagerService.broadcastIntentWithCallback(ActivityManagerService.java:17544)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.broadcastIntent(BroadcastHelper.java:212)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.doSendBroadcast(BroadcastHelper.java:193)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.sendPackageBroadcast(BroadcastHelper.java:139)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.sendPackageChangedBroadcastWithPermissions(BroadcastHelper.java:488)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.sendPackageChangedBroadcastInternal(BroadcastHelper.java:446)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.lambda(BroadcastHelper.java:1003)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.(BroadcastHelper.java:0)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.pm.BroadcastHelper.run(R8:0)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:1070)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:125)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at android.os.Looper.dispatchMessage(Looper.java:333)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:263)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:367)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at android.os.HandlerThread.run(HandlerThread.java:139)
05-24 23:03:49.023 15207 15362 E AndroidRuntime:        at com.android.server.ServiceThread.run(ServiceThread.java:46)

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I8a5b5c27654690b8b14c1023126d273544ada872
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
it's not fair to display NR_NSA same as we display NR_SA

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I38c307a292e4ce84436bbe670c363d8cd5581283
Signed-off-by: kleidione <kleidione@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
The clock only animated its doze amount for AOD <-> LOCKSCREEN, so any
transition through DOZING (e.g. pulsing notifications with AOD off) snapped
the clock between dozed and lockscreen states instead of interpolating.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Also fix an AudioPlaybackCallback leak when attach fails.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Ife1978da30fa167bcbec1fc66f138802cf1aef6f
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* get badged icon for managed user

Change-Id: I52274ff52132e6b0b8a430a2f9ca8ef070458efb
Signed-off-by: someone5678 <59456192+someone5678@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I13850be2303d8a6f6aac28e121bc311057a64b98
Co-authored-by: DP <dprietob@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sasha Glazko <lenify@tutanota.com>
Co-authored-by: vdsvtsl <vdsvtsl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/platform_frameworks_base/be/
Translate-URL: https://hosted.weblate.org/projects/calyxos/platform_frameworks_base/es/
Translate-URL: https://hosted.weblate.org/projects/calyxos/platform_frameworks_base/uk/
Translate-URL: https://hosted.weblate.org/projects/calyxos/platform_frameworks_base_systemui/be/
Translate-URL: https://hosted.weblate.org/projects/calyxos/platform_frameworks_base_systemui/uk/
Translation: CalyxOS/Battery stats
Translation: CalyxOS/SystemUI
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
…e same task

LOCK_BEHAVIOR_ON_LEAVE re-locked an unlocked app whenever focus moved to a
different package. But activities started for a result (e.g. the MediaStore
delete/trash confirmation that Google Photos launches) live in the caller's
own task, so this fired even though the user never left the app, forcing a
second auth prompt on return.

Track the unlocked app's task id and, in onAppFocusChanged, skip the ON_LEAVE
re-lock when focus stays within that same task. The app's tracking is kept
pointing at the real package (not the transient sub-activity) so a genuine
task switch still re-locks correctly.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Ia3ba842e124e1aacf083ea461b6d3c45a9a3bc65
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
… old FlashlightController implementation

Signed-off-by: NurKeinNeid <nurkeinneid@derpfest.org>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Direct secondary-click expansion could choose the wrong slider backend due to controller-state timing, which caused the slider to show 0% while torch was being enabled.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
When legacy flashlight slider moves from 0 to a positive level, enable flashlight before applying strength level.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Allow the dynamic bar flashlight slider to include 0 so users can turn the torch off
without dismissing the controls. While the torch is off from the slider, keep the torch
event visible at 0% so sliding upward can re-enable the light.

Dismiss and stop actions now clear the retained event and only toggle the torch when it
is actually on, so pressing stop at 0% does not turn it back on.

When re-enabling from 0%, only call setEnabled(true) for the remembered-level no-op case;
otherwise let setLevel() or setTemporaryLevel() turn the torch on at the requested strength
to avoid racing back to the default level.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Ia3ab65e8d89d3fd6dc1933da22feb3a83179635c
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Ib7789db0bd64a2bbefc7cb3fc8fbc6f861008852
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
feature specs taken from motorola

Change-Id: I04b794f1114cab0b50e49708827e91fd56de773e
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: zerotwo-alt <amruthv780@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.