diff --git a/TODO.md b/TODO.md index 7a5c6e49..5e50be3b 100644 --- a/TODO.md +++ b/TODO.md @@ -2,6 +2,13 @@ * move analytics out with https://blog.gradle.org/optional-dependencies +# Android 30 location tasks + +* https://developer.android.com/about/versions/11/privacy/location#background-location - ask for foreground and background location separately +* add "help location checkbox" +* turn off "provideLocation" checkbox if we don't have background permission. If someone tries to turn it on, raise dialog then ask for background permissions +* add help button to location checkbox + # Documentation tasks Mostly for geeksville diff --git a/app/build.gradle b/app/build.gradle index 971e2664..57e35a72 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -36,7 +36,7 @@ android { defaultConfig { applicationId "com.geeksville.mesh" minSdkVersion 21 // The oldest emulator image I have tried is 22 (though 21 probably works) - targetSdkVersion 29 // 30 can't work until an explicit location permissions dialog is added + targetSdkVersion 30 // 30 can't work until an explicit location permissions dialog is added versionCode 20231 // format is Mmmss (where M is 1+the numeric major number versionName "1.2.31" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -117,11 +117,11 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.core:core-ktx:1.3.2' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'androidx.core:core-ktx:1.5.0' + implementation 'androidx.fragment:fragment-ktx:1.3.4' implementation 'androidx.cardview:cardview:1.0.0' - implementation 'androidx.recyclerview:recyclerview:1.2.0' + implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'com.google.android.material:material:1.3.0' implementation 'androidx.viewpager2:viewpager2:1.0.0' @@ -170,7 +170,7 @@ dependencies { implementation 'com.google.android.gms:play-services-auth:19.0.0' // Add the Firebase SDK for Crashlytics. - implementation 'com.google.firebase:firebase-crashlytics:17.4.1' + implementation 'com.google.firebase:firebase-crashlytics:18.0.1' // alas implementation bug deep in the bowels when I tried it for my SyncBluetoothDevice class // implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3" diff --git a/build.gradle b/build.gradle index d1cb147b..e6e78abf 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.5.0' - ext.coroutines_version = "1.4.3" + ext.kotlin_version = '1.5.10' + ext.coroutines_version = "1.5.0" repositories { google() @@ -10,7 +10,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.0' + classpath 'com.android.tools.build:gradle:4.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" @@ -20,8 +20,8 @@ buildscript { // Add the Crashlytics Gradle plugin. // Check that you have the Google Services Gradle plugin v4.3.2 or later // (if not, add it). - classpath 'com.google.gms:google-services:4.3.5' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2' + classpath 'com.google.gms:google-services:4.3.8' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.0' // protobuf plugin - docs here https://github.com/google/protobuf-gradle-plugin classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.15' diff --git a/geeksville-androidlib b/geeksville-androidlib index 9571ac92..30087d5e 160000 --- a/geeksville-androidlib +++ b/geeksville-androidlib @@ -1 +1 @@ -Subproject commit 9571ac92b6f893632627109a57b197a44a2d74f8 +Subproject commit 30087d5ee497f17b210b69aab7f20e369a294d20