Compare commits

..
8 changed files with 29 additions and 5 deletions
@@ -71,7 +71,13 @@ enum class Permission(
isGranted = {
android.provider.Settings.canDrawOverlays(it)
},
)
),
POST_NOTIFICATIONS(
minApiLevel = Build.VERSION_CODES.S,
labelRes = R.string.permission_post_notifications_label,
descriptionRes = R.string.permission_post_notifications_description,
permissionId = "android.permission.POST_NOTIFICATIONS",
),
}
fun Permission.isRequired(context: Context): Boolean = when {
@@ -65,4 +65,6 @@
<string name="last_seen_x">Last seen: %s</string>
<string name="first_seen_x">First seen: %s</string>
<string name="permission_post_notifications_label">Post notifications</string>
<string name="permission_post_notifications_description">"Allow CAPod to show you notifications about your AirPods, e.g. their current status while connected."</string>
</resources>
@@ -43,7 +43,7 @@ open class App : Application(), Configuration.Provider {
private fun setupWorker() {
log(TAG) { "setupWorker()" }
val workRequest = PeriodicWorkRequestBuilder<MonitorWorker>(
Duration.ofMinutes(15),
Duration.ofMinutes(25),
Duration.ofMinutes(5)
).apply {
setInputData(Data.Builder().build())
@@ -86,12 +86,12 @@ class MonitorWorker @AssistedInject constructor(
val monitorJob = podMonitor.mainDevice
.filterNotNull()
.take(5)
.take(3)
.setupCommonEventHandlers(TAG) { "monitorJob" }
.launchIn(workerScope)
try {
withTimeout(60 * 1000) {
withTimeout(15 * 1000) {
monitorJob.join()
}
log(TAG) { "Monitor job quit after a few takes." }
+1
View File
@@ -6,6 +6,7 @@
<uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission
android:name="android.permission.BLUETOOTH"
@@ -3,6 +3,7 @@ package eu.darken.capod.main.ui.overview.cards
import android.text.Html
import android.text.method.LinkMovementMethod
import android.view.ViewGroup
import androidx.core.view.isGone
import eu.darken.capod.R
import eu.darken.capod.common.PrivacyPolicy
import eu.darken.capod.common.lists.binding
@@ -33,6 +34,12 @@ class PermissionCardVH(parent: ViewGroup) :
val ppText = getString(R.string.settings_privacy_policy_label)
val ppLink = PrivacyPolicy.URL
text = Html.fromHtml("<html><a href=\"$ppLink\">$ppText</a></html>", 0)
val ppp = setOf(
Permission.ACCESS_FINE_LOCATION,
Permission.ACCESS_BACKGROUND_LOCATION,
Permission.BLUETOOTH_SCAN
)
isGone = !ppp.contains(item.permission)
}
}
+1 -1
View File
@@ -16,7 +16,7 @@ object ProjectConfig {
object Version {
const val major = 2
const val minor = 1
const val patch = 0
const val patch = 1
const val build = 0
const val name = "${major}.${minor}.${patch}-rc${build}"
+8
View File
@@ -31,6 +31,10 @@ platform :android do
skip_upload_images: 'true',
skip_upload_screenshots: 'true',
skip_upload_metadata: 'true',
aab_paths: [
"app/build/outputs/bundle/gplayRelease/app-gplay-beta.aab",
"app-wear/build/outputs/bundle/gplayRelease/app-wear-gplay-beta.aab",
],
)
end
@@ -45,6 +49,10 @@ platform :android do
skip_upload_images: 'true',
skip_upload_screenshots: 'true',
skip_upload_metadata: 'true',
aab_paths: [
"app/build/outputs/bundle/gplayRelease/app-gplay-release.aab",
"app-wear/build/outputs/bundle/gplayRelease/app-wear-gplay-release.aab",
],
)
end