Rename class from Riot* to Vector*

This commit is contained in:
Benoit Marty 2019-04-05 10:40:59 +02:00
parent 57cea677e4
commit 260cc0dd5f
37 changed files with 92 additions and 92 deletions

View File

@ -7,7 +7,7 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />


<application <application
android:name=".Riot" android:name=".VectorApplication"
android:allowBackup="false" android:allowBackup="false"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"

View File

@ -35,7 +35,7 @@ import org.koin.standalone.StandAloneContext.startKoin
import timber.log.Timber import timber.log.Timber




class Riot : Application() { class VectorApplication : Application() {


override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()

View File

@ -22,6 +22,6 @@ import com.airbnb.epoxy.EpoxyModelClass
import im.vector.riotredesign.R import im.vector.riotredesign.R


@EpoxyModelClass(layout = R.layout.item_empty) @EpoxyModelClass(layout = R.layout.item_empty)
abstract class EmptyItem : RiotEpoxyModel<EmptyItem.Holder>() { abstract class EmptyItem : VectorEpoxyModel<EmptyItem.Holder>() {
class Holder : RiotEpoxyHolder() class Holder : VectorEpoxyHolder()
} }

View File

@ -26,15 +26,15 @@ import kotlin.reflect.KProperty
* *
* See [SampleKotlinModelWithHolder] for a usage example. * See [SampleKotlinModelWithHolder] for a usage example.
*/ */
abstract class RiotEpoxyHolder : EpoxyHolder() { abstract class VectorEpoxyHolder : EpoxyHolder() {
private lateinit var view: View private lateinit var view: View


override fun bindView(itemView: View) { override fun bindView(itemView: View) {
view = itemView view = itemView
} }


protected fun <V : View> bind(id: Int): ReadOnlyProperty<RiotEpoxyHolder, V> = protected fun <V : View> bind(id: Int): ReadOnlyProperty<VectorEpoxyHolder, V> =
Lazy { holder: RiotEpoxyHolder, prop -> Lazy { holder: VectorEpoxyHolder, prop ->
holder.view.findViewById(id) as V? holder.view.findViewById(id) as V?
?: throw IllegalStateException("View ID $id for '${prop.name}' not found.") ?: throw IllegalStateException("View ID $id for '${prop.name}' not found.")
} }
@ -44,13 +44,13 @@ abstract class RiotEpoxyHolder : EpoxyHolder() {
* https://github.com/JakeWharton/kotterknife * https://github.com/JakeWharton/kotterknife
*/ */
private class Lazy<V>( private class Lazy<V>(
private val initializer: (RiotEpoxyHolder, KProperty<*>) -> V private val initializer: (VectorEpoxyHolder, KProperty<*>) -> V
) : ReadOnlyProperty<RiotEpoxyHolder, V> { ) : ReadOnlyProperty<VectorEpoxyHolder, V> {
private object EMPTY private object EMPTY


private var value: Any? = EMPTY private var value: Any? = EMPTY


override fun getValue(thisRef: RiotEpoxyHolder, property: KProperty<*>): V { override fun getValue(thisRef: VectorEpoxyHolder, property: KProperty<*>): V {
if (value == EMPTY) { if (value == EMPTY) {
value = initializer(thisRef, property) value = initializer(thisRef, property)
} }

View File

@ -19,7 +19,7 @@ package im.vector.riotredesign.core.epoxy
import com.airbnb.epoxy.EpoxyModelWithHolder import com.airbnb.epoxy.EpoxyModelWithHolder
import com.airbnb.epoxy.VisibilityState import com.airbnb.epoxy.VisibilityState


abstract class RiotEpoxyModel<H : RiotEpoxyHolder> : EpoxyModelWithHolder<H>() { abstract class VectorEpoxyModel<H : VectorEpoxyHolder> : EpoxyModelWithHolder<H>() {


private var onModelVisibilityStateChangedListener: OnVisibilityStateChangedListener? = null private var onModelVisibilityStateChangedListener: OnVisibilityStateChangedListener? = null


@ -28,7 +28,7 @@ abstract class RiotEpoxyModel<H : RiotEpoxyHolder> : EpoxyModelWithHolder<H>() {
super.onVisibilityStateChanged(visibilityState, view) super.onVisibilityStateChanged(visibilityState, view)
} }


fun setOnVisibilityStateChanged(listener: OnVisibilityStateChangedListener): RiotEpoxyModel<H> { fun setOnVisibilityStateChanged(listener: OnVisibilityStateChangedListener): VectorEpoxyModel<H> {
this.onModelVisibilityStateChangedListener = listener this.onModelVisibilityStateChangedListener = listener
return this return this
} }

View File

@ -43,7 +43,7 @@ import io.reactivex.disposables.Disposable
import timber.log.Timber import timber.log.Timber




abstract class RiotActivity : BaseMvRxActivity() { abstract class VectorBaseActivity : BaseMvRxActivity() {
/* ========================================================================================== /* ==========================================================================================
* UI * UI
* ========================================================================================== */ * ========================================================================================== */

View File

@ -29,13 +29,13 @@ import com.airbnb.mvrx.MvRx
import com.bumptech.glide.util.Util.assertMainThread import com.bumptech.glide.util.Util.assertMainThread
import timber.log.Timber import timber.log.Timber


abstract class RiotFragment : BaseMvRxFragment(), OnBackPressed { abstract class VectorBaseFragment : BaseMvRxFragment(), OnBackPressed {


// Butterknife unbinder // Butterknife unbinder
private var mUnBinder: Unbinder? = null private var mUnBinder: Unbinder? = null


val riotActivity: RiotActivity by lazy { val vectorBaseActivity: VectorBaseActivity by lazy {
activity as RiotActivity activity as VectorBaseActivity
} }


/* ========================================================================================== /* ==========================================================================================

View File

@ -24,8 +24,8 @@ import timber.log.Timber


abstract class VectorPreferenceFragment : PreferenceFragmentCompat() { abstract class VectorPreferenceFragment : PreferenceFragmentCompat() {


val vectorActivity: RiotActivity by lazy { val vectorActivity: VectorBaseActivity by lazy {
activity as RiotActivity activity as VectorBaseActivity
} }


/* ========================================================================================== /* ==========================================================================================

View File

@ -19,5 +19,5 @@ package im.vector.riotredesign.core.platform
import com.airbnb.mvrx.BaseMvRxViewModel import com.airbnb.mvrx.BaseMvRxViewModel
import com.airbnb.mvrx.MvRxState import com.airbnb.mvrx.MvRxState


abstract class RiotViewModel<S : MvRxState>(initialState: S) abstract class VectorViewModel<S : MvRxState>(initialState: S)
: BaseMvRxViewModel<S>(initialState, debugMode = false) : BaseMvRxViewModel<S>(initialState, debugMode = false)

View File

@ -18,12 +18,12 @@ package im.vector.riotredesign.features


import android.os.Bundle import android.os.Bundle
import im.vector.matrix.android.api.Matrix import im.vector.matrix.android.api.Matrix
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import im.vector.riotredesign.features.home.HomeActivity import im.vector.riotredesign.features.home.HomeActivity
import im.vector.riotredesign.features.login.LoginActivity import im.vector.riotredesign.features.login.LoginActivity




class MainActivity : RiotActivity() { class MainActivity : VectorBaseActivity() {


private val authenticator = Matrix.getInstance().authenticator() private val authenticator = Matrix.getInstance().authenticator()



View File

@ -33,8 +33,8 @@ import im.vector.riotredesign.core.extensions.hideKeyboard
import im.vector.riotredesign.core.extensions.observeEvent import im.vector.riotredesign.core.extensions.observeEvent
import im.vector.riotredesign.core.extensions.replaceFragment import im.vector.riotredesign.core.extensions.replaceFragment
import im.vector.riotredesign.core.platform.OnBackPressed import im.vector.riotredesign.core.platform.OnBackPressed
import im.vector.riotredesign.core.platform.RiotActivity
import im.vector.riotredesign.core.platform.ToolbarConfigurable import im.vector.riotredesign.core.platform.ToolbarConfigurable
import im.vector.riotredesign.core.platform.VectorBaseActivity
import im.vector.riotredesign.features.home.room.detail.LoadingRoomDetailFragment import im.vector.riotredesign.features.home.room.detail.LoadingRoomDetailFragment
import im.vector.riotredesign.features.rageshake.BugReporter import im.vector.riotredesign.features.rageshake.BugReporter
import im.vector.riotredesign.features.rageshake.VectorUncaughtExceptionHandler import im.vector.riotredesign.features.rageshake.VectorUncaughtExceptionHandler
@ -46,7 +46,7 @@ import org.koin.android.scope.ext.android.bindScope
import org.koin.android.scope.ext.android.getOrCreateScope import org.koin.android.scope.ext.android.getOrCreateScope




class HomeActivity : RiotActivity(), ToolbarConfigurable { class HomeActivity : VectorBaseActivity(), ToolbarConfigurable {


private val homeActivityViewModel: HomeActivityViewModel by viewModel() private val homeActivityViewModel: HomeActivityViewModel by viewModel()
private val homeNavigator by inject<HomeNavigator>() private val homeNavigator by inject<HomeNavigator>()

View File

@ -24,7 +24,7 @@ import com.airbnb.mvrx.ViewModelContext
import im.vector.matrix.android.api.Matrix import im.vector.matrix.android.api.Matrix
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.matrix.rx.rx import im.vector.matrix.rx.rx
import im.vector.riotredesign.core.platform.RiotViewModel import im.vector.riotredesign.core.platform.VectorViewModel
import im.vector.riotredesign.core.utils.LiveEvent import im.vector.riotredesign.core.utils.LiveEvent
import im.vector.riotredesign.features.home.room.list.RoomSelectionRepository import im.vector.riotredesign.features.home.room.list.RoomSelectionRepository
import io.reactivex.rxkotlin.subscribeBy import io.reactivex.rxkotlin.subscribeBy
@ -35,7 +35,7 @@ class EmptyState : MvRxState
class HomeActivityViewModel(state: EmptyState, class HomeActivityViewModel(state: EmptyState,
private val session: Session, private val session: Session,
roomSelectionRepository: RoomSelectionRepository roomSelectionRepository: RoomSelectionRepository
) : RiotViewModel<EmptyState>(state) { ) : VectorViewModel<EmptyState>(state) {


companion object : MvRxViewModelFactory<HomeActivityViewModel, EmptyState> { companion object : MvRxViewModelFactory<HomeActivityViewModel, EmptyState> {



View File

@ -19,11 +19,11 @@ package im.vector.riotredesign.features.home
import android.os.Bundle import android.os.Bundle
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.extensions.replaceChildFragment import im.vector.riotredesign.core.extensions.replaceChildFragment
import im.vector.riotredesign.core.platform.RiotFragment import im.vector.riotredesign.core.platform.VectorBaseFragment
import im.vector.riotredesign.features.home.group.GroupListFragment import im.vector.riotredesign.features.home.group.GroupListFragment
import im.vector.riotredesign.features.home.room.list.RoomListFragment import im.vector.riotredesign.features.home.room.list.RoomListFragment


class HomeDrawerFragment : RiotFragment() { class HomeDrawerFragment : VectorBaseFragment() {


companion object { companion object {



View File

@ -22,15 +22,15 @@ import com.airbnb.mvrx.Success
import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.fragmentViewModel
import im.vector.matrix.android.api.session.group.model.GroupSummary import im.vector.matrix.android.api.session.group.model.GroupSummary
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.platform.RiotFragment
import im.vector.riotredesign.core.platform.StateView import im.vector.riotredesign.core.platform.StateView
import im.vector.riotredesign.core.platform.VectorBaseFragment
import im.vector.riotredesign.features.home.HomeModule import im.vector.riotredesign.features.home.HomeModule
import kotlinx.android.synthetic.main.fragment_group_list.* import kotlinx.android.synthetic.main.fragment_group_list.*
import org.koin.android.ext.android.inject import org.koin.android.ext.android.inject
import org.koin.android.scope.ext.android.bindScope import org.koin.android.scope.ext.android.bindScope
import org.koin.android.scope.ext.android.getOrCreateScope import org.koin.android.scope.ext.android.getOrCreateScope


class GroupListFragment : RiotFragment(), GroupSummaryController.Callback { class GroupListFragment : VectorBaseFragment(), GroupSummaryController.Callback {


companion object { companion object {
fun newInstance(): GroupListFragment { fun newInstance(): GroupListFragment {

View File

@ -21,13 +21,13 @@ import com.airbnb.mvrx.MvRxViewModelFactory
import com.airbnb.mvrx.ViewModelContext import com.airbnb.mvrx.ViewModelContext
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.matrix.rx.rx import im.vector.matrix.rx.rx
import im.vector.riotredesign.core.platform.RiotViewModel import im.vector.riotredesign.core.platform.VectorViewModel
import org.koin.android.ext.android.get import org.koin.android.ext.android.get


class GroupListViewModel(initialState: GroupListViewState, class GroupListViewModel(initialState: GroupListViewState,
private val selectedGroupHolder: SelectedGroupStore, private val selectedGroupHolder: SelectedGroupStore,
private val session: Session private val session: Session
) : RiotViewModel<GroupListViewState>(initialState) { ) : VectorViewModel<GroupListViewState>(initialState) {


companion object : MvRxViewModelFactory<GroupListViewModel, GroupListViewState> { companion object : MvRxViewModelFactory<GroupListViewModel, GroupListViewState> {



View File

@ -20,13 +20,13 @@ import android.widget.ImageView
import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass import com.airbnb.epoxy.EpoxyModelClass
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.core.platform.CheckableFrameLayout import im.vector.riotredesign.core.platform.CheckableFrameLayout
import im.vector.riotredesign.features.home.AvatarRenderer import im.vector.riotredesign.features.home.AvatarRenderer


@EpoxyModelClass(layout = R.layout.item_group) @EpoxyModelClass(layout = R.layout.item_group)
abstract class GroupSummaryItem : RiotEpoxyModel<GroupSummaryItem.Holder>() { abstract class GroupSummaryItem : VectorEpoxyModel<GroupSummaryItem.Holder>() {


@EpoxyAttribute lateinit var groupName: CharSequence @EpoxyAttribute lateinit var groupName: CharSequence
@EpoxyAttribute var avatarUrl: String? = null @EpoxyAttribute var avatarUrl: String? = null
@ -40,7 +40,7 @@ abstract class GroupSummaryItem : RiotEpoxyModel<GroupSummaryItem.Holder>() {
AvatarRenderer.render(avatarUrl, groupName.toString(), holder.avatarImageView) AvatarRenderer.render(avatarUrl, groupName.toString(), holder.avatarImageView)
} }


class Holder : RiotEpoxyHolder() { class Holder : VectorEpoxyHolder() {
val avatarImageView by bind<ImageView>(R.id.groupAvatarImageView) val avatarImageView by bind<ImageView>(R.id.groupAvatarImageView)
val rootView by bind<CheckableFrameLayout>(R.id.itemGroupLayout) val rootView by bind<CheckableFrameLayout>(R.id.itemGroupLayout)
} }

View File

@ -20,10 +20,10 @@ import android.graphics.drawable.AnimationDrawable
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.platform.RiotFragment import im.vector.riotredesign.core.platform.VectorBaseFragment
import kotlinx.android.synthetic.main.fragment_loading_room_detail.* import kotlinx.android.synthetic.main.fragment_loading_room_detail.*


class LoadingRoomDetailFragment : RiotFragment() { class LoadingRoomDetailFragment : VectorBaseFragment() {


companion object { companion object {



View File

@ -26,8 +26,8 @@ import com.airbnb.mvrx.fragmentViewModel
import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.matrix.android.api.session.room.timeline.TimelineEvent
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.LayoutManagerStateRestorer import im.vector.riotredesign.core.epoxy.LayoutManagerStateRestorer
import im.vector.riotredesign.core.platform.RiotFragment
import im.vector.riotredesign.core.platform.ToolbarConfigurable import im.vector.riotredesign.core.platform.ToolbarConfigurable
import im.vector.riotredesign.core.platform.VectorBaseFragment
import im.vector.riotredesign.features.home.AvatarRenderer import im.vector.riotredesign.features.home.AvatarRenderer
import im.vector.riotredesign.features.home.HomeModule import im.vector.riotredesign.features.home.HomeModule
import im.vector.riotredesign.features.home.HomePermalinkHandler import im.vector.riotredesign.features.home.HomePermalinkHandler
@ -50,7 +50,7 @@ data class RoomDetailArgs(
) : Parcelable ) : Parcelable




class RoomDetailFragment : RiotFragment(), TimelineEventController.Callback { class RoomDetailFragment : VectorBaseFragment(), TimelineEventController.Callback {


companion object { companion object {


@ -86,7 +86,7 @@ class RoomDetailFragment : RiotFragment(), TimelineEventController.Callback {
// PRIVATE METHODS ***************************************************************************** // PRIVATE METHODS *****************************************************************************


private fun setupToolbar() { private fun setupToolbar() {
val parentActivity = riotActivity val parentActivity = vectorBaseActivity
if (parentActivity is ToolbarConfigurable) { if (parentActivity is ToolbarConfigurable) {
parentActivity.configure(toolbar) parentActivity.configure(toolbar)
} }
@ -153,7 +153,7 @@ class RoomDetailFragment : RiotFragment(), TimelineEventController.Callback {
} }


override fun onMediaClicked(mediaData: MediaContentRenderer.Data, view: View) { override fun onMediaClicked(mediaData: MediaContentRenderer.Data, view: View) {
val intent = MediaViewerActivity.newIntent(riotActivity, mediaData) val intent = MediaViewerActivity.newIntent(vectorBaseActivity, mediaData)
startActivity(intent) startActivity(intent)
} }



View File

@ -23,7 +23,7 @@ import im.vector.matrix.android.api.MatrixCallback
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.matrix.android.api.session.events.model.Event import im.vector.matrix.android.api.session.events.model.Event
import im.vector.matrix.rx.rx import im.vector.matrix.rx.rx
import im.vector.riotredesign.core.platform.RiotViewModel import im.vector.riotredesign.core.platform.VectorViewModel
import im.vector.riotredesign.features.home.room.VisibleRoomStore import im.vector.riotredesign.features.home.room.VisibleRoomStore
import im.vector.riotredesign.features.home.room.detail.timeline.helper.TimelineDisplayableEvents import im.vector.riotredesign.features.home.room.detail.timeline.helper.TimelineDisplayableEvents
import io.reactivex.rxkotlin.subscribeBy import io.reactivex.rxkotlin.subscribeBy
@ -33,7 +33,7 @@ import java.util.concurrent.TimeUnit
class RoomDetailViewModel(initialState: RoomDetailViewState, class RoomDetailViewModel(initialState: RoomDetailViewState,
private val session: Session, private val session: Session,
private val visibleRoomHolder: VisibleRoomStore private val visibleRoomHolder: VisibleRoomStore
) : RiotViewModel<RoomDetailViewState>(initialState) { ) : VectorViewModel<RoomDetailViewState>(initialState) {


private val room = session.getRoom(initialState.roomId)!! private val room = session.getRoom(initialState.roomId)!!
private val roomId = initialState.roomId private val roomId = initialState.roomId

View File

@ -28,7 +28,7 @@ import com.airbnb.epoxy.VisibilityState
import im.vector.matrix.android.api.session.room.timeline.Timeline import im.vector.matrix.android.api.session.room.timeline.Timeline
import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.matrix.android.api.session.room.timeline.TimelineEvent
import im.vector.riotredesign.core.epoxy.LoadingItemModel_ import im.vector.riotredesign.core.epoxy.LoadingItemModel_
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.core.extensions.localDateTime import im.vector.riotredesign.core.extensions.localDateTime
import im.vector.riotredesign.features.home.room.detail.timeline.factory.TimelineItemFactory import im.vector.riotredesign.features.home.room.detail.timeline.factory.TimelineItemFactory
import im.vector.riotredesign.features.home.room.detail.timeline.helper.* import im.vector.riotredesign.features.home.room.detail.timeline.helper.*
@ -189,7 +189,7 @@ class TimelineEventController(private val dateFormatter: TimelineDateFormatter,


private class TimelineEventVisibilityStateChangedListener(private val callback: TimelineEventController.Callback?, private class TimelineEventVisibilityStateChangedListener(private val callback: TimelineEventController.Callback?,
private val event: TimelineEvent) private val event: TimelineEvent)
: RiotEpoxyModel.OnVisibilityStateChangedListener { : VectorEpoxyModel.OnVisibilityStateChangedListener {


override fun onVisibilityStateChanged(visibilityState: Int) { override fun onVisibilityStateChanged(visibilityState: Int) {
if (visibilityState == VisibilityState.VISIBLE) { if (visibilityState == VisibilityState.VISIBLE) {

View File

@ -26,7 +26,7 @@ import im.vector.matrix.android.api.session.events.model.toModel
import im.vector.matrix.android.api.session.room.model.message.* import im.vector.matrix.android.api.session.room.model.message.*
import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.matrix.android.api.session.room.timeline.TimelineEvent
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.core.extensions.localDateTime import im.vector.riotredesign.core.extensions.localDateTime
import im.vector.riotredesign.core.resources.ColorProvider import im.vector.riotredesign.core.resources.ColorProvider
import im.vector.riotredesign.features.home.room.detail.timeline.TimelineEventController import im.vector.riotredesign.features.home.room.detail.timeline.TimelineEventController
@ -45,7 +45,7 @@ class MessageItemFactory(private val colorProvider: ColorProvider,
fun create(event: TimelineEvent, fun create(event: TimelineEvent,
nextEvent: TimelineEvent?, nextEvent: TimelineEvent?,
callback: TimelineEventController.Callback? callback: TimelineEventController.Callback?
): RiotEpoxyModel<*>? { ): VectorEpoxyModel<*>? {


val roomMember = event.roomMember val roomMember = event.roomMember
val nextRoomMember = nextEvent?.roomMember val nextRoomMember = nextEvent?.roomMember

View File

@ -19,7 +19,7 @@ package im.vector.riotredesign.features.home.room.detail.timeline.factory
import im.vector.matrix.android.api.session.events.model.EventType import im.vector.matrix.android.api.session.events.model.EventType
import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.matrix.android.api.session.room.timeline.TimelineEvent
import im.vector.riotredesign.core.epoxy.EmptyItem_ import im.vector.riotredesign.core.epoxy.EmptyItem_
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.features.home.room.detail.timeline.TimelineEventController import im.vector.riotredesign.features.home.room.detail.timeline.TimelineEventController


class TimelineItemFactory(private val messageItemFactory: MessageItemFactory, class TimelineItemFactory(private val messageItemFactory: MessageItemFactory,
@ -32,7 +32,7 @@ class TimelineItemFactory(private val messageItemFactory: MessageItemFactory,


fun create(event: TimelineEvent, fun create(event: TimelineEvent,
nextEvent: TimelineEvent?, nextEvent: TimelineEvent?,
callback: TimelineEventController.Callback?): RiotEpoxyModel<*> { callback: TimelineEventController.Callback?): VectorEpoxyModel<*> {


val computedModel = try { val computedModel = try {
when (event.root.type) { when (event.root.type) {

View File

@ -19,11 +19,11 @@ package im.vector.riotredesign.features.home.room.detail.timeline.item
import android.view.View import android.view.View
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.features.home.AvatarRenderer import im.vector.riotredesign.features.home.AvatarRenderer


abstract class AbsMessageItem<H : AbsMessageItem.Holder> : RiotEpoxyModel<H>() { abstract class AbsMessageItem<H : AbsMessageItem.Holder> : VectorEpoxyModel<H>() {


abstract val informationData: MessageInformationData abstract val informationData: MessageInformationData


@ -42,7 +42,7 @@ abstract class AbsMessageItem<H : AbsMessageItem.Holder> : RiotEpoxyModel<H>() {
} }
} }


abstract class Holder : RiotEpoxyHolder() { abstract class Holder : VectorEpoxyHolder() {
abstract val avatarImageView: ImageView abstract val avatarImageView: ImageView
abstract val memberNameView: TextView abstract val memberNameView: TextView
abstract val timeView: TextView abstract val timeView: TextView

View File

@ -21,7 +21,7 @@ import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass import com.airbnb.epoxy.EpoxyModelClass
import com.airbnb.epoxy.EpoxyModelWithHolder import com.airbnb.epoxy.EpoxyModelWithHolder
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder


@EpoxyModelClass(layout = R.layout.item_timeline_event_day_separator) @EpoxyModelClass(layout = R.layout.item_timeline_event_day_separator)
abstract class DaySeparatorItem : EpoxyModelWithHolder<DaySeparatorItem.Holder>() { abstract class DaySeparatorItem : EpoxyModelWithHolder<DaySeparatorItem.Holder>() {
@ -32,7 +32,7 @@ abstract class DaySeparatorItem : EpoxyModelWithHolder<DaySeparatorItem.Holder>(
holder.dayTextView.text = formattedDay holder.dayTextView.text = formattedDay
} }


class Holder : RiotEpoxyHolder() { class Holder : VectorEpoxyHolder() {
val dayTextView by bind<TextView>(R.id.itemDayTextView) val dayTextView by bind<TextView>(R.id.itemDayTextView)
} }
} }

View File

@ -20,11 +20,11 @@ import android.widget.TextView
import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass import com.airbnb.epoxy.EpoxyModelClass
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel


@EpoxyModelClass(layout = R.layout.item_timeline_event_default) @EpoxyModelClass(layout = R.layout.item_timeline_event_default)
abstract class DefaultItem : RiotEpoxyModel<DefaultItem.Holder>() { abstract class DefaultItem : VectorEpoxyModel<DefaultItem.Holder>() {


@EpoxyAttribute var text: CharSequence? = null @EpoxyAttribute var text: CharSequence? = null


@ -32,7 +32,7 @@ abstract class DefaultItem : RiotEpoxyModel<DefaultItem.Holder>() {
holder.messageView.text = text holder.messageView.text = text
} }


class Holder : RiotEpoxyHolder() { class Holder : VectorEpoxyHolder() {
val messageView by bind<TextView>(R.id.stateMessageView) val messageView by bind<TextView>(R.id.stateMessageView)
} }
} }

View File

@ -21,12 +21,12 @@ import android.widget.TextView
import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass import com.airbnb.epoxy.EpoxyModelClass
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.features.home.AvatarRenderer import im.vector.riotredesign.features.home.AvatarRenderer


@EpoxyModelClass(layout = R.layout.item_timeline_event_notice) @EpoxyModelClass(layout = R.layout.item_timeline_event_notice)
abstract class NoticeItem : RiotEpoxyModel<NoticeItem.Holder>() { abstract class NoticeItem : VectorEpoxyModel<NoticeItem.Holder>() {


@EpoxyAttribute var noticeText: CharSequence? = null @EpoxyAttribute var noticeText: CharSequence? = null
@EpoxyAttribute var avatarUrl: String? = null @EpoxyAttribute var avatarUrl: String? = null
@ -37,7 +37,7 @@ abstract class NoticeItem : RiotEpoxyModel<NoticeItem.Holder>() {
AvatarRenderer.render(avatarUrl, memberName?.toString(), holder.avatarImageView) AvatarRenderer.render(avatarUrl, memberName?.toString(), holder.avatarImageView)
} }


class Holder : RiotEpoxyHolder() { class Holder : VectorEpoxyHolder() {
val avatarImageView by bind<ImageView>(R.id.itemNoticeAvatarView) val avatarImageView by bind<ImageView>(R.id.itemNoticeAvatarView)
val noticeTextView by bind<TextView>(R.id.itemNoticeTextView) val noticeTextView by bind<TextView>(R.id.itemNoticeTextView)
} }

View File

@ -23,11 +23,11 @@ import androidx.core.graphics.drawable.DrawableCompat
import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass import com.airbnb.epoxy.EpoxyModelClass
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel


@EpoxyModelClass(layout = R.layout.item_room_category) @EpoxyModelClass(layout = R.layout.item_room_category)
abstract class RoomCategoryItem : RiotEpoxyModel<RoomCategoryItem.Holder>() { abstract class RoomCategoryItem : VectorEpoxyModel<RoomCategoryItem.Holder>() {


@EpoxyAttribute lateinit var title: CharSequence @EpoxyAttribute lateinit var title: CharSequence
@EpoxyAttribute var expanded: Boolean = false @EpoxyAttribute var expanded: Boolean = false
@ -48,7 +48,7 @@ abstract class RoomCategoryItem : RiotEpoxyModel<RoomCategoryItem.Holder>() {
} }




class Holder : RiotEpoxyHolder() { class Holder : VectorEpoxyHolder() {
val unreadCounterBadgeView by bind<UnreadCounterBadgeView>(R.id.roomCategoryUnreadCounterBadgeView) val unreadCounterBadgeView by bind<UnreadCounterBadgeView>(R.id.roomCategoryUnreadCounterBadgeView)
val titleView by bind<TextView>(R.id.roomCategoryTitleView) val titleView by bind<TextView>(R.id.roomCategoryTitleView)
val rootView by bind<ViewGroup>(R.id.roomCategoryRootView) val rootView by bind<ViewGroup>(R.id.roomCategoryRootView)

View File

@ -30,8 +30,8 @@ import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.LayoutManagerStateRestorer import im.vector.riotredesign.core.epoxy.LayoutManagerStateRestorer
import im.vector.riotredesign.core.extensions.observeEvent import im.vector.riotredesign.core.extensions.observeEvent
import im.vector.riotredesign.core.extensions.setupAsSearch import im.vector.riotredesign.core.extensions.setupAsSearch
import im.vector.riotredesign.core.platform.RiotFragment
import im.vector.riotredesign.core.platform.StateView import im.vector.riotredesign.core.platform.StateView
import im.vector.riotredesign.core.platform.VectorBaseFragment
import im.vector.riotredesign.features.home.HomeModule import im.vector.riotredesign.features.home.HomeModule
import im.vector.riotredesign.features.home.HomeNavigator import im.vector.riotredesign.features.home.HomeNavigator
import kotlinx.android.synthetic.main.fragment_room_list.* import kotlinx.android.synthetic.main.fragment_room_list.*
@ -39,7 +39,7 @@ import org.koin.android.ext.android.inject
import org.koin.android.scope.ext.android.bindScope import org.koin.android.scope.ext.android.bindScope
import org.koin.android.scope.ext.android.getOrCreateScope import org.koin.android.scope.ext.android.getOrCreateScope


class RoomListFragment : RiotFragment(), RoomSummaryController.Callback { class RoomListFragment : VectorBaseFragment(), RoomSummaryController.Callback {


companion object { companion object {
fun newInstance(): RoomListFragment { fun newInstance(): RoomListFragment {

View File

@ -27,7 +27,7 @@ import im.vector.matrix.android.api.session.group.model.GroupSummary
import im.vector.matrix.android.api.session.room.model.RoomSummary import im.vector.matrix.android.api.session.room.model.RoomSummary
import im.vector.matrix.android.api.session.room.model.tag.RoomTag import im.vector.matrix.android.api.session.room.model.tag.RoomTag
import im.vector.matrix.rx.rx import im.vector.matrix.rx.rx
import im.vector.riotredesign.core.platform.RiotViewModel import im.vector.riotredesign.core.platform.VectorViewModel
import im.vector.riotredesign.core.utils.LiveEvent import im.vector.riotredesign.core.utils.LiveEvent
import im.vector.riotredesign.features.home.group.SelectedGroupStore import im.vector.riotredesign.features.home.group.SelectedGroupStore
import im.vector.riotredesign.features.home.room.VisibleRoomStore import im.vector.riotredesign.features.home.room.VisibleRoomStore
@ -44,7 +44,7 @@ class RoomListViewModel(initialState: RoomListViewState,
private val visibleRoomHolder: VisibleRoomStore, private val visibleRoomHolder: VisibleRoomStore,
private val roomSelectionRepository: RoomSelectionRepository, private val roomSelectionRepository: RoomSelectionRepository,
private val roomSummaryComparator: RoomSummaryComparator) private val roomSummaryComparator: RoomSummaryComparator)
: RiotViewModel<RoomListViewState>(initialState) { : VectorViewModel<RoomListViewState>(initialState) {


companion object : MvRxViewModelFactory<RoomListViewModel, RoomListViewState> { companion object : MvRxViewModelFactory<RoomListViewModel, RoomListViewState> {



View File

@ -21,14 +21,14 @@ import android.widget.TextView
import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass import com.airbnb.epoxy.EpoxyModelClass
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.RiotEpoxyHolder import im.vector.riotredesign.core.epoxy.VectorEpoxyHolder
import im.vector.riotredesign.core.epoxy.RiotEpoxyModel import im.vector.riotredesign.core.epoxy.VectorEpoxyModel
import im.vector.riotredesign.core.platform.CheckableFrameLayout import im.vector.riotredesign.core.platform.CheckableFrameLayout
import im.vector.riotredesign.features.home.AvatarRenderer import im.vector.riotredesign.features.home.AvatarRenderer




@EpoxyModelClass(layout = R.layout.item_room) @EpoxyModelClass(layout = R.layout.item_room)
abstract class RoomSummaryItem : RiotEpoxyModel<RoomSummaryItem.Holder>() { abstract class RoomSummaryItem : VectorEpoxyModel<RoomSummaryItem.Holder>() {


@EpoxyAttribute lateinit var roomName: CharSequence @EpoxyAttribute lateinit var roomName: CharSequence
@EpoxyAttribute var avatarUrl: String? = null @EpoxyAttribute var avatarUrl: String? = null
@ -47,7 +47,7 @@ abstract class RoomSummaryItem : RiotEpoxyModel<RoomSummaryItem.Holder>() {
AvatarRenderer.render(avatarUrl, roomName.toString(), holder.avatarImageView) AvatarRenderer.render(avatarUrl, roomName.toString(), holder.avatarImageView)
} }


class Holder : RiotEpoxyHolder() { class Holder : VectorEpoxyHolder() {
val unreadCounterBadgeView by bind<UnreadCounterBadgeView>(R.id.roomUnreadCounterBadgeView) val unreadCounterBadgeView by bind<UnreadCounterBadgeView>(R.id.roomUnreadCounterBadgeView)
val titleView by bind<TextView>(R.id.roomNameView) val titleView by bind<TextView>(R.id.roomNameView)
val avatarImageView by bind<ImageView>(R.id.roomAvatarImageView) val avatarImageView by bind<ImageView>(R.id.roomAvatarImageView)

View File

@ -28,7 +28,7 @@ import im.vector.matrix.android.api.MatrixCallback
import im.vector.matrix.android.api.auth.data.HomeServerConnectionConfig import im.vector.matrix.android.api.auth.data.HomeServerConnectionConfig
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import im.vector.riotredesign.features.home.HomeActivity import im.vector.riotredesign.features.home.HomeActivity
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.functions.Function3 import io.reactivex.functions.Function3
@ -39,7 +39,7 @@ private const val DEFAULT_HOME_SERVER_URI = "https://matrix.org"
private const val DEFAULT_IDENTITY_SERVER_URI = "https://vector.im" private const val DEFAULT_IDENTITY_SERVER_URI = "https://vector.im"
private const val DEFAULT_ANTIVIRUS_SERVER_URI = "https://matrix.org" private const val DEFAULT_ANTIVIRUS_SERVER_URI = "https://matrix.org"


class LoginActivity : RiotActivity() { class LoginActivity : VectorBaseActivity() {


private val authenticator = Matrix.getInstance().authenticator() private val authenticator = Matrix.getInstance().authenticator()



View File

@ -24,11 +24,11 @@ import android.os.Bundle
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import com.github.piasy.biv.indicator.progresspie.ProgressPieIndicator import com.github.piasy.biv.indicator.progresspie.ProgressPieIndicator
import com.github.piasy.biv.view.GlideImageViewFactory import com.github.piasy.biv.view.GlideImageViewFactory
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import kotlinx.android.synthetic.main.activity_media_viewer.* import kotlinx.android.synthetic.main.activity_media_viewer.*




class MediaViewerActivity : RiotActivity() { class MediaViewerActivity : VectorBaseActivity() {


override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)

View File

@ -26,13 +26,13 @@ import butterknife.BindView
import butterknife.OnCheckedChanged import butterknife.OnCheckedChanged
import butterknife.OnTextChanged import butterknife.OnTextChanged
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import timber.log.Timber import timber.log.Timber


/** /**
* Form to send a bug report * Form to send a bug report
*/ */
class BugReportActivity : RiotActivity() { class BugReportActivity : VectorBaseActivity() {


/* ========================================================================================== /* ==========================================================================================
* UI * UI

View File

@ -23,13 +23,13 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import org.koin.android.ext.android.inject import org.koin.android.ext.android.inject


/** /**
* Displays the client settings. * Displays the client settings.
*/ */
class VectorSettingsActivity : RiotActivity(), class VectorSettingsActivity : VectorBaseActivity(),
PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, PreferenceFragmentCompat.OnPreferenceStartFragmentCallback,
FragmentManager.OnBackStackChangedListener, FragmentManager.OnBackStackChangedListener,
VectorSettingsFragmentInteractionListener { VectorSettingsFragmentInteractionListener {

View File

@ -28,7 +28,7 @@ import androidx.preference.PreferenceManager
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.extensions.withArgs import im.vector.riotredesign.core.extensions.withArgs
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import im.vector.riotredesign.core.platform.VectorPreferenceFragment import im.vector.riotredesign.core.platform.VectorPreferenceFragment
import im.vector.riotredesign.core.preference.BingRule import im.vector.riotredesign.core.preference.BingRule
import im.vector.riotredesign.core.preference.BingRulePreference import im.vector.riotredesign.core.preference.BingRulePreference
@ -177,7 +177,7 @@ class VectorSettingsAdvancedNotificationPreferenceFragment : VectorPreferenceFra


override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
(activity as? RiotActivity)?.supportActionBar?.setTitle(R.string.settings_notification_advanced) (activity as? VectorBaseActivity)?.supportActionBar?.setTitle(R.string.settings_notification_advanced)
// find the view from parent activity // find the view from parent activity
mLoadingView = activity!!.findViewById(R.id.vector_settings_spinner_views) mLoadingView = activity!!.findViewById(R.id.vector_settings_spinner_views)



View File

@ -29,17 +29,17 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.transition.TransitionManager import androidx.transition.TransitionManager
import butterknife.BindView import butterknife.BindView
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.riotredesign.push.fcm.NotificationTroubleshootTestManagerFactory
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.extensions.withArgs import im.vector.riotredesign.core.extensions.withArgs
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import im.vector.riotredesign.core.platform.RiotFragment import im.vector.riotredesign.core.platform.VectorBaseFragment
import im.vector.riotredesign.features.rageshake.BugReporter import im.vector.riotredesign.features.rageshake.BugReporter
import im.vector.riotredesign.features.settings.troubleshoot.NotificationTroubleshootTestManager import im.vector.riotredesign.features.settings.troubleshoot.NotificationTroubleshootTestManager
import im.vector.riotredesign.features.settings.troubleshoot.TroubleshootTest import im.vector.riotredesign.features.settings.troubleshoot.TroubleshootTest
import im.vector.riotredesign.push.fcm.NotificationTroubleshootTestManagerFactory
import org.koin.android.ext.android.inject import org.koin.android.ext.android.inject


class VectorSettingsNotificationsTroubleshootFragment : RiotFragment() { class VectorSettingsNotificationsTroubleshootFragment : VectorBaseFragment() {


@BindView(R.id.troubleshoot_test_recycler_view) @BindView(R.id.troubleshoot_test_recycler_view)
lateinit var mRecyclerView: RecyclerView lateinit var mRecyclerView: RecyclerView
@ -163,7 +163,7 @@ class VectorSettingsNotificationsTroubleshootFragment : RiotFragment() {


override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
(activity as? RiotActivity)?.supportActionBar?.setTitle(R.string.settings_notification_troubleshoot) (activity as? VectorBaseActivity)?.supportActionBar?.setTitle(R.string.settings_notification_troubleshoot)
} }


override fun onAttach(context: Context) { override fun onAttach(context: Context) {

View File

@ -21,10 +21,10 @@ import androidx.appcompat.app.AlertDialog
import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.MatrixCallback
import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.Session
import im.vector.riotredesign.R import im.vector.riotredesign.R
import im.vector.riotredesign.core.platform.RiotActivity import im.vector.riotredesign.core.platform.VectorBaseActivity
import im.vector.riotredesign.features.MainActivity import im.vector.riotredesign.features.MainActivity


class SignOutUiWorker(val activity: RiotActivity) { class SignOutUiWorker(val activity: VectorBaseActivity) {


fun perform(session: Session) { fun perform(session: Session) {
if (SignOutViewModel.doYouNeedToBeDisplayed(session)) { if (SignOutViewModel.doYouNeedToBeDisplayed(session)) {