1
0
mirror of https://github.com/AllanWang/Frost-for-Facebook.git synced 2024-11-08 12:02:33 +01:00

Version bumps, koin removal, android 12 target

This commit is contained in:
Allan Wang 2021-10-24 18:30:11 -07:00
parent b5a5ad755e
commit ab7447c811
No known key found for this signature in database
GPG Key ID: 69D90B885D405BDB
7 changed files with 12 additions and 85 deletions

View File

@ -274,9 +274,6 @@ dependencies {
implementation "androidx.biometric:biometric:${Versions.andxBiometric}"
testImplementation kau.Dependencies.koinTest
androidTestImplementation kau.Dependencies.koinTest
implementation kau.Dependencies.hilt
kapt kau.Dependencies.hiltCompiler
testImplementation kau.Dependencies.hiltTest

View File

@ -19,13 +19,7 @@ package com.pitchedapps.frost
import android.app.Application
import android.content.Context
import androidx.test.runner.AndroidJUnitRunner
import com.pitchedapps.frost.prefs.Prefs
import dagger.hilt.android.testing.HiltTestApplication
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
import org.koin.core.component.KoinComponent
import org.koin.core.component.get
class FrostTestRunner : AndroidJUnitRunner() {
override fun newApplication(
@ -36,16 +30,3 @@ class FrostTestRunner : AndroidJUnitRunner() {
return super.newApplication(cl, HiltTestApplication::class.java.name, context)
}
}
class FrostTestRule : TestRule {
override fun apply(base: Statement, description: Description): Statement =
object : Statement(), KoinComponent {
override fun evaluate() {
// Reset prefs
get<Prefs>().reset()
base.evaluate()
}
}
}

View File

@ -1,53 +0,0 @@
/*
* Copyright 2019 Allan Wang
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.pitchedapps.frost.db
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.runner.RunWith
import org.koin.core.error.NoBeanDefFoundException
import org.koin.test.KoinTest
import kotlin.reflect.KClass
import kotlin.reflect.full.functions
import kotlin.test.Test
import kotlin.test.assertTrue
@RunWith(AndroidJUnit4::class)
class DatabaseTest : KoinTest {
inline fun <reified T : Any> hasKoin() = hasKoin(T::class)
fun <T : Any> hasKoin(klazz: KClass<T>): Boolean =
try {
getKoin().get<T>(klazz, qualifier = null, parameters = null)
true
} catch (e: NoBeanDefFoundException) {
false
}
/**
* Database and all daos should be loaded as components
*/
@Test
fun testKoins() {
hasKoin<FrostDatabase>()
val members = FrostDatabase::class.java.kotlin.functions.filter { it.name.endsWith("Dao") }
.mapNotNull { it.returnType.classifier as? KClass<*> }
assertTrue(members.isNotEmpty(), "Failed to find dao interfaces")
val missingKoins = members.filter { !hasKoin(it) }
assertTrue(missingKoins.isEmpty(), "Missing koins: $missingKoins")
}
}

View File

@ -31,7 +31,7 @@
<activity
android:name=".StartActivity"
android:label="@string/frost_name"
android:exported="true"
android:noHistory="true"
android:theme="@style/FrostTheme.Splash">
<intent-filter>
@ -174,14 +174,17 @@
<receiver
android:name=".services.UpdateReceiver"
android:enabled="true">
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>
<!--Widgets-->
<receiver android:name=".widgets.NotificationWidget">
<receiver
android:name=".widgets.NotificationWidget"
android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

View File

@ -1,6 +1,6 @@
object Versions {
const val targetSdk = 30
const val targetSdk = 31
// https://developer.android.com/jetpack/androidx/releases/biometric
const val andxBiometric = "1.1.0"
@ -12,15 +12,15 @@ object Versions {
const val exoMedia = "4.3.0"
// https://github.com/jhy/jsoup/releases
const val jsoup = "1.14.2"
const val jsoup = "1.14.3"
// https://square.github.io/okhttp/changelog/
const val okhttp = "4.9.1"
// https://developer.android.com/jetpack/androidx/releases/room
const val room = "2.3.0"
// http://robolectric.org/getting-started/
const val roboelectric = "4.4"
const val roboelectric = "4.6"
// https://github.com/davemorrissey/subsampling-scale-image-view#quick-start
const val scaleImageView = "3.10.0"
// https://github.com/node-gradle/gradle-node-plugin/releases
const val nodeGradle = "3.0.1"
const val nodeGradle = "3.1.1"
}

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@ -3,8 +3,7 @@ apply plugin: "com.diffplug.spotless"
spotless {
kotlin {
target "**/*.kt"
// https://github.com/pinterest/ktlint/releases
ktlint("0.41.0").userData(["disabled_rules": "no-wildcard-imports"])
ktlint(kau.Versions.ktlint).userData(["disabled_rules": "no-wildcard-imports"])
licenseHeaderFile '../spotless.license.kt'
trimTrailingWhitespace()
endWithNewline()