Skip to content

Conversation

@CoderYellow
Copy link

Fix crash when showing user's activity in some case, related issue #368.

For example, showing this guy's activity will cause this error:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.thirtydegreesray.openhub, PID: 23960
    java.lang.IllegalArgumentException: No enum constant com.thirtydegreesray.openhub.mvp.model.EventPayload.PullRequestReviewEventActionType.created
        at java.lang.Enum.valueOf(Enum.java:257)
        at com.thirtydegreesray.openhub.mvp.model.EventPayload$PullRequestReviewEventActionType.valueOf(EventPayload.java:40)
        at com.thirtydegreesray.openhub.ui.adapter.ActivitiesAdapter$ViewHolder.getPullRequestReviewEventStr(ActivitiesAdapter.java:266)
        at com.thirtydegreesray.openhub.ui.adapter.ActivitiesAdapter$ViewHolder.setActionAndDesc(ActivitiesAdapter.java:191)
        at com.thirtydegreesray.openhub.ui.adapter.ActivitiesAdapter.onBindViewHolder(ActivitiesAdapter.java:71)
        at com.thirtydegreesray.openhub.ui.adapter.ActivitiesAdapter.onBindViewHolder(ActivitiesAdapter.java:43)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6354)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6387)
        at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5343)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5606)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5448)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5444)
        at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2224)
        at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1551)
        at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1511)
        at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:595)
        at com.thirtydegreesray.openhub.ui.adapter.base.CatchableLinearLayoutManager.onLayoutChildren(CatchableLinearLayoutManager.java:43)
        at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3600)
        at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3329)
        at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3867)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:636)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1795)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1167)
        at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:852)
        at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:871)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
        at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
        at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1397)
        at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:786)
        at android.view.View.layout(View.java:22105)
        at android.view.ViewGroup.layout(ViewGroup.java:6290)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3356)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2827)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1940)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8041)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1163)
        at android.view.Choreographer.doCallbacks(Choreographer.java:986)
        at android.view.Choreographer.doFrame(Choreographer.java:902)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1148)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7710)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
E/CrashReport: Java Crash Happen cause by main(2)

As you can see the error above indicates that the user events api result includes created type pull request which is not defined in PullRequestReviewEventActionType

Todo: i18n support

fix crash when showing user's activity in some case, related issue ThirtyDegreesRay#368.
todo: i18n support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant