diff --git a/android/gradle.properties b/android/gradle.properties
index 81ad38d7f..d559eb682 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -2,12 +2,12 @@ VERSION_CODE = 35
VERSION_NAME = 1.7.8
MIN_SDK_VERSION = 19
-TARGET_SDK_VERSION = 27
-COMPILE_SDK_VERSION = 27
+TARGET_SDK_VERSION = 29
+COMPILE_SDK_VERSION = 29
DAGGER_VERSION = 2.25.2
KOTLIN_VERSION = 1.3.50
-SUPPORT_LIBRARY_VERSION = 27.1.1
+SUPPORT_LIBRARY_VERSION = 28.0.0
AUTO_FACTORY_VERSION = 1.0-beta6
BUILD_TOOLS_VERSION = 3.5.2
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
index b68942778..61aa65b9e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
@@ -71,7 +71,7 @@ class NumberPickerFactory
}
.create()
- dialog.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
+ dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
InterfaceUtils.setupEditorAction(picker) { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
index b27e3281d..1ff047f6a 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
@@ -433,7 +433,7 @@ public class BarChart extends ScrollableChart
primaryColor = Color.BLACK;
textColor = res.getColor(R.attr.mediumContrastTextColor);
gridColor = res.getColor(R.attr.lowContrastTextColor);
- backgroundColor = res.getColor(R.attr.cardBackgroundColor);
+ backgroundColor = res.getColor(R.attr.cardBgColor);
}
private void initDateFormats()
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
index 0a29ca599..8c70a42fc 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
@@ -242,7 +242,7 @@ public class RingView extends View
StyledResources res = new StyledResources(getContext());
if (backgroundColor == null)
- backgroundColor = res.getColor(R.attr.cardBackgroundColor);
+ backgroundColor = res.getColor(R.attr.cardBgColor);
if (inactiveColor == null)
inactiveColor = res.getColor(R.attr.highContrastTextColor);
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
index 54975059b..8cc79e96c 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
@@ -405,7 +405,7 @@ public class ScoreChart extends ScrollableChart
primaryColor = Color.BLACK;
textColor = res.getColor(R.attr.mediumContrastTextColor);
gridColor = res.getColor(R.attr.lowContrastTextColor);
- backgroundColor = res.getColor(R.attr.cardBackgroundColor);
+ backgroundColor = res.getColor(R.attr.cardBgColor);
}
private void initDateFormats()
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
index abcd91b02..5ff44cacb 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
@@ -106,7 +106,7 @@ class ListHabitsScreen
if (data == null) return
if (resultCode != Activity.RESULT_OK) return
try {
- val inStream = activity.contentResolver.openInputStream(data.data)
+ val inStream = activity.contentResolver.openInputStream(data.data!!)
val cacheDir = activity.externalCacheDir
val tempFile = File.createTempFile("import", "", cacheDir)
FileUtils.copy(inStream, tempFile)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
index ff91467d0..f29382eac 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
@@ -55,7 +55,7 @@ class RingtoneManager
var ringtoneUri: Uri? = null
val defaultRingtoneUri = Settings.System.DEFAULT_NOTIFICATION_URI
val prefRingtoneUri = prefs.getString("pref_ringtone_uri",
- defaultRingtoneUri.toString())
+ defaultRingtoneUri.toString())!!
if (prefRingtoneUri.isNotEmpty())
ringtoneUri = Uri.parse(prefRingtoneUri)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
index cc7553deb..55a9defa7 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
@@ -55,7 +55,7 @@ class SharedPreferencesStorage
sharedPrefs.getLong(key, defValue)
override fun getString(key: String, defValue: String): String =
- sharedPrefs.getString(key, defValue)
+ sharedPrefs.getString(key, defValue)!!
override fun onAttached(preferences: Preferences) {
this.preferences = preferences
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
index ef63cd7c0..a7dcdd82b 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
@@ -85,7 +85,7 @@ public class CheckmarkWidgetView extends HabitWidgetView
case Checkmark.CHECKED_IMPLICITLY:
text = getResources().getString(R.string.fa_check);
- bgColor = res.getColor(R.attr.cardBackgroundColor);
+ bgColor = res.getColor(R.attr.cardBgColor);
fgColor = res.getColor(R.attr.mediumContrastTextColor);
setShadowAlpha(0x00);
@@ -96,7 +96,7 @@ public class CheckmarkWidgetView extends HabitWidgetView
case Checkmark.UNCHECKED:
default:
text = getResources().getString(R.string.fa_times);
- bgColor = res.getColor(R.attr.cardBackgroundColor);
+ bgColor = res.getColor(R.attr.cardBgColor);
fgColor = res.getColor(R.attr.mediumContrastTextColor);
setShadowAlpha(0x00);
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java
index 802cba210..034a469d0 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java
@@ -97,7 +97,7 @@ public abstract class HabitWidgetView extends FrameLayout
backgroundPaint = innerDrawable.getPaint();
backgroundPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset,
shadowColor);
- backgroundPaint.setColor(res.getColor(R.attr.cardBackgroundColor));
+ backgroundPaint.setColor(res.getColor(R.attr.cardBgColor));
backgroundPaint.setAlpha(backgroundAlpha);
frame = (ViewGroup) findViewById(R.id.frame);
diff --git a/android/uhabits-android/src/main/res/drawable-v21/ripple.xml b/android/uhabits-android/src/main/res/drawable-v21/ripple.xml
index 18e2c0fb9..f844b90cb 100644
--- a/android/uhabits-android/src/main/res/drawable-v21/ripple.xml
+++ b/android/uhabits-android/src/main/res/drawable-v21/ripple.xml
@@ -20,5 +20,5 @@
-
+
\ No newline at end of file
diff --git a/android/uhabits-android/src/main/res/values-v21/styles.xml b/android/uhabits-android/src/main/res/values-v21/styles.xml
index a1ebac70b..bb796446d 100644
--- a/android/uhabits-android/src/main/res/values-v21/styles.xml
+++ b/android/uhabits-android/src/main/res/values-v21/styles.xml
@@ -20,7 +20,7 @@