diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index 8dc354c7f..022d7941e 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -37,7 +37,7 @@ android { defaultConfig { versionCode = 20100 versionName = "2.1.0" - minSdk = 23 + minSdk = 28 targetSdk = 31 applicationId = "org.isoron.uhabits" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/uhabits-android/src/main/java/com/android/datetimepicker/Utils.java b/uhabits-android/src/main/java/com/android/datetimepicker/Utils.java index 37dd730be..1a69f412b 100644 --- a/uhabits-android/src/main/java/com/android/datetimepicker/Utils.java +++ b/uhabits-android/src/main/java/com/android/datetimepicker/Utils.java @@ -22,7 +22,6 @@ import android.animation.Keyframe; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.annotation.SuppressLint; -import android.os.Build; import android.text.format.Time; import android.view.View; @@ -43,17 +42,13 @@ public class Utils { static final String SHARED_PREFS_NAME = "com.android.calendar_preferences"; - public static boolean isJellybeanOrLater() { - return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN; - } - /** * Try to speak the specified text, for accessibility. Only available on JB or later. * @param text Text to announce. */ @SuppressLint("NewApi") public static void tryAccessibilityAnnounce(View view, CharSequence text) { - if (isJellybeanOrLater() && view != null && text != null) { + if (view != null && text != null) { view.announceForAccessibility(text); } } diff --git a/uhabits-android/src/main/java/com/android/datetimepicker/date/DayPickerView.java b/uhabits-android/src/main/java/com/android/datetimepicker/date/DayPickerView.java index 05348fe8c..b18c358b0 100644 --- a/uhabits-android/src/main/java/com/android/datetimepicker/date/DayPickerView.java +++ b/uhabits-android/src/main/java/com/android/datetimepicker/date/DayPickerView.java @@ -383,10 +383,6 @@ public abstract class DayPickerView extends ListView implements OnScrollListener if (child instanceof MonthView) { final CalendarDay focus = ((MonthView) child).getAccessibilityFocus(); if (focus != null) { - if (Build.VERSION.SDK_INT == Build.VERSION_CODES.JELLY_BEAN_MR1) { - // Clear focus to avoid ListView bug in Jelly Bean MR1. - ((MonthView) child).clearAccessibilityFocus(); - } return focus; } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.kt index f297b5e0d..28fbd63d8 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.kt @@ -22,8 +22,6 @@ import android.app.backup.BackupManager import android.content.Intent import android.content.SharedPreferences import android.content.SharedPreferences.OnSharedPreferenceChangeListener -import android.os.Build -import android.os.Build.VERSION.SDK_INT import android.os.Bundle import android.provider.Settings import android.util.Log @@ -98,7 +96,6 @@ class SettingsFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeLis showRingtonePicker() return true } else if (key == "reminderCustomize") { - if (SDK_INT < Build.VERSION_CODES.O) return true createAndroidNotificationChannel(requireContext()) val intent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS) intent.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName) @@ -120,11 +117,7 @@ class SettingsFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeLis } updateWeekdayPreference() - if (SDK_INT < Build.VERSION_CODES.O) - findPreference("reminderCustomize").isVisible = false - else { - findPreference("reminderSound").isVisible = false - } + findPreference("reminderSound").isVisible = false } private fun updateWeekdayPreference() { diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt b/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt index 47279f3d8..09d8f8b46 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt @@ -168,14 +168,12 @@ class AndroidNotificationTray fun createAndroidNotificationChannel(context: Context) { val notificationManager = context.getSystemService(Activity.NOTIFICATION_SERVICE) as NotificationManager - if (SDK_INT >= Build.VERSION_CODES.O) { - val channel = NotificationChannel( - REMINDERS_CHANNEL_ID, - context.resources.getString(R.string.reminder), - NotificationManager.IMPORTANCE_DEFAULT - ) - notificationManager.createNotificationChannel(channel) - } + val channel = NotificationChannel( + REMINDERS_CHANNEL_ID, + context.resources.getString(R.string.reminder), + NotificationManager.IMPORTANCE_DEFAULT + ) + notificationManager.createNotificationChannel(channel) } } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/SystemUtils.kt b/uhabits-android/src/main/java/org/isoron/uhabits/utils/SystemUtils.kt index 8fe759169..608abcff1 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/utils/SystemUtils.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/utils/SystemUtils.kt @@ -21,18 +21,11 @@ package org.isoron.uhabits.utils import android.app.Activity import android.app.KeyguardManager import android.content.Context -import android.os.Build -import android.os.Build.VERSION.SDK_INT -import android.view.WindowManager object SystemUtils { fun unlockScreen(activity: Activity) { - if (SDK_INT >= Build.VERSION_CODES.O) { - val km = activity.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager - km.requestDismissKeyguard(activity, null) - } else { - activity.window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD) - } + val km = activity.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager + km.requestDismissKeyguard(activity, null) } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt b/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt index fbbb7ffd1..66d1da842 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt @@ -21,9 +21,7 @@ package org.isoron.uhabits.widgets import android.app.PendingIntent import android.content.Context -import android.os.Build import android.view.View -import androidx.annotation.RequiresApi import org.isoron.platform.gui.toInt import org.isoron.uhabits.core.models.Entry import org.isoron.uhabits.core.models.Habit @@ -49,7 +47,6 @@ open class CheckmarkWidget( } } - @RequiresApi(Build.VERSION_CODES.O) override fun refreshData(widgetView: View) { (widgetView as CheckmarkWidgetView).apply { val today = DateUtils.getTodayWithOffset() diff --git a/uhabits-android/src/main/res/drawable-v21/widget_button_background.xml b/uhabits-android/src/main/res/drawable-v21/widget_button_background.xml deleted file mode 100644 index 9187c326a..000000000 --- a/uhabits-android/src/main/res/drawable-v21/widget_button_background.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/uhabits-android/src/main/res/drawable-v21/ripple.xml b/uhabits-android/src/main/res/drawable/ripple.xml similarity index 100% rename from uhabits-android/src/main/res/drawable-v21/ripple.xml rename to uhabits-android/src/main/res/drawable/ripple.xml diff --git a/uhabits-android/src/main/res/drawable-v21/ripple_transparent.xml b/uhabits-android/src/main/res/drawable/ripple_transparent.xml similarity index 100% rename from uhabits-android/src/main/res/drawable-v21/ripple_transparent.xml rename to uhabits-android/src/main/res/drawable/ripple_transparent.xml diff --git a/uhabits-android/src/main/res/drawable-v21/selected_box.xml b/uhabits-android/src/main/res/drawable/selected_box.xml similarity index 100% rename from uhabits-android/src/main/res/drawable-v21/selected_box.xml rename to uhabits-android/src/main/res/drawable/selected_box.xml diff --git a/uhabits-android/src/main/res/drawable/widget_button_background.xml b/uhabits-android/src/main/res/drawable/widget_button_background.xml index 09785886f..9187c326a 100644 --- a/uhabits-android/src/main/res/drawable/widget_button_background.xml +++ b/uhabits-android/src/main/res/drawable/widget_button_background.xml @@ -17,18 +17,23 @@ ~ with this program. If not, see . --> - - - - + + + + + - + + - + - + + diff --git a/uhabits-android/src/main/res/mipmap-anydpi b/uhabits-android/src/main/res/mipmap-anydpi new file mode 100644 index 000000000..e69de29bb diff --git a/uhabits-android/src/main/res/values-v21/styles_list_habits.xml b/uhabits-android/src/main/res/values-v21/styles_list_habits.xml deleted file mode 100644 index b433ddf8e..000000000 --- a/uhabits-android/src/main/res/values-v21/styles_list_habits.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - \ No newline at end of file