mirror of
https://github.com/accelforce/Yuito
synced 2025-02-08 15:48:41 +01:00
Apply ktlint and add to CI
This commit is contained in:
parent
004a9b4921
commit
c7a91fb1df
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@ -22,6 +22,7 @@ jobs:
|
||||
|
||||
- run: |
|
||||
chmod +x ./gradlew
|
||||
./gradlew :ktlintCheck
|
||||
./gradlew :app:testBlueDebugUnitTest
|
||||
|
||||
|
||||
|
@ -39,8 +39,8 @@ import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.ImageView
|
||||
import androidx.activity.viewModels
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.view.menu.MenuBuilder
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
@ -621,11 +621,11 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
|
||||
}
|
||||
|
||||
binding.mainDrawer.addItems(
|
||||
secondaryDrawerItem {
|
||||
nameText = "Yuito (by kyori19)"
|
||||
isEnabled = false
|
||||
textColor = ColorStateList.valueOf(ThemeUtils.getColor(this@MainActivity, R.attr.colorInfo))
|
||||
}
|
||||
secondaryDrawerItem {
|
||||
nameText = "Yuito (by kyori19)"
|
||||
isEnabled = false
|
||||
textColor = ColorStateList.valueOf(ThemeUtils.getColor(this@MainActivity, R.attr.colorInfo))
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@ -732,8 +732,8 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
|
||||
}
|
||||
R.id.tabEditList -> {
|
||||
AccountsInListFragment.newInstance(
|
||||
tabs[i].arguments.getOrNull(0).orEmpty(),
|
||||
tabs[i].arguments.getOrNull(1).orEmpty()
|
||||
tabs[i].arguments.getOrNull(0).orEmpty(),
|
||||
tabs[i].arguments.getOrNull(1).orEmpty()
|
||||
).show(supportFragmentManager, null)
|
||||
}
|
||||
R.id.tabToggleStreaming -> {
|
||||
@ -750,18 +750,20 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
|
||||
it.tabPreferences = tabs
|
||||
accountManager.saveAccount(it)
|
||||
}
|
||||
.subscribeOn(Schedulers.io())
|
||||
.autoDispose(this, Lifecycle.Event.ON_DESTROY)
|
||||
.subscribe()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.autoDispose(this, Lifecycle.Event.ON_DESTROY)
|
||||
.subscribe()
|
||||
}
|
||||
}
|
||||
}
|
||||
R.id.tabToggleNotificationsFilter -> {
|
||||
if (fragment is NotificationsFragment) {
|
||||
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
||||
prefs.edit().putBoolean("showNotificationsFilter",
|
||||
!prefs.getBoolean("showNotificationsFilter", true))
|
||||
.apply()
|
||||
prefs.edit().putBoolean(
|
||||
"showNotificationsFilter",
|
||||
!prefs.getBoolean("showNotificationsFilter", true)
|
||||
)
|
||||
.apply()
|
||||
eventHub.dispatch(PreferenceChangedEvent("showNotificationsFilter"))
|
||||
}
|
||||
}
|
||||
|
@ -23,12 +23,12 @@ import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import androidx.activity.viewModels
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import autodispose2.androidx.lifecycle.autoDispose
|
||||
import com.keylesspalace.tusky.appstore.EventHub
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import at.connyduck.calladapter.networkresult.fold
|
||||
import autodispose2.androidx.lifecycle.autoDispose
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.keylesspalace.tusky.appstore.EventHub
|
||||
import com.keylesspalace.tusky.components.timeline.TimelineFragment
|
||||
import com.keylesspalace.tusky.components.timeline.viewmodel.TimelineViewModel.Kind
|
||||
import com.keylesspalace.tusky.databinding.ActivityStatuslistBinding
|
||||
@ -36,8 +36,8 @@ import com.keylesspalace.tusky.di.ViewModelFactory
|
||||
import com.keylesspalace.tusky.util.viewBinding
|
||||
import dagger.android.DispatchingAndroidInjector
|
||||
import dagger.android.HasAndroidInjector
|
||||
import kotlinx.coroutines.launch
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import kotlinx.coroutines.launch
|
||||
import net.accelf.yuito.QuickTootViewModel
|
||||
import javax.inject.Inject
|
||||
|
||||
@ -50,7 +50,7 @@ class StatusListActivity : BottomSheetActivity(), HasAndroidInjector {
|
||||
@Inject
|
||||
lateinit var viewModelFactory: ViewModelFactory
|
||||
|
||||
private val quickTootViewModel: QuickTootViewModel by viewModels{ viewModelFactory }
|
||||
private val quickTootViewModel: QuickTootViewModel by viewModels { viewModelFactory }
|
||||
|
||||
private val binding: ActivityStatuslistBinding by viewBinding(ActivityStatuslistBinding::inflate)
|
||||
private lateinit var kind: Kind
|
||||
@ -95,9 +95,9 @@ class StatusListActivity : BottomSheetActivity(), HasAndroidInjector {
|
||||
binding.viewQuickToot.attachViewModel(quickTootViewModel, this)
|
||||
|
||||
eventHub.events
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.autoDispose(this, Lifecycle.Event.ON_DESTROY)
|
||||
.subscribe(binding.viewQuickToot::handleEvent)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.autoDispose(this, Lifecycle.Event.ON_DESTROY)
|
||||
.subscribe(binding.viewQuickToot::handleEvent)
|
||||
binding.floatingBtn.setOnClickListener(binding.viewQuickToot::onFABClicked)
|
||||
}
|
||||
|
||||
|
@ -529,16 +529,16 @@ class ComposeActivity :
|
||||
binding.checkboxUseDefaultText.isChecked = preferences.getBoolean(PREF_USE_DEFAULT_TAG, false)
|
||||
binding.checkboxUseDefaultText.setOnCheckedChangeListener { _, isChecked ->
|
||||
preferences.edit()
|
||||
.putBoolean(PREF_USE_DEFAULT_TAG, isChecked)
|
||||
.apply()
|
||||
.putBoolean(PREF_USE_DEFAULT_TAG, isChecked)
|
||||
.apply()
|
||||
eventHub.dispatch(PreferenceChangedEvent(PREF_USE_DEFAULT_TAG))
|
||||
}
|
||||
|
||||
binding.editTextDefaultText.setText(preferences.getString(PREF_DEFAULT_TAG, ""))
|
||||
binding.editTextDefaultText.doAfterTextChanged {
|
||||
preferences.edit()
|
||||
.putString(PREF_DEFAULT_TAG, it.toString())
|
||||
.apply()
|
||||
.putString(PREF_DEFAULT_TAG, it.toString())
|
||||
.apply()
|
||||
eventHub.dispatch(PreferenceChangedEvent(PREF_DEFAULT_TAG))
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,16 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.FlowPreview
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.channels.BufferOverflow
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.catch
|
||||
import kotlinx.coroutines.flow.filter
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.shareIn
|
||||
import kotlinx.coroutines.flow.update
|
||||
import kotlinx.coroutines.flow.updateAndGet
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import javax.inject.Inject
|
||||
@ -71,14 +80,18 @@ class ComposeViewModel @Inject constructor(
|
||||
private var hasScheduledTimeChanged: Boolean = false
|
||||
|
||||
private val useCache = MutableStateFlow(true)
|
||||
val instanceInfo = useCache.map { when (it) {
|
||||
true -> instanceInfoRepo.getCachedInstanceInfo()
|
||||
false -> instanceInfoRepo.getInstanceInfo()
|
||||
} }.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
val emoji = useCache.map { when (it) {
|
||||
true -> instanceInfoRepo.getCachedEmojis()
|
||||
false -> instanceInfoRepo.getEmojis()
|
||||
} }.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
val instanceInfo = useCache.map {
|
||||
when (it) {
|
||||
true -> instanceInfoRepo.getCachedInstanceInfo()
|
||||
false -> instanceInfoRepo.getInstanceInfo()
|
||||
}
|
||||
}.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
val emoji = useCache.map {
|
||||
when (it) {
|
||||
true -> instanceInfoRepo.getCachedEmojis()
|
||||
false -> instanceInfoRepo.getEmojis()
|
||||
}
|
||||
}.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
|
||||
val markMediaAsSensitive: MutableStateFlow<Boolean> =
|
||||
MutableStateFlow(accountManager.activeAccount?.defaultMediaSensitivity ?: false)
|
||||
|
@ -322,14 +322,17 @@ class PreferencesFragment : PreferenceFragmentCompat(), Injectable {
|
||||
setTitle(R.string.pref_title_stacktrace_send)
|
||||
setOnPreferenceClickListener {
|
||||
activity?.let { activity ->
|
||||
val intent = ComposeActivity.startIntent(activity, ComposeOptions(
|
||||
val intent = ComposeActivity.startIntent(
|
||||
activity,
|
||||
ComposeOptions(
|
||||
content = "@ars42525@odakyu.app $stackTrace".substring(0, 400),
|
||||
contentWarning = "Yuito StackTrace"
|
||||
))
|
||||
)
|
||||
)
|
||||
activity.startActivity(intent)
|
||||
prefs.edit()
|
||||
.remove(PrefKeys.STACK_TRACE)
|
||||
.apply()
|
||||
.remove(PrefKeys.STACK_TRACE)
|
||||
.apply()
|
||||
}
|
||||
true
|
||||
}
|
||||
|
@ -5,9 +5,9 @@ import com.keylesspalace.tusky.network.NotestockApi
|
||||
import com.keylesspalace.tusky.viewdata.StatusViewData
|
||||
|
||||
class SearchNotestockPagingSourceFactory(
|
||||
private val notestockApi: NotestockApi,
|
||||
private val initialItems: List<StatusViewData.Concrete>? = null,
|
||||
private val parser: (SearchResult) -> List<StatusViewData.Concrete>
|
||||
private val notestockApi: NotestockApi,
|
||||
private val initialItems: List<StatusViewData.Concrete>? = null,
|
||||
private val parser: (SearchResult) -> List<StatusViewData.Concrete>
|
||||
) : () -> SearchNotestockPagingSource {
|
||||
|
||||
private var searchRequest: String = ""
|
||||
|
@ -36,5 +36,4 @@ class SearchPagerAdapter(activity: FragmentActivity) : FragmentStateAdapter(acti
|
||||
}
|
||||
|
||||
override fun getItemCount() = 4
|
||||
|
||||
}
|
||||
|
@ -74,7 +74,6 @@ class SearchNotestockFragment : SearchFragment<StatusViewData.Concrete>(), Statu
|
||||
return SearchStatusesAdapter(statusDisplayOptions, this)
|
||||
}
|
||||
|
||||
|
||||
override fun onContentHiddenChange(isShowing: Boolean, position: Int) {
|
||||
searchAdapter.peek(position)?.let {
|
||||
viewModel.contentHiddenNotestockChange(it, isShowing)
|
||||
@ -133,9 +132,7 @@ class SearchNotestockFragment : SearchFragment<StatusViewData.Concrete>(), Statu
|
||||
Attachment.Type.UNKNOWN -> {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onViewThread(position: Int) {
|
||||
@ -491,11 +488,9 @@ class SearchNotestockFragment : SearchFragment<StatusViewData.Concrete>(), Statu
|
||||
Log.w("SearchStatusesFragment", "error deleting status", error)
|
||||
Toast.makeText(context, R.string.error_generic, Toast.LENGTH_SHORT).show()
|
||||
})
|
||||
|
||||
}
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ class SearchStatusesFragment : SearchFragment<StatusViewData.Concrete>(), Status
|
||||
}
|
||||
|
||||
val intent = ComposeActivity.startIntent(
|
||||
requireContext(),
|
||||
requireContext(),
|
||||
ComposeOptions(
|
||||
quoteId = status.actionableId,
|
||||
quoteStatusAuthor = actionableStatus.account.localUsername,
|
||||
|
@ -252,11 +252,14 @@ class NetworkTimelineViewModel @Inject constructor(
|
||||
statusData.add(0, StatusViewData.Placeholder(status.id, isLoading = false))
|
||||
isFirstOfStreaming = false
|
||||
} else {
|
||||
statusData.add(0, status.toViewData(
|
||||
isShowingContent = activeAccount.alwaysShowSensitiveMedia,
|
||||
isExpanded = activeAccount.alwaysOpenSpoiler,
|
||||
isCollapsed = true,
|
||||
))
|
||||
statusData.add(
|
||||
0,
|
||||
status.toViewData(
|
||||
isShowingContent = activeAccount.alwaysShowSensitiveMedia,
|
||||
isExpanded = activeAccount.alwaysOpenSpoiler,
|
||||
isCollapsed = true,
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
currentSource?.invalidate()
|
||||
|
@ -240,8 +240,8 @@ abstract class TimelineViewModel(
|
||||
protected fun shouldFilterStatus(statusViewData: StatusViewData): Boolean {
|
||||
val status = statusViewData.asStatusOrNull()?.status ?: return false
|
||||
return status.inReplyToId != null && filterRemoveReplies ||
|
||||
status.reblog != null && filterRemoveReblogs ||
|
||||
filterModel.shouldFilterStatus(status.actionableStatus)
|
||||
status.reblog != null && filterRemoveReblogs ||
|
||||
filterModel.shouldFilterStatus(status.actionableStatus)
|
||||
}
|
||||
|
||||
private fun onPreferenceChanged(key: String) {
|
||||
|
@ -75,7 +75,7 @@ class Converters @Inject constructor (
|
||||
// List name may include ":"
|
||||
return tabData?.joinToString(";") {
|
||||
(if (it.enableStreaming) { it.id + STREAMING } else { it.id }) + ":" +
|
||||
it.arguments.joinToString(":") { s -> URLEncoder.encode(s, "UTF-8") }
|
||||
it.arguments.joinToString(":") { s -> URLEncoder.encode(s, "UTF-8") }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -95,5 +95,4 @@ abstract class FragmentBuildersModule {
|
||||
|
||||
@ContributesAndroidInjector
|
||||
abstract fun searchNotestockFragment(): SearchNotestockFragment
|
||||
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ class NetworkModule {
|
||||
@Singleton
|
||||
fun providesNotestockApi(
|
||||
okHttpClient: OkHttpClient,
|
||||
gson: Gson
|
||||
gson: Gson
|
||||
): NotestockApi {
|
||||
val retrofit = Retrofit.Builder().baseUrl("https://notestock.osa-p.net")
|
||||
.client(okHttpClient)
|
||||
|
@ -132,5 +132,5 @@ abstract class ViewModelModule {
|
||||
@ViewModelKey(QuickTootViewModel::class)
|
||||
internal abstract fun quickTootViewModel(viewModel: QuickTootViewModel): ViewModel
|
||||
|
||||
//Add more ViewModels here
|
||||
// Add more ViewModels here
|
||||
}
|
||||
|
@ -9,8 +9,7 @@ interface NotestockApi {
|
||||
|
||||
@GET("api/v1/search.json")
|
||||
fun searchObservable(
|
||||
@Query("q") q: String,
|
||||
@Query("max_dt") maxDt: String? = null
|
||||
@Query("q") q: String,
|
||||
@Query("max_dt") maxDt: String? = null
|
||||
): Single<SearchResult>
|
||||
|
||||
}
|
||||
|
@ -24,9 +24,9 @@ import kotlinx.coroutines.launch
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
class QuickTootView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0,
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0,
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
private val binding = ViewQuickTootBinding.inflate(LayoutInflater.from(context), this, true)
|
||||
|
@ -12,8 +12,8 @@ import kotlinx.coroutines.flow.update
|
||||
import javax.inject.Inject
|
||||
|
||||
class QuickTootViewModel @Inject constructor(
|
||||
accountManager: AccountManager
|
||||
): ViewModel() {
|
||||
accountManager: AccountManager
|
||||
) : ViewModel() {
|
||||
|
||||
private val account = accountManager.activeAccount!!
|
||||
|
||||
@ -31,11 +31,13 @@ class QuickTootViewModel @Inject constructor(
|
||||
val defaultTag: MutableStateFlow<String?> = MutableStateFlow(null)
|
||||
|
||||
fun setInitialVisibility(num: Int) {
|
||||
visibilityMutable.value = (Visibility.byNum(num)
|
||||
visibilityMutable.value = (
|
||||
Visibility.byNum(num)
|
||||
.takeUnless { it == Visibility.UNKNOWN }
|
||||
?: account.defaultPostPrivacy)
|
||||
.takeUnless { it == Visibility.UNLEAKABLE && unleakableAllowed }
|
||||
?: Visibility.PRIVATE
|
||||
?: account.defaultPostPrivacy
|
||||
)
|
||||
.takeUnless { it == Visibility.UNLEAKABLE && unleakableAllowed }
|
||||
?: Visibility.PRIVATE
|
||||
}
|
||||
|
||||
fun stepVisibility() {
|
||||
@ -63,18 +65,18 @@ class QuickTootViewModel @Inject constructor(
|
||||
|
||||
fun composeOptions(tootRightNow: Boolean): ComposeActivity.ComposeOptions {
|
||||
return ComposeActivity.ComposeOptions(
|
||||
content = content.value,
|
||||
mentionedUsernames = inReplyTo.value
|
||||
?.let {
|
||||
linkedSetOf(it.account.username, *(it.mentions.map { mention -> mention.username }.toTypedArray()))
|
||||
.apply { remove(account.username) }
|
||||
},
|
||||
inReplyToId = inReplyTo.value?.id,
|
||||
visibility = visibility.value,
|
||||
contentWarning = inReplyTo.value?.spoilerText,
|
||||
replyingStatusAuthor = inReplyTo.value?.account?.name,
|
||||
replyingStatusContent = inReplyTo.value?.content,
|
||||
tootRightNow = tootRightNow
|
||||
content = content.value,
|
||||
mentionedUsernames = inReplyTo.value
|
||||
?.let {
|
||||
linkedSetOf(it.account.username, *(it.mentions.map { mention -> mention.username }.toTypedArray()))
|
||||
.apply { remove(account.username) }
|
||||
},
|
||||
inReplyToId = inReplyTo.value?.id,
|
||||
visibility = visibility.value,
|
||||
contentWarning = inReplyTo.value?.spoilerText,
|
||||
replyingStatusAuthor = inReplyTo.value?.account?.name,
|
||||
replyingStatusContent = inReplyTo.value?.content,
|
||||
tootRightNow = tootRightNow
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -70,10 +70,12 @@ class QuoteInlineHelper(
|
||||
true -> View.VISIBLE
|
||||
false -> View.GONE
|
||||
}
|
||||
binding.statusQuoteInlineContentWarningButton.setText(when (show) {
|
||||
true -> R.string.post_content_warning_show_less
|
||||
false -> R.string.post_content_warning_show_more
|
||||
})
|
||||
binding.statusQuoteInlineContentWarningButton.setText(
|
||||
when (show) {
|
||||
true -> R.string.post_content_warning_show_less
|
||||
false -> R.string.post_content_warning_show_more
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private fun hideSpoilerText() {
|
||||
|
@ -11,7 +11,7 @@ import com.keylesspalace.tusky.entity.Status.Visibility
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class VisibilityToggleButton @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
||||
AppCompatImageView(context, attrs) {
|
||||
AppCompatImageView(context, attrs) {
|
||||
|
||||
private val preference by lazy { PreferenceManager.getDefaultSharedPreferences(context) }
|
||||
|
||||
@ -25,35 +25,35 @@ class VisibilityToggleButton @JvmOverloads constructor(context: Context, attrs:
|
||||
viewModel.visibility.collect(::updateVisibility)
|
||||
}
|
||||
viewModel.setInitialVisibility(preference.getInt(PREF_CURRENT_VISIBILITY, Visibility.UNKNOWN.num))
|
||||
setOnClickListener{ viewModel.stepVisibility() }
|
||||
setOnClickListener { viewModel.stepVisibility() }
|
||||
}
|
||||
|
||||
private fun updateVisibility(visibility: Visibility) {
|
||||
setImageResource(
|
||||
when (visibility) {
|
||||
Visibility.PUBLIC -> R.drawable.ic_public_24dp
|
||||
Visibility.UNLISTED -> R.drawable.ic_lock_open_24dp
|
||||
Visibility.PRIVATE -> R.drawable.ic_lock_outline_24dp
|
||||
Visibility.DIRECT -> R.drawable.ic_email_24dp
|
||||
Visibility.UNLEAKABLE -> R.drawable.ic_low_vision_24dp
|
||||
else -> R.drawable.ic_lock_open_24dp
|
||||
}
|
||||
when (visibility) {
|
||||
Visibility.PUBLIC -> R.drawable.ic_public_24dp
|
||||
Visibility.UNLISTED -> R.drawable.ic_lock_open_24dp
|
||||
Visibility.PRIVATE -> R.drawable.ic_lock_outline_24dp
|
||||
Visibility.DIRECT -> R.drawable.ic_email_24dp
|
||||
Visibility.UNLEAKABLE -> R.drawable.ic_low_vision_24dp
|
||||
else -> R.drawable.ic_lock_open_24dp
|
||||
}
|
||||
)
|
||||
|
||||
contentDescription = context.getString(
|
||||
when (visibility) {
|
||||
Visibility.UNKNOWN -> R.string.visibility_unknown
|
||||
Visibility.PUBLIC -> R.string.visibility_public
|
||||
Visibility.UNLISTED -> R.string.visibility_unlisted
|
||||
Visibility.PRIVATE -> R.string.visibility_private
|
||||
Visibility.DIRECT -> R.string.visibility_direct
|
||||
Visibility.UNLEAKABLE -> R.string.visibility_unleakable
|
||||
}
|
||||
when (visibility) {
|
||||
Visibility.UNKNOWN -> R.string.visibility_unknown
|
||||
Visibility.PUBLIC -> R.string.visibility_public
|
||||
Visibility.UNLISTED -> R.string.visibility_unlisted
|
||||
Visibility.PRIVATE -> R.string.visibility_private
|
||||
Visibility.DIRECT -> R.string.visibility_direct
|
||||
Visibility.UNLEAKABLE -> R.string.visibility_unleakable
|
||||
}
|
||||
)
|
||||
|
||||
preference.edit()
|
||||
.putInt(PREF_CURRENT_VISIBILITY, visibility.num)
|
||||
.apply()
|
||||
.putInt(PREF_CURRENT_VISIBILITY, visibility.num)
|
||||
.apply()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -4,8 +4,6 @@ import android.app.Activity
|
||||
import android.app.NotificationManager
|
||||
import android.content.ComponentName
|
||||
import android.content.Intent
|
||||
import android.os.Looper
|
||||
import android.view.View
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
@ -19,7 +17,6 @@ import com.keylesspalace.tusky.entity.Account
|
||||
import com.keylesspalace.tusky.entity.Instance
|
||||
import com.keylesspalace.tusky.entity.Notification
|
||||
import com.keylesspalace.tusky.entity.TimelineAccount
|
||||
import net.accelf.yuito.FooterDrawerItem
|
||||
import net.accelf.yuito.QuickTootViewModel
|
||||
import net.accelf.yuito.streaming.StreamingManager
|
||||
import org.junit.Assert.assertEquals
|
||||
|
Loading…
x
Reference in New Issue
Block a user