Skip to content

Commit f28b41d

Browse files
committed
fixed unable to submit ratings with microG
1 parent 49156b4 commit f28b41d

File tree

13 files changed

+37
-29
lines changed

13 files changed

+37
-29
lines changed

app/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,16 @@ android {
3333
applicationId = "tech.techlore.plexus"
3434
minSdk = 23
3535
targetSdk = 34
36-
versionCode = 201
37-
versionName = "2.0.1"
36+
versionCode = 202
37+
versionName = "2.0.2"
3838
setProperty("archivesBaseName", "Plexus_v$versionName")
3939
}
4040

4141
buildTypes {
4242
getByName("release") {
4343
isMinifyEnabled = true
4444
isShrinkResources = true
45+
vcsInfo.include = false // https://f-droid.org/docs/Reproducible_Builds/#vcs-info
4546
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
4647
}
4748
/*getByName("debug") {

app/src/main/java/tech/techlore/plexus/activities/AppDetailsActivity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import android.view.MenuItem
2727
import android.view.animation.AccelerateDecelerateInterpolator
2828
import androidx.activity.OnBackPressedCallback
2929
import androidx.appcompat.app.AppCompatActivity
30-
import androidx.core.content.ContextCompat
3130
import androidx.core.view.MenuProvider
3231
import androidx.core.view.isVisible
3332
import androidx.lifecycle.lifecycleScope
@@ -167,7 +166,7 @@ class AppDetailsActivity : AppCompatActivity(), MenuProvider {
167166
getString(R.string.install_app_to_submit, app.name),
168167
activityBinding.bottomAppBarRadio)
169168

170-
!appManager.deviceIsDeGoogled || !appManager.deviceIsMicroG ->
169+
!appManager.isDeviceDeGoogled && !appManager.isDeviceMicroG ->
171170
showSnackbar(activityBinding.detailsCoordLayout,
172171
getString(R.string.device_should_be_degoogled_or_microg),
173172
activityBinding.bottomAppBarRadio)

app/src/main/java/tech/techlore/plexus/activities/SubmitActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class SubmitActivity : AppCompatActivity() {
9191

9292
activityBinding.dgMgText.apply {
9393
val (statusIcon, statusText) =
94-
if (appManager.deviceIsMicroG) {
94+
if (appManager.isDeviceMicroG) {
9595
Pair(ContextCompat.getDrawable(context, R.drawable.ic_microg),
9696
"${getString(R.string.microG)} ${getString(R.string.status)}")
9797
}

app/src/main/java/tech/techlore/plexus/appmanager/ApplicationManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ class ApplicationManager : Application() {
4141
val miniRepository by lazy { MainDataMinimalRepository(this, database.mainDataDao()) }
4242
val myRatingsRepository by lazy { MyRatingsRepository(database.myRatingsDao()) }
4343

44-
var deviceIsMicroG = false
45-
var deviceIsDeGoogled = false
44+
var isDeviceMicroG = false
45+
var isDeviceDeGoogled = false
4646
var isDataUpdated = false
4747

4848
override fun onCreate() {

app/src/main/java/tech/techlore/plexus/fragments/bottomsheets/SubmitBottomSheet.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class SubmitBottomSheet : BottomSheetDialogFragment() {
113113
romBuild = Build.DISPLAY,
114114
androidVersion = getAndroidVersionString(),
115115
installedFrom = submitActivity.installedFromString,
116-
ratingType = if (appManager.deviceIsMicroG) "micro_g" else "native",
116+
ratingType = if (appManager.isDeviceMicroG) "micro_g" else "native",
117117
score = mapStatusChipIdToRatingScore(submitActivity.activityBinding.submitStatusChipGroup.checkedChipId),
118118
notes = submitActivity.activityBinding.submitNotesText.text.toString())
119119
postRatingRoot = PostRatingRoot(rating)

app/src/main/java/tech/techlore/plexus/utils/PackageUtils.kt

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class PackageUtils {
8181
}
8282
}
8383

84-
fun getAppCertificate(packageManager: PackageManager,
84+
private fun getAppCertificate(packageManager: PackageManager,
8585
packageName: String): String? {
8686
return try {
8787
val packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
@@ -101,16 +101,6 @@ class PackageUtils {
101101
return fdroidCertificate == getAppCertificate(packageManager, packageName)
102102
}
103103

104-
fun isAppInstalled(packageManager: PackageManager, packageName: String): Boolean {
105-
return try {
106-
packageManager.getApplicationInfo(packageName, 0)
107-
true
108-
}
109-
catch (e: PackageManager.NameNotFoundException) {
110-
false
111-
}
112-
}
113-
114104
}
115105

116106
}

app/src/main/java/tech/techlore/plexus/utils/SystemUtils.kt

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ package tech.techlore.plexus.utils
1919

2020
import android.annotation.SuppressLint
2121
import android.content.Context
22+
import android.content.pm.ApplicationInfo
23+
import android.content.pm.PackageManager
24+
import android.widget.Toast
2225
import tech.techlore.plexus.appmanager.ApplicationManager
23-
import tech.techlore.plexus.utils.PackageUtils.Companion.getAppCertificate
24-
import tech.techlore.plexus.utils.PackageUtils.Companion.isAppInstalled
2526

2627
class SystemUtils {
2728

@@ -35,21 +36,38 @@ class SystemUtils {
3536
"com.google.android.gsf",
3637
"com.android.vending")
3738

38-
val microGCertificate = "O=NOGAPPS Project,C=DE"
3939
val packageManager = context.packageManager
40-
40+
4141
val gappsCount =
4242
gappsPackages.count { packageName ->
4343
isAppInstalled(packageManager, packageName)
4444
}
4545

46-
val microGCount =
47-
gappsPackages.count { packageName ->
48-
microGCertificate == getAppCertificate(packageManager, packageName)
46+
var microGCount =
47+
if (gappsCount > 0) {
48+
gappsPackages.count { packageName ->
49+
! packageManager.getApplicationLabel(getAppInfo(packageManager, packageName)).toString()
50+
.startsWith("Google", ignoreCase = true)
51+
}
4952
}
50-
51-
appManager.deviceIsMicroG = gappsCount == microGCount
52-
appManager.deviceIsDeGoogled = gappsCount == 0
53+
else -1
54+
55+
appManager.isDeviceMicroG = gappsCount == microGCount
56+
appManager.isDeviceDeGoogled = gappsCount == 0
57+
}
58+
59+
private fun getAppInfo(packageManager: PackageManager, packageName: String): ApplicationInfo {
60+
return packageManager.getApplicationInfo(packageName, 0)
61+
}
62+
63+
private fun isAppInstalled(packageManager: PackageManager, packageName: String): Boolean {
64+
return try {
65+
getAppInfo(packageManager, packageName)
66+
true
67+
}
68+
catch (e: PackageManager.NameNotFoundException) {
69+
false
70+
}
5371
}
5472

5573
@SuppressLint("PrivateApi")
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)