Device Info - Samsung Galaxy M10s, Android 10
-one thing I like to share here is I noticed that error occurred when the device is offline and I noticed this issue in -
Redmi Note 8, Android Version 9
In xml -
<me.ibrahimsn.lib.SmoothBottomBar
android:id="@+id/bottom_nav"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?background_default_darker"
android:layout_marginBottom="12dp"
app:cornerRadius="8dp"
app:elevation="12dp"
app:iconSize="24dp"
app:iconTint="@color/grey500"
app:iconTintActive="@color/black"
app:indicatorColor="@color/greyF6"
app:itemFontFamily="@font/poppins"
app:menu="@menu/bottom_nav_home"
app:textColor="@color/black" />
In menu items, I used vector drawable.
crash info -
java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0.
at kotlin.collections.EmptyList.get(Collections.kt:35)
at kotlin.collections.EmptyList.get(Collections.kt:23)
at me.ibrahimsn.lib.SmoothBottomBar.onDraw(SmoothBottomBar.kt:391)
at android.view.View.draw(View.java:23191)
at android.view.View.updateDisplayListIfDirty(View.java:22066)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.draw(View.java:23194)
at android.view.View.updateDisplayListIfDirty(View.java:22066)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.updateDisplayListIfDirty(View.java:22052)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.draw(View.java:23194)
at android.view.View.updateDisplayListIfDirty(View.java:22066)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1426)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.updateDisplayListIfDirty(View.java:22052)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.updateDisplayListIfDirty(View.java:22052)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.updateDisplayListIfDirty(View.java:22052)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.updateDisplayListIfDirty(View.java:22052)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.updateDisplayListIfDirty(View.java:22052)
at android.view.View.draw(View.java:22921)
at android.view.ViewGroup.drawChild(ViewGroup.java:5230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
at android.view.View.draw(View.java:23194)
at com.android.internal.policy.DecorView.draw(DecorView.java:1117)
at android.view.View.updateDisplayListIfDirty(View.java:22066)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:588)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:594)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:667)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:4267)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4051)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3324)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2204)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9003)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996)
at android.view.Choreographer.doCallbacks(Choreographer.java:794)
at android.view.Choreographer.doFrame(Choreographer.java:729)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7860)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
Device Info - Samsung Galaxy M10s, Android 10 -one thing I like to share here is I noticed that error occurred when the device is offline and I noticed this issue in - Redmi Note 8, Android Version 9
In xml - <me.ibrahimsn.lib.SmoothBottomBar android:id="@+id/bottom_nav" android:layout_width="match_parent" android:layout_height="match_parent" android:background="?background_default_darker" android:layout_marginBottom="12dp" app:cornerRadius="8dp" app:elevation="12dp" app:iconSize="24dp" app:iconTint="@color/grey500" app:iconTintActive="@color/black" app:indicatorColor="@color/greyF6" app:itemFontFamily="@font/poppins" app:menu="@menu/bottom_nav_home" app:textColor="@color/black" />
In menu items, I used vector drawable.
crash info - java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0. at kotlin.collections.EmptyList.get(Collections.kt:35) at kotlin.collections.EmptyList.get(Collections.kt:23) at me.ibrahimsn.lib.SmoothBottomBar.onDraw(SmoothBottomBar.kt:391) at android.view.View.draw(View.java:23191) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.draw(View.java:23194) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.draw(View.java:23194) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1426) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.draw(View.java:23194) at com.android.internal.policy.DecorView.draw(DecorView.java:1117) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:588) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:594) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:667) at android.view.ViewRootImpl.draw(ViewRootImpl.java:4267) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4051) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3324) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2204) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9003) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996) at android.view.Choreographer.doCallbacks(Choreographer.java:794) at android.view.Choreographer.doFrame(Choreographer.java:729) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:7860) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)