Skip to content

Commit

Permalink
SystemUI: Catch the remaining exceptions when re-inflating the qs panel
Browse files Browse the repository at this point in the history
* 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 <[email protected]>
Signed-off-by: DennySPb <[email protected]>
  • Loading branch information
minaripenguin authored and DennySPB committed May 12, 2023
1 parent 4c2444f commit c3fa47e
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,16 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
Trace.beginSection("QSFragment#onCreateView");
inflater = inflater.cloneInContext(new ContextThemeWrapper(getContext(),
R.style.Theme_SystemUI_QuickSettings));
return inflater.inflate(R.layout.qs_panel, container, false);
} finally {
Trace.endSection();
return inflater.inflate(R.layout.qs_panel, container, endTrace());
} catch (Exception e) {
Log.d(TAG, "Exception occured during onCreateView");
}
return null;
}

public boolean endTrace() {
Trace.endSection();
return false;
}

@Override
Expand Down

0 comments on commit c3fa47e

Please sign in to comment.