diff --git a/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt b/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt index ace13754aa..cf64c9b318 100644 --- a/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt +++ b/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt @@ -18,25 +18,22 @@ package im.vector.riotx.core.extensions import android.text.Editable import android.text.InputType -import android.text.TextWatcher import android.view.MotionEvent import android.view.View import android.view.inputmethod.EditorInfo import android.widget.EditText import androidx.annotation.DrawableRes import im.vector.riotx.R +import im.vector.riotx.core.platform.SimpleTextWatcher fun EditText.setupAsSearch(@DrawableRes searchIconRes: Int = R.drawable.ic_filter, @DrawableRes clearIconRes: Int = R.drawable.ic_x_green) { - addTextChangedListener(object : TextWatcher { - override fun afterTextChanged(editable: Editable?) { - val clearIcon = if (editable?.isNotEmpty() == true) clearIconRes else 0 + addTextChangedListener(object : SimpleTextWatcher() { + override fun afterTextChanged(s: Editable) { + val clearIcon = if (s.isNotEmpty()) clearIconRes else 0 setCompoundDrawablesWithIntrinsicBounds(searchIconRes, 0, clearIcon, 0) } - - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) = Unit - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) = Unit }) maxLines = 1 diff --git a/vector/src/main/java/im/vector/riotx/core/platform/ConfigurationViewModel.kt b/vector/src/main/java/im/vector/riotx/core/platform/ConfigurationViewModel.kt index bb2db5cbb5..dae8145f77 100644 --- a/vector/src/main/java/im/vector/riotx/core/platform/ConfigurationViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/core/platform/ConfigurationViewModel.kt @@ -19,6 +19,7 @@ package im.vector.riotx.core.platform import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel +import im.vector.riotx.core.extensions.postLiveEvent import im.vector.riotx.core.utils.LiveEvent import im.vector.riotx.features.configuration.VectorConfiguration import timber.log.Timber @@ -46,7 +47,7 @@ class ConfigurationViewModel @Inject constructor( if (newHash != currentConfigurationValue) { Timber.v("Configuration: recreate the Activity") currentConfigurationValue = newHash - _activityRestarter.postValue(LiveEvent(Unit)) + _activityRestarter.postLiveEvent(Unit) } } } diff --git a/vector/src/main/java/im/vector/riotx/core/platform/SimpleTextWatcher.kt b/vector/src/main/java/im/vector/riotx/core/platform/SimpleTextWatcher.kt index e54a6d29f2..946805567a 100644 --- a/vector/src/main/java/im/vector/riotx/core/platform/SimpleTextWatcher.kt +++ b/vector/src/main/java/im/vector/riotx/core/platform/SimpleTextWatcher.kt @@ -19,6 +19,7 @@ package im.vector.riotx.core.platform import android.text.Editable import android.text.TextWatcher + /** * TextWatcher with default no op implementation */ diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt index 8c40e5691d..b18892ac2e 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt @@ -24,11 +24,7 @@ import android.os.Bundle import android.view.View import androidx.appcompat.app.AlertDialog import androidx.lifecycle.ViewModelProviders -import com.airbnb.mvrx.Async -import com.airbnb.mvrx.Fail -import com.airbnb.mvrx.Loading -import com.airbnb.mvrx.Success -import com.airbnb.mvrx.viewModel +import com.airbnb.mvrx.* import im.vector.matrix.android.api.session.room.failure.CreateRoomFailure import im.vector.riotx.R import im.vector.riotx.core.di.ScreenComponent @@ -39,7 +35,6 @@ import im.vector.riotx.core.extensions.observeEvent import im.vector.riotx.core.platform.SimpleFragmentActivity import im.vector.riotx.core.platform.WaitingViewData import kotlinx.android.synthetic.main.activity.* -import timber.log.Timber import javax.inject.Inject class CreateDirectRoomActivity : SimpleFragmentActivity() { @@ -98,7 +93,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() { } else AlertDialog.Builder(this) .setMessage(errorFormatter.toHumanReadable(error)) - .setPositiveButton(R.string.ok) { dialog, id -> dialog.cancel() } + .setPositiveButton(R.string.ok, null) .show() } diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomViewModel.kt index b0fed9b8e8..a0d47dc037 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomViewModel.kt @@ -21,7 +21,9 @@ package im.vector.riotx.features.home.createdirect import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import arrow.core.Option -import com.airbnb.mvrx.* +import com.airbnb.mvrx.ActivityViewModelContext +import com.airbnb.mvrx.MvRxViewModelFactory +import com.airbnb.mvrx.ViewModelContext import com.jakewharton.rxrelay2.BehaviorRelay import com.squareup.inject.assisted.Assisted import com.squareup.inject.assisted.AssistedInject @@ -33,10 +35,8 @@ import im.vector.matrix.rx.rx import im.vector.riotx.core.extensions.postLiveEvent import im.vector.riotx.core.platform.VectorViewModel import im.vector.riotx.core.utils.LiveEvent -import io.reactivex.Observable import io.reactivex.Single import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.functions.BiFunction import java.util.concurrent.TimeUnit private typealias KnowUsersFilter = String @@ -103,7 +103,6 @@ class CreateDirectRoomViewModel @AssistedInject constructor(@Assisted .execute { copy(createAndInviteState = it) } - .disposeOnClear() } private fun handleRemoveSelectedUser(action: CreateDirectRoomActions.RemoveSelectedUser) = withState { state -> diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt index 5d10ab2c8a..5df4eef217 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt @@ -300,8 +300,9 @@ class RoomDetailFragment : composerLayout.collapse() } - private fun enterSpecialMode(event: TimelineEvent, @DrawableRes - iconRes: Int, useText: Boolean) { + private fun enterSpecialMode(event: TimelineEvent, + @DrawableRes iconRes: Int, + useText: Boolean) { commandAutocompletePolicy.enabled = false //switch to expanded bar composerLayout.composerRelatedMessageTitle.apply { diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt index 01675852c6..0fed679ed2 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt @@ -84,7 +84,7 @@ class RoomListViewModel @AssistedInject constructor(@Assisted initialState: Room // PRIVATE METHODS ***************************************************************************** private fun handleSelectRoom(action: RoomListActions.SelectRoom) { - _openRoomLiveData.postValue(LiveEvent(action.roomSummary.roomId)) + _openRoomLiveData.postLiveEvent(action.roomSummary.roomId) } private fun handleToggleCategory(action: RoomListActions.ToggleCategory) = setState {