update copyright, formatting

This commit is contained in:
Juby210 2022-03-12 22:39:31 +01:00
parent e479d082c1
commit c1335cf680
No known key found for this signature in database
GPG key ID: 3ABD6C1F005B4DD2
59 changed files with 450 additions and 358 deletions

View file

@ -1,8 +1,3 @@
/*
* Copyright (c) 2021 Juby210
* Licensed under the Open Software License version 3.0
*/
val pagingVersion = "3.1.0"
val accompanistVersion = "0.23.0"
val composeVersion = "1.1.0"

View file

@ -1,15 +1,14 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager
import android.content.Context
import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.os.Environment
import android.os.*
import android.provider.Settings
import android.view.animation.AccelerateInterpolator
import androidx.activity.ComponentActivity
@ -69,4 +68,4 @@ class MainActivity : ComponentActivity() {
}
}
}
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.models
data class Manifest(
@ -10,4 +15,4 @@ data class Manifest(
val changelogMedia: String?
) {
data class Author(val name: String, val id: Long)
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.models
import android.util.Log
@ -46,4 +51,4 @@ data class Plugin(val file: File) {
}.sortedBy { it.manifest.name }
}
}
}
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
@ -15,4 +15,4 @@ data class Commit(
) {
data class Author(@SerializedName("login") val name: String)
data class Commit(val message: String)
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.models.github
import com.google.gson.annotations.SerializedName
@ -5,4 +10,4 @@ import com.google.gson.annotations.SerializedName
data class GithubUser(
@SerializedName("login") val name: String,
val contributions: Int
)
)

View file

@ -1,7 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.models.github
data class Version(
val versionCode: String,
val versionName: String,
val aliucordHash: String
)
)

View file

@ -1,8 +1,9 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.preferences
import android.content.SharedPreferences
@ -63,4 +64,4 @@ fun stringPreference(
defaultValue,
SharedPreferences::getString,
SharedPreferences.Editor::putString
)
)

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
@ -15,4 +15,4 @@ object Prefs {
val debuggable = boolPreference("debuggable")
val useDexFromStorage = boolPreference("use_dex_from_storage")
val dexLocation = stringPreference("dex_location", "$aliucordDir/Injector.dex")
}
}

View file

@ -1,9 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components
import androidx.annotation.StringRes
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.filled.MoreVert
@ -114,4 +117,4 @@ fun AppBar(navController: NavController) {
}
}
)
}
}

View file

@ -1,13 +1,15 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components
import android.content.Intent
import android.net.Uri
import android.provider.Settings
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@ -61,4 +63,4 @@ fun GrantPermission(permissionState: PermissionState) = Column(
Text(stringResource(R.string.open_settings))
}
}
}
}

View file

@ -1,9 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components
import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
@ -22,14 +25,16 @@ fun ListItem(
) = M2ListItem(
modifier = modifier,
icon = icon,
overlineText = if (overlineText != null) {{
CompositionLocalProvider(
LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant,
LocalTextStyle provides MaterialTheme.typography.labelMedium
) {
overlineText()
overlineText = if (overlineText != null) {
{
CompositionLocalProvider(
LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant,
LocalTextStyle provides MaterialTheme.typography.labelMedium
) {
overlineText()
}
}
}} else null,
} else null,
text = {
CompositionLocalProvider(
LocalContentColor provides MaterialTheme.colorScheme.onSurface,
@ -50,4 +55,4 @@ fun ListItem(
} else null,
trailing = trailing,
singleLineSecondaryText = singleLineSecondaryText,
)
)

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components
import android.Manifest
@ -10,9 +15,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.navigation.compose.rememberNavController
import com.aliucord.manager.ui.screens.NavGraphs
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.PermissionRequired
import com.google.accompanist.permissions.rememberPermissionState
import com.google.accompanist.permissions.*
import com.ramcosta.composedestinations.DestinationsNavHost
import com.ramcosta.composedestinations.rememberNavHostEngine
@ -45,4 +48,4 @@ fun ManagerScaffold() {
)
}
}
}
}

View file

@ -1,9 +1,11 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
@ -61,8 +63,8 @@ fun PluginsList() = Column(
items(plugins.filter { plugin ->
plugin.manifest.run {
name.contains(search, true)
|| description.contains(search, true)
|| authors.any { a -> a.name.contains(search, true) }
|| description.contains(search, true)
|| authors.any { a -> a.name.contains(search, true) }
}
}) { plugin ->
var showDeleteDialog by remember { mutableStateOf(false) }
@ -119,4 +121,4 @@ fun PluginsList() = Column(
} else {
Text(stringResource(R.string.no_plugins_installed))
}
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components
import androidx.compose.foundation.interaction.MutableInteractionSource
@ -31,4 +36,4 @@ fun Switch(
uncheckedThumbColor = colors.secondary
)
)
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.about
import androidx.compose.foundation.Image
@ -28,4 +33,4 @@ fun ContributorEntry(name: String) {
),
contentDescription = stringResource(R.string.contributor)
)
}
}

View file

@ -1,15 +1,15 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.about
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.GridCells
import androidx.compose.foundation.lazy.LazyVerticalGrid
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.*
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
@ -61,4 +61,4 @@ fun ContributorsCard() = ElevatedCard(
}
}
}
}
}

View file

@ -1,10 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.about
import androidx.compose.foundation.layout.*
import androidx.compose.material3.ElevatedCard
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
@ -34,4 +36,4 @@ fun TeamCard() = ElevatedCard(
UserEntry("mwittrien", "your memory gon")
}
}
}
}

View file

@ -1,10 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.about
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.*
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@ -38,4 +40,4 @@ fun UserEntry(name: String, roles: String) = Column {
Text(roles)
}
}
}
}

View file

