Skip to content

bug in context.kt of project clock-main #448

@francoisnicolas

Description

@francoisnicolas

Checklist

  • I can reproduce the bug with the latest version given here.
  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not workingneeds triageIssue is not yet ready for PR authors to take up

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions