Dependency update, added LocalActivity provider

This commit is contained in:
tom5079
2022-11-08 14:21:37 -08:00
parent 4531a6b05f
commit a4e8f20b26
7 changed files with 49 additions and 46 deletions

View File

@@ -14,12 +14,21 @@ plugins {
} }
android { android {
compileSdk = 31 compileSdk = 33
signingConfigs {
create("release") {
storeFile = File(System.getenv("SIGNING_STORE_FILE"))
storePassword = System.getenv("SIGNING_STORE_PASSWORD")
keyAlias = System.getenv("SIGNING_KEY_ALIAS")
keyPassword = System.getenv("SIGNING_KEY_PASSWORD")
}
}
defaultConfig { defaultConfig {
applicationId = "xyz.quaver.pupil" applicationId = "xyz.quaver.pupil"
minSdk = 21 minSdk = 21
targetSdk = 31 targetSdk = 33
versionCode = 600 versionCode = 600
versionName = VERSION versionName = VERSION
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
@@ -43,15 +52,8 @@ android {
isCrunchPngs = false isCrunchPngs = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
signingConfigs { signingConfig = signingConfigs.getByName("release")
create("release") {
storeFile = File("/tmp/keystore.jks")
storePassword = System.getenv("SIGNING_STORE_PASSWORD")
keyAlias = System.getenv("SIGNING_KEY_ALIAS")
keyPassword = System.getenv("SIGNING_KEY_PASSWORD")
} }
} }
@@ -81,6 +83,7 @@ android {
) )
) )
} }
namespace = "xyz.quaver.pupil"
} }
dependencies { dependencies {
@@ -89,8 +92,8 @@ dependencies {
implementation(Kotlin.SERIALIZATION) implementation(Kotlin.SERIALIZATION)
implementation(Kotlin.COROUTINE) implementation(Kotlin.COROUTINE)
implementation("androidx.activity:activity-compose:1.4.0") implementation("androidx.activity:activity-compose:1.6.1")
implementation("androidx.navigation:navigation-compose:2.4.2") implementation("androidx.navigation:navigation-compose:2.5.3")
implementation(JetpackCompose.FOUNDATION) implementation(JetpackCompose.FOUNDATION)
implementation(JetpackCompose.UI) implementation(JetpackCompose.UI)
@@ -117,10 +120,10 @@ dependencies {
implementation(KtorClient.CONTENT_NEGOTIATION) implementation(KtorClient.CONTENT_NEGOTIATION)
implementation(KtorClient.SERIALIZATION) implementation(KtorClient.SERIALIZATION)
implementation("androidx.room:room-runtime:2.4.2") implementation("androidx.room:room-runtime:2.4.3")
annotationProcessor("androidx.room:room-compiler:2.4.2") annotationProcessor("androidx.room:room-compiler:2.4.3")
kapt("androidx.room:room-compiler:2.4.2") kapt("androidx.room:room-compiler:2.4.3")
implementation("androidx.room:room-ktx:2.4.2") implementation("androidx.room:room-ktx:2.4.3")
implementation("androidx.datastore:datastore:1.0.0") implementation("androidx.datastore:datastore:1.0.0")
implementation("androidx.datastore:datastore-preferences:1.0.0") implementation("androidx.datastore:datastore-preferences:1.0.0")
@@ -138,10 +141,10 @@ dependencies {
implementation("org.jsoup:jsoup:1.14.3") implementation("org.jsoup:jsoup:1.14.3")
implementation("xyz.quaver.pupil.sources:core:0.0.1-alpha01-DEV26") implementation("xyz.quaver.pupil.sources:core:0.0.1-alpha01-DEV29")
implementation("xyz.quaver:documentfilex:0.7.2") implementation("xyz.quaver:documentfilex:0.7.2")
implementation("xyz.quaver:subsampledimage:0.0.1-alpha19-SNAPSHOT") implementation("xyz.quaver:subsampledimage:0.0.1-alpha22-SNAPSHOT")
implementation("org.kodein.log:kodein-log:0.12.0") implementation("org.kodein.log:kodein-log:0.12.0")
debugImplementation("com.squareup.leakcanary:leakcanary-android:2.8.1") debugImplementation("com.squareup.leakcanary:leakcanary-android:2.8.1")

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools">
package="xyz.quaver.pupil">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

View File

@@ -33,11 +33,13 @@ import androidx.navigation.compose.rememberNavController
import com.google.accompanist.insets.ProvideWindowInsets import com.google.accompanist.insets.ProvideWindowInsets
import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.google.accompanist.systemuicontroller.rememberSystemUiController
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.kodein.di.DIAware import org.kodein.di.*
import org.kodein.di.android.closestDI import org.kodein.di.android.closestDI
import org.kodein.di.android.subDI
import org.kodein.di.compose.rememberInstance import org.kodein.di.compose.rememberInstance
import xyz.quaver.pupil.BuildConfig import xyz.quaver.pupil.BuildConfig
import xyz.quaver.pupil.sources.core.Source import xyz.quaver.pupil.sources.core.Source
import xyz.quaver.pupil.sources.core.util.LocalActivity
import xyz.quaver.pupil.sources.loadSource import xyz.quaver.pupil.sources.loadSource
import xyz.quaver.pupil.ui.theme.PupilTheme import xyz.quaver.pupil.ui.theme.PupilTheme
import xyz.quaver.pupil.util.PupilHttpClient import xyz.quaver.pupil.util.PupilHttpClient
@@ -64,7 +66,7 @@ class MainActivity : ComponentActivity(), DIAware {
val client: PupilHttpClient by rememberInstance() val client: PupilHttpClient by rememberInstance()
val latestRelease by produceState<Release?>(null) { val latestRelease by produceState<Release?>(null) {
value = client.latestRelease() value = null //client.latestRelease()
} }
var dismissUpdate by remember { mutableStateOf(false) } var dismissUpdate by remember { mutableStateOf(false) }
@@ -102,10 +104,12 @@ class MainActivity : ComponentActivity(), DIAware {
} }
} }
else { else {
CompositionLocalProvider(LocalActivity provides this@MainActivity) {
_source.Entry() _source.Entry()
} }
} }
} }
}
composable("settings") { composable("settings") {
} }

