Update Compose & Fix apkPaths null
This commit is contained in:
parent
0d1f937457
commit
f7c6af53ec
|
|
@ -16,7 +16,7 @@ buildscript {
|
|||
}
|
||||
dependencies {
|
||||
classpath("org.eclipse.jgit:org.eclipse.jgit:6.0.0.202111291000-r")
|
||||
classpath(kotlin("gradle-plugin", version = "1.7.0"))
|
||||
classpath(kotlin("gradle-plugin", version = "1.7.10"))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ android {
|
|||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = "1.2.0"
|
||||
kotlinCompilerExtensionVersion = "1.3.1"
|
||||
}
|
||||
|
||||
sourceSets["main"].assets.srcDirs(rootProject.projectDir.resolve("out/assets"))
|
||||
|
|
@ -81,29 +81,31 @@ dependencies {
|
|||
implementation(projects.share.java)
|
||||
|
||||
val roomVersion = "2.4.3"
|
||||
val composeDestinationsVersion = "1.7.17-beta"
|
||||
val accompanistVersion = "0.26.3-beta"
|
||||
val composeDestinationsVersion = "1.7.21-beta"
|
||||
annotationProcessor("androidx.room:room-compiler:$roomVersion")
|
||||
compileOnly("dev.rikka.hidden:stub:2.3.1")
|
||||
implementation("androidx.core:core-ktx:1.8.0")
|
||||
implementation("androidx.activity:activity-compose:1.6.0-rc01")
|
||||
implementation("androidx.compose.material:material-icons-extended:1.3.0-beta01")
|
||||
implementation("androidx.compose.material3:material3:1.0.0-beta01")
|
||||
implementation("androidx.compose.ui:ui:1.3.0-beta01")
|
||||
implementation("androidx.compose.ui:ui-tooling:1.3.0-beta01")
|
||||
implementation("androidx.core:core-ktx:1.9.0")
|
||||
implementation("androidx.activity:activity-compose:1.6.0")
|
||||
implementation("androidx.compose.material:material-icons-extended:1.3.0-beta03")
|
||||
implementation("androidx.compose.material3:material3:1.0.0-beta03")
|
||||
implementation("androidx.compose.ui:ui:1.3.0-beta03")
|
||||
implementation("androidx.compose.ui:ui-tooling:1.3.0-beta03")
|
||||
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1")
|
||||
implementation("androidx.navigation:navigation-compose:2.5.1")
|
||||
implementation("androidx.navigation:navigation-compose:2.5.2")
|
||||
implementation("androidx.preference:preference:1.2.0")
|
||||
implementation("androidx.room:room-ktx:$roomVersion")
|
||||
implementation("androidx.room:room-runtime:$roomVersion")
|
||||
implementation("com.google.accompanist:accompanist-drawablepainter:0.26.2-beta")
|
||||
implementation("com.google.accompanist:accompanist-navigation-animation:0.26.2-beta")
|
||||
implementation("com.google.accompanist:accompanist-pager:0.26.2-beta")
|
||||
implementation("com.google.accompanist:accompanist-swiperefresh:0.26.2-beta")
|
||||
implementation("com.google.accompanist:accompanist-drawablepainter:$accompanistVersion")
|
||||
implementation("com.google.accompanist:accompanist-navigation-animation:$accompanistVersion")
|
||||
implementation("com.google.accompanist:accompanist-pager:$accompanistVersion")
|
||||
implementation("com.google.accompanist:accompanist-swiperefresh:$accompanistVersion")
|
||||
implementation("com.google.android.material:material:1.6.1")
|
||||
implementation("com.google.code.gson:gson:2.9.1")
|
||||
implementation("dev.rikka.shizuku:api:12.1.0")
|
||||
implementation("dev.rikka.shizuku:provider:12.1.0")
|
||||
implementation("io.github.raamcosta.compose-destinations:core:$composeDestinationsVersion")
|
||||
implementation("me.zhanghai.android.appiconloader:appiconloader:1.5.0")
|
||||
implementation("org.lsposed.hiddenapibypass:hiddenapibypass:4.3")
|
||||
ksp("androidx.room:room-compiler:$roomVersion")
|
||||
ksp("io.github.raamcosta.compose-destinations:ksp:$composeDestinationsVersion")
|
||||
|
|
|
|||
|
|
@ -1,27 +1,30 @@
|
|||
package org.lsposed.lspatch.ui.component
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.graphics.drawable.GradientDrawable
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.ArrowForwardIos
|
||||
import androidx.compose.material3.*
|
||||
import androidx.compose.material3.Checkbox
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.ImageBitmap
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
import androidx.compose.ui.graphics.toArgb
|
||||
import androidx.compose.ui.text.font.FontFamily
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.accompanist.drawablepainter.rememberDrawablePainter
|
||||
import androidx.core.graphics.drawable.toBitmap
|
||||
import org.lsposed.lspatch.ui.theme.LSPTheme
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun AppItem(
|
||||
modifier: Modifier = Modifier,
|
||||
icon: Drawable,
|
||||
icon: ImageBitmap,
|
||||
label: String,
|
||||
packageName: String,
|
||||
checked: Boolean? = null,
|
||||
|
|
@ -40,9 +43,8 @@ fun AppItem(
|
|||
verticalAlignment = Alignment.CenterVertically
|
||||
) {
|
||||
Icon(
|
||||
painter = rememberDrawablePainter(icon),
|
||||
bitmap = icon,
|
||||
contentDescription = label,
|
||||
modifier = Modifier.size(32.dp),
|
||||
tint = Color.Unspecified
|
||||
)
|
||||
Column(
|
||||
|
|
@ -79,7 +81,7 @@ private fun AppItemPreview() {
|
|||
shape.shape = GradientDrawable.RECTANGLE
|
||||
shape.setColor(MaterialTheme.colorScheme.primary.toArgb())
|
||||
AppItem(
|
||||
icon = shape,
|
||||
icon = shape.toBitmap().asImageBitmap(),
|
||||
label = "Sample App",
|
||||
packageName = "org.lsposed.sample",
|
||||
rightIcon = { Icon(Icons.Filled.ArrowForwardIos, null) }
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ fun SearchAppBar(
|
|||
}
|
||||
}
|
||||
|
||||
SmallTopAppBar(
|
||||
TopAppBar(
|
||||
title = {
|
||||
Box {
|
||||
AnimatedVisibility(
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ fun NewPatchScreen(
|
|||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
private fun ConfiguringTopBar(onBackClick: () -> Unit) {
|
||||
SmallTopAppBar(
|
||||
TopAppBar(
|
||||
title = { Text(stringResource(R.string.screen_new_patch)) },
|
||||
navigationIcon = {
|
||||
IconButton(
|
||||
|
|
|
|||
|
|
@ -1,22 +1,25 @@
|
|||
package org.lsposed.lspatch.util
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.content.pm.ApplicationInfo
|
||||
import android.content.pm.PackageInstaller
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.os.Parcelable
|
||||
import android.util.Log
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.graphics.ImageBitmap
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
import androidx.core.net.toUri
|
||||
import androidx.documentfile.provider.DocumentFile
|
||||
import hidden.HiddenApiBridge
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import me.zhanghai.android.appiconloader.AppIconLoader
|
||||
import org.lsposed.lspatch.Constants.PATCH_FILE_SUFFIX
|
||||
import org.lsposed.lspatch.config.ConfigManager
|
||||
import org.lsposed.lspatch.config.Configs
|
||||
|
|
@ -43,7 +46,9 @@ object LSPPackageManager {
|
|||
var appList by mutableStateOf(listOf<AppInfo>())
|
||||
private set
|
||||
|
||||
private val appIcon = mutableMapOf<String, Drawable>()
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private val iconLoader = AppIconLoader(lspApp.resources.getDimensionPixelSize(android.R.dimen.app_icon_size), false, lspApp)
|
||||
private val appIcon = mutableMapOf<String, ImageBitmap>()
|
||||
|
||||
suspend fun fetchAppList() {
|
||||
withContext(Dispatchers.IO) {
|
||||
|
|
@ -52,7 +57,7 @@ object LSPPackageManager {
|
|||
pm.getInstalledApplications(PackageManager.GET_META_DATA).forEach {
|
||||
val label = pm.getApplicationLabel(it)
|
||||
collection.add(AppInfo(it, label.toString()))
|
||||
appIcon[it.packageName] = pm.getApplicationIcon(it)
|
||||
appIcon[it.packageName] = iconLoader.loadIcon(it).asImageBitmap()
|
||||
}
|
||||
collection.sortWith(compareBy(Collator.getInstance(Locale.getDefault()), AppInfo::label))
|
||||
val modules = buildMap {
|
||||
|
|
@ -162,7 +167,10 @@ object LSPPackageManager {
|
|||
}
|
||||
if (primary == null) {
|
||||
primary = lspApp.packageManager.getPackageArchiveInfo(dst.absolutePath, 0)?.applicationInfo
|
||||
if (primary != null) return@mapNotNull null
|
||||
primary?.let {
|
||||
it.sourceDir = dst.absolutePath
|
||||
return@mapNotNull null
|
||||
}
|
||||
}
|
||||
dst.absolutePath
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ pluginManagement {
|
|||
plugins {
|
||||
id("com.android.library") version agpVersion
|
||||
id("com.android.application") version agpVersion
|
||||
id("com.google.devtools.ksp") version "1.7.0-1.0.6"
|
||||
id("com.google.devtools.ksp") version "1.7.10-1.0.6"
|
||||
id("dev.rikka.tools.refine") version "3.1.1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue