diff --git a/xwords4/android/app/build.gradle b/xwords4/android/app/build.gradle
index 2083d5bf5..23bcffda8 100644
--- a/xwords4/android/app/build.gradle
+++ b/xwords4/android/app/build.gradle
@@ -19,8 +19,8 @@
*/
def INITIAL_CLIENT_VERS = 10
-def VERSION_CODE_BASE = 189
-def VERSION_NAME = '4.4.192'
+def VERSION_CODE_BASE = 190
+def VERSION_NAME = '4.4.193'
def BUILD_INFO_NAME = "build-info.txt"
def LAST_COMMIT_FILE = "last-commit.txt"
@@ -80,7 +80,6 @@ android {
} else {
minSdkVersion 14
}
- targetSdkVersion 31 // must match ../build.gradle
versionCode VERSION_CODE_BASE
versionName VERSION_NAME
}
@@ -152,6 +151,9 @@ android {
xw4fdroid {
dimension "variant"
+ targetSdkVersion 30
+ compileSdkVersion 30
+ buildConfigField "int", "FLAG_IMMUTABLE", "0"
applicationId "org.eehouse.android.xw4"
manifestPlaceholders = [ APP_ID: applicationId ]
resValue "string", "app_name", "CrossWords"
@@ -168,6 +170,9 @@ android {
xw4d {
dimension "variant"
+ targetSdkVersion 30
+ compileSdkVersion 30
+ buildConfigField "int", "FLAG_IMMUTABLE", "0"
buildConfigField "String", "DB_NAME", "\"xwddb\""
applicationId "org.eehouse.android.xw4dbg"
resValue "string", "app_name", "CrossDbg"
@@ -206,6 +211,9 @@ android {
xw4Foss {
dimension "variant"
+ targetSdkVersion 30
+ compileSdkVersion 30
+ buildConfigField "int", "FLAG_IMMUTABLE", "0"
applicationId "org.eehouse.android.xw4"
manifestPlaceholders = [ APP_ID: applicationId ]
resValue "string", "app_name", "CrossWords"
diff --git a/xwords4/android/app/src/main/assets/changes.html b/xwords4/android/app/src/main/assets/changes.html
index 7fc535d0a..f0609a03e 100644
--- a/xwords4/android/app/src/main/assets/changes.html
+++ b/xwords4/android/app/src/main/assets/changes.html
@@ -13,9 +13,11 @@
- CrossWords 4.4.192 release
+ CrossWords 4.4.193 release
- This release fixes invitations for Android 12
+ This release fixes invitations for Android 12 (and replaces
+ 4.4.192 which crashes on Android 12 and should never have been
+ released)
Please take
diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DupeModeTimer.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DupeModeTimer.java
index 0da021efa..db5835be2 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DupeModeTimer.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DupeModeTimer.java
@@ -173,7 +173,7 @@ public class DupeModeTimer extends BroadcastReceiver {
sCurTimer = whenSeconds;
Intent intent = new Intent( context, DupeModeTimer.class );
PendingIntent pi = PendingIntent.getBroadcast( context, 0, intent,
- PendingIntent.FLAG_IMMUTABLE );
+ BuildConfig.FLAG_IMMUTABLE );
long now = Utils.getCurSeconds();
long fire_millis = SystemClock.elapsedRealtime()
diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/NBSProto.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/NBSProto.java
index de29f03ee..a37ed5ae0 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/NBSProto.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/NBSProto.java
@@ -380,7 +380,7 @@ public class NBSProto {
{
Intent intent = new Intent( msg );
return PendingIntent.getBroadcast( context, 0, intent,
- PendingIntent.FLAG_IMMUTABLE );
+ BuildConfig.FLAG_IMMUTABLE );
}
private void cacheForRetry( QueueElem elem )
diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/TimerReceiver.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/TimerReceiver.java
index f2e5ac20e..fadb11210 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/TimerReceiver.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/TimerReceiver.java
@@ -391,7 +391,7 @@ public class TimerReceiver extends BroadcastReceiver {
intent.putExtra( KEY_TIMER_ID, timerID );
PendingIntent pi = PendingIntent
.getBroadcast( context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT
- | PendingIntent.FLAG_IMMUTABLE );
+ | BuildConfig.FLAG_IMMUTABLE );
am.set( AlarmManager.RTC_WAKEUP, firstFireTime, pi );
setJobTimerIf( context, delayMS, timerID );
diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/UpdateCheckReceiver.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/UpdateCheckReceiver.java
index 1ec40039e..16cfb4f6e 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/UpdateCheckReceiver.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/UpdateCheckReceiver.java
@@ -98,7 +98,7 @@ public class UpdateCheckReceiver extends BroadcastReceiver {
Intent intent = new Intent( context, UpdateCheckReceiver.class );
PendingIntent pi = PendingIntent.getBroadcast( context, 0, intent,
- PendingIntent.FLAG_IMMUTABLE );
+ BuildConfig.FLAG_IMMUTABLE );
am.cancel( pi );
long interval_millis;
diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Utils.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Utils.java
index 700643708..25174a9e1 100644
--- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Utils.java
+++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Utils.java
@@ -379,7 +379,7 @@ public class Utils {
{
PendingIntent pi = PendingIntent
.getActivity( context, Utils.nextRandomInt(), intent,
- PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE );
+ PendingIntent.FLAG_ONE_SHOT | BuildConfig.FLAG_IMMUTABLE );
return pi;
}
diff --git a/xwords4/android/build.gradle b/xwords4/android/build.gradle
index 4660d6692..a1e822988 100644
--- a/xwords4/android/build.gradle
+++ b/xwords4/android/build.gradle
@@ -27,13 +27,3 @@ allprojects {
task clean(type: Delete) {
delete rootProject.buildDir
}
-
-subprojects {
- afterEvaluate {project ->
- if (project.hasProperty("android")) {
- android {
- compileSdkVersion 31 // must match app/build.gradle
- }
- }
- }
-}