qqq3 / good-weather

Open source weather app for Android
GNU General Public License v3.0
242 stars 99 forks source link

An error occurred on the "Refresh icon" that caused the Crash app #50

Open rezamusic881 opened 6 years ago

rezamusic881 commented 6 years ago

Expected behavior

Supposedly, When the user presses "Refresh icon" more than once on the "Daily Forecast" menu, the application will not crash.

Actual behavior

At first I did not think it really caused the application to stop. But when I did refresh more than once, the application suddenly happened Crash. That's why I tried to find the error and I found it.

When a user presses "Refresh icon" more than once quickly, on the "Daily Estimates" menu, the app will be paralyzed.

How to reproduce

  1. Instal App here
  2. Sign in "Feature Forecast Daily", Click on "Refresh icon" more than once quickly. Then the application will crash.

Screenshot_2018-05-30-00-15-32-394_com.whatsapp.png

Screenshot_2018-05-30-00-15-35-761_com.whatsapp.png

Screenshot_2018-05-30-00-15-38-810_com.whatsapp.png

Environment



Recording Of The Issues

https://youtu.be/z38QRAaZF4A


Logcat

Proof of code error, that application was really Crash
05-29 23:42:24.445 20601 20601 E AndroidRuntime: FATAL EXCEPTION: main
05-29 23:42:24.445 20601 20601 E AndroidRuntime: Process: com.ATA_Droid.WeatherForecastRadar, PID: 20601
05-29 23:42:24.445 20601 20601 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 6, Size: 0
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at java.util.ArrayList.get(ArrayList.java:411)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at com.ATA_Droid.WeatherForecastRadar.adapter.WeatherForecastAdapter.onBindViewHolder(WeatherForecastAdapter.java:34)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at com.ATA_Droid.WeatherForecastRadar.adapter.WeatherForecastAdapter.onBindViewHolder(WeatherForecastAdapter.java:13)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6673)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6714)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5647)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5913)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3529)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:132)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1361)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:894)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1171)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at com.android.internal.policy.DecorView.onLayout(DecorView.java:730)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.View.layout(View.java:17663)
05-29 23:42:24.445 20601 20601 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:5577)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2388)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2110)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1296)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6401)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:876)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.Choreographer.doCallbacks(Choreographer.java:688)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.Choreographer.doFrame(Choreographer.java:623)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:862)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:754)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:95)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:163)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6361)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
05-29 23:42:24.446 20601 20601 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)