SystemUI: DynamicBar: Charging bolt improvements on lock screen#1310
Closed
iusmac wants to merge 860 commits intocrdroidandroid:16.0from
Closed
SystemUI: DynamicBar: Charging bolt improvements on lock screen#1310iusmac wants to merge 860 commits intocrdroidandroid:16.0from
iusmac wants to merge 860 commits intocrdroidandroid:16.0from
Conversation
Persistent app compaction broken, fix by only do oom adj throttle check for APP compact type CRs-Fixed: 3453069 Change-Id: I2dc0ea5aca0b36fd09e71942fdd0f3eafdac2eec Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
CRs-Fixed: 3858822 Change-Id: I6f06176d8e5e40a5fd2afb53b9417005f2e26b2a Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
During system compaction, mark File pages as MADVISE_PAGEOUT instead of MADVISE_COLD. This will drop clean pages and swap-out file pages mapped as private. This improves the bootup free memory. CRs-Fixed: 3365547 Change-Id: I1311126d8fd551c48599e160360122c05cc8ea02 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
[neobuddy89: Drop experimental stuff.] Change-Id: I67d917630fbbba8c72bb94d0cd96ee2de1d71165 Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I27277ae924f3563ee56a323804ba41e64e317731 Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: If1ed8a9a02c190ba9fb056c093c21b8b91c85161 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Make it safer with proc lock block. * Exclude important foreground states. * Compact all non-zygote processes while at it. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Reduced from 10 min to 5 min. This functionality provides better UX. * Add log. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Reduced from 10 minutes to 2 minutes. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I4f77325c14d1bc78ed12c965537b8a1e1c9aae6d Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Do not run this on screen-on path - as it is bit CPU intensive. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
The default behaviour is toggling the flashlight since we use secondaryClick as default onClick behaviour on small tiles.
Squashed:
From: NurKeinNeid <nurkeinneid@derpfest.org>
Date: Fri, 19 Sep 2025 01:42:17 +0200
Subject: SystemUI: Fix flashlight strength control detection
Change detection logic from 'mMaxLevel > mDefaultLevel' to 'mMaxLevel > 1'
to properly detect devices where max and default levels are equal.
Fixes flashlight strength control not working on some devices.
Signed-off-by: NurKeinNeid <nurkeinneid@derpfest.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Abhay Singh Gill <abhaygill017@gmail.com>
Date: Fri, 19 Sep 2025 18:26:10 +0530
Subject: SystemUI: Extend flashlight strength logic to flashlight controller
Previously the flashlight strength was only applied when toggling it from the QS tile, now it works from other SystemUI components as well.
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: Abhay Singh Gill <abhaygill017@gmail.com>
Date: Fri, 19 Sep 2025 22:22:13 +0530
Subject: SystemUI: Allow long click on flashlight tile
Would be useful for adjusting flashlight strength when the tile is small/ icon only.
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: ShevT <evgeny.shishkov@gmail.com>
Date: Tue, 23 Sep 2025 14:10:54 +0300
Subject: SystemUI: Changing the logic of the flashlight tile
Single tap - on/off
Long tap - flashlight strength dialog
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: John Galt <johngaltfirstrun@gmail.com>
Date: Mon, 29 Dec 2025 14:02:57 -0500
Subject: SystemUI: make flashlight tile use real levels
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
From: John Galt <johngaltfirstrun@gmail.com>
Date: Tue, 30 Dec 2025 09:51:15 -0500
Subject: SystemUI: make flashlight slider use primitive haptics if supported
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I8da1d9c80cd2209a60cde524aa58bd251610244b
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I9227b6b5512d813eb7b2ceab5dee7e54e6b95f92 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>
after google changes in QPR2 Signed-off-by: Dmitrii <bankersenator@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
System icon pack changes were previously managed by reconstructing some components which used them, such as KeyguardStatusBarView. This introduced a memory leak where KeyguardStatusBarViewController never unregistered a callback, thus it was not being garbage collected. Furthermore, some usages of the system icons were not updated on a pack change. Change that by recreating the icons on theme changes. Change-Id: Ic2b774d243546a88ac2e17f8441e073629caa1c8
Allows using the VPN's DNS instead of the set private DNS Automatically restores the previous set mode Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* Settings->System->Gestures->Prevent ringing core: Remove `@SystemApi` annotation for VOLUME_HUSH_CYCLE. This addition should not be annotated with `@SystemApi` because it creates an addition that fails the API test in user builds Signed-off-by: rituj <ritujbeniwal@gmail.com> Co-authored-by: Evan Anderson <evananderson@aospa.co> Change-Id: I334bd165e970665ac5300d387a0ea6745748d3ad Signed-off-by: aswin7469 <aswinas@pixysos.com>
Can be useful in some cases. Change-Id: I999337cc55e9675cedde35191a6438d90744e5aa Signed-off-by: LibXZR <i@xzr.moe> Adapt to Android 13 Signed-off-by: someone5678 <nemui3353@gmail.com>
Change-Id: Iac9f0958676c02c49252e5a0e1a88383a7294d00 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
…t call and reset only in unregisterDefaultQRCodeScannerObserver so it is in sync with isActivityCallable Change-Id: If4fc2c541d0cee90b49b5769d34adc9d7bffbb02 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
If the cellular network is in service, and the data network name is not available for some reason, rather than falling back to the default network name of "No service", use the carrier name. Issue: calyxos#2256 Change-Id: Ibf02f67b70cfc5d4804e9d6a3f53a9d112811d1d Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
…ith lower version sdks The applications compiled with lower version sdks can not request audio focus properly in some scenes, which will cause many anomalies. Change-Id: I8875922efdfbcd08a7872e090c3c4b51446b2637 Signed-off-by: wumin3 <wumin3@xiaomi.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
When the user cycles fast between modes the last toast will show so late it'll be irrelevant Change-Id: I0f8f442ea10d670663fdd298f2198f6e8baa7a36 Signed-off-by: Dmitrii <bankersenator@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Avoid it getting cut off at bottom on devices with low udfps, where the bottom margin is lesser. Change-Id: I2ce00abeba353fff4cb4aa8a58257ef54bf4cca9 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Saw some users complaining about that and I personally don't see much point of it. Change-Id: I5b9fe7e4a4f14b231533cd9e295a03bfb852a9b3 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
onUserStopped() method name was misleading, it's called from onUserStopping(), while the user is still running. Initial research was done by maade93791 <70593890+maade69@users.noreply.github.com> Co-authored-by: maade93791 <70593890+maade69@users.noreply.github.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
summary:(Animator$AnimatorCaller$$ExternalSyntheticLambda1.call)java.lang.NullPointerException--Attempt to invoke interface method 'void android.animation.Animator$AnimatorListener.onAnimationEnd(android.animation.Animator, boolean)' on a null object reference det:versionName:20240724.0, versionCode:202407240 java.lang.NullPointerException: Attempt to invoke interface method 'void android.animation.Animator$AnimatorListener.onAnimationEnd(android.animation.Animator, boolean)' on a null object reference at android.animation.Animator$AnimatorCaller$$ExternalSyntheticLambda1.call(D8$$SyntheticClass:0) at android.animation.Animator.callOnList(Animator.java:666) at android.animation.Animator.notifyListeners(Animator.java:609) at android.animation.Animator.notifyEndListeners(Animator.java:634) at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1306) at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1566) at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:344) at android.animation.AnimationHandler.-$$Nest$mdoAnimationFrame(Unknown Source:0) at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:87) at android.view.Choreographer$CallbackRecord.ru Test:UAT Change-Id: I135eac97787a6d3b820a2336908bf1412d2ed218 Signed-off-by: xiangshuangxi <xiangshuangxi@xiaomi.com>
Change-Id: Ie2732937474a9daceddea6d6365ea67c7bab9e41 Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
A function meant for logging purposes throwing an uncaught exception seems wrong, and Google seems to agree. This fix was present in SystemUIGoogle in CP1A April. Doesn't appear to be any other changes in CP1A related to how the receiver BubbleViewProvider was handled at getBubblePackageForLogging call sites. Test: manual, with bubbles in Signal as reported in original issue. Note that I was never able to reproduce the crash myself. Test: atest WMShellMultivalentTestsOnDevice:com.android.wm.shell.bubbles.logging.BubbleSessionTrackerImplTest \ WMShellMultivalentTestsOnDevice:com.android.wm.shell.bubbles.BubbleStackViewTest \ WMShellMultivalentTestsOnDevice:com.android.wm.shell.bubbles.BubbleControllerTest \ WMShellMultivalentTestsOnDevice:com.android.wm.shell.bubbles.BubbleControllerBubbleBarTest Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
On devices with optical UDFPS, starting fingerprint authentication while the screen is entering sleep can briefly trigger HBM/illumination and flash the panel. Gate UDFPS listening as soon as the sleep transition is dispatched, keep it blocked until the screen is fully off, and clear the gate on wakeup so fingerprint remains responsive. Change-Id: I9242668e2bfadf0e4bd7f2bc1ee68b749237293e Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
simpleperf on userdebug shows RenderThread at 47.9% CPU during scroll, with 2.77% in __vfprintf and 1.05% in __strlen from 11 ATRACE points firing every frame in the render hot path (DrawFrameTask, CanvasContext, RenderNode, SkiaPipeline). on userdebug these are always active. add debug.hwui.trace_each_frame property (default false) with HWUI_FRAME_ATRACE_* conditional macros that short-circuit to a branch-not-taken when disabled Change-Id: Ia0e81e1f39a6b7b84fd44c588681d9fc5a653996 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I84842e8e67ab3736108fb77ddc6e875011d4f7e5 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
…lex" This reverts commit fea2222.
…n and weight variants When notifications_redesign_fonts is enabled, SystemUI styles use variable-* font families with optical sizing and ROND axis values. Disabling the flag was previously used as a workaround to make custom font overrides work, but this broke Google Sans Flex styling. Changes: - Add DEFAULT_FONT_ROOT and pass-through guard so variable-* families are untouched when Google Sans Flex is the active font, preserving ROND axis and optical sizing from fonts_customization.xml - Move "variable" into OVERRIDE_FONTS so variable-* requests are eligible for remapping in all packages when a custom font is active - Add DEFAULT_FONT_FALLBACKS and resolveDefaultTypeface() which first tries the currently active font, then walks known GSF aliases, with Typeface.DEFAULT as final fallback - Fix resolveDefaultTypeface() to resolve the current custom font as the base typeface for TypefaceFactory, so custom fonts apply in variable-* UI slots system wide instead of falling back to GSF - Update TypefaceFactory.create() to accept a pre-resolved Typeface base instead of a String - Update Typeface.changeFont() to use FontController.resolveBaseTypeface() for consistent resolution including the current font priority - Add resolveNamedVariant() which maps requested weight to named suffix candidates (-medium, -semi-bold, -bold etc.) and looks them up in sSystemFontMap before falling back to dynamic Typeface.create(), correctly resolving aliased weight variants for fonts like Aclonica that define weights as aliases rather than separate font files Result: GSF retains full variable-* optical styling on default; custom fonts apply system wide through all variable-* and google-sans-* slots with correct weight resolution via named aliases where available, and dynamic weight building as fallback. Flag can remain enabled.
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* New translations cr_strings.xml (Romanian) [ci skip] * New translations cr_strings.xml (French) [ci skip] * New translations cr_strings.xml (Spanish) [ci skip] * New translations cr_strings.xml (Arabic) [ci skip] * New translations cr_strings.xml (Belarusian) [ci skip] * New translations cr_strings.xml (Bulgarian) [ci skip] * New translations cr_strings.xml (Catalan) [ci skip] * New translations cr_strings.xml (Czech) [ci skip] * New translations cr_strings.xml (German) [ci skip] * New translations cr_strings.xml (Greek) [ci skip] * New translations cr_strings.xml (Finnish) [ci skip] * New translations cr_strings.xml (Hebrew) [ci skip] * New translations cr_strings.xml (Hungarian) [ci skip] * New translations cr_strings.xml (Italian) [ci skip] * New translations cr_strings.xml (Japanese) [ci skip] * New translations cr_strings.xml (Korean) [ci skip] * New translations cr_strings.xml (Kurdish) [ci skip] * New translations cr_strings.xml (Dutch) [ci skip] * New translations cr_strings.xml (Polish) [ci skip] * New translations cr_strings.xml (Portuguese) [ci skip] * New translations cr_strings.xml (Russian) [ci skip] * New translations cr_strings.xml (Slovak) [ci skip] * New translations cr_strings.xml (Turkish) [ci skip] * New translations cr_strings.xml (Ukrainian) [ci skip] * New translations cr_strings.xml (Chinese Simplified) [ci skip] * New translations cr_strings.xml (Chinese Traditional) [ci skip] * New translations cr_strings.xml (Vietnamese) [ci skip] * New translations cr_strings.xml (Indonesian) [ci skip] * New translations cr_strings.xml (Persian) [ci skip] * New translations cr_strings.xml (Estonian) [ci skip] * New translations cr_strings.xml (Azerbaijani) [ci skip] * New translations cr_strings.xml (Santali) [ci skip] * New translations cr_strings.xml (Romanian) [ci skip] * New translations cr_strings.xml (French) [ci skip] * New translations cr_strings.xml (Spanish) [ci skip] * New translations cr_strings.xml (Arabic) [ci skip] * New translations cr_strings.xml (Belarusian) [ci skip] * New translations cr_strings.xml (Bulgarian) [ci skip] * New translations cr_strings.xml (Catalan) [ci skip] * New translations cr_strings.xml (Czech) [ci skip] * New translations cr_strings.xml (German) [ci skip] * New translations cr_strings.xml (Greek) [ci skip] * New translations cr_strings.xml (Finnish) [ci skip] * New translations cr_strings.xml (Hebrew) [ci skip] * New translations cr_strings.xml (Hungarian) [ci skip] * New translations cr_strings.xml (Italian) [ci skip] * New translations cr_strings.xml (Japanese) [ci skip] * New translations cr_strings.xml (Korean) [ci skip] * New translations cr_strings.xml (Kurdish) [ci skip] * New translations cr_strings.xml (Dutch) [ci skip] * New translations cr_strings.xml (Polish) [ci skip] * New translations cr_strings.xml (Portuguese) [ci skip] * New translations cr_strings.xml (Russian) [ci skip] * New translations cr_strings.xml (Slovak) [ci skip] * New translations cr_strings.xml (Turkish) [ci skip] * New translations cr_strings.xml (Ukrainian) [ci skip] * New translations cr_strings.xml (Chinese Simplified) [ci skip] * New translations cr_strings.xml (Chinese Traditional) [ci skip] * New translations cr_strings.xml (Vietnamese) [ci skip] * New translations cr_strings.xml (Portuguese, Brazilian) [ci skip] * New translations cr_strings.xml (Indonesian) [ci skip] * New translations cr_strings.xml (Persian) [ci skip] * New translations cr_strings.xml (Estonian) [ci skip] * New translations cr_strings.xml (Azerbaijani) [ci skip] * New translations cr_strings.xml (Santali) [ci skip] * New translations cr_strings.xml (Portuguese, Brazilian) [ci skip]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
During early boot, framework callers can ask for DropBoxManager before the `dropbox` binder has been published. Using getServiceOrThrow() sends that path through onServiceNotFound(), which emits another WTF from a core process and can cascade into recursive error handling while system_server is already failing. Switch DROPBOX_SERVICE to ServiceManager.getService(), return null while the binder is still absent, and treat dropbox as an allowed transiently-unavailable service in getSystemService(). This keeps the early-boot path null-safe without spamming an extra WTF that can amplify DeadSystemException-style failures. Signed-off-by: Quince <quinceroms@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Some devices legitimately ship without persistent data block / OEM lock, and those services can also be transiently absent while system_server is still coming up or already tearing down. Treating them like mandatory services routes lookups through onServiceNotFound() and emits extra WTF noise right in the same DeadSystem failure paths we are trying to contain. ActivityManagerService also should not assume DropBox remains usable once the system is already failing, and LockSettingsStorage should quietly skip FRP helpers when the persistent data block service is absent instead of turning that into another fatal-looking report. Use nullable lookups for the optional services, whitelist them in getSystemService(), and wrap DropBox queries/writes so these reporting paths fail closed instead of recursively amplifying the original failure. Signed-off-by: Quince <quinceroms@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
AxSandboxService is registered in SystemServiceRegistry before its binder service is published by system_server. During boot, callers such as SettingsProvider can ask for AxSandboxManager before AxSandboxService.systemReady() adds the binder to ServiceManager. The AxSandbox fetcher correctly returns null in that window and retries on later lookups, but SystemServiceRegistry treats the null result as a missing manager wrapper and logs a WTF when service-not-found diagnostics are enabled. This produces thousands of false boot-time errors until AxSandboxService becomes ready. Treat ax_sandbox like other framework services that can legitimately be unavailable during early boot, while preserving the existing retry and manager creation behavior once the service is published. Signed-off-by: Quince <quinceroms@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>
* Based on sparkle and minimal wave styles. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: I77d30b18613702d340e1987316dd4097837a282c Signed-off-by: Saikrishna1504 <saikrishna26918@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
…ly charged * Also, switch to Modifier.graphicsLayer runnable to do the alpha property adjustments entirely by the GPU. Signed-off-by: iusmac <iusico.maxim@libero.it>
…lock screen Signed-off-by: iusmac <iusico.maxim@libero.it>
* Scaled to fit the drawing size (better battery capacity view). * Made it perfectly symmetrical. Signed-off-by: iusmac <iusico.maxim@libero.it>
9f16470 to
9df1b84
Compare
Member
|
added |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.