diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 61b8832e..c5c723b2 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -290,7 +290,7 @@ dependencies { detektPlugins(libs.detekt.compose) detektPlugins(libs.detekt.rules.compose) - debugImplementation("com.squareup.leakcanary:leakcanary-android:3.0-alpha-8") +// debugImplementation("com.squareup.leakcanary:leakcanary-android:3.0-alpha-8") } configurations.all { diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/settings/ProofModeSettingsActivity.kt b/app/src/main/java/net/opendasharchive/openarchive/features/settings/ProofModeSettingsActivity.kt index 3704fd02..a1c288a1 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/settings/ProofModeSettingsActivity.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/settings/ProofModeSettingsActivity.kt @@ -53,9 +53,9 @@ class ProofModeSettingsActivity : BaseActivity() { val proofModeSwitch = findPreference(Prefs.USE_PROOFMODE) // Check if permission is granted - val hasPermission = ContextCompat.checkSelfPermission( - requireContext(), Manifest.permission.READ_PHONE_STATE - ) == PackageManager.PERMISSION_GRANTED + val hasPermission = ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED + && ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED + && ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED if (!hasPermission) { proofModeSwitch?.isChecked = false // Uncheck if permission not granted @@ -68,7 +68,7 @@ class ProofModeSettingsActivity : BaseActivity() { getPrefByKey(R.string.pref_key_use_proof_mode)?.setOnPreferenceChangeListener { preference, newValue -> if (newValue as Boolean) { PermissionX.init(this) - .permissions(Manifest.permission.READ_PHONE_STATE) + .permissions(Manifest.permission.READ_PHONE_STATE, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION) .onExplainRequestReason { _, _ -> val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) val uri = Uri.fromParts("package", activity?.packageName, null) diff --git a/app/src/main/java/net/opendasharchive/openarchive/services/Conduit.kt b/app/src/main/java/net/opendasharchive/openarchive/services/Conduit.kt index d90ba5a3..170fb4fd 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/services/Conduit.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/services/Conduit.kt @@ -53,8 +53,8 @@ abstract class Conduit( if (!Prefs.useProofMode) return emptyArray() // Don't use geolocation and network information. - Prefs.proofModeLocation = false - Prefs.proofModeNetwork = false + Prefs.proofModeLocation = true + Prefs.proofModeNetwork = true try { var hash = ProofMode.generateProof( diff --git a/app/src/main/java/net/opendasharchive/openarchive/util/ProofModeHelper.kt b/app/src/main/java/net/opendasharchive/openarchive/util/ProofModeHelper.kt index 153c8999..6f8a77e9 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/util/ProofModeHelper.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/util/ProofModeHelper.kt @@ -20,7 +20,7 @@ object ProofModeHelper { if (initialized) return completed() // Disable ProofMode GPS data tracking by default. - if (Prefs.proofModeLocation) Prefs.proofModeLocation = false + if (Prefs.proofModeLocation) Prefs.proofModeLocation = true if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val encryptedPassphrase = Prefs.proofModeEncryptedPassphrase diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2fb3fbc6..c68f212b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -122,7 +122,7 @@ - Phone permission required + Phone and Location permission required