Target Android 12

pull/1632/head
Alex Baker 4 years ago
parent 944db29a19
commit 94d4037439

@ -60,8 +60,8 @@ android {
applicationId = "org.tasks" applicationId = "org.tasks"
versionCode = 111007 versionCode = 111007
versionName = "11.10.2" versionName = "11.10.2"
targetSdkVersion(Versions.targetSdk) targetSdk = Versions.targetSdk
minSdkVersion(Versions.minSdk) minSdk = Versions.minSdk
testInstrumentationRunner = "org.tasks.TestRunner" testInstrumentationRunner = "org.tasks.TestRunner"
kapt { kapt {

@ -44,7 +44,10 @@ class LocationServiceGooglePlay @Inject constructor(
context, context,
0, 0,
Intent(context, GoogleGeofenceTransitionIntentService.Broadcast::class.java), Intent(context, GoogleGeofenceTransitionIntentService.Broadcast::class.java),
/*PendingIntent.FLAG_MUTABLE or */PendingIntent.FLAG_UPDATE_CURRENT if (atLeastS())
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
else
PendingIntent.FLAG_UPDATE_CURRENT
) )
) )
} }

@ -10,6 +10,7 @@
<!-- ********************* --> <!-- ********************* -->
<!-- maps and place search --> <!-- maps and place search -->
<!-- ********************* --> <!-- ********************* -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- ************************ --> <!-- ************************ -->

@ -159,6 +159,10 @@ public class AndroidUtilities {
return VERSION.SDK_INT >= VERSION_CODES.R; return VERSION.SDK_INT >= VERSION_CODES.R;
} }
public static boolean atLeastS() {
return VERSION.SDK_INT >= VERSION_CODES.S;
}
public static void assertMainThread() { public static void assertMainThread() {
if (BuildConfig.DEBUG && !isMainThread()) { if (BuildConfig.DEBUG && !isMainThread()) {
throw new IllegalStateException("Should be called from main thread"); throw new IllegalStateException("Should be called from main thread");

@ -7,10 +7,10 @@ import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.MainActivity; import com.todoroo.astrid.activity.MainActivity;
import dagger.hilt.android.AndroidEntryPoint;
import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
import org.tasks.injection.ThemedInjectingAppCompatActivity; import org.tasks.injection.ThemedInjectingAppCompatActivity;
@ -20,6 +20,10 @@ import org.tasks.scheduling.AlarmManager;
import org.tasks.scheduling.CalendarNotificationIntentService; import org.tasks.scheduling.CalendarNotificationIntentService;
import org.tasks.themes.ThemeAccent; import org.tasks.themes.ThemeAccent;
import javax.inject.Inject;
import dagger.hilt.android.AndroidEntryPoint;
@AndroidEntryPoint @AndroidEntryPoint
public class CalendarReminderActivity extends ThemedInjectingAppCompatActivity { public class CalendarReminderActivity extends ThemedInjectingAppCompatActivity {
@ -153,7 +157,11 @@ public class CalendarReminderActivity extends ThemedInjectingAppCompatActivity {
PendingIntent pendingIntent = PendingIntent pendingIntent =
PendingIntent.getBroadcast( PendingIntent.getBroadcast(
this, CalendarAlarmReceiver.REQUEST_CODE_CAL_REMINDER, eventAlarm, 0); this,
CalendarAlarmReceiver.REQUEST_CODE_CAL_REMINDER,
eventAlarm,
PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT
);
alarmManager.cancel(pendingIntent); alarmManager.cancel(pendingIntent);

@ -65,7 +65,12 @@ class TimerPlugin @Inject constructor(
} else { } else {
val filter = createFilter(context) val filter = createFilter(context)
val notifyIntent = TaskIntents.getTaskListIntent(context, filter) val notifyIntent = TaskIntents.getTaskListIntent(context, filter)
val pendingIntent = PendingIntent.getActivity(context, Constants.NOTIFICATION_TIMER, notifyIntent, 0) val pendingIntent = PendingIntent.getActivity(
context,
Constants.NOTIFICATION_TIMER,
notifyIntent,
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
)
val r = context.resources val r = context.resources
val appName = r.getString(R.string.app_name) val appName = r.getString(R.string.app_name)
val text = r.getString( val text = r.getString(

@ -6,6 +6,7 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.location.Location import android.location.Location
import android.net.Uri import android.net.Uri
import com.todoroo.andlib.utility.AndroidUtilities.atLeastS
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import org.tasks.data.MergedGeofence import org.tasks.data.MergedGeofence
import org.tasks.data.Place import org.tasks.data.Place
@ -56,7 +57,10 @@ class LocationServiceAndroid @Inject constructor(
0, 0,
Intent(context, AndroidGeofenceTransitionIntentService.Broadcast::class.java) Intent(context, AndroidGeofenceTransitionIntentService.Broadcast::class.java)
.setData(Uri.parse("tasks://geofence/$place")), .setData(Uri.parse("tasks://geofence/$place")),
/*PendingIntent.FLAG_MUTABLE or */PendingIntent.FLAG_UPDATE_CURRENT if (atLeastS())
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
else
PendingIntent.FLAG_UPDATE_CURRENT
) )
companion object { companion object {

@ -11,6 +11,7 @@ import android.view.View
import android.widget.RemoteViews import android.widget.RemoteViews
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
import androidx.core.graphics.ColorUtils import androidx.core.graphics.ColorUtils
import com.todoroo.andlib.utility.AndroidUtilities.atLeastS
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
@ -155,7 +156,10 @@ class TasksWidget : AppWidgetProvider() {
context, context,
0, 0,
Intent(context, WidgetClickActivity::class.java), Intent(context, WidgetClickActivity::class.java),
/*PendingIntent.FLAG_MUTABLE or */PendingIntent.FLAG_UPDATE_CURRENT if (atLeastS())
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
else
PendingIntent.FLAG_UPDATE_CURRENT
) )
private fun getOpenListIntent(context: Context, filter: Filter, widgetId: Int): PendingIntent { private fun getOpenListIntent(context: Context, filter: Filter, widgetId: Int): PendingIntent {

@ -1,7 +1,7 @@
object Versions { object Versions {
const val kotlin = "1.5.21" const val kotlin = "1.5.21"
const val compileSdk = 31 const val compileSdk = 31
const val targetSdk = 30 const val targetSdk = 31
const val minSdk = 24 const val minSdk = 24
const val work = "2.7.0-beta01" const val work = "2.7.0-beta01"
const val leakcanary = "2.7" const val leakcanary = "2.7"

Loading…
Cancel
Save