View File

@@ -47,7 +47,7 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import coil.compose.rememberImagePainter import coil.compose.AsyncImage
import com.google.accompanist.drawablepainter.rememberDrawablePainter import com.google.accompanist.drawablepainter.rememberDrawablePainter
import com.google.accompanist.insets.LocalWindowInsets import com.google.accompanist.insets.LocalWindowInsets
import com.google.accompanist.insets.rememberInsetsPaddingValues import com.google.accompanist.insets.rememberInsetsPaddingValues
@@ -58,8 +58,10 @@ import com.google.accompanist.insets.ui.TopAppBar
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.kodein.di.* import org.kodein.di.DI
import org.kodein.di.DIAware
import org.kodein.di.compose.localDI import org.kodein.di.compose.localDI
import org.kodein.di.instance
import xyz.quaver.pupil.sources.SourceEntry import xyz.quaver.pupil.sources.SourceEntry
import xyz.quaver.pupil.sources.rememberLocalSourceList import xyz.quaver.pupil.sources.rememberLocalSourceList
import xyz.quaver.pupil.sources.rememberRemoteSourceList import xyz.quaver.pupil.sources.rememberRemoteSourceList
@@ -67,11 +69,6 @@ import xyz.quaver.pupil.util.PupilHttpClient
import xyz.quaver.pupil.util.RemoteSourceInfo import xyz.quaver.pupil.util.RemoteSourceInfo
import xyz.quaver.pupil.util.launchApkInstaller import xyz.quaver.pupil.util.launchApkInstaller
import java.io.File import java.io.File
import kotlin.collections.associateBy
import kotlin.collections.contains
import kotlin.collections.forEach
import kotlin.collections.listOf
import kotlin.collections.orEmpty
private sealed class SourceSelectorScreen(val route: String, val icon: ImageVector) { private sealed class SourceSelectorScreen(val route: String, val icon: ImageVector) {
object Local: SourceSelectorScreen("local", Icons.Default.DownloadDone) object Local: SourceSelectorScreen("local", Icons.Default.DownloadDone)
@@ -97,9 +94,9 @@ class DownloadApkActionState(override val di: DI) : DIAware {
suspend fun download(url: String): File? = withContext(Dispatchers.IO) { suspend fun download(url: String): File? = withContext(Dispatchers.IO) {
progress = 0f progress = 0f
val file = File.createTempFile("pupil", ".apk", File(app.cacheDir, "apks")).also { val file = File.createTempFile("pupil", ".apk", File(app.cacheDir, "apks").also {
it.parentFile?.mkdirs() it.mkdirs()
} })
client.downloadFile(url, file).collect { progress = it } client.downloadFile(url, file).collect { progress = it }
@@ -256,8 +253,8 @@ fun Explore() {
SourceListItem( SourceListItem(
icon = { modifier -> icon = { modifier ->
Image( AsyncImage(
rememberImagePainter("https://raw.githubusercontent.com/tom5079/PupilSources/master/${sourceInfo.projectName}/src/main/res/mipmap-xxxhdpi/ic_launcher.png"), "https://raw.githubusercontent.com/tom5079/PupilSources/master/${sourceInfo.projectName}/src/main/res/mipmap-xxxhdpi/ic_launcher.png",
contentDescription = "source icon", contentDescription = "source icon",
modifier = modifier modifier = modifier
) )

View File

@@ -6,15 +6,15 @@ buildscript {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath("com.android.tools.build:gradle:7.1.3") classpath("com.android.tools.build:gradle:7.3.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.KOTLIN}") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.KOTLIN}")
classpath("org.jetbrains.kotlin:kotlin-android-extensions:${Versions.KOTLIN}") classpath("org.jetbrains.kotlin:kotlin-android-extensions:${Versions.KOTLIN}")
classpath("org.jetbrains.kotlin:kotlin-serialization:${Versions.KOTLIN}") classpath("org.jetbrains.kotlin:kotlin-serialization:${Versions.KOTLIN}")
classpath("com.google.gms:google-services:4.3.10") classpath("com.google.gms:google-services:4.3.14")
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
classpath("com.google.firebase:firebase-crashlytics-gradle:2.8.1") classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.2")
classpath("com.google.firebase:perf-plugin:1.4.1") classpath("com.google.firebase:perf-plugin:1.4.2")
classpath("com.google.android.gms:oss-licenses-plugin:0.10.5") classpath("com.google.android.gms:oss-licenses-plugin:0.10.5")
classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.18") classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.18")
} }

View File

@@ -20,14 +20,14 @@ const val GROUP_ID = "xyz.quaver"
const val VERSION = "6.0.0-alpha02" const val VERSION = "6.0.0-alpha02"
object Versions { object Versions {
const val KOTLIN = "1.6.10" const val KOTLIN = "1.7.10"
const val COROUTINE = "1.6.1" const val COROUTINE = "1.6.4"
const val SERIALIZATION = "1.3.2" const val SERIALIZATION = "1.4.1"
const val JETPACK_COMPOSE = "1.2.0-alpha07" const val JETPACK_COMPOSE = "1.3.0"
const val ACCOMPANIST = "0.23.1" const val ACCOMPANIST = "0.27.0"
const val KTOR = "2.0.0" const val KTOR = "2.1.3"
} }
object Kotlin { object Kotlin {

View File

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