Open
Conversation
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue syberia-project#12) by only releasing a wakelock that was not already released Change-Id: I2217ea028996fab94ef490121dac3ea472fbb1a9 Signed-off-by: DennySPb <dennyspb@gmail.com>
* When the fingerprint sensor is embedded in the power key, wake-and-unlock is total chaos. Add an option to disable it. * The default behavior is unchanged. Change-Id: I50c0a857daba92c17470d8089aca94099c792956 Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: I471908cfa27a54e0075394eed348cb15386f62ce (cherry picked from commit 598811ae53255de1a643c7b5950ec60bcc7136b3) Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: I2c0ce2c99cab89c8d9b2435ea175e1ecec9bb67c (cherry picked from commit 0fa4d4c4d9b4b64c55ef2d33f256802e3030c418) Signed-off-by: DennySPb <dennyspb@gmail.com>
in some cases, senorProps can be null. Add a check to get around this. Signed-off-by: alibei <sebastiankotzias83@gmail.com> Signed-off-by: Joey Huab <joey@evolution-x.org> Signed-off-by: DennySPb <dennyspb@gmail.com>
neobuddy89: * Reverse logic. Enabled animation by default. ArrowOS: * Add keys into backup and validators. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Change-Id: Idecaa59547159d0a2b0ecdb55a207377bd466710 Signed-off-by: DennySPb <dennyspb@gmail.com>
NotificationShadeWindowController's are not gracefully closed, which leads to top parts of the screen is being obscured by invisible shade window. And also, "ripple" is actually still exists due to lightRevealScrim are being started by onKeyguardFadingAwayChanged, which is not what user expect when they want to disable the effect. So in order to handle those cases, lets intercept it from the AuthRippleController instead. [palaych] With system settings we need to pass UserHandle.USER_CURRENT to make sure we are getting proper value. Change-Id: I85ab96368c8b0099700f3de18ba95ce63eaac443 Signed-off-by: DennySPb <dennyspb@gmail.com>
* I believe there are devices in this world that can fit more than 4 notification icons. Change-Id: I8f01b4e0385b35f4ed93aab2619839e5b40ee0c7 Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: Ic6e71d4fd4f98a185fe2e7b4fba5bad3cf6a2f68 Signed-off-by: DennySPb <dennyspb@gmail.com>
By default, validity errors with webview packages aren't floated to the logs, making webview silently fail and diagnosis a pain. Fix it Change-Id: Icbd7954bca3240a35bb72d7155e6732ad5e6b9f8 Signed-off-by: DennySPb <dennyspb@gmail.com>
[SamarV-121 - Adapt to S] [DarkJoker360 - Switch to overlays] [neobuddy89 - Fixed up compilation issues] Change-Id: I8a486e707712b81711fb1a691faec029499fa897 Signed-off-by: SamarV-121 <samarvispute121@pm.me> Signed-off-by: DarkJoker360 <simoespo159@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
- some hals fail to report success/failure (for ex. realme fp hals) [DarkJoker360 - Switch to overlays] Change-Id: I442ce063280af36a04c25fcbc3dd45a90f196988 Signed-off-by: SagarMakhar <sagarmakhar@gmail.com> Signed-off-by: DarkJoker360 <simoespo159@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
* ActivityManagerService: Disallow requestSystemServerHeapDump on non-eng builds jhenrique09 <jhenrique09.mcz@hotmail.com> * SystemServer: Only enable fd leak tracker on eng Simao Gomes Viana <xdevs23@outlook.com> Co-authored-by: jhenrique09 <jhenrique09.mcz@hotmail.com> Co-authored-by: Simao Gomes Viana <xdevs23@outlook.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
* ResourceTypes: Don't spam logcat fusionjack <dogfight60-fusionjack@yahoo.de> * GpsNetInitiatedHandler: Disable More Debugging Chet Kener <Cl3Kener@gmail.com> * Ringtone/DeadZone: Turn off some debugs AndroidRul3z <ferrettidario@gmail.com> * BluetoothAdapter: Disable logspew Alexander Martinz <eviscerationls@gmail.com> * base: Kill some log spam * SystemUI: Disable KeyguardConstants DEBUG * ViewRootImpl: Log spill when dragging maxwen <max.weninger@gmail.com> * BluetoothUtils: Disable useless logspam * AlarmManagerService: Reduce log level wtf -> w ?UTF-8?q?Sim=C3=A3o=20Gomes=20Viana?= <devel@superboring.dev> * InterruptionStateProvider: Disable debugging jhonboy121 <alfredmathew05@gmail.com> * DEBUG: Turn off some debugging we don't need. mydongistiny <jaysonedson@gmail.com> * DefaultPermissionGrantPolicy: Silence harmless errors Logcat spams with google packages not installed. Kill it. * InputMethodUtils: Fix system bootloop when no IME found In case of faulty gapps, there are no default IME left on the system. This shouldn't be situation where user cannot boot at all. Handle InputMethodUtils to prevent PackageManagerService crashing system. * SystemUI: Remove trace counter from ScrimState updateScrimColor is expensive Pranav Vashi <neobuddy89@gmail.com> * services: LightsService: Mute an annoying error message. E LightsService: Light requested not available on this device. If you google for the error you will find many discussion threads or logcats that show this error. Since the error only describes that the device does not support this function, the error can be classified as harmless. In order not to confuse the user, we will now hide the logging of this error. spezi77 <spezi7713@gmx.net> * StatusIconContainer: Remove duplicate import utzcoz <utzcoz@gmail.com> * Settingslib: Remove a reflect method that can never succeed Stops spamming logcat with java.lang.ClassNotFoundException The target class doesn't exist anywhere Soo-Hwan Na <69458352+roynatech2544@users.noreply.github.com> * ActivityThread: Remove Failed to find provider info logspam Immanuel Raj <immanuelr44@gmail.com> Co-authored-by: fusionjack <dogfight60-fusionjack@yahoo.de> Co-authored-by: Chet Kener <Cl3Kener@gmail.com> Co-authored-by: AndroidRul3z <ferrettidario@gmail.com> Co-authored-by: Alexander Martinz <eviscerationls@gmail.com> Co-authored-by: maxwen <max.weninger@gmail.com> Co-authored-by: ?UTF-8?q?Sim=C3=A3o=20Gomes=20Viana?= <devel@superboring.dev> Co-authored-by: jhonboy121 <alfredmathew05@gmail.com> Co-authored-by: mydongistiny <jaysonedson@gmail.com> Co-authored-by: spezi77 <spezi7713@gmx.net> Co-authored-by: Pranav Vashi <neobuddy89@gmail.com> Co-authored-by: utzcoz <utzcoz@gmail.com> Co-authored-by: Soo-Hwan Na <69458352+roynatech2544@users.noreply.github.com> Co-authored-by: Immanuel Raj <immanuelr44@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
- Conversations: enabled by default on Pixel - Charging ripple: enabled by default on Pixel Taken from ProtonAOSP/android_vendor_proton@a32d8c4 Signed-off-by: DennySPb <dennyspb@gmail.com>
This looks outdated, since most apps are edge-to-edge nowadays. Change-Id: I8c54e61e618a9b5bed1a59753ce76e8fbd69fae2 Signed-off-by: DennySPb <dennyspb@gmail.com>
Text in the QS status bar is medium in light mode and regular in dark mode. Fix the mismatch. Change-Id: Ic6e5dc547d4ded9d231f88f6cac3e1e9f8483d5e Signed-off-by: DennySPb <dennyspb@gmail.com>
Similar to the big keyguard clock, the PIN entry keypad is primarily composed of large, prominent digits, and I think Inter's geometric 6 and 9 glyphs (similar to Google Sans) look better in such contexts. Change-Id: I0249295566307e83fd649d865c894e69f67d7522 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Co-authored-by: spkal01 <kalligeross@gmail.com> Signed-off-by: jhonboy121 <alfredmathew05@gmail.com> Signed-off-by: Joey Huab <joey@evolution-x.org> Signed-off-by: DennySPb <dennyspb@gmail.com>
Only using user-selected fonts for a subset of system apps leads to an inconsistent visual experience, so apply them to the system's Material UI themes for consistency. Change-Id: Ib0be558530ae101fae2a5c9e05610659a87cbae9 Signed-off-by: DennySPb <dennyspb@gmail.com>
Only using user-selected fonts for a subset of system apps leads to an inconsistent visual experience. While we've already applied them to the system's Material UI themes, many apps have hard-code references to sans-serif (whether it's through XML styles or Typeface.SANS_SERIF), so it is also necessary to override Typeface fonts at runtime. Changing overlays causes OverlayManagerService to schedule ApplicationInfo updates for affected apps, which forces a configuration change by incrementing Configuration#assetsSeq. TODO: figure out why not all apps get consistent configuration updates until manually relaunching activities Change-Id: I684a56315808f78f24a14cd6efeda0ea05e25abf Signed-off-by: Chiranth A J <chiranth@m.ms.evolution-x.org> Signed-off-by: DennySPb <dennyspb@gmail.com>
java.lang.SecurityException: Caller com.google.android.gms needs to hold android.permission.SCHEDULE_EXACT_ALARM to set exact alarms. at android.os.Parcel.createExceptionOrNull(Parcel.java:2425) at android.os.Parcel.createException(Parcel.java:2409) at android.os.Parcel.readException(Parcel.java:2392) at android.os.Parcel.readException(Parcel.java:2334) at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:359) at android.app.AlarmManager.setImpl(AlarmManager.java:948) at android.app.AlarmManager.setImpl(AlarmManager.java:908) at android.app.AlarmManager.set(AlarmManager.java:818) at usv.k(:com.google.android.gms@213314046@21.33.14 (150400-395723304):1) at usv.o(:com.google.android.gms@213314046@21.33.14 (150400-395723304):0) at usv.e(:com.google.android.gms@213314046@21.33.14 (150400-395723304):2) at com.google.android.contextmanager.controller.EventHandler$AlarmSetter.c(:com.google.android.gms@213314046@21.33.14 (150400-395723304):8) at exr.d(:com.google.android.gms@213314046@21.33.14 (150400-395723304):3) at ext.l(:com.google.android.gms@213314046@21.33.14 (150400-395723304):0) at evr.a(:com.google.android.gms@213314046@21.33.14 (150400-395723304):143) at ext.run(:com.google.android.gms@213314046@21.33.14 (150400-395723304):2) at exp.handleMessage(:com.google.android.gms@213314046@21.33.14 (150400-395723304):3) at uwe.run(:com.google.android.gms@213314046@21.33.14 (150400-395723304):2) at uwo.c(:com.google.android.gms@213314046@21.33.14 (150400-395723304):6) at uwo.run(:com.google.android.gms@213314046@21.33.14 (150400-395723304):8) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at vcm.run(:com.google.android.gms@213314046@21.33.14 (150400-395723304):0) at java.lang.Thread.run(Thread.java:920) Change-Id: I6a179661a3da33cba54cbc07c48adcebcaf008a8 Signed-off-by: DennySPb <dennyspb@gmail.com>
Inter is missing some glyphs that users have come to expect on Android, so use Roboto as a fallback to fix excessive tofu in some text. Because Inter's name has been replaced with "Roboto" for compatibility, the fallback variants are named "Roboto Fallback". Example of text with missing glyphs in Inter: ⅙⅐⅛⅑⅒¹½⅓¼⅕ NB: requires vendor commit "fonts: Add fallback variant of Roboto" Change-Id: I4affbde067bc51366a84a93b48a9c373567dca05 Signed-off-by: DennySPb <dennyspb@gmail.com>
Some devices don't support the High profile very well. Use Main profile, which is more compatible, so they can use screen recorder too. Change-Id: Iac23480e080edf4300e6f411c3394c0b41030daa Signed-off-by: DennySPb <dennyspb@gmail.com>
Some devices seem to have problems when running the screen recorder at native resolution @ max fps (I'm looking at you surya). The symptoms may include severe lagging in the recording or stuff like crashes when stopping in a landscape orientation. Allow limiting the recorder fps to fix these issues. Test: record screen on surya with config_screenRecorderMaxFramerate==90 while screen is running @ 120Hz, observe a smooth video. Stop the recording while in full screen landscape youtube video, observe no crash Signed-off-by: Kuba Wojciechowski <nullbytepl@gmail.com> Change-Id: I361c7ae4bf74f2dd67b86e960f8d2d6ef63f5b8f Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: I03b2db8a16078a91db12ddc1c3346d4a8ff0895c Signed-off-by: Pranav <npv12@iitbbs.ac.in> Signed-off-by: spezi77 <spezi7713@gmx.net> Signed-off-by: DennySPb <dennyspb@gmail.com>
Nevertheless we have an option to limit the recording by frame rate, but
we still can't limit it by resolution. It's not particularly needed for
the devices of today which are enough powerful and can encode/play any
profile level, but there are still many old devices for which the
profile level can make a big difference.
Traditionally the device declares the high quality multimedia profiles
for video encoding (editing, recording video via camera ecc.), but these
profiles are also used for screen recording. And here comes the pitfall
for weak devices: screen recording is a video encoding process +
highload user tasks on foreground and background, all in total is too
much for an old device. The recorded video is "laggy", because the
frames are simply skipped to the detriment of system smoothness. That's
why some devices will need to limit AVC codec profile level for screen
recorder only, as it doesn't make sense to do it globally, because it
will also affect camera and video editing.
Test: record the screen using the closest profile level to the display
capabilities (resolution@frame rate). Check if video max. resolution and
frame rate match the selected profile level constraints [1]. In case the
profile level is the right one, the quality and fluidity of the video
won't be in any way different from what you normally see on your display
and will be playable anywhere, including the device that recorded it.
[1] https://en.wikipedia.org/wiki/Advanced_Video_Coding#Levels
Signed-off-by: iusmac <iusico.maxim@libero.it>
[@neobuddy89: Added default config to 4.2 and simplified!]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: DennySPb <dennyspb@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
When rotate the device quickly in a transparent application activity, sometime the wallpaper will be half black. Root cause: Sometime the transaction that change the size of the wallpaper surface behind the drawFrame of wallpaper. Redraw the frame of wallpaper one more time only when wallpaper size changed can fix it. Change-Id: I0884d0a6b51691f41e031092a2ef698c7e3a21a5 CRs-Fixed: 2287784 Signed-off-by: Pranav <npv12@iitbbs.ac.in> Signed-off-by: DennySPb <dennyspb@gmail.com>
On desktop Linux, subpixel text positioning is necessary to avoid kerning issues, and Android is no different. Even though most phone displays have relatively high DPIs, the lack of subpixel text positioning is only unnoticeable on high-end devices such as the Pixel 4 XL (1440x3040 @ 6.3 in => 537 dpi). For example, on the Pixel 5 (1080 x 2340 @ 6.0 in => 432 dpi), horizontally-scrolling labels in QS tiles can be seen "jittering" slightly upon close observation. This was tested with the Google Sans font on Google's stock OS. At this lower DPI, there is still a need for subpixel text positioning (at least in some cases). Enable subpixel text positioning by default to fix occasional kerning issues and jittering when text is in motion. Change-Id: I8d71e5848a745c5a2d457a28c68458920928ee09 Signed-off-by: DennySPb <dennyspb@gmail.com>
This change makes sharesheet way more useful by increasing the amount of visible ranked apps. Change-Id: Ic092f1d1784259c9f3c0870eda1dd1ae8544c697 Signed-off-by: DennySPb <dennyspb@gmail.com>
Dark theme "TURN ON UNTIL SUNRISE"/MODE_NIGHT_AUTO is not kept after reboot. The reason is that TwilightState will takes time to update so lastState will be null in updateConfigurationLocked(). This lead to a reset of mComputedNightMode and mOverrideNightModeOn. This is a special bug for "TURN ON UNTIL SUNRISE"/MODE_NIGHT_AUTO, the other ones work fine and should not be touched, if we do not treat this as a special case we break the other ones. Test: Select "TURN ON UNTIL SUNRISE" in Dark Theme and reboot. Bug: 229228293 Change-Id: Ie32a6ddbbf03fa43ee6dd5e35b3c35ec03e58e0e Signed-off-by: DennySPb <dennyspb@gmail.com>
* Since google decided not to kill eyes of people with dark qs always but forgot to change the color in drawable of Brightnessbar elements. it was white colored. before: https://imgur.com/OrW2p7d after: https://imgur.com/7DV844t * If you are using gapps (with google overlays) then no need of this else needed. Signed-off-by: Harsh <harsh@project404.us> Change-Id: I6fb3c53b383714269d2b9706a5580ba365404f0c Signed-off-by: DennySPb <dennyspb@gmail.com>
Signed-off-by: DennySPb <dennyspb@gmail.com> Change-Id: I9f3105907628703e7084071b8fcec9b87c592283
e.g. for all ListPreference dialogs Change-Id: I627818a1e4e3cda5f16ab34e4d266410325d416d Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: If7ed4f038d79d702ee542de0e59170b6f6a67aa3 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Chroma is capped to 40 for light colors of L* 90 and above for valid reasons. However, assigning the capped value to "chroma" fails to account for the fact that chroma is an argument passed to the method, so the capping effect persists across iterations. This unintentionally affects and limits the chroma of *all* shades because the first iteration of the loop is L*=90. As a result, almost all colors are less chromatic than the intended chroma >= 48. Fix the issue by assigning capped chroma to a temporary per-iteration variable. Change-Id: I18102d0072c89535e27f23fdb98af7c83864ff7e Signed-off-by: jhonboy121 <alfredmathew05@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Dynamic wallpaper-based theming ("Monet") is a prominent aspect of
Android 12's Material You design system. Implement the system-wide
wallpaper-based theming using my colorkt-based [1] dynamic theme engine [2],
which many users prefer over Google's Pixel implementation in empirical
tests as it typically keeps colors closer to the wallpaper and doesn't
suffer from CAM16's blue-purple hue shift issues. It also provides
better perceived contrast than Google's implementation in most cases
because it uses ZCAM's modern lightness correlate as compared to CIELAB
L* [3].
NB: Unlike Google's implementation, we overlay the framework's default
modulated surface colors for performance (no need to modulate colors
when inflating views at runtime) and consistency (reduced dependency on
framework-side color code, which may not respect user preferences).
Demo screenshots: https://twitter.com/kdrag0n/status/1445584174790832134
[1] https://github.com/kdrag0n/colorkt
[2] https://github.com/kdrag0n/android12-extensions
[3] https://twitter.com/MyndexResearch/status/1435491919702888448
[kdrag0n: ported to 12L]
Change-Id: I48cbbacc32b2a8095eb07729aca1734f162d2391
[neobuddy89] - Updated for A13 and squashed with:
From: SagarMakhar <sagarmakhar@gmail.com>
Date: Tue, 2 Nov 2021 20:37:54 +0000
Subject: [PATCH] Allow changing monet settings [1/2]
From: shivatejapeddi <shivatejapeddi@gmail.com>
Date: Fri, 5 Nov 2021 00:19:50 +0530
Subject: SystemUI: Mover Tunable out of constructer to avoid conflict with pixel framework
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: Ice45de9b487d8a44e4511cedb8f1bdc0659f89b4
Signed-off-by: DennySPb <dennyspb@gmail.com> Change-Id: Ie0ed9a1d5a930ff459f98f6b5126e6a2a48cf4e1
Change-Id: I09f0c91e117b80ab4f7828f32f2977de2e86023c Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
* dynamic refresh rate devices keep switching display configuration for changing refresh rate and ends up spamming log way too much [ghostrider-reborn] - DisplayManagerService -> DisplayDeviceRepository in android 12 Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com> Change-Id: I57c19a0042083a86e86f2c210288904f6dc87e2c
SDB: Bring it back from the Dead & adapt for A12 Signed-off-by: SuperDroidBond <superdroidbond@yahoo.com> Signed-off-by: Jackeagle <jackeagle102@gmail.com> Change-Id: I8eb02f03b7e5204383eea40df7eec98ca44546e8 Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Signed-off-by: blinoff82 <blinov.in@gmail.com>
- Fly - Slide - Turn - Glow - 3D - Translucent (top) - Translucent (bottom) Signed-off-by: SuperDroidBond <superdroidbond@yahoo.com> Change-Id: Iaccb91cb3b5daaad791b6e2ad823ebbc58c34ee6 Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Signed-off-by: blinoff82 <blinov.in@gmail.com>
Change-Id: I81e79cfccfc4565b1f7a6292b5f0b88be753df74 [ jaysonedson: Brought from nougat->android10 ] Change-Id: Ic0af1896cfee062195fe66b5f0ada73438c4db31 Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Signed-off-by: blinoff82 <blinov.in@gmail.com>
Signed-off-by: DennySPb <dennyspb@gmail.com> Change-Id: Ie8a1d8e83ce06d4f754760e9d7dd7c8fbdc6be9b
Change-Id: Iaa1923e378e54ea452a2006dcade2bb1cd049d21 Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
* This should fix issue with clock disappearing. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com> Change-Id: I6a4b448cd4405d68d76dc5cb3c0c2e369ddd2a33
This should perhaps be an overlay. Change-Id: Iaf272b461ffa36873f9baef82aca099068e5146a Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
Change-Id: I9250fe5fd6a3edf567f1f4d30fd86838f5ef4610 Restore one-click to add/remove tiles after r20 merge Google now added the possibility to double click to move tiles for accessibility purposes but i actually prefer the oneclick way Change-Id: Ia44fc4e2ddc77c9cf918c2b8fea38a4e9a3c8252 Signed-off-by: DennySPb <dennyspb@gmail.com>
Chroma channels of YUV420 images are subsampled we may need to shrink the crop region by a whole texel on each side. Since skia still adds its own 0.5 inset, we apply an additional 0.5 inset. See GLConsumer::computeTransformMatrix for details. Bug: 204725913 Test: android.media.cts.DecodeAccuracyTest Test: android.view.cts.PixelCopyTest Change-Id: I38bd3d1e5f4c62fff3dd0374c3f2500f1a2d90b9 (cherry picked from commit 6cf96a5)
In some low probability cases, after installing apps
the device may restart without sync the storage, then
the jni libs is damaged. The file size is ok, but the
content all filled by 0x00.
Bug: 214270558
Test:
1. adb install test.apk with jni libs
2. Enforce restart the device
3. check if the libs is damaged
Change-Id: Ia82cfc0d3a14c729c9ac14b367b456d65e67e058
Signed-off-by: liulvping <liulvping@xiaomi.com>
Calling Camera API may need enough try-catch to avoid RuntimeException Bug: 253940087 Test: manual and atest Change-Id: Id46826d030c3001c71acd696f384e4b848e9bec2
Test the dc fix
937fc56 to
3f1945f
Compare
DennySPB
pushed a commit
that referenced
this pull request
May 12, 2023
* after resolving previous OOBs the sysui crash that happens when reinflating qs panel slims down to [1], just catch the remaining exceptions since these exceptions were probably caused by listeners and the AutoMarqueeTextView [1] --------- beginning of crash 05-02 10:29:15.536 1846 1846 E AndroidRuntime: FATAL EXCEPTION: main 05-02 10:29:15.536 1846 1846 E AndroidRuntime: Process: com.android.systemui, PID: 1846 05-02 10:29:15.536 1846 1846 E AndroidRuntime: android.view.InflateException: Binary XML file line #48 in com.android.systemui:layout/qs_panel: Binary XML file line #28 in com.android.systemui:layout/qs_carrier_group: Error inflating class <unknown> 05-02 10:29:15.536 1846 1846 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #28 in com.android.systemui:layout/qs_carrier_group: Error inflating class <unknown> 05-02 10:29:15.536 1846 1846 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance0(Native Method) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance(Constructor.java:343) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.createView(LayoutInflater.java:858) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1267) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1267) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1267) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:686) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:538) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.qs.QSFragment.onCreateView(QSFragment.java:25) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.Fragment.performCreateView(Fragment.java:2505) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1303) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1581) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1642) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3052) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3009) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.FragmentController.dispatchStart(FragmentController.java:196) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.fragments.FragmentHostManager.createFragmentHost(FragmentHostManager.java:48) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.fragments.FragmentHostManager.reloadFragments(FragmentHostManager.java:37) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.keyguard.CarrierTextManager$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:282) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:942) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7946) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: Caused by: java.lang.IndexOutOfBoundsException 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.StringBlock.nativeGetString(Native Method) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.StringBlock.getSequence(StringBlock.java:124) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.ApkAssets.getStringFromPool(ApkAssets.java:351) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.AssetManager.getPooledStringForCookie(AssetManager.java:869) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1400) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.TypedArray.getValueAt(TypedArray.java:1385) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.content.res.TypedArray.getFont(TypedArray.java:1042) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.widget.TextView.readTextAppearance(TextView.java:4155) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at android.widget.TextView.<init>(TextView.java:1129) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.util.SafeMarqueeTextView.<init>(SafeMarqueeTextView.kt:2) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.util.SafeMarqueeTextView.<init>(SafeMarqueeTextView.kt:1) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.util.SafeMarqueeTextView.<init>(Unknown Source:8) 05-02 10:29:15.536 1846 1846 E AndroidRuntime: at com.android.systemui.util.AutoMarqueeTextView.<init>(AutoMarqueeTextView.java:3) Change-Id: Ife92c56c43489a6694de436c79e5218bb272e58d Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com> Signed-off-by: DennySPb <dennyspb@gmail.com>
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.
Test the dc fix