Checklist
Affected app version
latest version. I cannot reach the menu, fails before
Affected Android/Custom ROM version
Android 15
Affected device model
Samsung Galaxy S21
How did you install the app?
Built from source
Steps to reproduce the bug
Fails imediately after launch
bug in Context.kt in the line :
val weekDays = resources.getStringArray(R.array.week_days_short).toList() as ArrayList
source code :
// format day bits to strings like "Mon, Tue, Wed"
fun Context.getSelectedDaysString(bitMask: Int): String {
val dayBits = arrayListOf(MONDAY_BIT, TUESDAY_BIT, WEDNESDAY_BIT, THURSDAY_BIT, FRIDAY_BIT, SATURDAY_BIT, SUNDAY_BIT)
val weekDays = resources.getStringArray(R.array.week_days_short).toList() as ArrayList
if (baseConfig.isSundayFirst) {
dayBits.moveLastItemToFront()
weekDays.moveLastItemToFront()
}
var days = ""
dayBits.forEachIndexed { index, bit ->
if (bitMask and bit != 0) {
days += "${weekDays[index]}, "
}
}
return days.trim().trimEnd(',')
}
E FATAL EXCEPTION: main (Fix with AI)
Process: org.fossify.clock.debug, PID: 17361
java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
at org.fossify.commons.extensions.ContextKt.getSelectedDaysString(Context.kt:636)
at org.fossify.clock.adapters.AlarmsAdapter.getAlarmSelectedDaysString(AlarmsAdapter.kt:206)
at org.fossify.clock.adapters.AlarmsAdapter.getAlarmSelectedDaysString$default(AlarmsAdapter.kt:198)
at org.fossify.clock.adapters.AlarmsAdapter.setupView(AlarmsAdapter.kt:154)
at org.fossify.clock.adapters.AlarmsAdapter.onBindViewHolder$lambda$0(AlarmsAdapter.kt:103)
at org.fossify.clock.adapters.AlarmsAdapter$$ExternalSyntheticLambda3.invoke(D8$$SyntheticClass:0)
at org.fossify.commons.adapters.MyRecyclerViewAdapter$ViewHolder.bindView(MyRecyclerViewAdapter.kt:321)
at org.fossify.clock.adapters.AlarmsAdapter.onBindViewHolder(AlarmsAdapter.kt:98)
at org.fossify.clock.adapters.AlarmsAdapter.onBindViewHolder(AlarmsAdapter.kt:34)
at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7254)
at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7337)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6194)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6460)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1131)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1213)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:899)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:919)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at androidx.viewpager.widget.ViewPager.onLayout(ViewPager.java:1775)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1131)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:145)
at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2461)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
2026-05-17 14:29:22.696 17361-17361 AndroidRuntime org.fossify.clock.debug E at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345) (Fix with AI)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1101)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:5900)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4977)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3708)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:12542)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1751)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1760)
at android.view.Choreographer.doCallbacks(Choreographer.java:1216)
at android.view.Choreographer.doFrame(Choreographer.java:1142)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1707)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:342)
at android.app.ActivityThread.main(ActivityThread.java:9634)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Expected behavior
.
Actual behavior
.
Screenshots/Screen recordings
No response
Additional information
No response
Checklist
Affected app version
latest version. I cannot reach the menu, fails before
Affected Android/Custom ROM version
Android 15
Affected device model
Samsung Galaxy S21
How did you install the app?
Built from source
Steps to reproduce the bug
Fails imediately after launch
bug in Context.kt in the line :
val weekDays = resources.getStringArray(R.array.week_days_short).toList() as ArrayList
source code :
// format day bits to strings like "Mon, Tue, Wed"
fun Context.getSelectedDaysString(bitMask: Int): String {
val dayBits = arrayListOf(MONDAY_BIT, TUESDAY_BIT, WEDNESDAY_BIT, THURSDAY_BIT, FRIDAY_BIT, SATURDAY_BIT, SUNDAY_BIT)
val weekDays = resources.getStringArray(R.array.week_days_short).toList() as ArrayList
}
2026-05-17 14:29:22.696 17361-17361 AndroidRuntime org.fossify.clock.debug E at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345) (Fix with AI)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1101)
at android.view.View.layout(View.java:26738)
at android.view.ViewGroup.layout(ViewGroup.java:6815)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:5900)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4977)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3708)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:12542)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1751)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1760)
at android.view.Choreographer.doCallbacks(Choreographer.java:1216)
at android.view.Choreographer.doFrame(Choreographer.java:1142)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1707)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:342)
at android.app.ActivityThread.main(ActivityThread.java:9634)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Expected behavior
.
Actual behavior
.
Screenshots/Screen recordings
No response
Additional information
No response