@ -1,11 +1,13 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.installer
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
@ -91,4 +93,4 @@ fun InstallerDialog(
},
onDismissRequest = onDismissRequest
)
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.plugins
import android.annotation.SuppressLint
@ -132,7 +137,8 @@ fun Changelog(
modifier = Modifier.padding(top = 16.dp, bottom = 6.dp)
)
}
line.all { c -> c == '=' } -> {} // Discord ignores =======
line.all { c -> c == '=' } -> {
} // Discord ignores =======
else -> {
LinkText(
buildAnnotatedString {
@ -172,4 +178,4 @@ private fun LinkText(annotatedString: AnnotatedString, modifier: Modifier = Modi
},
modifier = modifier
)
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.plugins
import androidx.compose.foundation.layout.*
@ -10,10 +15,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.*
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.unit.dp
import com.aliucord.manager.R
import com.aliucord.manager.models.Plugin
@ -91,7 +94,8 @@ fun PluginCard(
Icon(
painter = painterResource(R.drawable.ic_account_github_white_24dp),
contentDescription = "GitHub",
tint = MaterialTheme.colorScheme.onSurface)
tint = MaterialTheme.colorScheme.onSurface
)
}
if (plugin.manifest.changelog != null) {
@ -118,4 +122,4 @@ fun PluginCard(
}
}
}
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.settings
import androidx.compose.foundation.clickable
@ -26,4 +31,4 @@ fun PreferenceItem(
onCheckedChange = preference::set
)
}
)
)

View file

@ -1,9 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.settings
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
@ -59,4 +62,4 @@ fun ThemeDialog(
}
}
)
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.components.settings
import androidx.compose.foundation.clickable
@ -27,4 +32,4 @@ fun ThemeSetting(
Text(Theme.from(Prefs.theme.get()).displayName)
}
}
)
)

View file

@ -1,9 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Button
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalUriHandler
@ -40,4 +43,4 @@ fun AboutScreen() {
Text(stringResource(R.string.source_code))
}
}
}
}

View file

@ -1,9 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material3.CircularProgressIndicator
@ -83,7 +86,7 @@ fun CommitsScreen() {
localUriHandler.openUri(commitData.htmlUrl)
},
overlineText = { Text(commitData.sha.substring(0, 7)) },
text = { Text("${commitData.commit.message.split("\n").first()} - ${commitData.author.name}")}
text = { Text("${commitData.commit.message.split("\n").first()} - ${commitData.author.name}") }
)
}
@ -95,4 +98,4 @@ fun CommitsScreen() {
)
}
}
}
}

View file

@ -1,8 +1,9 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.screens
import android.content.Intent
@ -20,10 +21,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.*
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.unit.dp
import androidx.core.net.toFile
import com.aliucord.manager.R
@ -34,9 +33,7 @@ import com.aliucord.manager.ui.components.installer.DownloadMethod
import com.aliucord.manager.ui.components.installer.InstallerDialog
import com.aliucord.manager.ui.screens.destinations.CommitsScreenDestination
import com.aliucord.manager.ui.screens.destinations.InstallerScreenDestination
import com.aliucord.manager.utils.Github
import com.aliucord.manager.utils.gson
import com.aliucord.manager.utils.httpClient
import com.aliucord.manager.utils.*
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import io.ktor.client.request.*
@ -258,4 +255,4 @@ fun HomeScreen(navigator: DestinationsNavigator) {
}
}
}
}
}

View file

@ -1,10 +1,13 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.screens
import android.content.Intent
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
@ -200,11 +203,11 @@ fun InstallerScreen(navigator: DestinationsNavigator, apk: File?) {
Spacer(Modifier.weight(1f, true))
// LinearProgressIndicator(
// modifier = Modifier
// .fillMaxWidth()
// .height(8.dp),
// progress = 0.5f
// )
// LinearProgressIndicator(
// modifier = Modifier
// .fillMaxWidth()
// .height(8.dp),
// progress = 0.5f
// )
}
}

View file

@ -1,17 +1,15 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.screens
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.*
import androidx.compose.material.ContentAlpha
import androidx.compose.material3.*
import androidx.compose.runtime.*
@ -24,9 +22,7 @@ import androidx.compose.ui.unit.dp
import com.aliucord.manager.R
import com.aliucord.manager.preferences.Prefs
import com.aliucord.manager.ui.components.ListItem
import com.aliucord.manager.ui.components.settings.PreferenceItem
import com.aliucord.manager.ui.components.settings.ThemeDialog
import com.aliucord.manager.ui.components.settings.ThemeSetting
import com.aliucord.manager.ui.components.settings.*
import com.ramcosta.composedestinations.annotation.Destination
@OptIn(ExperimentalMaterial3Api::class, androidx.compose.material.ExperimentalMaterialApi::class)
@ -110,4 +106,4 @@ fun SettingsScreen() = Column(
) {
Text(stringResource(R.string.clear_files_cache), textAlign = TextAlign.Center)
}
}
}

View file

@ -1,19 +1,16 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.screens
import androidx.annotation.Keep
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.remember
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
@ -65,4 +62,4 @@ fun StoreScreen() {
}
}
}
}
}

View file

@ -1,8 +1,9 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.theme
import androidx.compose.ui.graphics.Color
@ -17,4 +18,4 @@ val discordBrand = Color(0xff5865F2)
val discordGreen = Color(0xff57F287)
val discordRed = Color(0xffED4245)
val errorColor = discordRed
val errorColor = discordRed

View file

@ -1,8 +1,9 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.theme
import android.os.Build
@ -67,4 +68,4 @@ enum class Theme(val displayName: String) {
companion object {
fun from(index: Int) = values()[index]
}
}
}

View file

@ -1,10 +1,11 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.ui.theme
import androidx.compose.material3.Typography
val Typography = Typography()
val Typography = Typography()

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.utils
import android.os.Environment

View file

@ -1,10 +1,12 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.utils
import android.app.DownloadManager
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.content.*
import androidx.core.net.toUri
import java.io.File
import kotlin.coroutines.resume
@ -56,4 +58,4 @@ object DownloadUtils {
}
}
}
}
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
@ -43,4 +43,4 @@ object Github {
return res
}
}
}

View file

