Thread: main, Exception: java.lang.ClassCastException: im.vector.app.features.autocomplete.AutocompleteHeaderItem$Holder cannot be cast to im.vector.app.features.autocomplete.emoji.AutocompleteEmojiItem$Holder
at im.vector.app.features.autocomplete.emoji.AutocompleteEmojiItem_.handlePreBind(AutocompleteEmojiItem_.java:1)
at com.airbnb.epoxy.BaseEpoxyAdapter.onBindViewHolder(BaseEpoxyAdapter.java:22)
at com.airbnb.epoxy.BaseEpoxyAdapter.onBindViewHolder(BaseEpoxyAdapter.java:3)
at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:43)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:59)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:974)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:54)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:54)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:400)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:67)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:135)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:8)
Change-Id: I4d4919c35babea2606a06b3e99b5c3b3ce08e95d
java.lang.IllegalStateException: Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView()
at androidx.fragment.app.Fragment.getViewLifecycleOwner(Fragment.java:10)
at im.vector.app.features.settings.VectorSettingsPinFragment.refreshPinCodeStatus(VectorSettingsPinFragment.kt:1)
at im.vector.app.features.settings.VectorSettingsPinFragment.bindPref(VectorSettingsPinFragment.kt:1)
at im.vector.app.features.settings.VectorSettingsBaseFragment.onCreatePreferences(VectorSettingsBaseFragment.kt:8)
at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:74)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:22)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:52)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:149)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1135)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:82)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:74)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:4)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:7876)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Change-Id: Iac3e08d95338417f69ee71ce0b185b825b9b0333
Note: mainly conflicts in differing implementations to fix duplicate
read receipts.
After a quick glance at the upstream implementation, my first impression
is that we likely want to keep our downstream implementation:
- Better performance by checking for the more recent receipt in the SDK
upon receipt receival, instead on rendering the timeline
- null seems to always map to main, which caused us jumping receipts in
the past, which we have addressed by now
Conflicts:
matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ChunkEntityHelper.kt
vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt
vector/src/main/java/im/vector/app/features/home/room/detail/timeline/TimelineEventController.kt
vector/src/main/java/im/vector/app/features/html/PillsPostProcessor.kt
Change-Id: I47ae2afe5fcbe77a4fec69374d83821b94a431de
Now that we can limit emojis per category while allowing to expand them,
makes sense to show standard emojis on top, above custom emotes,
especially when users have lots of emotes.
Change-Id: I822cc091bf595795fa08fef32f0737073a43163a