Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

bug in context.kt of project clock-main

Abierto Apto para principiantes
#448 2 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 7 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
android, kotlin
Área
mobile

Línea de trabajo

El fallo es una ClassCastException en getSelectedDaysString en Context.kt, que el stack trace ubica en las extensiones de org.fossify.commons y que es llamada desde AlarmsAdapter.kt alrededor de la línea 206. Empieza por la línea que convierte el array week_days_short en una lista y lo castea; después revisa cómo llega la lista de alarmas de Clock a esa ruta. Está terminado cuando la lista de alarmas se muestra sin fallos, con el domingo primero activado y desactivado, y la salida de las cadenas de días no cambia.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug needs triage
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

Lenguaje dominante
Kotlin
Estrellas
706
Forks
73
Merge medio
5 d 17 h
PR fusionados (30 d)
8

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FossifyOrg/Clock

Todos los issues de FossifyOrg/Clock

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.