Skip to content

Commit

Permalink
Merge commits to release 1.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
polodarb authored Sep 15, 2023
2 parents f81edc8 + 31a914b commit 0d793d7
Show file tree
Hide file tree
Showing 43 changed files with 781 additions and 406 deletions.
26 changes: 21 additions & 5 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp")
id("org.jetbrains.kotlin.plugin.serialization")
}

android {
Expand All @@ -12,19 +13,21 @@ android {
applicationId = "ua.polodarb.gmsflags"
minSdk = 29
targetSdk = 33
versionCode = 3
versionName = "1.0.2"
versionCode = 4
versionName = "1.0.3"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}

buildTypes {
getByName("release") {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
getByName("debug") {
isMinifyEnabled = false
Expand All @@ -51,6 +54,19 @@ android {

dependencies {

// KTOR
val ktorVersion = "2.3.4"
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("io.ktor:ktor-client-android:$ktorVersion")
implementation("io.ktor:ktor-client-serialization:$ktorVersion")
implementation("io.ktor:ktor-client-logging:$ktorVersion")
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")

// Kotlin JSON Serialization
val serializationVersion = "1.5.1"
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$serializationVersion")

// Coil
implementation("io.coil-kt:coil-compose:2.4.0")

Expand Down Expand Up @@ -87,4 +103,4 @@ dependencies {
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.5.1")
debugImplementation("androidx.compose.ui:ui-tooling:1.5.1")
debugImplementation("androidx.compose.ui:ui-test-manifest:1.5.1")
}
}
1 change: 1 addition & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-dontwarn org.slf4j.LoggerFactory
-dontobfuscate
-keepattributes LineNumberTable,SourceFile
-renamesourcefileattribute SourceFile
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission"/>
Expand All @@ -23,6 +24,7 @@
android:theme="@style/AppTheme"/>
<activity
android:name=".ui.MainActivity"
android:windowSoftInputMode="adjustResize"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.App.Starting">
Expand Down
17 changes: 9 additions & 8 deletions app/src/main/java/ua/polodarb/gmsflags/GMSApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,11 @@ import android.content.ComponentName
import android.content.Intent
import android.content.ServiceConnection
import android.os.IBinder
import com.google.android.material.color.DynamicColors
import com.topjohnwu.superuser.Shell
import com.topjohnwu.superuser.ipc.RootService
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
import org.koin.android.BuildConfig
import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger
Expand All @@ -27,9 +24,13 @@ import ua.polodarb.gmsflags.ui.ExceptionHandler
data class DatabaseInitializationState(val isInitialized: Boolean)

class GMSApplication : Application() {
private companion object {
const val SHELL_TIMEOUT = 10L
}

private val shellConfig = Shell.Builder.create()
.setFlags(Shell.FLAG_REDIRECT_STDERR or Shell.FLAG_MOUNT_MASTER)
.setTimeout(10)
.setTimeout(SHELL_TIMEOUT)

private val _databaseInitializationStateFlow = MutableStateFlow(DatabaseInitializationState(false))
val databaseInitializationStateFlow: Flow<DatabaseInitializationState> = _databaseInitializationStateFlow
Expand All @@ -46,6 +47,8 @@ class GMSApplication : Application() {

ExceptionHandler.initialize(this, CrashActivity::class.java)

DynamicColors.applyToActivitiesIfAvailable(this)

startKoin {
androidLogger(if (BuildConfig.DEBUG) Level.DEBUG else Level.NONE)
androidContext(this@GMSApplication)
Expand Down Expand Up @@ -83,9 +86,7 @@ class GMSApplication : Application() {
}

fun getRootDatabase(): IRootDatabase {
if (!isRootDatabaseInitialized) {
throw IllegalStateException("RootDatabase is not initialized yet.")
}
check (isRootDatabaseInitialized) { "RootDatabase is not initialized yet." }
return rootDatabase
}
}
5 changes: 2 additions & 3 deletions app/src/main/java/ua/polodarb/gmsflags/core/Constants.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package ua.polodarb.gmsflags.core

object Constants {
const val TAG = "RootDatabase"
const val DB_PATH = "/data/data/com.google.android.gms/databases/phenotype.db"
const val GET_GMS_PACKAGES =
"SELECT packageName, COUNT(DISTINCT name) FROM Flags group by packageName"
const val DB_PATH_GMS = "/data/data/com.google.android.gms/databases/phenotype.db"
const val DB_PATH_VENDING = "/data/data/com.android.vending/databases/phenotype.db"
}
5 changes: 5 additions & 0 deletions app/src/main/java/ua/polodarb/gmsflags/core/Extensions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ import androidx.compose.ui.unit.dp

object Extensions {

fun String.toFormattedInt(): Int {
val digits = this.filter { it.isDigit() }
return digits.toIntOrNull() ?: 0
}

fun Modifier.customTabIndicatorOffset(
currentTabPosition: TabPosition
): Modifier = composed(
Expand Down
Loading

0 comments on commit 0d793d7

Please sign in to comment.