@ -1,15 +1,13 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.utils
import com.aliucord.manager.preferences.Prefs
import pxb.android.axml.AxmlReader
import pxb.android.axml.AxmlVisitor
import pxb.android.axml.AxmlWriter
import pxb.android.axml.NodeVisitor
import pxb.android.axml.*
fun patchManifest(manifestBytes: ByteArray): ByteArray {
val packageName = "com.aliucord"
@ -32,7 +30,8 @@ fun patchManifest(manifestBytes: ByteArray): ByteArray {
return when (name) {
"uses-sdk" -> ReplaceAttrsVisitor(nv, mapOf("targetSdkVersion" to 29))
"permission" -> ReplaceAttrsVisitor(nv, mapOf("name" to "$packageName.permission.CONNECT"))
"application" -> object : ReplaceAttrsVisitor(nv, mapOf(REQUEST_LEGACY_STORAGE to 1, "label" to "Aliucord", "debuggable" to debuggable)) {
"application" -> object :
ReplaceAttrsVisitor(nv, mapOf(REQUEST_LEGACY_STORAGE to 1, "label" to "Aliucord", "debuggable" to debuggable)) {
private var addLegacyStorage = true
private var addDebuggable = debuggable
@ -47,14 +46,18 @@ fun patchManifest(manifestBytes: ByteArray): ByteArray {
"activity" -> ReplaceAttrsVisitor(visitor, mapOf("label" to "Aliucord"))
"service" -> object : NodeVisitor(visitor) {
override fun attr(ns: String?, name: String, resourceId: Int, type: Int, value: Any?) {
super.attr(ns, name, resourceId, type,
if (value is String && value.endsWith("CONNECT")) "$packageName.permission.CONNECT" else value)
super.attr(
ns, name, resourceId, type,
if (value is String && value.endsWith("CONNECT")) "$packageName.permission.CONNECT" else value
)
}
}
"provider" -> object : NodeVisitor(visitor) {
override fun attr(ns: String?, name: String, resourceId: Int, type: Int, value: Any?) {
super.attr(ns, name, resourceId, type,
if (name == "authorities") (value as String).replace("com.discord", packageName) else value)
super.attr(
ns, name, resourceId, type,
if (name == "authorities") (value as String).replace("com.discord", packageName) else value
)
}
}
"meta-data" -> object : NodeVisitor(visitor) {
@ -62,8 +65,10 @@ fun patchManifest(manifestBytes: ByteArray): ByteArray {
override fun attr(ns: String?, name: String, resourceId: Int, type: Int, value: Any?) {
if (name == "name" && value == "firebase_crashlytics_collection_enabled") crashlytics = true
super.attr(ns, name, resourceId, type,
if (name == "value" && crashlytics) 0 else value)
super.attr(
ns, name, resourceId, type,
if (name == "value" && crashlytics) 0 else value
)
}
}
else -> visitor

View file

@ -1,8 +1,9 @@
/*
* Copyright (c) 2021 Juby210
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.utils
import pxb.android.axml.NodeVisitor

View file

@ -1,7 +1,8 @@
/*
* Copyright (c) 2021 Juby210 & Vendicated
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.utils
import com.aliucord.libzip.Zip
@ -16,17 +17,13 @@ import org.bouncycastle.cms.jcajce.JcaSignerInfoGeneratorBuilder
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder
import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder
import org.bouncycastle.util.encoders.Base64
import java.io.ByteArrayOutputStream
import java.io.File
import java.io.IOException
import java.io.*
import java.math.BigInteger
import java.security.*
import java.security.cert.Certificate
import java.security.cert.X509Certificate
import java.util.*
import java.util.jar.Attributes
import java.util.jar.JarFile
import java.util.jar.Manifest
import java.util.jar.*
private class KeySet(val publicKey: X509Certificate, val privateKey: PrivateKey)
@ -205,4 +202,4 @@ object Signer {
}
private fun ByteArray.toBase64() = String(Base64.encode(this))
}
}

View file

@ -1,3 +1,8 @@
/*
* Copyright (c) 2022 Juby210 & zt
* Licensed under the Open Software License version 3.0
*/
package com.aliucord.manager.utils
import com.aliucord.libzip.Zip
@ -8,4 +13,4 @@ fun Zip.writeEntry(entryName: String, bytes: ByteArray) {
openEntry(entryName)
writeEntry(bytes, bytes.size.toLong())
closeEntry()
}
}

View file

@ -1,4 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:fillColor="#ffffff" android:pathData="M12.0001,2C9.6237,1.9976 7.3241,2.8415 5.5135,4.3806C3.7028,5.9196 2.4994,8.0532 2.1189,10.3989C1.7384,12.7446 2.2057,15.1491 3.4371,17.1816C4.6684,19.2141 6.5833,20.7416 8.8386,21.4905C9.342,21.5826 9.52,21.2695 9.52,21.0055V19.3051C6.7269,19.9128 6.1376,17.9607 6.1376,17.9607C5.9523,17.3557 5.5586,16.8359 5.0265,16.4936C4.1241,15.8797 5.1001,15.8797 5.1001,15.8797C5.4164,15.9244 5.7185,16.0404 5.9833,16.2191C6.2481,16.3978 6.4688,16.6344 6.6287,16.911C6.7645,17.1573 6.9476,17.3743 7.1675,17.5497C7.3874,17.725 7.6398,17.8552 7.9102,17.9328C8.1805,18.0103 8.4635,18.0337 8.7429,18.0017C9.0223,17.9696 9.2927,17.8827 9.5384,17.7459C9.577,17.2409 9.7947,16.7662 10.1523,16.4076C7.9301,16.1559 5.5974,15.2965 5.5974,11.4966C5.5821,10.504 5.9492,9.5435 6.6225,8.814C6.3226,7.9509 6.3577,7.0067 6.7207,6.1682C6.7207,6.1682 7.5617,5.8981 9.4709,7.1934C11.1103,6.7433 12.8407,6.7433 14.4801,7.1934C16.3892,5.8981 17.2241,6.1682 17.2241,6.1682C17.5922,6.9978 17.6361,7.9353 17.3469,8.7956C18.0203,9.5251 18.3873,10.4856 18.3721,11.4782C18.3721,15.3211 16.0332,16.1621 13.8048,16.3892C14.0438,16.6294 14.2283,16.9181 14.3459,17.2359C14.4634,17.5536 14.5113,17.8929 14.4862,18.2308V20.9748C14.4862,21.3002 14.6643,21.5519 15.1738,21.4537C17.4034,20.685 19.2896,19.1531 20.4992,17.1286C21.7088,15.104 22.164,12.7171 21.7842,10.3895C21.4045,8.0619 20.2143,5.9434 18.424,4.4082C16.6336,2.8731 14.3583,2.0201 12.0001,2Z" android:fillType="evenOdd"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#ffffff"
android:pathData="M12.0001,2C9.6237,1.9976 7.3241,2.8415 5.5135,4.3806C3.7028,5.9196 2.4994,8.0532 2.1189,10.3989C1.7384,12.7446 2.2057,15.1491 3.4371,17.1816C4.6684,19.2141 6.5833,20.7416 8.8386,21.4905C9.342,21.5826 9.52,21.2695 9.52,21.0055V19.3051C6.7269,19.9128 6.1376,17.9607 6.1376,17.9607C5.9523,17.3557 5.5586,16.8359 5.0265,16.4936C4.1241,15.8797 5.1001,15.8797 5.1001,15.8797C5.4164,15.9244 5.7185,16.0404 5.9833,16.2191C6.2481,16.3978 6.4688,16.6344 6.6287,16.911C6.7645,17.1573 6.9476,17.3743 7.1675,17.5497C7.3874,17.725 7.6398,17.8552 7.9102,17.9328C8.1805,18.0103 8.4635,18.0337 8.7429,18.0017C9.0223,17.9696 9.2927,17.8827 9.5384,17.7459C9.577,17.2409 9.7947,16.7662 10.1523,16.4076C7.9301,16.1559 5.5974,15.2965 5.5974,11.4966C5.5821,10.504 5.9492,9.5435 6.6225,8.814C6.3226,7.9509 6.3577,7.0067 6.7207,6.1682C6.7207,6.1682 7.5617,5.8981 9.4709,7.1934C11.1103,6.7433 12.8407,6.7433 14.4801,7.1934C16.3892,5.8981 17.2241,6.1682 17.2241,6.1682C17.5922,6.9978 17.6361,7.9353 17.3469,8.7956C18.0203,9.5251 18.3873,10.4856 18.3721,11.4782C18.3721,15.3211 16.0332,16.1621 13.8048,16.3892C14.0438,16.6294 14.2283,16.9181 14.3459,17.2359C14.4634,17.5536 14.5113,17.8929 14.4862,18.2308V20.9748C14.4862,21.3002 14.6643,21.5519 15.1738,21.4537C17.4034,20.685 19.2896,19.1531 20.4992,17.1286C21.7088,15.104 22.164,12.7171 21.7842,10.3895C21.4045,8.0619 20.2143,5.9434 18.424,4.4082C16.6336,2.8731 14.3583,2.0201 12.0001,2Z"
android:fillType="evenOdd" />
</vector>

View file

@ -3,10 +3,10 @@
android:height="19dp"
android:viewportWidth="71"
android:viewportHeight="55">
<group>
<clip-path android:pathData="M0,0h71v55h-71z" />
<path
android:fillColor="#ffffff"
android:pathData="M60.1045,4.8978C55.5792,2.8214 50.7265,1.2916 45.6527,0.4154C45.5603,0.3985 45.468,0.4408 45.4204,0.5253C44.7963,1.6353 44.105,3.0834 43.6209,4.2216C38.1637,3.4046 32.7345,3.4046 27.3892,4.2216C26.905,3.0581 26.1886,1.6353 25.5617,0.5253C25.5141,0.4436 25.4218,0.4013 25.3294,0.4154C20.2584,1.2888 15.4057,2.8186 10.8776,4.8978C10.8384,4.9147 10.8048,4.9429 10.7825,4.9795C1.578,18.7309 -0.9436,32.1443 0.2934,45.3914C0.299,45.4562 0.3354,45.5182 0.3858,45.5576C6.4587,50.0174 12.3413,52.7249 18.1147,54.5195C18.2071,54.5477 18.305,54.5139 18.3638,54.4378C19.7295,52.5728 20.9469,50.6063 21.9907,48.5383C22.0523,48.4172 21.9935,48.2735 21.8676,48.2256C19.9366,47.4931 18.0979,46.6 16.3292,45.5858C16.1893,45.5041 16.1781,45.304 16.3068,45.2082C16.679,44.9293 17.0513,44.6391 17.4067,44.3461C17.471,44.2926 17.5606,44.2813 17.6362,44.3151C29.2558,49.6202 41.8354,49.6202 53.3179,44.3151C53.3935,44.2785 53.4831,44.2898 53.5502,44.3433C53.9057,44.6363 54.2779,44.9293 54.6529,45.2082C54.7816,45.304 54.7732,45.5041 54.6333,45.5858C52.8646,46.6197 51.0259,47.4931 49.0921,48.2228C48.9662,48.2707 48.9102,48.4172 48.9718,48.5383C50.038,50.6034 51.2554,52.5699 52.5959,54.435C52.6519,54.5139 52.7526,54.5477 52.845,54.5195C58.6464,52.7249 64.529,50.0174 70.6019,45.5576C70.6551,45.5182 70.6887,45.459 70.6943,45.3942C72.1747,30.0791 68.2147,16.7757 60.1968,4.9823C60.1772,4.9429 60.1437,4.9147 60.1045,4.8978ZM23.7259,37.3253C20.2276,37.3253 17.3451,34.1136 17.3451,30.1693C17.3451,26.225 20.1717,23.0133 23.7259,23.0133C27.308,23.0133 30.1626,26.2532 30.1066,30.1693C30.1066,34.1136 27.28,37.3253 23.7259,37.3253ZM47.3178,37.3253C43.8196,37.3253 40.9371,34.1136 40.9371,30.1693C40.9371,26.225 43.7636,23.0133 47.3178,23.0133C50.9,23.0133 53.7545,26.2532 53.6986,30.1693C53.6986,34.1136 50.9,37.3253 47.3178,37.3253Z" />
</group>
</vector>
<group>
<clip-path android:pathData="M0,0h71v55h-71z" />
<path
android:fillColor="#ffffff"
android:pathData="M60.1045,4.8978C55.5792,2.8214 50.7265,1.2916 45.6527,0.4154C45.5603,0.3985 45.468,0.4408 45.4204,0.5253C44.7963,1.6353 44.105,3.0834 43.6209,4.2216C38.1637,3.4046 32.7345,3.4046 27.3892,4.2216C26.905,3.0581 26.1886,1.6353 25.5617,0.5253C25.5141,0.4436 25.4218,0.4013 25.3294,0.4154C20.2584,1.2888 15.4057,2.8186 10.8776,4.8978C10.8384,4.9147 10.8048,4.9429 10.7825,4.9795C1.578,18.7309 -0.9436,32.1443 0.2934,45.3914C0.299,45.4562 0.3354,45.5182 0.3858,45.5576C6.4587,50.0174 12.3413,52.7249 18.1147,54.5195C18.2071,54.5477 18.305,54.5139 18.3638,54.4378C19.7295,52.5728 20.9469,50.6063 21.9907,48.5383C22.0523,48.4172 21.9935,48.2735 21.8676,48.2256C19.9366,47.4931 18.0979,46.6 16.3292,45.5858C16.1893,45.5041 16.1781,45.304 16.3068,45.2082C16.679,44.9293 17.0513,44.6391 17.4067,44.3461C17.471,44.2926 17.5606,44.2813 17.6362,44.3151C29.2558,49.6202 41.8354,49.6202 53.3179,44.3151C53.3935,44.2785 53.4831,44.2898 53.5502,44.3433C53.9057,44.6363 54.2779,44.9293 54.6529,45.2082C54.7816,45.304 54.7732,45.5041 54.6333,45.5858C52.8646,46.6197 51.0259,47.4931 49.0921,48.2228C48.9662,48.2707 48.9102,48.4172 48.9718,48.5383C50.038,50.6034 51.2554,52.5699 52.5959,54.435C52.6519,54.5139 52.7526,54.5477 52.845,54.5195C58.6464,52.7249 64.529,50.0174 70.6019,45.5576C70.6551,45.5182 70.6887,45.459 70.6943,45.3942C72.1747,30.0791 68.2147,16.7757 60.1968,4.9823C60.1772,4.9429 60.1437,4.9147 60.1045,4.8978ZM23.7259,37.3253C20.2276,37.3253 17.3451,34.1136 17.3451,30.1693C17.3451,26.225 20.1717,23.0133 23.7259,23.0133C27.308,23.0133 30.1626,26.2532 30.1066,30.1693C30.1066,34.1136 27.28,37.3253 23.7259,37.3253ZM47.3178,37.3253C43.8196,37.3253 40.9371,34.1136 40.9371,30.1693C40.9371,26.225 43.7636,23.0133 47.3178,23.0133C50.9,23.0133 53.7545,26.2532 53.6986,30.1693C53.6986,34.1136 50.9,37.3253 47.3178,37.3253Z" />
</group>
</vector>

View file

@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#ffffff"
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
</vector>
<path
android:fillColor="#ffffff"
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
</vector>

View file

@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#ffffff"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
</vector>
<path
android:fillColor="#ffffff"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
</vector>

View file

@ -1,4 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24">
<path android:fillColor="#fff" android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z"/>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#fff"
android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z" />
</vector>

View file

@ -3,20 +3,20 @@
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group
android:scaleX="0.12007617"
android:scaleY="0.12007617"
android:translateX="23.2605"
android:translateY="23.2605">
<path
android:fillColor="#33FF88"
android:pathData="M310.423,321.724C290.671,371.359 209.633,359.204 209.633,316.152V192.57C209.633,147.999 289.658,137.869 313.969,182.44L387.916,152.557C359.046,88.74 305.865,70 261.801,70C189.88,70 118.972,111.532 118.972,192.57V316.152C118.972,397.696 189.88,438.722 260.281,438.722C305.359,438.722 359.553,416.436 389.435,358.191L310.423,321.724Z" />
<path
android:fillColor="#00C853"
android:fillType="evenOdd"
android:pathData="M212.667,79.232H296.257L426.001,442.31H327.539L303.949,369.489H207.026L184.462,442.31H86L139.851,287.951H227.539H281.898L256.77,181.797H254.205L238.559,244.082L176.78,182.098L212.667,79.232Z" />
<path
android:fillColor="#33FF88"
android:pathData="M389.433,358.196L310.421,321.729C301.312,349.89 287.34,358.841 255.487,369.493L321.862,424.793C348.112,412.353 372.62,390.966 389.433,358.196Z" />
</group>
</vector>
<group
android:scaleX="0.12007617"
android:scaleY="0.12007617"
android:translateX="23.2605"
android:translateY="23.2605">
<path
android:fillColor="#33FF88"
android:pathData="M310.423,321.724C290.671,371.359 209.633,359.204 209.633,316.152V192.57C209.633,147.999 289.658,137.869 313.969,182.44L387.916,152.557C359.046,88.74 305.865,70 261.801,70C189.88,70 118.972,111.532 118.972,192.57V316.152C118.972,397.696 189.88,438.722 260.281,438.722C305.359,438.722 359.553,416.436 389.435,358.191L310.423,321.724Z" />
<path
android:fillColor="#00C853"
android:fillType="evenOdd"
android:pathData="M212.667,79.232H296.257L426.001,442.31H327.539L303.949,369.489H207.026L184.462,442.31H86L139.851,287.951H227.539H281.898L256.77,181.797H254.205L238.559,244.082L176.78,182.098L212.667,79.232Z" />
<path
android:fillColor="#33FF88"
android:pathData="M389.433,358.196L310.421,321.729C301.312,349.89 287.34,358.841 255.487,369.493L321.862,424.793C348.112,412.353 372.62,390.966 389.433,358.196Z" />
</group>
</vector>

View file

@ -3,59 +3,59 @@
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#00000000"
android:pathData="m61.557,45.919c1.52,-0.596 3.04,-1.192 4.023,-1.566 0.983,-0.374 1.485,-0.545 1.095,-1.456 -0.39,-0.91 -1.413,-2.387 -3.086,-3.984 -1.673,-1.596 -2.94,-2.058 -3.336,-2.199 -0.396,-0.14 -1.091,-0.37 -1.563,-0.506 -0.472,-0.136 -0.953,-0.255 -2.288,-0.298 -1.335,-0.043 -4.019,-0.001 -5.11,0.085 -1.091,0.086 -1.859,0.315 -2.415,0.498 -0.556,0.183 -1.041,0.362 -1.492,0.551 -0.451,0.189 -0.854,0.383 -1.201,0.567 -0.348,0.184 -0.588,0.33 -1.292,0.898 -0.704,0.569 -1.737,1.451 -2.646,2.953 -0.91,1.502 -1.522,3.335 -1.864,4.87 -0.343,1.534 -0.351,2.483 -0.342,4.885 0.009,2.402 0.049,8.183 0.095,8.975 0.046,0.792 0.365,1.208 0.563,1.467"
android:strokeWidth="2.5"
android:strokeAlpha="0.5"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:pathData="M49.252,56.956V49.586"
android:strokeWidth="2.5"
android:strokeAlpha="0.5019608"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:pathData="m47.257,70.319 l-0.571,1.788H36.635l5.398,-15.146h14.598l-2.565,-10.416h-0.262l-1.597,6.112 -6.306,-6.082 3.663,-10.094h8.532L71.341,72.107H61.29l-0.58,-1.719c2.606,-1.365 4.614,-3.013 6.134,-5.265 0.104,-0.15 0.763,-1.271 0.763,-1.271l-6.778,-3.011c-1.095,2.369 -5.016,3.932 -7.295,4.111l-4.546,0.009z"
android:strokeWidth="2.5"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:pathData="m47.257,70.319c1.626,0.664 3.253,1.328 5.061,1.47 1.808,0.142 3.8,-0.238 5.228,-0.558 1.429,-0.32 2.296,-0.581 3.164,-0.842"
android:strokeWidth="2.5"
android:strokeAlpha="0.501961"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.501961"
android:fillColor="#000000"
android:pathData="m41.318,53.87c-0.052,-4.613 -0.018,-5.691 0.218,-6.885 0.359,-1.817 1.072,-3.722 1.869,-4.993 0.637,-1.016 1.519,-1.935 2.752,-2.866 0.2,-0.151 0.501,-0.332 0.838,-0.504 0.289,-0.147 0.529,-0.263 0.533,-0.257 0.004,0.006 -0.685,1.916 -1.532,4.245 -0.847,2.329 -1.54,4.255 -1.541,4.281 -0.001,0.026 0.793,0.812 1.764,1.747l1.765,1.7v2.682,2.682h-3.323,-3.323z"
android:strokeWidth="0.078125"
android:strokeAlpha="0.5"
android:strokeColor="#00000000"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.501961"
android:fillColor="#000000"
android:pathData="m61.176,41.134c-0.639,-1.72 -1.155,-3.134 -1.147,-3.143 0.03,-0.03 0.789,0.365 1.126,0.588 0.714,0.471 1.27,0.943 2.047,1.737 0.586,0.6 1.038,1.123 1.461,1.691 0.325,0.437 0.704,1.043 0.672,1.074 -0.013,0.013 -0.621,0.254 -1.352,0.537 -0.73,0.283 -1.4,0.543 -1.487,0.578l-0.159,0.064z"
android:strokeWidth="0.078125"
android:strokeAlpha="0.5"
android:strokeColor="#00000000"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.501961"
android:fillColor="#000000"
android:pathData="m52.087,70.498c-0.776,-0.094 -1.676,-0.326 -2.676,-0.691 -0.312,-0.114 -0.571,-0.21 -0.577,-0.214 -0.005,-0.004 0.233,-0.762 0.531,-1.683l0.541,-1.675 1.485,-0.001c2.337,-0.002 2.808,-0.038 3.863,-0.296 1.522,-0.373 3.157,-1.096 4.342,-1.921 0.572,-0.398 1.157,-0.915 1.554,-1.372l0.174,-0.2 2.198,0.976c1.209,0.537 2.211,0.988 2.226,1.003 0.035,0.033 -0.326,0.541 -0.741,1.044 -0.373,0.452 -1.259,1.342 -1.693,1.702 -0.697,0.577 -1.494,1.133 -2.303,1.607 -0.679,0.398 -0.774,0.44 -1.419,0.627 -1.961,0.57 -4.04,0.993 -5.465,1.112 -0.518,0.043 -1.615,0.034 -2.038,-0.017z"
android:strokeWidth="0.078125"
android:strokeAlpha="0.5"
android:strokeColor="#00000000"
android:strokeLineJoin="miter" />
</vector>
<path
android:fillColor="#00000000"
android:pathData="m61.557,45.919c1.52,-0.596 3.04,-1.192 4.023,-1.566 0.983,-0.374 1.485,-0.545 1.095,-1.456 -0.39,-0.91 -1.413,-2.387 -3.086,-3.984 -1.673,-1.596 -2.94,-2.058 -3.336,-2.199 -0.396,-0.14 -1.091,-0.37 -1.563,-0.506 -0.472,-0.136 -0.953,-0.255 -2.288,-0.298 -1.335,-0.043 -4.019,-0.001 -5.11,0.085 -1.091,0.086 -1.859,0.315 -2.415,0.498 -0.556,0.183 -1.041,0.362 -1.492,0.551 -0.451,0.189 -0.854,0.383 -1.201,0.567 -0.348,0.184 -0.588,0.33 -1.292,0.898 -0.704,0.569 -1.737,1.451 -2.646,2.953 -0.91,1.502 -1.522,3.335 -1.864,4.87 -0.343,1.534 -0.351,2.483 -0.342,4.885 0.009,2.402 0.049,8.183 0.095,8.975 0.046,0.792 0.365,1.208 0.563,1.467"
android:strokeWidth="2.5"
android:strokeAlpha="0.5"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:pathData="M49.252,56.956V49.586"
android:strokeWidth="2.5"
android:strokeAlpha="0.5019608"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:pathData="m47.257,70.319 l-0.571,1.788H36.635l5.398,-15.146h14.598l-2.565,-10.416h-0.262l-1.597,6.112 -6.306,-6.082 3.663,-10.094h8.532L71.341,72.107H61.29l-0.58,-1.719c2.606,-1.365 4.614,-3.013 6.134,-5.265 0.104,-0.15 0.763,-1.271 0.763,-1.271l-6.778,-3.011c-1.095,2.369 -5.016,3.932 -7.295,4.111l-4.546,0.009z"
android:strokeWidth="2.5"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillColor="#00000000"
android:pathData="m47.257,70.319c1.626,0.664 3.253,1.328 5.061,1.47 1.808,0.142 3.8,-0.238 5.228,-0.558 1.429,-0.32 2.296,-0.581 3.164,-0.842"
android:strokeWidth="2.5"
android:strokeAlpha="0.501961"
android:strokeColor="#000000"
android:strokeLineCap="butt"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.501961"
android:fillColor="#000000"
android:pathData="m41.318,53.87c-0.052,-4.613 -0.018,-5.691 0.218,-6.885 0.359,-1.817 1.072,-3.722 1.869,-4.993 0.637,-1.016 1.519,-1.935 2.752,-2.866 0.2,-0.151 0.501,-0.332 0.838,-0.504 0.289,-0.147 0.529,-0.263 0.533,-0.257 0.004,0.006 -0.685,1.916 -1.532,4.245 -0.847,2.329 -1.54,4.255 -1.541,4.281 -0.001,0.026 0.793,0.812 1.764,1.747l1.765,1.7v2.682,2.682h-3.323,-3.323z"
android:strokeWidth="0.078125"
android:strokeAlpha="0.5"
android:strokeColor="#00000000"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.501961"
android:fillColor="#000000"
android:pathData="m61.176,41.134c-0.639,-1.72 -1.155,-3.134 -1.147,-3.143 0.03,-0.03 0.789,0.365 1.126,0.588 0.714,0.471 1.27,0.943 2.047,1.737 0.586,0.6 1.038,1.123 1.461,1.691 0.325,0.437 0.704,1.043 0.672,1.074 -0.013,0.013 -0.621,0.254 -1.352,0.537 -0.73,0.283 -1.4,0.543 -1.487,0.578l-0.159,0.064z"
android:strokeWidth="0.078125"
android:strokeAlpha="0.5"
android:strokeColor="#00000000"
android:strokeLineJoin="miter" />
<path
android:fillAlpha="0.501961"
android:fillColor="#000000"
android:pathData="m52.087,70.498c-0.776,-0.094 -1.676,-0.326 -2.676,-0.691 -0.312,-0.114 -0.571,-0.21 -0.577,-0.214 -0.005,-0.004 0.233,-0.762 0.531,-1.683l0.541,-1.675 1.485,-0.001c2.337,-0.002 2.808,-0.038 3.863,-0.296 1.522,-0.373 3.157,-1.096 4.342,-1.921 0.572,-0.398 1.157,-0.915 1.554,-1.372l0.174,-0.2 2.198,0.976c1.209,0.537 2.211,0.988 2.226,1.003 0.035,0.033 -0.326,0.541 -0.741,1.044 -0.373,0.452 -1.259,1.342 -1.693,1.702 -0.697,0.577 -1.494,1.133 -2.303,1.607 -0.679,0.398 -0.774,0.44 -1.419,0.627 -1.961,0.57 -4.04,0.993 -5.465,1.112 -0.518,0.043 -1.615,0.034 -2.038,-0.017z"
android:strokeWidth="0.078125"
android:strokeAlpha="0.5"
android:strokeColor="#00000000"
android:strokeLineJoin="miter" />
</vector>

View file

@ -4,11 +4,10 @@
android:viewportWidth="24"
android:viewportHeight="24">
<group>
<path
android:fillColor="#ffffff"
android:pathData="M 20.835 11.512 L 19.37 11.512 L 19.37 7.607 C 19.37 6.533 18.492 5.655 17.418 5.655 L 13.513 5.655 L 13.513 4.19 C 13.513 2.824 12.439 1.75 11.073 1.75 C 9.706 1.75 8.632 2.824 8.632 4.19 L 8.632 5.655 L 4.727 5.655 C 3.654 5.655 2.775 6.533 2.775 7.607 L 2.775 11.317 L 4.239 11.317 C 5.704 11.317 6.875 12.488 6.875 13.952 C 6.875 15.417 5.704 16.588 4.239 16.588 L 2.775 16.588 L 2.775 20.298 C 2.775 21.371 3.654 22.25 4.727 22.25 L 8.437 22.25 L 8.437 20.786 C 8.437 19.321 9.608 18.15 11.073 18.15 C 12.537 18.15 13.708 19.321 13.708 20.786 L 13.708 22.25 L 17.418 22.25 C 18.492 22.25 19.37 21.371 19.37 20.298 L 19.37 16.393 L 20.835 16.393 C 22.201 16.393 23.275 15.319 23.275 13.952 C 23.275 12.586 22.201 11.512 20.835 11.512 Z" />
<group>
</group>
</group>
</vector>
<group>
<path
android:fillColor="#ffffff"
android:pathData="M 20.835 11.512 L 19.37 11.512 L 19.37 7.607 C 19.37 6.533 18.492 5.655 17.418 5.655 L 13.513 5.655 L 13.513 4.19 C 13.513 2.824 12.439 1.75 11.073 1.75 C 9.706 1.75 8.632 2.824 8.632 4.19 L 8.632 5.655 L 4.727 5.655 C 3.654 5.655 2.775 6.533 2.775 7.607 L 2.775 11.317 L 4.239 11.317 C 5.704 11.317 6.875 12.488 6.875 13.952 C 6.875 15.417 5.704 16.588 4.239 16.588 L 2.775 16.588 L 2.775 20.298 C 2.775 21.371 3.654 22.25 4.727 22.25 L 8.437 22.25 L 8.437 20.786 C 8.437 19.321 9.608 18.15 11.073 18.15 C 12.537 18.15 13.708 19.321 13.708 20.786 L 13.708 22.25 L 17.418 22.25 C 18.492 22.25 19.37 21.371 19.37 20.298 L 19.37 16.393 L 20.835 16.393 C 22.201 16.393 23.275 15.319 23.275 13.952 C 23.275 12.586 22.201 11.512 20.835 11.512 Z" />
<group></group>
</group>
</vector>

View file

@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#ffffff"
android:pathData="M12,6v3l4,-4 -4,-4v3c-4.42,0 -8,3.58 -8,8 0,1.57 0.46,3.03 1.24,4.26L6.7,14.8c-0.45,-0.83 -0.7,-1.79 -0.7,-2.8 0,-3.31 2.69,-6 6,-6zM18.76,7.74L17.3,9.2c0.44,0.84 0.7,1.79 0.7,2.8 0,3.31 -2.69,6 -6,6v-3l-4,4 4,4v-3c4.42,0 8,-3.58 8,-8 0,-1.57 -0.46,-3.03 -1.24,-4.26z" />
</vector>
<path
android:fillColor="#ffffff"
android:pathData="M12,6v3l4,-4 -4,-4v3c-4.42,0 -8,3.58 -8,8 0,1.57 0.46,3.03 1.24,4.26L6.7,14.8c-0.45,-0.83 -0.7,-1.79 -0.7,-2.8 0,-3.31 2.69,-6 6,-6zM18.76,7.74L17.3,9.2c0.44,0.84 0.7,1.79 0.7,2.8 0,3.31 -2.69,6 -6,6v-3l-4,4 4,4v-3c4.42,0 8,-3.58 8,-8 0,-1.57 -0.46,-3.03 -1.24,-4.26z" />
</vector>

View file

@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#ffffff"
android:pathData="M11,8v5l4.25,2.52l0.77,-1.28l-3.52,-2.09V8H11zM21,10V3l-2.64,2.64C16.74,4.01 14.49,3 12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9s9,-4.03 9,-9h-2c0,3.86 -3.14,7 -7,7s-7,-3.14 -7,-7s3.14,-7 7,-7c1.93,0 3.68,0.79 4.95,2.05L14,10H21z" />
</vector>
<path
android:fillColor="#ffffff"
android:pathData="M11,8v5l4.25,2.52l0.77,-1.28l-3.52,-2.09V8H11zM21,10V3l-2.64,2.64C16.74,4.01 14.49,3 12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9s9,-4.03 9,-9h-2c0,3.86 -3.14,7 -7,7s-7,-3.14 -7,-7s3.14,-7 7,-7c1.93,0 3.68,0.79 4.95,2.05L14,10H21z" />
</vector>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#00c853</color>
<color name="ic_launcher_background">#FFFFFFFF</color>
</resources>
<color name="primary">#00c853</color>
<color name="ic_launcher_background">#FFFFFFFF</color>
</resources>

View file

@ -1,49 +1,49 @@
<resources>
<string name="app_name">Aliucord Manager</string>
<string name="clear_files_cache">Clear files cache</string>
<string name="commits">Commits</string>
<string name="dex_location">Dex location</string>
<string name="open_settings">Open settings</string>
<string name="permission_required">You need to grant storage permission to use this app</string>
<string name="permission_grant">Grant permission</string>
<string name="replace_bg">Replace app icon with Aliucord logo</string>
<string name="settings">Settings</string>
<string name="show_menu">Show menu</string>
<string name="theme">Theme</string>
<string name="use_dex_from_storage">Use Aliucord.dex from storage</string>
<string name="plugins">Plugins</string>
<string name="uninstall_plugin">Uninstall %1$s</string>
<string name="search">Search</string>
<string name="view_plugin_changelog">View changelog for %1$s</string>
<string name="delete_plugin_body">Are you sure you want to uninstall this plugin? This action cannot be undone.</string>
<string name="close">Close</string>
<string name="support_server">Support Server</string>
<string name="back">Back</string>
<string name="home">Home</string>
<string name="install">Install</string>
<string name="reinstall">Reinstall</string>
<string name="update">Update</string>
<string name="developer_mode">Developer Mode</string>
<string name="debuggable">Debuggable</string>
<string name="debuggable_description">Use debuggable manifest</string>
<string name="about">About</string>
<string name="team">Team</string>
<string name="contributors">Contributors</string>
<string name="search_plugins">Search Plugins</string>
<string name="source_code">Source Code</string>
<string name="installer">Installer</string>
<string name="use_black">Use black</string>
<string name="use_black_description">Use black colors for dark mode</string>
<string name="theme_setting_description">Manager appearance</string>
<string name="no_plugins_installed">No plugins installed!</string>
<string name="store">Store</string>
<string name="paging_initial_load">Loading…</string>
<string name="contributor">Contributor</string>
<string name="apply">Apply</string>
<string name="confirm">Confirm</string>
<string name="dismiss">Dismiss</string>
<string name="download_apk">Download APK</string>
<string name="select_apk">Select APK</string>
<string name="download_method">Download Method</string>
<string name="changelog_media">Changelog Media</string>
</resources>
<string name="app_name">Aliucord Manager</string>
<string name="clear_files_cache">Clear files cache</string>
<string name="commits">Commits</string>
<string name="dex_location">Dex location</string>
<string name="open_settings">Open settings</string>
<string name="permission_required">You need to grant storage permission to use this app</string>
<string name="permission_grant">Grant permission</string>
<string name="replace_bg">Replace app icon with Aliucord logo</string>
<string name="settings">Settings</string>
<string name="show_menu">Show menu</string>
<string name="theme">Theme</string>
<string name="use_dex_from_storage">Use Aliucord.dex from storage</string>
<string name="plugins">Plugins</string>
<string name="uninstall_plugin">Uninstall %1$s</string>
<string name="search">Search</string>
<string name="view_plugin_changelog">View changelog for %1$s</string>
<string name="delete_plugin_body">Are you sure you want to uninstall this plugin? This action cannot be undone.</string>
<string name="close">Close</string>
<string name="support_server">Support Server</string>
<string name="back">Back</string>
<string name="home">Home</string>
<string name="install">Install</string>
<string name="reinstall">Reinstall</string>
<string name="update">Update</string>
<string name="developer_mode">Developer Mode</string>
<string name="debuggable">Debuggable</string>
<string name="debuggable_description">Use debuggable manifest</string>
<string name="about">About</string>
<string name="team">Team</string>
<string name="contributors">Contributors</string>
<string name="search_plugins">Search Plugins</string>
<string name="source_code">Source Code</string>
<string name="installer">Installer</string>
<string name="use_black">Use black</string>
<string name="use_black_description">Use black colors for dark mode</string>
<string name="theme_setting_description">Manager appearance</string>
<string name="no_plugins_installed">No plugins installed!</string>
<string name="store">Store</string>
<string name="paging_initial_load">Loading…</string>
<string name="contributor">Contributor</string>
<string name="apply">Apply</string>
<string name="confirm">Confirm</string>
<string name="dismiss">Dismiss</string>
<string name="download_apk">Download APK</string>
<string name="select_apk">Select APK</string>
<string name="download_method">Download Method</string>
<string name="changelog_media">Changelog Media</string>
</resources>

View file

@ -1,10 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.AliucordManager.SplashScreen" parent="Theme.SplashScreen">
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/Theme.AliucordManager</item>
</style>
<style name="Theme.AliucordManager" parent="Theme.AppCompat">
<item name="colorPrimary">@color/primary</item>
</style>
</resources>
<style name="Theme.AliucordManager.SplashScreen" parent="Theme.SplashScreen">
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/Theme.AliucordManager</item>
</style>
<style name="Theme.AliucordManager" parent="Theme.AppCompat">
<item name="colorPrimary">@color/primary</item>
</style>
</resources>

View file

@ -1,4 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path name="external_files" path="." />
<external-path
name="external_files"
path="." />
</paths>

View file

@ -1,8 +1,3 @@
/*
* Copyright (c) 2021 Juby210
* Licensed under the Open Software License version 3.0
*/
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {

View file

@ -1,7 +1,2 @@
/*
* Copyright (c) 2021 Juby210
* Licensed under the Open Software License version 3.0
*/
rootProject.name = "Aliucord Manager"
include(":app")