Apply ktlint and add to CI
This commit is contained in:
parent
004a9b4921
commit
c7a91fb1df
|
@ -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
|
||||
|
@ -759,8 +759,10 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
|
|||
R.id.tabToggleNotificationsFilter -> {
|
||||
if (fragment is NotificationsFragment) {
|
||||
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
||||
prefs.edit().putBoolean("showNotificationsFilter",
|
||||
!prefs.getBoolean("showNotificationsFilter", true))
|
||||
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
|
||||
|
||||
|
|
|
@ -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) {
|
||||
val instanceInfo = useCache.map {
|
||||
when (it) {
|
||||
true -> instanceInfoRepo.getCachedInstanceInfo()
|
||||
false -> instanceInfoRepo.getInstanceInfo()
|
||||
} }.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
val emoji = useCache.map { when (it) {
|
||||
}
|
||||
}.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
val emoji = useCache.map {
|
||||
when (it) {
|
||||
true -> instanceInfoRepo.getCachedEmojis()
|
||||
false -> instanceInfoRepo.getEmojis()
|
||||
} }.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
}
|
||||
}.shareIn(viewModelScope, SharingStarted.Eagerly, 1)
|
||||
|
||||
val markMediaAsSensitive: MutableStateFlow<Boolean> =
|
||||
MutableStateFlow(accountManager.activeAccount?.defaultMediaSensitivity ?: false)
|
||||
|
|
|
@ -322,10 +322,13 @@ 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)
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
statusData.add(
|
||||
0,
|
||||
status.toViewData(
|
||||
isShowingContent = activeAccount.alwaysShowSensitiveMedia,
|
||||
isExpanded = activeAccount.alwaysOpenSpoiler,
|
||||
isCollapsed = true,
|
||||
))
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
currentSource?.invalidate()
|
||||
|
|
|
@ -95,5 +95,4 @@ abstract class FragmentBuildersModule {
|
|||
|
||||
@ContributesAndroidInjector
|
||||
abstract fun searchNotestockFragment(): SearchNotestockFragment
|
||||
|
||||
}
|
||||
|
|
|
@ -12,5 +12,4 @@ interface NotestockApi {
|
|||
@Query("q") q: String,
|
||||
@Query("max_dt") maxDt: String? = null
|
||||
): Single<SearchResult>
|
||||
|
||||
}
|
||||
|
|
|
@ -31,9 +31,11 @@ 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)
|
||||
?: account.defaultPostPrivacy
|
||||
)
|
||||
.takeUnless { it == Visibility.UNLEAKABLE && unleakableAllowed }
|
||||
?: Visibility.PRIVATE
|
||||
}
|
||||
|
|
|
@ -70,10 +70,12 @@ class QuoteInlineHelper(
|
|||
true -> View.VISIBLE
|
||||
false -> View.GONE
|
||||
}
|
||||
binding.statusQuoteInlineContentWarningButton.setText(when (show) {
|
||||
binding.statusQuoteInlineContentWarningButton.setText(
|
||||
when (show) {
|
||||
true -> R.string.post_content_warning_show_less
|
||||
false -> R.string.post_content_warning_show_more
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private fun hideSpoilerText() {
|
||||
|
|
|
@ -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…
Reference in New Issue