Commit 22150d2
StringBlock: Prevent SystemUI crash when inflating QS
* Reported while switching between light/dark themes.
Log:
05-01 21:03:37.375 2512 2512 E AndroidRuntime: FATAL EXCEPTION: main
05-01 21:03:37.375 2512 2512 E AndroidRuntime: Process: com.android.systemui, PID: 2512
05-01 21:03:37.375 2512 2512 E AndroidRuntime: android.view.InflateException: Binary XML file line #28 in com.android.systemui:layout/qs_tile_label_vertical: Binary XML file line #28 in com.android.systemui:layout/qs_tile_label_vertical: Error inflating class <unknown>
05-01 21:03:37.375 2512 2512 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #28 in com.android.systemui:layout/qs_tile_label_vertical: Error inflating class <unknown>
05-01 21:03:37.375 2512 2512 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance0(Native Method)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.createView(LayoutInflater.java:747)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:902)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:857)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1019)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:980)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:570)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:462)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.tileimpl.QSTileViewImpl.createAndAddLabels(QSTileViewImpl.kt:397)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.tileimpl.QSTileViewImpl.<init>(QSTileViewImpl.kt:287)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSPanelControllerBase.addTile(QSPanelControllerBase.java:302)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSPanelControllerBase.setTiles(QSPanelControllerBase.java:280)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSPanelControllerBase.setTiles(QSPanelControllerBase.java:249)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSPanelControllerBase.onTuningChanged(QSPanelControllerBase.java:546)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.tuner.TunerServiceImpl.addTunable(TunerServiceImpl.java:348)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.tuner.TunerServiceImpl.addTunable(TunerServiceImpl.java:314)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSPanelControllerBase.onViewAttached(QSPanelControllerBase.java:223)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSPanelController.onViewAttached(QSPanelController.java:118)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.util.ViewController$1.onViewAttachedToWindow(ViewController.java:52)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.util.ViewController.init(ViewController.java:80)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSImpl.onComponentCreated(QSImpl.java:231)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.qs.QSFragmentLegacy.onViewCreated(QSFragmentLegacy.java:78)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1313)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1581)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1642)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3052)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3009)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.FragmentController.dispatchStart(FragmentController.java:196)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentHostManager.createFragmentHost(FragmentHostManager.java:115)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentHostManager.reloadFragments(FragmentHostManager.java:235)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentHostManager.onConfigurationChanged(FragmentHostManager.java:185)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentService$FragmentHostState.handleSendConfigurationChange(FragmentService.java:143)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentService$FragmentHostState.lambda$sendConfigurationChange$0(FragmentService.java:135)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentService$FragmentHostState.$r8$lambda$ILnRBQ67muZvoLLBWD-A7ymjzuo(FragmentService.java:0)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.fragments.FragmentService$FragmentHostState$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:959)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8498)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=2; index=6
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.content.res.StringBlock.getSequence(StringBlock.java:109)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.content.res.ApkAssets.getStringFromPool(ApkAssets.java:358)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.content.res.AssetManager.getPooledStringForCookie(AssetManager.java:878)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1402)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.content.res.TypedArray.getValueAt(TypedArray.java:1387)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.content.res.TypedArray.getFont(TypedArray.java:1044)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.widget.TextView.readTextAppearance(TextView.java:4319)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at android.widget.TextView.<init>(TextView.java:1225)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.util.SafeMarqueeTextView.<init>(SafeMarqueeTextView.kt:18)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.util.DelayableMarqueeTextView.<init>(DelayableMarqueeTextView.kt:28)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.util.DelayableMarqueeTextView.<init>(DelayableMarqueeTextView.kt:23)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: at com.android.systemui.util.DelayableMarqueeTextView.<init>(DelayableMarqueeTextView.kt:0)
05-01 21:03:37.375 2512 2512 E AndroidRuntime: ... 44 more
Squashed:
From: ShevT <evgeny.shishkov@gmail.com>
Date: Mon, 3 Feb 2025 14:39:53 +0300
Subject: fixup: StringBlock: Prevent SystemUI crash when inflating QS
Original commit - ad010779af6fb5f8717127badc5bb49d610aa089
Change-Id: I5906ca9d901154fffb42e45725d82e222ff4151f
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Jackeagle <jackeagle102@gmail.com>1 parent 03af8d2 commit 22150d2
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
| |||
0 commit comments