diff --git a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java
index 8036c22eb..6602e4813 100644
--- a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java
+++ b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java
@@ -134,6 +134,10 @@ public class AndroidUtilities {
return (int) (dp * displayMetrics.density + 0.5f);
}
+ public static boolean preKitKat() {
+ return !atLeastKitKat();
+ }
+
public static boolean preLollipop() {
return !atLeastLollipop();
}
diff --git a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java
index 7614cded7..d0c9cadc0 100644
--- a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java
+++ b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java
@@ -1,6 +1,7 @@
package org.tasks.gtasks;
import static com.google.common.collect.Lists.transform;
+import static com.todoroo.andlib.utility.AndroidUtilities.preKitKat;
import static org.tasks.date.DateTimeUtils.newDateTime;
import android.content.Context;
@@ -165,11 +166,13 @@ public class GoogleTaskSynchronizer {
}
private void synchronize(GoogleTaskAccount account) throws IOException {
+ if (preKitKat()) {
+ account.setError(context.getString(R.string.requires_android_version, "4.4"));
+ return;
+ }
if (!permissionChecker.canAccessAccounts()
|| googleAccountManager.getAccount(account.getAccount()) == null) {
account.setError(context.getString(R.string.cannot_access_account));
- googleTaskListDao.update(account);
- localBroadcastManager.broadcastRefreshList();
return;
}
diff --git a/app/src/main/java/org/tasks/sync/AddAccountDialog.java b/app/src/main/java/org/tasks/sync/AddAccountDialog.java
index 1e8b4dca4..abcd2fbf4 100644
--- a/app/src/main/java/org/tasks/sync/AddAccountDialog.java
+++ b/app/src/main/java/org/tasks/sync/AddAccountDialog.java
@@ -1,5 +1,7 @@
package org.tasks.sync;
+import static com.todoroo.andlib.utility.AndroidUtilities.atLeastKitKat;
+
import android.app.Activity;
import android.content.Intent;
import android.content.res.TypedArray;
@@ -9,6 +11,7 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
@@ -61,9 +64,18 @@ public class AddAccountDialog {
(dialog, which) -> {
switch (which) {
case 0:
- activity.startActivityForResult(
- new Intent(activity, GtasksLoginActivity.class),
- SynchronizationKt.REQUEST_GOOGLE_TASKS);
+ if (atLeastKitKat()) {
+ activity.startActivityForResult(
+ new Intent(activity, GtasksLoginActivity.class),
+ SynchronizationKt.REQUEST_GOOGLE_TASKS);
+ } else {
+ Toast.makeText(
+ activity,
+ activity.getString(R.string.requires_android_version, "4.4"),
+ Toast.LENGTH_SHORT)
+ .show();
+ return;
+ }
break;
case 1:
activity.startActivityForResult(
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 59ede4a30..4f28cf0b5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -557,4 +557,5 @@ File %1$s contained %2$s.\n\n
Choose any subscription price below to start your free trial. You may cancel at any time
Your support means a lot to me, thank you!
Back
+ Requires Android %s+