mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-27 17:08:34 +03:00
ConversationsListController: clean up a bit
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
This commit is contained in:
parent
929d6b3964
commit
f148c0e3c0
1 changed files with 83 additions and 89 deletions
|
@ -27,7 +27,6 @@ import android.animation.AnimatorInflater
|
|||
import android.annotation.SuppressLint
|
||||
import android.app.SearchManager
|
||||
import android.content.Context
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.Bitmap
|
||||
|
@ -140,7 +139,6 @@ import org.greenrobot.eventbus.Subscribe
|
|||
import org.greenrobot.eventbus.ThreadMode
|
||||
import org.parceler.Parcels
|
||||
import retrofit2.HttpException
|
||||
import java.util.Collections
|
||||
import java.util.Objects
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
@ -292,7 +290,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
|
||||
private fun initSearchView() {
|
||||
if (activity != null) {
|
||||
val searchManager = activity!!.getSystemService(Context.SEARCH_SERVICE) as SearchManager
|
||||
val searchManager = activity!!.getSystemService(Context.SEARCH_SERVICE) as SearchManager?
|
||||
if (searchItem != null) {
|
||||
searchView = MenuItemCompat.getActionView(searchItem) as SearchView
|
||||
viewThemeUtils.themeSearchView(searchView!!)
|
||||
|
@ -351,7 +349,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
showSearchView(activity, searchView, searchItem)
|
||||
searchView!!.setQuery(adapter!!.getFilter(String::class.java), false)
|
||||
}
|
||||
activity.binding.searchText.setOnClickListener { v: View? ->
|
||||
activity.binding.searchText.setOnClickListener {
|
||||
showSearchView(activity, searchView, searchItem)
|
||||
viewThemeUtils.themeStatusBar(activity, searchView!!)
|
||||
}
|
||||
|
@ -372,8 +370,8 @@ class ConversationsListController(bundle: Bundle) :
|
|||
adapter!!.setHeadersShown(true)
|
||||
adapter!!.updateDataSet(searchableConversationItems, false)
|
||||
adapter!!.showAllHeaders()
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isEnabled = false
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isEnabled = false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
@ -385,10 +383,10 @@ class ConversationsListController(bundle: Bundle) :
|
|||
if (searchHelper != null) {
|
||||
// cancel any pending searches
|
||||
searchHelper!!.cancelSearch()
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = false
|
||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||
}
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isEnabled = true
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isEnabled = true
|
||||
}
|
||||
searchView!!.onActionViewCollapsed()
|
||||
val activity = getActivity() as MainActivity?
|
||||
|
@ -403,7 +401,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
viewThemeUtils.resetStatusBar(activity, activity.binding.searchToolbar)
|
||||
}
|
||||
}
|
||||
val layoutManager = binding.recyclerView!!.layoutManager as SmoothScrollLinearLayoutManager?
|
||||
val layoutManager = binding.recyclerView.layoutManager as SmoothScrollLinearLayoutManager?
|
||||
layoutManager?.scrollToPositionWithOffset(0, 0)
|
||||
return true
|
||||
}
|
||||
|
@ -491,21 +489,21 @@ class ConversationsListController(bundle: Bundle) :
|
|||
}
|
||||
if (adapterWasNull) {
|
||||
adapterWasNull = false
|
||||
binding.loadingContent!!.visibility = View.GONE
|
||||
binding.loadingContent.visibility = View.GONE
|
||||
}
|
||||
if (ocs!!.data!!.size > 0) {
|
||||
if (binding.emptyLayout!!.visibility != View.GONE) {
|
||||
binding.emptyLayout!!.visibility = View.GONE
|
||||
if (ocs!!.data!!.isNotEmpty()) {
|
||||
if (binding.emptyLayout.visibility != View.GONE) {
|
||||
binding.emptyLayout.visibility = View.GONE
|
||||
}
|
||||
if (binding.swipeRefreshLayoutView!!.visibility != View.VISIBLE) {
|
||||
binding.swipeRefreshLayoutView!!.visibility = View.VISIBLE
|
||||
if (binding.swipeRefreshLayoutView.visibility != View.VISIBLE) {
|
||||
binding.swipeRefreshLayoutView.visibility = View.VISIBLE
|
||||
}
|
||||
} else {
|
||||
if (binding.emptyLayout!!.visibility != View.VISIBLE) {
|
||||
binding.emptyLayout!!.visibility = View.VISIBLE
|
||||
if (binding.emptyLayout.visibility != View.VISIBLE) {
|
||||
binding.emptyLayout.visibility = View.VISIBLE
|
||||
}
|
||||
if (binding.swipeRefreshLayoutView!!.visibility != View.GONE) {
|
||||
binding.swipeRefreshLayoutView!!.visibility = View.GONE
|
||||
if (binding.swipeRefreshLayoutView.visibility != View.GONE) {
|
||||
binding.swipeRefreshLayoutView.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
for (conversation in ocs.data!!) {
|
||||
|
@ -515,8 +513,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
) {
|
||||
continue
|
||||
}
|
||||
var headerTitle: String
|
||||
headerTitle = resources!!.getString(R.string.conversations)
|
||||
val headerTitle: String = resources!!.getString(R.string.conversations)
|
||||
var genericTextHeaderItem: GenericTextHeaderItem
|
||||
if (!callHeaderItems.containsKey(headerTitle)) {
|
||||
genericTextHeaderItem = GenericTextHeaderItem(headerTitle, viewThemeUtils)
|
||||
|
@ -547,31 +544,31 @@ class ConversationsListController(bundle: Bundle) :
|
|||
adapter!!.updateDataSet(conversationItems, false)
|
||||
Handler().postDelayed({ checkToShowUnreadBubble() }, UNREAD_BUBBLE_DELAY.toLong())
|
||||
fetchOpenConversations(apiVersion)
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = false
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||
}
|
||||
}, { throwable: Throwable ->
|
||||
handleHttpExceptions(throwable)
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = false
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||
}
|
||||
dispose(roomsQueryDisposable)
|
||||
}) {
|
||||
dispose(roomsQueryDisposable)
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = false
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||
}
|
||||
isRefreshing = false
|
||||
}
|
||||
}
|
||||
|
||||
private fun sortConversations(conversationItems: List<AbstractFlexibleItem<*>>) {
|
||||
Collections.sort(conversationItems) { o1: AbstractFlexibleItem<*>, o2: AbstractFlexibleItem<*> ->
|
||||
val (_, _, _, _, _, _, _, _, _, _, _, _, _, favorite, lastActivity) = (o1 as ConversationItem).model
|
||||
val (_, _, _, _, _, _, _, _, _, _, _, _, _, favorite1, lastActivity1) = (o2 as ConversationItem).model
|
||||
private fun sortConversations(conversationItems: MutableList<AbstractFlexibleItem<*>>) {
|
||||
conversationItems.sortWith { o1: AbstractFlexibleItem<*>, o2: AbstractFlexibleItem<*> ->
|
||||
val conversation1 = (o1 as ConversationItem).model
|
||||
val conversation2 = (o2 as ConversationItem).model
|
||||
CompareToBuilder()
|
||||
.append(favorite1, favorite)
|
||||
.append(lastActivity1, lastActivity)
|
||||
.append(conversation2.favorite, conversation1.favorite)
|
||||
.append(conversation2.lastActivity, conversation1.lastActivity)
|
||||
.toComparison()
|
||||
}
|
||||
}
|
||||
|
@ -643,10 +640,10 @@ class ConversationsListController(bundle: Bundle) :
|
|||
@SuppressLint("ClickableViewAccessibility")
|
||||
private fun prepareViews() {
|
||||
layoutManager = SmoothScrollLinearLayoutManager(Objects.requireNonNull(activity))
|
||||
binding.recyclerView!!.layoutManager = layoutManager
|
||||
binding.recyclerView!!.setHasFixedSize(true)
|
||||
binding.recyclerView!!.adapter = adapter
|
||||
binding.recyclerView!!.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||
binding.recyclerView.layoutManager = layoutManager
|
||||
binding.recyclerView.setHasFixedSize(true)
|
||||
binding.recyclerView.adapter = adapter
|
||||
binding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
|
||||
super.onScrollStateChanged(recyclerView, newState)
|
||||
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
|
||||
|
@ -654,24 +651,24 @@ class ConversationsListController(bundle: Bundle) :
|
|||
}
|
||||
}
|
||||
})
|
||||
binding.recyclerView!!.setOnTouchListener { v: View, event: MotionEvent? ->
|
||||
binding.recyclerView.setOnTouchListener { v: View, _: MotionEvent? ->
|
||||
if (isAttached && (!isBeingDestroyed || !isDestroyed)) {
|
||||
val imm = activity!!.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
imm.hideSoftInputFromWindow(v.windowToken, 0)
|
||||
}
|
||||
false
|
||||
}
|
||||
binding.swipeRefreshLayoutView!!.setOnRefreshListener { fetchData() }
|
||||
viewThemeUtils.themeSwipeRefreshLayout(binding.swipeRefreshLayoutView!!)
|
||||
binding.emptyLayout!!.setOnClickListener { v: View? -> showNewConversationsScreen() }
|
||||
binding.floatingActionButton!!.setOnClickListener { v: View? ->
|
||||
binding.swipeRefreshLayoutView.setOnRefreshListener { fetchData() }
|
||||
viewThemeUtils.themeSwipeRefreshLayout(binding.swipeRefreshLayoutView)
|
||||
binding.emptyLayout.setOnClickListener { showNewConversationsScreen() }
|
||||
binding.floatingActionButton.setOnClickListener {
|
||||
run(context)
|
||||
showNewConversationsScreen()
|
||||
}
|
||||
viewThemeUtils.themeFAB(binding.floatingActionButton!!)
|
||||
viewThemeUtils.themeFAB(binding.floatingActionButton)
|
||||
if (activity != null && activity is MainActivity) {
|
||||
val activity = activity as MainActivity?
|
||||
activity!!.binding.switchAccountButton.setOnClickListener { v: View? ->
|
||||
activity!!.binding.switchAccountButton.setOnClickListener {
|
||||
if (resources != null && resources!!.getBoolean(R.bool.multiaccount_support)) {
|
||||
val newFragment: DialogFragment = ChooseAccountDialogFragment.newInstance()
|
||||
newFragment.show(
|
||||
|
@ -687,13 +684,13 @@ class ConversationsListController(bundle: Bundle) :
|
|||
}
|
||||
}
|
||||
}
|
||||
binding.newMentionPopupBubble!!.hide()
|
||||
binding.newMentionPopupBubble!!.setPopupBubbleListener {
|
||||
binding.recyclerView!!.smoothScrollToPosition(
|
||||
binding.newMentionPopupBubble.hide()
|
||||
binding.newMentionPopupBubble.setPopupBubbleListener {
|
||||
binding.recyclerView.smoothScrollToPosition(
|
||||
nextUnreadConversationScrollPosition
|
||||
)
|
||||
}
|
||||
viewThemeUtils.colorMaterialButtonPrimaryFilled(binding.newMentionPopupBubble!!)
|
||||
viewThemeUtils.colorMaterialButtonPrimaryFilled(binding.newMentionPopupBubble)
|
||||
}
|
||||
|
||||
private fun checkToShowUnreadBubble() {
|
||||
|
@ -709,14 +706,14 @@ class ConversationsListController(bundle: Bundle) :
|
|||
) && position > lastVisibleItem
|
||||
) {
|
||||
nextUnreadConversationScrollPosition = position
|
||||
if (!binding.newMentionPopupBubble!!.isShown) {
|
||||
binding.newMentionPopupBubble!!.show()
|
||||
if (!binding.newMentionPopupBubble.isShown) {
|
||||
binding.newMentionPopupBubble.show()
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
nextUnreadConversationScrollPosition = 0
|
||||
binding.newMentionPopupBubble!!.hide()
|
||||
binding.newMentionPopupBubble.hide()
|
||||
} catch (e: NullPointerException) {
|
||||
Log.d(
|
||||
TAG,
|
||||
|
@ -738,10 +735,8 @@ class ConversationsListController(bundle: Bundle) :
|
|||
}
|
||||
|
||||
private fun dispose(disposable: Disposable?) {
|
||||
var disposable = disposable
|
||||
if (disposable != null && !disposable.isDisposed) {
|
||||
disposable.dispose()
|
||||
disposable = null
|
||||
} else if (disposable == null && roomsQueryDisposable != null && !roomsQueryDisposable!!.isDisposed) {
|
||||
roomsQueryDisposable!!.dispose()
|
||||
roomsQueryDisposable = null
|
||||
|
@ -776,7 +771,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
}
|
||||
}
|
||||
|
||||
fun onQueryTextChange(newText: String?) {
|
||||
private fun onQueryTextChange(newText: String?) {
|
||||
if (!TextUtils.isEmpty(searchQuery)) {
|
||||
val filter = searchQuery
|
||||
searchQuery = ""
|
||||
|
@ -817,8 +812,8 @@ class ConversationsListController(bundle: Bundle) :
|
|||
|
||||
@SuppressLint("CheckResult") // handled by helper
|
||||
private fun startMessageSearch(search: String?) {
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = true
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isRefreshing = true
|
||||
}
|
||||
searchHelper?.startMessageSearch(search!!)
|
||||
?.subscribeOn(Schedulers.io())
|
||||
|
@ -832,7 +827,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
|
||||
@SuppressLint("CheckResult") // handled by helper
|
||||
private fun loadMoreMessages() {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = true
|
||||
binding.swipeRefreshLayoutView.isRefreshing = true
|
||||
val observable = searchHelper!!.loadMore()
|
||||
observable?.observeOn(AndroidSchedulers.mainThread())
|
||||
?.subscribe({ results: MessageSearchResults -> onMessageSearchResult(results) }) { throwable: Throwable ->
|
||||
|
@ -906,9 +901,9 @@ class ConversationsListController(bundle: Bundle) :
|
|||
|
||||
private fun handleSharedData() {
|
||||
collectDataFromIntent()
|
||||
if (!textToPaste!!.isEmpty()) {
|
||||
if (textToPaste!!.isNotEmpty()) {
|
||||
openConversation(textToPaste)
|
||||
} else if (filesToShare != null && !filesToShare!!.isEmpty()) {
|
||||
} else if (filesToShare != null && filesToShare!!.isNotEmpty()) {
|
||||
showSendFilesConfirmDialog()
|
||||
} else {
|
||||
Toast.makeText(context, context.resources.getString(R.string.nc_common_error_sorry), Toast.LENGTH_LONG)
|
||||
|
@ -923,8 +918,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
val filename = getFileName(Uri.parse(file), context)
|
||||
fileNamesWithLineBreaks.append(filename).append("\n")
|
||||
}
|
||||
val confirmationQuestion: String
|
||||
confirmationQuestion = if (filesToShare!!.size == 1) {
|
||||
val confirmationQuestion: String = if (filesToShare!!.size == 1) {
|
||||
String.format(
|
||||
resources!!.getString(R.string.nc_upload_confirm_send_single),
|
||||
selectedConversation!!.displayName
|
||||
|
@ -935,19 +929,19 @@ class ConversationsListController(bundle: Bundle) :
|
|||
selectedConversation!!.displayName
|
||||
)
|
||||
}
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton!!.context)
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton.context)
|
||||
.setIcon(viewThemeUtils.colorMaterialAlertDialogIcon(context, R.drawable.upload))
|
||||
.setTitle(confirmationQuestion)
|
||||
.setMessage(fileNamesWithLineBreaks.toString())
|
||||
.setPositiveButton(R.string.nc_yes) { dialog: DialogInterface?, which: Int ->
|
||||
.setPositiveButton(R.string.nc_yes) { _, _ ->
|
||||
upload()
|
||||
openConversation()
|
||||
}
|
||||
.setNegativeButton(R.string.nc_no) { dialog: DialogInterface?, which: Int ->
|
||||
.setNegativeButton(R.string.nc_no) { _, _ ->
|
||||
Log.d(TAG, "sharing files aborted, going back to share-to screen")
|
||||
showShareToScreen = true
|
||||
}
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton!!.context, dialogBuilder)
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton.context, dialogBuilder)
|
||||
val dialog = dialogBuilder.show()
|
||||
viewThemeUtils.colorTextButtons(
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
||||
|
@ -1037,7 +1031,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
return
|
||||
}
|
||||
try {
|
||||
var filesToShareArray: Array<String?>? = arrayOfNulls(filesToShare!!.size)
|
||||
var filesToShareArray: Array<String?> = arrayOfNulls(filesToShare!!.size)
|
||||
filesToShareArray = filesToShare!!.toArray(filesToShareArray)
|
||||
val data = Data.Builder()
|
||||
.putStringArray(UploadAndShareFilesWorker.DEVICE_SOURCEFILES, filesToShareArray)
|
||||
|
@ -1125,11 +1119,11 @@ class ConversationsListController(bundle: Bundle) :
|
|||
) {
|
||||
val conversation = Parcels.unwrap<Conversation>(conversationMenuBundle!!.getParcelable(KEY_ROOM))
|
||||
if (conversation != null) {
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton!!.context)
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton.context)
|
||||
.setIcon(viewThemeUtils.colorMaterialAlertDialogIcon(context, R.drawable.ic_delete_black_24dp))
|
||||
.setTitle(R.string.nc_delete_call)
|
||||
.setMessage(R.string.nc_delete_conversation_more)
|
||||
.setPositiveButton(R.string.nc_delete) { dialog: DialogInterface?, which: Int ->
|
||||
.setPositiveButton(R.string.nc_delete) { _, _ ->
|
||||
val data = Data.Builder()
|
||||
data.putLong(
|
||||
KEY_INTERNAL_USER_ID,
|
||||
|
@ -1139,10 +1133,10 @@ class ConversationsListController(bundle: Bundle) :
|
|||
conversationMenuBundle = null
|
||||
deleteConversation(data.build())
|
||||
}
|
||||
.setNegativeButton(R.string.nc_cancel) { dialog: DialogInterface?, which: Int ->
|
||||
.setNegativeButton(R.string.nc_cancel) { _, _ ->
|
||||
conversationMenuBundle = null
|
||||
}
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton!!.context, dialogBuilder)
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton.context, dialogBuilder)
|
||||
val dialog = dialogBuilder.show()
|
||||
viewThemeUtils.colorTextButtons(
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
||||
|
@ -1154,12 +1148,12 @@ class ConversationsListController(bundle: Bundle) :
|
|||
|
||||
private fun showUnauthorizedDialog() {
|
||||
if (activity != null) {
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton!!.context)
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton.context)
|
||||
.setIcon(viewThemeUtils.colorMaterialAlertDialogIcon(context, R.drawable.ic_delete_black_24dp))
|
||||
.setTitle(R.string.nc_dialog_invalid_password)
|
||||
.setMessage(R.string.nc_dialog_reauth_or_delete)
|
||||
.setCancelable(false)
|
||||
.setPositiveButton(R.string.nc_delete) { dialog: DialogInterface?, which: Int ->
|
||||
.setPositiveButton(R.string.nc_delete) { _, _ ->
|
||||
val otherUserExists = userManager
|
||||
.scheduleUserForDeletionWithId(currentUser!!.id!!)
|
||||
.blockingGet()
|
||||
|
@ -1178,7 +1172,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
)
|
||||
}
|
||||
}
|
||||
.setNegativeButton(R.string.nc_settings_reauthorize) { dialog: DialogInterface?, which: Int ->
|
||||
.setNegativeButton(R.string.nc_settings_reauthorize) { _, _ ->
|
||||
router.pushController(
|
||||
RouterTransaction.with(
|
||||
WebViewLoginController(currentUser!!.baseUrl, true)
|
||||
|
@ -1187,7 +1181,7 @@ class ConversationsListController(bundle: Bundle) :
|
|||
.popChangeHandler(VerticalChangeHandler())
|
||||
)
|
||||
}
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton!!.context, dialogBuilder)
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton.context, dialogBuilder)
|
||||
val dialog = dialogBuilder.show()
|
||||
viewThemeUtils.colorTextButtons(
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
||||
|
@ -1197,12 +1191,12 @@ class ConversationsListController(bundle: Bundle) :
|
|||
}
|
||||
|
||||
private fun showServerEOLDialog() {
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton!!.context)
|
||||
val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton.context)
|
||||
.setIcon(viewThemeUtils.colorMaterialAlertDialogIcon(context, R.drawable.ic_warning_white))
|
||||
.setTitle(R.string.nc_settings_server_eol_title)
|
||||
.setMessage(R.string.nc_settings_server_eol)
|
||||
.setCancelable(false)
|
||||
.setPositiveButton(R.string.nc_settings_remove_account) { dialog: DialogInterface?, which: Int ->
|
||||
.setPositiveButton(R.string.nc_settings_remove_account) { _, _ ->
|
||||
val otherUserExists = userManager
|
||||
.scheduleUserForDeletionWithId(currentUser!!.id!!)
|
||||
.blockingGet()
|
||||
|
@ -1221,15 +1215,15 @@ class ConversationsListController(bundle: Bundle) :
|
|||
)
|
||||
}
|
||||
}
|
||||
.setNegativeButton(R.string.nc_cancel) { dialog: DialogInterface?, which: Int ->
|
||||
if (userManager.users.blockingGet().size > 0) {
|
||||
.setNegativeButton(R.string.nc_cancel) { _, _ ->
|
||||
if (userManager.users.blockingGet().isNotEmpty()) {
|
||||
router.pushController(RouterTransaction.with(SwitchAccountController()))
|
||||
} else {
|
||||
activity!!.finishAffinity()
|
||||
activity!!.finish()
|
||||
}
|
||||
}
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton!!.context, dialogBuilder)
|
||||
viewThemeUtils.colorMaterialAlertDialogBackground(binding.floatingActionButton.context, dialogBuilder)
|
||||
val dialog = dialogBuilder.show()
|
||||
viewThemeUtils.colorTextButtons(
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
||||
|
@ -1243,11 +1237,11 @@ class ConversationsListController(bundle: Bundle) :
|
|||
WorkManager.getInstance().enqueue(deleteConversationWorker)
|
||||
}
|
||||
|
||||
fun onMessageSearchResult(results: MessageSearchResults) {
|
||||
if (searchView!!.query.length > 0) {
|
||||
private fun onMessageSearchResult(results: MessageSearchResults) {
|
||||
if (searchView!!.query.isNotEmpty()) {
|
||||
clearMessageSearchResults()
|
||||
val entries = results.messages
|
||||
if (entries.size > 0) {
|
||||
if (entries.isNotEmpty()) {
|
||||
val adapterItems: MutableList<AbstractFlexibleItem<*>> = ArrayList(entries.size + 1)
|
||||
for (i in entries.indices) {
|
||||
val showHeader = i == 0
|
||||
|
@ -1265,18 +1259,18 @@ class ConversationsListController(bundle: Bundle) :
|
|||
adapterItems.add(LoadMoreResultsItem)
|
||||
}
|
||||
adapter!!.addItems(0, adapterItems)
|
||||
binding.recyclerView!!.scrollToPosition(0)
|
||||
binding.recyclerView.scrollToPosition(0)
|
||||
}
|
||||
}
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = false
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||
}
|
||||
}
|
||||
|
||||
fun onMessageSearchError(throwable: Throwable) {
|
||||
private fun onMessageSearchError(throwable: Throwable) {
|
||||
handleHttpExceptions(throwable)
|
||||
if (binding.swipeRefreshLayoutView != null) {
|
||||
binding.swipeRefreshLayoutView!!.isRefreshing = false
|
||||
withNullableControllerViewBinding {
|
||||
binding.swipeRefreshLayoutView.isRefreshing = false
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue