diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt index 6c42ffc81..272aedaa6 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt @@ -34,7 +34,6 @@ import androidx.appcompat.app.AlertDialog import androidx.core.app.ActivityOptionsCompat import androidx.core.content.ContextCompat import androidx.emoji.text.EmojiCompat -import androidx.lifecycle.Observer import androidx.preference.PreferenceManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.viewpager2.widget.MarginPageTransformer @@ -311,7 +310,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI * Subscribe to data loaded at the view model */ private fun subscribeObservables() { - viewModel.accountData.observe(this, Observer { + viewModel.accountData.observe(this) { when (it) { is Success -> onAccountChanged(it.data) is Error -> { @@ -320,8 +319,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI .show() } } - }) - viewModel.relationshipData.observe(this, Observer { + } + viewModel.relationshipData.observe(this) { val relation = it?.data if (relation != null) { onRelationshipChanged(relation) @@ -333,8 +332,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI .show() } - }) - viewModel.accountFieldData.observe(this, Observer { + } + viewModel.accountFieldData.observe(this, { accountFieldAdapter.fields = it accountFieldAdapter.notifyDataSetChanged() @@ -349,7 +348,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI viewModel.refresh() adapter.refreshContent() } - viewModel.isRefreshing.observe(this, Observer { isRefreshing -> + viewModel.isRefreshing.observe(this, { isRefreshing -> swipeToRefreshLayout.isRefreshing = isRefreshing == true }) swipeToRefreshLayout.setColorSchemeResources(R.color.tusky_blue) @@ -705,9 +704,10 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI loadedAccount?.let { showMuteAccountDialog( this, - it.username, - { notifications -> viewModel.muteAccount(notifications) } - ) + it.username + ) { notifications -> + viewModel.muteAccount(notifications) + } } } else { viewModel.unmuteAccount() diff --git a/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt b/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt index a1e68ddfe..3d86b6e12 100644 --- a/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt @@ -32,7 +32,6 @@ import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.view.isVisible import androidx.lifecycle.LiveData -import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager import com.bumptech.glide.Glide import com.bumptech.glide.load.resource.bitmap.FitCenter @@ -41,8 +40,6 @@ import com.google.android.material.snackbar.Snackbar import com.keylesspalace.tusky.adapter.AccountFieldEditAdapter import com.keylesspalace.tusky.di.Injectable import com.keylesspalace.tusky.di.ViewModelFactory -import com.keylesspalace.tusky.entity.Account -import com.keylesspalace.tusky.entity.Instance import com.keylesspalace.tusky.util.* import com.keylesspalace.tusky.viewmodel.EditProfileViewModel import com.mikepenz.iconics.IconicsDrawable @@ -123,7 +120,7 @@ class EditProfileActivity : BaseActivity(), Injectable { viewModel.obtainProfile() - viewModel.profileData.observe(this, Observer> { profileRes -> + viewModel.profileData.observe(this) { profileRes -> when (profileRes) { is Success -> { val me = profileRes.data @@ -164,10 +161,10 @@ class EditProfileActivity : BaseActivity(), Injectable { } } - }) + } viewModel.obtainInstance() - viewModel.instanceData.observe(this, Observer> { result -> + viewModel.instanceData.observe(this) { result -> when (result) { is Success -> { val instance = result.data @@ -176,12 +173,12 @@ class EditProfileActivity : BaseActivity(), Injectable { } } } - }) + } observeImage(viewModel.avatarData, avatarPreview, avatarProgressBar, true) observeImage(viewModel.headerData, headerPreview, headerProgressBar, false) - viewModel.saveData.observe(this, Observer> { + viewModel.saveData.observe(this, { when(it) { is Success -> { finish() @@ -216,7 +213,7 @@ class EditProfileActivity : BaseActivity(), Injectable { imageView: ImageView, progressBar: View, roundedCorners: Boolean) { - liveData.observe(this, Observer> { + liveData.observe(this, { when (it) { is Success -> { diff --git a/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt b/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt index 163d91661..3894f652d 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt @@ -41,10 +41,8 @@ import com.keylesspalace.tusky.viewmodel.ListsViewModel.Event.* import com.keylesspalace.tusky.viewmodel.ListsViewModel.LoadingState.* import com.mikepenz.iconics.IconicsDrawable import com.mikepenz.iconics.typeface.library.googlematerial.GoogleMaterial -import com.mikepenz.iconics.utils.color import com.mikepenz.iconics.utils.colorInt import com.mikepenz.iconics.utils.sizeDp -import com.mikepenz.iconics.utils.toIconicsColor import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider.from import com.uber.autodispose.autoDispose import dagger.android.DispatchingAndroidInjector diff --git a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt index 085269f65..3013aeeb9 100644 --- a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt @@ -46,7 +46,6 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout.OnTabSelectedListener import com.google.android.material.tabs.TabLayoutMediator -import com.google.android.material.tabs.TabLayoutMediator.TabConfigurationStrategy import com.keylesspalace.tusky.appstore.* import com.keylesspalace.tusky.components.compose.ComposeActivity import com.keylesspalace.tusky.components.compose.ComposeActivity.Companion.canHandleMimeType @@ -474,7 +473,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje val adapter = MainPagerAdapter(tabs, this) viewPager.adapter = adapter - TabLayoutMediator(activeTabLayout, viewPager, TabConfigurationStrategy { _: TabLayout.Tab?, _: Int -> }).attach() + TabLayoutMediator(activeTabLayout, viewPager) { _: TabLayout.Tab?, _: Int -> }.attach() activeTabLayout.removeAllTabs() for (i in tabs.indices) { val tab = activeTabLayout.newTab() diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt index d448a6620..c803b8e1b 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt @@ -49,7 +49,6 @@ import androidx.core.view.inputmethod.InputConnectionCompat import androidx.core.view.inputmethod.InputContentInfoCompat import androidx.core.view.isGone import androidx.core.view.isVisible -import androidx.lifecycle.Observer import androidx.preference.PreferenceManager import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager @@ -150,7 +149,7 @@ class ComposeActivity : BaseActivity(), /* If the composer is started up as a reply to another post, override the "starting" state * based on what the intent from the reply request passes. */ if (intent != null) { - this.composeOptions = intent.getParcelableExtra(COMPOSE_OPTIONS_EXTRA) + this.composeOptions = intent.getParcelableExtra(COMPOSE_OPTIONS_EXTRA) viewModel.setup(composeOptions) setupReplyViews(composeOptions?.replyingStatusAuthor) val tootText = composeOptions?.tootText @@ -682,7 +681,7 @@ class ComposeActivity : BaseActivity(), } private fun updateVisibleCharactersLeft() { - val remainingLength = maximumTootCharacters - calculateTextLength(); + val remainingLength = maximumTootCharacters - calculateTextLength() composeCharactersLeftView.text = String.format(Locale.getDefault(), "%d", remainingLength) val textColor = if (remainingLength < 0) { @@ -749,7 +748,7 @@ class ComposeActivity : BaseActivity(), this, getString(R.string.dialog_title_finishing_media_upload), getString(R.string.dialog_message_uploading_media), true, true) - viewModel.sendStatus(contentText, spoilerText).observe(this, Observer { + viewModel.sendStatus(contentText, spoilerText).observe(this, { finishingUploadDialog?.dismiss() deleteDraftAndFinish() }) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt index dc2d60c8f..b1ab32d7e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt @@ -21,8 +21,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.viewModels -import androidx.lifecycle.Observer -import androidx.paging.PagedList import androidx.preference.PreferenceManager import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager @@ -36,7 +34,10 @@ import com.keylesspalace.tusky.di.ViewModelFactory import com.keylesspalace.tusky.fragment.SFragment import com.keylesspalace.tusky.interfaces.ReselectableFragment import com.keylesspalace.tusky.interfaces.StatusActionListener -import com.keylesspalace.tusky.util.* +import com.keylesspalace.tusky.util.CardViewMode +import com.keylesspalace.tusky.util.NetworkState +import com.keylesspalace.tusky.util.StatusDisplayOptions +import com.keylesspalace.tusky.util.hide import kotlinx.android.synthetic.main.fragment_timeline.* import javax.inject.Inject @@ -83,21 +84,21 @@ class ConversationsFragment : SFragment(), StatusActionListener, Injectable, Res initSwipeToRefresh() - viewModel.conversations.observe(viewLifecycleOwner, Observer> { + viewModel.conversations.observe(viewLifecycleOwner) { adapter.submitList(it) - }) - viewModel.networkState.observe(viewLifecycleOwner, Observer { + } + viewModel.networkState.observe(viewLifecycleOwner) { adapter.setNetworkState(it) - }) + } viewModel.load() } private fun initSwipeToRefresh() { - viewModel.refreshState.observe(viewLifecycleOwner, Observer { + viewModel.refreshState.observe(viewLifecycleOwner) { swipeRefreshLayout.isRefreshing = it == NetworkState.LOADING - }) + } swipeRefreshLayout.setOnRefreshListener { viewModel.refresh() } diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/ReportActivity.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/ReportActivity.kt index 5daf584b9..3ecadd589 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/ReportActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/ReportActivity.kt @@ -20,7 +20,6 @@ import android.content.Intent import android.os.Bundle import android.view.MenuItem import androidx.activity.viewModels -import androidx.lifecycle.Observer import com.keylesspalace.tusky.BottomSheetActivity import com.keylesspalace.tusky.R import com.keylesspalace.tusky.components.report.adapter.ReportPagerAdapter @@ -77,7 +76,7 @@ class ReportActivity : BottomSheetActivity(), HasAndroidInjector { } private fun subscribeObservables() { - viewModel.navigation.observe(this, Observer { screen -> + viewModel.navigation.observe(this) { screen -> if (screen != null) { viewModel.navigated() when (screen) { @@ -88,14 +87,14 @@ class ReportActivity : BottomSheetActivity(), HasAndroidInjector { Screen.Finish -> closeScreen() } } - }) + } - viewModel.checkUrl.observe(this, Observer { + viewModel.checkUrl.observe(this) { if (!it.isNullOrBlank()) { viewModel.urlChecked() viewUrl(it) } - }) + } } private fun showPreviousScreen() { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/AdapterHandler.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/AdapterHandler.kt index 588cfef0e..957d5b325 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/AdapterHandler.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/AdapterHandler.kt @@ -16,10 +16,8 @@ package com.keylesspalace.tusky.components.report.adapter import android.view.View -import com.keylesspalace.tusky.entity.Attachment import com.keylesspalace.tusky.entity.Status import com.keylesspalace.tusky.interfaces.LinkListener -import java.util.ArrayList interface AdapterHandler: LinkListener { fun showMedia(v: View?, status: Status?, idx: Int) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/StatusesRepository.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/StatusesRepository.kt index 852a07f96..cea3080ea 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/StatusesRepository.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/adapter/StatusesRepository.kt @@ -21,7 +21,6 @@ import androidx.paging.toLiveData import com.keylesspalace.tusky.entity.Status import com.keylesspalace.tusky.network.MastodonApi import com.keylesspalace.tusky.util.BiListing -import com.keylesspalace.tusky.util.Listing import io.reactivex.disposables.CompositeDisposable import java.util.concurrent.Executors import javax.inject.Inject diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportDoneFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportDoneFragment.kt index 611231ecd..6151903fd 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportDoneFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportDoneFragment.kt @@ -22,7 +22,6 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import androidx.lifecycle.Observer import com.keylesspalace.tusky.R import com.keylesspalace.tusky.components.report.ReportViewModel import com.keylesspalace.tusky.components.report.Screen @@ -55,7 +54,7 @@ class ReportDoneFragment : Fragment(), Injectable { } private fun subscribeObservables() { - viewModel.muteState.observe(viewLifecycleOwner, Observer { + viewModel.muteState.observe(viewLifecycleOwner) { if (it !is Loading) { buttonMute.show() progressMute.show() @@ -68,9 +67,9 @@ class ReportDoneFragment : Fragment(), Injectable { true -> R.string.action_unmute else -> R.string.action_mute }) - }) + } - viewModel.blockState.observe(viewLifecycleOwner, Observer { + viewModel.blockState.observe(viewLifecycleOwner) { if (it !is Loading) { buttonBlock.show() progressBlock.show() @@ -83,7 +82,7 @@ class ReportDoneFragment : Fragment(), Injectable { true -> R.string.action_unblock else -> R.string.action_block }) - }) + } } diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportNoteFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportNoteFragment.kt index 5a94ba176..4e7b00abf 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportNoteFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportNoteFragment.kt @@ -22,7 +22,6 @@ import android.view.ViewGroup import androidx.core.widget.doAfterTextChanged import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import androidx.lifecycle.Observer import com.google.android.material.snackbar.Snackbar import com.keylesspalace.tusky.R import com.keylesspalace.tusky.components.report.ReportViewModel @@ -81,14 +80,14 @@ class ReportNoteFragment : Fragment(), Injectable { } private fun subscribeObservables() { - viewModel.reportingState.observe(viewLifecycleOwner, Observer { + viewModel.reportingState.observe(viewLifecycleOwner) { when (it) { is Success -> viewModel.navigateTo(Screen.Done) is Loading -> showLoading() is Error -> showError(it.cause) } - }) + } } private fun showError(error: Throwable?) { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt index e5308efcc..703acee26 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt @@ -23,8 +23,6 @@ import androidx.core.app.ActivityOptionsCompat import androidx.core.view.ViewCompat import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import androidx.lifecycle.Observer -import androidx.paging.PagedList import androidx.preference.PreferenceManager import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager @@ -43,7 +41,10 @@ import com.keylesspalace.tusky.di.Injectable import com.keylesspalace.tusky.di.ViewModelFactory import com.keylesspalace.tusky.entity.Attachment import com.keylesspalace.tusky.entity.Status -import com.keylesspalace.tusky.util.* +import com.keylesspalace.tusky.util.CardViewMode +import com.keylesspalace.tusky.util.StatusDisplayOptions +import com.keylesspalace.tusky.util.hide +import com.keylesspalace.tusky.util.show import com.keylesspalace.tusky.viewdata.AttachmentViewData import kotlinx.android.synthetic.main.fragment_report_statuses.* import javax.inject.Inject @@ -129,11 +130,11 @@ class ReportStatusesFragment : Fragment(), Injectable, AdapterHandler { recyclerView.adapter = adapter (recyclerView.itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false - viewModel.statuses.observe(viewLifecycleOwner, Observer> { + viewModel.statuses.observe(viewLifecycleOwner) { adapter.submitList(it) - }) + } - viewModel.networkStateAfter.observe(viewLifecycleOwner, Observer { + viewModel.networkStateAfter.observe(viewLifecycleOwner) { if (it?.status == com.keylesspalace.tusky.util.Status.RUNNING) progressBarBottom.show() else @@ -141,9 +142,9 @@ class ReportStatusesFragment : Fragment(), Injectable, AdapterHandler { if (it?.status == com.keylesspalace.tusky.util.Status.FAILED) showError(it.msg) - }) + } - viewModel.networkStateBefore.observe(viewLifecycleOwner, Observer { + viewModel.networkStateBefore.observe(viewLifecycleOwner) { if (it?.status == com.keylesspalace.tusky.util.Status.RUNNING) progressBarTop.show() else @@ -151,9 +152,9 @@ class ReportStatusesFragment : Fragment(), Injectable, AdapterHandler { if (it?.status == com.keylesspalace.tusky.util.Status.FAILED) showError(it.msg) - }) + } - viewModel.networkStateRefresh.observe(viewLifecycleOwner, Observer { + viewModel.networkStateRefresh.observe(viewLifecycleOwner) { if (it?.status == com.keylesspalace.tusky.util.Status.RUNNING && !swipeRefreshLayout.isRefreshing) progressBarLoading.show() else @@ -163,7 +164,7 @@ class ReportStatusesFragment : Fragment(), Injectable, AdapterHandler { swipeRefreshLayout.isRefreshing = false if (it?.status == com.keylesspalace.tusky.util.Status.FAILED) showError(it.msg) - }) + } } private fun showError(@Suppress("UNUSED_PARAMETER") msg: String?) { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/scheduled/ScheduledTootActivity.kt b/app/src/main/java/com/keylesspalace/tusky/components/scheduled/ScheduledTootActivity.kt index 2ade20b8c..f8cdd5806 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/scheduled/ScheduledTootActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/scheduled/ScheduledTootActivity.kt @@ -19,7 +19,6 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.view.MenuItem -import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager @@ -30,7 +29,6 @@ import com.keylesspalace.tusky.di.Injectable import com.keylesspalace.tusky.di.ViewModelFactory import com.keylesspalace.tusky.entity.ScheduledStatus import com.keylesspalace.tusky.util.Status -import com.keylesspalace.tusky.util.ThemeUtils import com.keylesspalace.tusky.util.hide import com.keylesspalace.tusky.util.show import kotlinx.android.synthetic.main.activity_scheduled_toot.* @@ -68,11 +66,11 @@ class ScheduledTootActivity : BaseActivity(), ScheduledTootActionListener, Injec viewModel = ViewModelProvider(this, viewModelFactory)[ScheduledTootViewModel::class.java] - viewModel.data.observe(this, Observer { + viewModel.data.observe(this) { adapter.submitList(it) - }) + } - viewModel.networkState.observe(this, Observer { (status) -> + viewModel.networkState.observe(this) { (status) -> when(status) { Status.SUCCESS -> { progressBar.hide() @@ -103,9 +101,7 @@ class ScheduledTootActivity : BaseActivity(), ScheduledTootActionListener, Injec } } } - - }) - + } } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchFragment.kt index c185bcc31..c5929c43a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchFragment.kt @@ -7,7 +7,6 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.lifecycle.LiveData -import androidx.lifecycle.Observer import androidx.paging.PagedList import androidx.paging.PagedListAdapter import androidx.recyclerview.widget.DividerItemDecoration @@ -61,11 +60,11 @@ abstract class SearchFragment : Fragment(), } private fun subscribeObservables() { - data.observe(viewLifecycleOwner, Observer { + data.observe(viewLifecycleOwner) { adapter.submitList(it) - }) + } - networkStateRefresh.observe(viewLifecycleOwner, Observer { + networkStateRefresh.observe(viewLifecycleOwner) { searchProgressBar.visible(it == NetworkState.LOADING) @@ -73,17 +72,16 @@ abstract class SearchFragment : Fragment(), showError() } checkNoData() + } - }) - - networkState.observe(viewLifecycleOwner, Observer { + networkState.observe(viewLifecycleOwner) { progressBarBottom.visible(it == NetworkState.LOADING) if (it.status == Status.FAILED) { showError() } - }) + } } private fun checkNoData() { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt index 2a9208816..ce5c26122 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt @@ -26,8 +26,6 @@ import android.net.Uri import android.os.Environment import android.util.Log import android.view.View -import android.widget.CheckBox -import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.PopupMenu @@ -376,9 +374,10 @@ class SearchStatusesFragment : SearchFragment viewModel.muteAccount(accountId, notifications) } - ) + accountUsername + ) { notifications -> + viewModel.muteAccount(accountId, notifications) + } } private fun accountIsInMentions(account: AccountEntity?, mentions: Array): Boolean { diff --git a/app/src/main/java/com/keylesspalace/tusky/db/AccountManager.kt b/app/src/main/java/com/keylesspalace/tusky/db/AccountManager.kt index 5293bd03a..aae0bf5a3 100644 --- a/app/src/main/java/com/keylesspalace/tusky/db/AccountManager.kt +++ b/app/src/main/java/com/keylesspalace/tusky/db/AccountManager.kt @@ -21,7 +21,6 @@ import com.keylesspalace.tusky.entity.Status import java.util.* import javax.inject.Inject import javax.inject.Singleton -import kotlin.Comparator /** * This class caches the account database and handles all account related operations @@ -166,13 +165,13 @@ class AccountManager @Inject constructor(db: AppDatabase) { */ fun getAllAccountsOrderedByActive(): List { val accountsCopy = accounts.toMutableList() - accountsCopy.sortWith(Comparator { l, r -> + accountsCopy.sortWith { l, r -> when { l.isActive && !r.isActive -> -1 r.isActive && !l.isActive -> 1 else -> 0 } - }) + } return accountsCopy } diff --git a/app/src/main/java/com/keylesspalace/tusky/util/EmojiCompatFont.kt b/app/src/main/java/com/keylesspalace/tusky/util/EmojiCompatFont.kt index e18e24add..4697a1e93 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/EmojiCompatFont.kt +++ b/app/src/main/java/com/keylesspalace/tusky/util/EmojiCompatFont.kt @@ -143,9 +143,9 @@ class EmojiCompatFont( listOf(0) } Pair(file, versionCode) - }.sortedWith( - Comparator>> { a, b -> compareVersions(a.second, b.second) } - ).also { + }.sortedWith { a, b -> + compareVersions(a.second, b.second) + }.also { existingFontFileCache = it } } diff --git a/app/src/main/java/com/keylesspalace/tusky/view/MuteAccountDialog.kt b/app/src/main/java/com/keylesspalace/tusky/view/MuteAccountDialog.kt index 2702a333b..44a70267e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/view/MuteAccountDialog.kt +++ b/app/src/main/java/com/keylesspalace/tusky/view/MuteAccountDialog.kt @@ -17,7 +17,7 @@ fun showMuteAccountDialog( (view.findViewById(R.id.warning) as TextView).text = activity.getString(R.string.dialog_mute_warning, accountUsername) val checkbox: CheckBox = view.findViewById(R.id.checkbox) - checkbox.setChecked(true) + checkbox.isChecked = true AlertDialog.Builder(activity) .setView(view) diff --git a/app/src/main/java/com/keylesspalace/tusky/viewmodel/AccountViewModel.kt b/app/src/main/java/com/keylesspalace/tusky/viewmodel/AccountViewModel.kt index bf8879744..f60eb2980 100644 --- a/app/src/main/java/com/keylesspalace/tusky/viewmodel/AccountViewModel.kt +++ b/app/src/main/java/com/keylesspalace/tusky/viewmodel/AccountViewModel.kt @@ -30,10 +30,9 @@ class AccountViewModel @Inject constructor( val accountFieldData = combineOptionalLiveData(accountData, identityProofData) { accountRes, identityProofs -> identityProofs.orEmpty().map { Either.Left(it) } - .plus(accountRes?.data?.fields.orEmpty().map { Either.Right(it) }) + .plus(accountRes?.data?.fields.orEmpty().map { Either.Right(it) }) } - private val callList: MutableList> = mutableListOf() private val disposable: Disposable = eventHub.events .subscribe { event -> diff --git a/build.gradle b/build.gradle index aca6b31c0..0f53851fd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.3.72' + ext.kotlin_version = '1.4.10' repositories { google() jcenter()