Update miscellaneous libraries

This commit is contained in:
TacoTheDank 2023-10-31 21:25:11 -04:00 committed by Stypox
parent ee3455e1e5
commit 4a7fda95ae
No known key found for this signature in database
GPG Key ID: 4BDF1B40A49FDD23
7 changed files with 20 additions and 25 deletions

View File

@ -118,7 +118,6 @@ ext {
leakCanaryVersion = '2.12' leakCanaryVersion = '2.12'
stethoVersion = '1.6.0' stethoVersion = '1.6.0'
mockitoVersion = '4.0.0'
} }
configurations { configurations {
@ -237,13 +236,10 @@ dependencies {
kapt "frankiesardo:icepick-processor:${icepickVersion}" kapt "frankiesardo:icepick-processor:${icepickVersion}"
// HTML parser // HTML parser
implementation "org.jsoup:jsoup:1.16.1" implementation "org.jsoup:jsoup:1.16.2"
// HTTP client // HTTP client
implementation "com.squareup.okhttp3:okhttp:4.11.0" implementation "com.squareup.okhttp3:okhttp:4.12.0"
// okhttp3:4.11.0 introduces a vulnerability from com.squareup.okio:okio@3.3.0,
// remove com.squareup.okio:okio when updating okhttp
implementation "com.squareup.okio:okio:3.4.0"
// Media player // Media player
implementation "com.google.android.exoplayer:exoplayer-core:${exoPlayerVersion}" implementation "com.google.android.exoplayer:exoplayer-core:${exoPlayerVersion}"
@ -272,19 +268,19 @@ dependencies {
implementation "io.noties.markwon:linkify:${markwonVersion}" implementation "io.noties.markwon:linkify:${markwonVersion}"
// Crash reporting // Crash reporting
implementation "ch.acra:acra-core:5.10.1" implementation "ch.acra:acra-core:5.11.3"
// Properly restarting // Properly restarting
implementation 'com.jakewharton:process-phoenix:2.1.2' implementation 'com.jakewharton:process-phoenix:2.1.2'
// Reactive extensions for Java VM // Reactive extensions for Java VM
implementation "io.reactivex.rxjava3:rxjava:3.1.6" implementation "io.reactivex.rxjava3:rxjava:3.1.8"
implementation "io.reactivex.rxjava3:rxandroid:3.0.2" implementation "io.reactivex.rxjava3:rxandroid:3.0.2"
// RxJava binding APIs for Android UI widgets // RxJava binding APIs for Android UI widgets
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0" implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
// Date and time formatting // Date and time formatting
implementation "org.ocpsoft.prettytime:prettytime:5.0.6.Final" implementation "org.ocpsoft.prettytime:prettytime:5.0.7.Final"
/** Debugging **/ /** Debugging **/
// Memory leak detection // Memory leak detection
@ -297,13 +293,12 @@ dependencies {
/** Testing **/ /** Testing **/
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
testImplementation "org.mockito:mockito-core:${mockitoVersion}" testImplementation 'org.mockito:mockito-core:5.6.0'
testImplementation "org.mockito:mockito-inline:${mockitoVersion}"
androidTestImplementation "androidx.test.ext:junit:1.1.5" androidTestImplementation "androidx.test.ext:junit:1.1.5"
androidTestImplementation "androidx.test:runner:1.5.2" androidTestImplementation "androidx.test:runner:1.5.2"
androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}" androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}"
androidTestImplementation "org.assertj:assertj-core:3.23.1" androidTestImplementation "org.assertj:assertj-core:3.24.2"
} }
static String getGitWorkingBranch() { static String getGitWorkingBranch() {

View File

@ -47,6 +47,6 @@ object Converters {
@TypeConverter @TypeConverter
fun feedGroupIconOf(id: Int): FeedGroupIcon { fun feedGroupIconOf(id: Int): FeedGroupIcon {
return FeedGroupIcon.values().first { it.id == id } return FeedGroupIcon.entries.first { it.id == id }
} }
} }

View File

@ -26,7 +26,7 @@ object FeedEventManager {
} }
sealed class Event { sealed class Event {
object IdleEvent : Event() data object IdleEvent : Event()
data class ProgressEvent(val currentProgress: Int = -1, val maxProgress: Int = -1, @StringRes val progressMessage: Int = 0) : Event() { data class ProgressEvent(val currentProgress: Int = -1, val maxProgress: Int = -1, @StringRes val progressMessage: Int = 0) : Event() {
constructor(@StringRes progressMessage: Int) : this(-1, -1, progressMessage) constructor(@StringRes progressMessage: Int) : this(-1, -1, progressMessage)
} }

View File

@ -55,10 +55,10 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
private var groupSortOrder: Long = -1 private var groupSortOrder: Long = -1
sealed class ScreenState : Serializable { sealed class ScreenState : Serializable {
object InitialScreen : ScreenState() data object InitialScreen : ScreenState()
object IconPickerScreen : ScreenState() data object IconPickerScreen : ScreenState()
object SubscriptionsPickerScreen : ScreenState() data object SubscriptionsPickerScreen : ScreenState()
object DeleteScreen : ScreenState() data object DeleteScreen : ScreenState()
} }
@State @JvmField var selectedIcon: FeedGroupIcon? = null @State @JvmField var selectedIcon: FeedGroupIcon? = null
@ -370,7 +370,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
private fun setupIconPicker() { private fun setupIconPicker() {
val groupAdapter = GroupieAdapter() val groupAdapter = GroupieAdapter()
groupAdapter.addAll(FeedGroupIcon.values().map { PickerIconItem(it) }) groupAdapter.addAll(FeedGroupIcon.entries.map { PickerIconItem(it) })
feedGroupCreateBinding.iconSelector.apply { feedGroupCreateBinding.iconSelector.apply {
layoutManager = GridLayoutManager(requireContext(), 7, RecyclerView.VERTICAL, false) layoutManager = GridLayoutManager(requireContext(), 7, RecyclerView.VERTICAL, false)

View File

@ -110,8 +110,8 @@ class FeedGroupDialogViewModel(
} }
sealed class DialogEvent { sealed class DialogEvent {
object ProcessingEvent : DialogEvent() data object ProcessingEvent : DialogEvent()
object SuccessEvent : DialogEvent() data object SuccessEvent : DialogEvent()
} }
data class Filter(val query: String, val showOnlyUngrouped: Boolean) data class Filter(val query: String, val showOnlyUngrouped: Boolean)

View File

@ -9,7 +9,7 @@ class FeedGroupIconTest {
fun `No gaps and repeated ids`() { fun `No gaps and repeated ids`() {
val usedIds = HashSet<Int>() val usedIds = HashSet<Int>()
for ((shouldBeId, currentIcon) in FeedGroupIcon.values().withIndex()) { for ((shouldBeId, currentIcon) in FeedGroupIcon.entries.withIndex()) {
val added = usedIds.add(currentIcon.id) val added = usedIds.add(currentIcon.id)
assertTrue("Repeated ids (current item: ${currentIcon.name} - ${currentIcon.id})", added) assertTrue("Repeated ids (current item: ${currentIcon.name} - ${currentIcon.id})", added)
@ -24,7 +24,7 @@ class FeedGroupIconTest {
fun `No icons pointing to the same attr`() { fun `No icons pointing to the same attr`() {
val usedIcons = HashSet<Int>() val usedIcons = HashSet<Int>()
for (groupIcon in FeedGroupIcon.values()) { for (groupIcon in FeedGroupIcon.entries) {
val added = usedIcons.add(groupIcon.drawableResource) val added = usedIcons.add(groupIcon.drawableResource)
assertTrue("Repeated icon (current item: ${groupIcon.name} - ${groupIcon.id})", added) assertTrue("Repeated icon (current item: ${groupIcon.name} - ${groupIcon.id})", added)
} }

View File

@ -1,13 +1,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { buildscript {
ext.kotlin_version = '1.8.22' ext.kotlin_version = '1.9.10'
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:8.1.1' classpath 'com.android.tools.build:gradle:8.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong