From be161f022da05d4e4d39f3afc825766bb6662f43 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 27 Mar 2020 13:48:17 -0500 Subject: [PATCH] Set minSdk to 19 --- .../andlib/utility/AndroidUtilities.java | 8 ----- .../main/java/org/tasks/files/FileHelper.java | 33 +++++++------------ .../tasks/gtasks/GoogleTaskSynchronizer.java | 5 --- .../main/java/org/tasks/jobs/WorkManager.java | 5 +-- .../org/tasks/preferences/Preferences.java | 21 +++--------- .../org/tasks/scheduling/AlarmManager.java | 5 +-- .../java/org/tasks/sync/AddAccountDialog.java | 18 ++-------- .../java/org/tasks/tasklist/ViewHolder.java | 28 ++++++---------- app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-hu/strings.xml | 1 - app/src/main/res/values-nl/strings.xml | 1 - app/src/main/res/values-pl/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - buildSrc/src/main/kotlin/Versions.kt | 2 +- 20 files changed, 33 insertions(+), 103 deletions(-) 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 861db96cb..3968195e4 100644 --- a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java +++ b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java @@ -134,10 +134,6 @@ public class AndroidUtilities { return (int) (dp * displayMetrics.density + 0.5f); } - public static boolean preKitKat() { - return !atLeastKitKat(); - } - public static boolean preLollipop() { return !atLeastLollipop(); } @@ -146,10 +142,6 @@ public class AndroidUtilities { return !atLeastOreo(); } - public static boolean atLeastKitKat() { - return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; - } - public static boolean atLeastLollipop() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; } diff --git a/app/src/main/java/org/tasks/files/FileHelper.java b/app/src/main/java/org/tasks/files/FileHelper.java index 28f99399c..3902e9f2f 100644 --- a/app/src/main/java/org/tasks/files/FileHelper.java +++ b/app/src/main/java/org/tasks/files/FileHelper.java @@ -4,7 +4,6 @@ import static android.content.ContentResolver.SCHEME_CONTENT; import static android.provider.DocumentsContract.EXTRA_INITIAL_URI; import static androidx.core.content.FileProvider.getUriForFile; import static com.google.common.collect.Iterables.any; -import static com.todoroo.andlib.utility.AndroidUtilities.atLeastKitKat; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastLollipop; import static com.todoroo.andlib.utility.AndroidUtilities.preLollipop; import static com.todoroo.astrid.utility.Constants.FILE_PROVIDER_AUTHORITY; @@ -43,29 +42,21 @@ public class FileHelper { public static final int MAX_FILENAME_LENGTH = 40; public static Intent newFilePickerIntent(Activity activity, Uri initial, String... mimeTypes) { - if (atLeastKitKat()) { - Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); - intent.putExtra("android.content.extra.SHOW_ADVANCED", true); - intent.putExtra("android.content.extra.FANCY", true); - intent.putExtra("android.content.extra.SHOW_FILESIZE", true); - intent.addCategory(Intent.CATEGORY_OPENABLE); - setInitialUri(activity, intent, initial); - if (mimeTypes.length == 1) { - intent.setType(mimeTypes[0]); - } else { - intent.setType("*/*"); - if (mimeTypes.length > 1) { - intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes); - } - } - return intent; + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); + intent.putExtra("android.content.extra.SHOW_ADVANCED", true); + intent.putExtra("android.content.extra.FANCY", true); + intent.putExtra("android.content.extra.SHOW_FILESIZE", true); + intent.addCategory(Intent.CATEGORY_OPENABLE); + setInitialUri(activity, intent, initial); + if (mimeTypes.length == 1) { + intent.setType(mimeTypes[0]); } else { - Intent intent = new Intent(activity, FileExplore.class); - if (initial != null) { - intent.putExtra(FileExplore.EXTRA_START_PATH, initial.getPath()); + intent.setType("*/*"); + if (mimeTypes.length > 1) { + intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes); } - return intent; } + return intent; } public static void newDirectoryPicker(Fragment fragment, int rc, @Nullable Uri initial) { diff --git a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java index a156934f6..cb5d4237c 100644 --- a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java +++ b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java @@ -1,7 +1,6 @@ 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,10 +164,6 @@ 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)); diff --git a/app/src/main/java/org/tasks/jobs/WorkManager.java b/app/src/main/java/org/tasks/jobs/WorkManager.java index 05cd8cf58..538cecc35 100644 --- a/app/src/main/java/org/tasks/jobs/WorkManager.java +++ b/app/src/main/java/org/tasks/jobs/WorkManager.java @@ -1,6 +1,5 @@ package org.tasks.jobs; -import static com.todoroo.andlib.utility.AndroidUtilities.atLeastKitKat; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastMarshmallow; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastOreo; import static com.todoroo.andlib.utility.DateUtilities.now; @@ -203,10 +202,8 @@ public class WorkManager { PendingIntent pendingIntent = getNotificationPendingIntent(); if (atLeastMarshmallow()) { alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, time, pendingIntent); - } else if (atLeastKitKat()) { - alarmManager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent); } else { - alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent); + alarmManager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent); } } } diff --git a/app/src/main/java/org/tasks/preferences/Preferences.java b/app/src/main/java/org/tasks/preferences/Preferences.java index ff91c2f41..218e19bcc 100644 --- a/app/src/main/java/org/tasks/preferences/Preferences.java +++ b/app/src/main/java/org/tasks/preferences/Preferences.java @@ -5,7 +5,6 @@ import static androidx.preference.PreferenceManager.setDefaultValues; import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Iterables.transform; import static com.google.common.collect.Sets.newHashSet; -import static com.todoroo.andlib.utility.AndroidUtilities.atLeastKitKat; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastLollipop; import static java.util.Collections.emptySet; @@ -243,10 +242,6 @@ public class Preferences { return getIntegerFromString(R.string.p_default_reminders_mode_key, 0); } - public int getRowPadding() { - return getInt(R.string.p_rowPadding, 16); - } - public int getFontSize() { return getInt(R.string.p_fontSize, 16); } @@ -414,12 +409,10 @@ public class Preferences { } } - if (atLeastKitKat()) { - DocumentFile file = - DocumentFile.fromFile(context.getExternalFilesDir(null)).createDirectory(name); - if (file != null) { - return file.getUri(); - } + DocumentFile documentFile = + DocumentFile.fromFile(context.getExternalFilesDir(null)).createDirectory(name); + if (documentFile != null) { + return documentFile.getUri(); } File file = getDefaultFileLocation(name); @@ -445,11 +438,7 @@ public class Preferences { cacheDir = context.getCacheDir(); } - if (atLeastKitKat()) { - return DocumentFile.fromFile(cacheDir).getUri(); - } else { - return Uri.fromFile(cacheDir); - } + return DocumentFile.fromFile(cacheDir).getUri(); } private boolean hasWritePermission(Context context, Uri uri) { diff --git a/app/src/main/java/org/tasks/scheduling/AlarmManager.java b/app/src/main/java/org/tasks/scheduling/AlarmManager.java index 6eae93e28..c239c2b5d 100644 --- a/app/src/main/java/org/tasks/scheduling/AlarmManager.java +++ b/app/src/main/java/org/tasks/scheduling/AlarmManager.java @@ -1,6 +1,5 @@ package org.tasks.scheduling; -import static com.todoroo.andlib.utility.AndroidUtilities.atLeastKitKat; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastMarshmallow; import android.annotation.SuppressLint; @@ -27,10 +26,8 @@ public class AlarmManager { if (atLeastMarshmallow()) { alarmManager.setExactAndAllowWhileIdle( android.app.AlarmManager.RTC_WAKEUP, time, pendingIntent); - } else if (atLeastKitKat()) { - alarmManager.setExact(android.app.AlarmManager.RTC_WAKEUP, time, pendingIntent); } else { - alarmManager.set(android.app.AlarmManager.RTC_WAKEUP, time, pendingIntent); + alarmManager.setExact(android.app.AlarmManager.RTC_WAKEUP, time, pendingIntent); } } } diff --git a/app/src/main/java/org/tasks/sync/AddAccountDialog.java b/app/src/main/java/org/tasks/sync/AddAccountDialog.java index abcd2fbf4..1e8b4dca4 100644 --- a/app/src/main/java/org/tasks/sync/AddAccountDialog.java +++ b/app/src/main/java/org/tasks/sync/AddAccountDialog.java @@ -1,7 +1,5 @@ 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; @@ -11,7 +9,6 @@ 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; @@ -64,18 +61,9 @@ public class AddAccountDialog { (dialog, which) -> { switch (which) { case 0: - 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; - } + activity.startActivityForResult( + new Intent(activity, GtasksLoginActivity.class), + SynchronizationKt.REQUEST_GOOGLE_TASKS); break; case 1: activity.startActivityForResult( diff --git a/app/src/main/java/org/tasks/tasklist/ViewHolder.java b/app/src/main/java/org/tasks/tasklist/ViewHolder.java index be10f1a62..e9980330b 100644 --- a/app/src/main/java/org/tasks/tasklist/ViewHolder.java +++ b/app/src/main/java/org/tasks/tasklist/ViewHolder.java @@ -1,6 +1,5 @@ package org.tasks.tasklist; -import static com.todoroo.andlib.utility.AndroidUtilities.atLeastKitKat; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastLollipop; import static com.todoroo.andlib.utility.DateUtilities.getRelativeDateTime; @@ -121,13 +120,8 @@ public class ViewHolder extends RecyclerView.ViewHolder { description.setEllipsize(null); } - if (atLeastKitKat()) { - setTopPadding(rowPadding, nameView, completeBox); - setBottomPadding(rowPadding, completeBox); - } else { - MarginLayoutParams lp = (MarginLayoutParams) rowBody.getLayoutParams(); - lp.setMargins(lp.leftMargin, rowPadding, lp.rightMargin, rowPadding); - } + setTopPadding(rowPadding, nameView, completeBox); + setBottomPadding(rowPadding, completeBox); nameView.setTextSize(fontSize); description.setTextSize(fontSize); @@ -220,16 +214,14 @@ public class ViewHolder extends RecyclerView.ViewHolder { description.setOnClickListener(view -> onRowBodyClick()); description.setOnLongClickListener(view -> onRowBodyLongClick()); } - if (atLeastKitKat()) { - if (chipGroup.getVisibility() == View.VISIBLE) { - setBottomPadding(rowPadding, chipGroup); - setBottomPadding(0, description, nameView); - } else if (description.getVisibility() == View.VISIBLE) { - setBottomPadding(rowPadding, description); - setBottomPadding(0, nameView); - } else { - setBottomPadding(rowPadding, nameView); - } + if (chipGroup.getVisibility() == View.VISIBLE) { + setBottomPadding(rowPadding, chipGroup); + setBottomPadding(0, description, nameView); + } else if (description.getVisibility() == View.VISIBLE) { + setBottomPadding(rowPadding, description); + setBottomPadding(0, nameView); + } else { + setBottomPadding(rowPadding, nameView); } } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 646204f23..d261ca8f2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -549,7 +549,6 @@ Wählen Sie unten einen beliebigen Abonnementpreis aus, um Ihre kostenlose Testversion zu starten. Sie können jederzeit kündigen Ihre Unterstützung bedeutet mir sehr viel, danke! Zurück - Benötigt Android %s+ Stil der Marke mit Kontur mit Füllung diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 48e29d01a..2e2f570c8 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -554,7 +554,6 @@ Elija cualquier precio de suscripción a continuación para iniciar su prueba gratuita. Puede cancelar en cualquier momento Su apoyo significa mucho para mí, ¡gracias! Volver - Requiere Android %s+ Estilo de chip Contorneado Lleno diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index c9e2a0209..09e2198a6 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -556,7 +556,6 @@ Hautatu azpiko harpidetza salneurri bat zure doako proba hasteko. Nahi duzunean eten dezakezu Zure babesa asko da niretzat, eskerrik asko! Atzera - Android %s+ behar du Txip estiloa Ingerada Betea diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c7e25cd45..9b238aefe 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -550,7 +550,6 @@ est configuré correctement Choisissez l\'un des prix d\'abonnement ci-dessous pour commencer votre essai gratuit. Vous pouvez annuler à tout moment Votre soutien est très important pour moi, merci ! Retour - Nécessite Android %s+ Style de puce Entouré Rempli diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index f189f88b6..c89f522c6 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -552,7 +552,6 @@ Az ingyenes próbaidőszak megkezdéséhez válassz a lenti előfizetési díjakból. Bármikor lemondhatod az előfizetést A támogatásod sokat jelent nekem, köszönöm! Vissza - Android %s+ szükséges Jelölő stílusa Körvonal Tele diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index d4efd43e8..1d560978d 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -549,7 +549,6 @@ Kies hierbeneden een abonnementsprijs om je gratis proefperiode te starten. Je kunt het altijd annuleren Je steun betekent veel voor me, bedankt! Terug - Vereist Android %s+ Fiche-stijl Omlijnd Gevuld diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 93e99fb4f..6cfe8298e 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -565,7 +565,6 @@ Wybierz dowolną cenę subskrypcji poniżej, aby rozpocząć bezpłatny okres próbny. Możesz zrezygnować w każdej chwili Twoje wsparcie wiele dla mnie znaczy, dziękuję! Wstecz - Wymaga Android %s+ Styl chipa Obrysowany Wypełniony diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 8ad2c514c..b411e6597 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -571,7 +571,6 @@ Выберите любую сумму подписки для того, чтобы начать Ваш бесплатный пробный период. Вы можете отказаться в любой момент Ваша поддержка много значит для меня, спасибо! Назад - Требует Андроид %s+ Стиль индикаторов списков Контурный Заполненный diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index b00499318..92a945b14 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -554,7 +554,6 @@ Ücretsiz denemenizi başlatmak için aşağıdan herhangi abonelik bedelini seçin. İstediğinizde iptal edebilirsiniz Desteğiniz çok şey ifade ediyor, teşekkürler! Geri - Android %s+ gerektirir Yonga biçimi Dış çizgi Tok diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 62f41ddf5..8e102a335 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -545,7 +545,6 @@ 选择下方任意订阅价格即可开始免费试用。 你可以随时取消 您的支持对我很重要,谢谢! 返回 - 需要安卓系统 %s+ Chip样式 描边 填充 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0e5fb4a4c..ea68c9a71 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -557,7 +557,6 @@ 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+ Chip style Outlined Filled diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index b7a4fd02c..b493233ad 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,7 +1,7 @@ object Versions { const val kotlin = "1.3.70" const val targetSdk = 29 - const val minSdk = 17 + const val minSdk = 19 const val dagger = "2.26" const val butterknife = "10.2.1" const val work = "2.3.4"