Skip to content

Commit 6d062aa

Browse files
committed
update minSdk to 26
1 parent 2638001 commit 6d062aa

39 files changed

+136
-345
lines changed

Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,8 @@ abstract class HabiticaBaseApplication : Application(), Application.ActivityLife
156156
val resources = resources
157157
val configuration: Configuration = resources.configuration
158158
val languageHelper = LanguageHelper(sharedPrefs.getString("language", "en"))
159-
if (if (SDK_INT >= Build.VERSION_CODES.N) {
159+
if (
160160
configuration.locales.isEmpty || configuration.locales[0] != languageHelper.locale
161-
} else {
162-
@Suppress("DEPRECATION")
163-
configuration.locale != languageHelper.locale
164-
}
165161
) {
166162
configuration.setLocale(languageHelper.locale)
167163
resources.updateConfiguration(configuration, null)

Habitica/src/main/java/com/habitrpg/android/habitica/extensions/PendingIntentExtensions.kt

Lines changed: 0 additions & 20 deletions
This file was deleted.

Habitica/src/main/java/com/habitrpg/android/habitica/extensions/ResourcesExtensions.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ fun Resources.forceLocale(
1515
Locale.setDefault(locale)
1616
val configuration = Configuration()
1717
configuration.setLocale(locale)
18-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
19-
activity.createConfigurationContext(configuration)
20-
}
18+
activity.createConfigurationContext(configuration)
2119
updateConfiguration(configuration, displayMetrics)
2220

2321
try {

Habitica/src/main/java/com/habitrpg/android/habitica/extensions/WindowExtensions.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ fun Window.updateStatusBarColor(
1313
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
1414
return
1515
}
16-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
17-
statusBarColor = color
18-
@Suppress("DEPRECATION")
19-
decorView.systemUiVisibility =
20-
if (isLight) View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR else View.SYSTEM_UI_FLAG_VISIBLE
21-
} else {
22-
statusBarColor = context.getThemeColor(R.attr.colorPrimaryDark)
23-
}
16+
statusBarColor = color
17+
@Suppress("DEPRECATION")
18+
decorView.systemUiVisibility =
19+
if (isLight) View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR else View.SYSTEM_UI_FLAG_VISIBLE
2420
}

Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.kt

Lines changed: 36 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import android.content.Intent
77
import android.os.Build
88
import androidx.preference.PreferenceManager
99
import com.habitrpg.android.habitica.data.TaskRepository
10-
import com.habitrpg.android.habitica.extensions.withImmutableFlag
1110
import com.habitrpg.android.habitica.models.tasks.RemindersItem
1211
import com.habitrpg.android.habitica.models.tasks.Task
1312
import com.habitrpg.android.habitica.modules.AuthenticationHandler
@@ -166,7 +165,7 @@ class TaskAlarmManager(
166165
context,
167166
intentId,
168167
intent,
169-
withImmutableFlag(PendingIntent.FLAG_NO_CREATE)
168+
PendingIntent.FLAG_NO_CREATE + PendingIntent.FLAG_IMMUTABLE
170169
)
171170
if (previousSender != null) {
172171
previousSender.cancel()
@@ -178,7 +177,7 @@ class TaskAlarmManager(
178177
context,
179178
intentId,
180179
intent,
181-
withImmutableFlag(PendingIntent.FLAG_CANCEL_CURRENT)
180+
PendingIntent.FLAG_CANCEL_CURRENT + PendingIntent.FLAG_IMMUTABLE
182181
)
183182

184183
CoroutineScope(Dispatchers.IO).launch {
@@ -209,7 +208,7 @@ class TaskAlarmManager(
209208
context,
210209
intentId,
211210
intent,
212-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
211+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABE
213212
)
214213
val am = context.getSystemService(Context.ALARM_SERVICE) as? AlarmManager
215214
sender.cancel()
@@ -250,7 +249,7 @@ class TaskAlarmManager(
250249
context,
251250
0,
252251
notificationIntent,
253-
withImmutableFlag(PendingIntent.FLAG_NO_CREATE)
252+
PendingIntent.FLAG_NO_CREATE + PendingIntent.FLAG_IMMUTABLE
254253
)
255254
if (previousSender != null) {
256255
previousSender.cancel()
@@ -262,7 +261,7 @@ class TaskAlarmManager(
262261
context,
263262
0,
264263
notificationIntent,
265-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
264+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABE
266265
)
267266

268267
setAlarm(context, triggerTime, pendingIntent)
@@ -273,7 +272,7 @@ class TaskAlarmManager(
273272
val notificationIntent = Intent(context, NotificationPublisher::class.java)
274273
val alarmManager = context?.getSystemService(Context.ALARM_SERVICE) as? AlarmManager
275274
val displayIntent =
276-
PendingIntent.getBroadcast(context, 0, notificationIntent, withImmutableFlag(0))
275+
PendingIntent.getBroadcast(context, 0, notificationIntent, PendingIntent.FLAG_IMMUTABLE)
277276
alarmManager?.cancel(displayIntent)
278277
}
279278

@@ -289,45 +288,41 @@ class TaskAlarmManager(
289288
}
290289

291290
val notificationType = AlarmManager.RTC_WAKEUP
292-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
293-
try {
294-
var canScheduleExact = true
295-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
296-
canScheduleExact = alarmManager.canScheduleExactAlarms()
297-
}
298-
if (canScheduleExact) {
299-
alarmManager.setExactAndAllowWhileIdle(notificationType, time, pendingIntent)
300-
HLogger.log(
301-
LogLevel.DEBUG,
302-
"TaskAlarmManager",
303-
"setAlarm: Scheduling for $time using setExact ${Date().time}"
304-
)
305-
} else {
306-
alarmManager.setAndAllowWhileIdle(notificationType, time, pendingIntent)
307-
HLogger.log(
308-
LogLevel.DEBUG,
309-
"TaskAlarmManager",
310-
"setAlarm: Scheduling for $time using setAndAllowWhileIdle"
291+
try {
292+
var canScheduleExact = true
293+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
294+
canScheduleExact = alarmManager.canScheduleExactAlarms()
295+
}
296+
if (canScheduleExact) {
297+
alarmManager.setExactAndAllowWhileIdle(notificationType, time, pendingIntent)
298+
HLogger.log(
299+
LogLevel.DEBUG,
300+
"TaskAlarmManager",
301+
"setAlarm: Scheduling for $time using setExact ${Date().time}"
302+
)
303+
} else {
304+
alarmManager.setAndAllowWhileIdle(notificationType, time, pendingIntent)
305+
HLogger.log(
306+
LogLevel.DEBUG,
307+
"TaskAlarmManager",
308+
"setAlarm: Scheduling for $time using setAndAllowWhileIdle"
309+
)
310+
}
311+
} catch (ex: Exception) {
312+
when (ex) {
313+
is IllegalStateException, is SecurityException -> {
314+
alarmManager.setWindow(
315+
notificationType,
316+
time,
317+
600000,
318+
pendingIntent
311319
)
312320
}
313-
} catch (ex: Exception) {
314-
when (ex) {
315-
is IllegalStateException, is SecurityException -> {
316-
alarmManager.setWindow(
317-
notificationType,
318-
time,
319-
600000,
320-
pendingIntent
321-
)
322-
}
323321

324-
else -> {
325-
throw ex
326-
}
322+
else -> {
323+
throw ex
327324
}
328325
}
329-
} else {
330-
alarmManager.set(notificationType, time, pendingIntent)
331326
}
332327
}
333328
}

Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskDescriptionBuilder.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,8 @@ class TaskDescriptionBuilder(private val context: Context) {
130130
}
131131

132132
private fun withOrdinal(day: Int): String {
133-
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
134-
val formatter = MessageFormat("{0,ordinal}", LanguageHelper.systemLocale)
135-
formatter.format(arrayOf(day))
136-
} else {
137-
day.toString()
138-
}
133+
val formatter = MessageFormat("{0,ordinal}", LanguageHelper.systemLocale)
134+
return formatter.format(arrayOf(day))
139135
}
140136

141137
private fun describeRepeatInterval(

Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/GroupActivityNotification.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import androidx.core.app.Person
1111
import androidx.core.app.RemoteInput
1212
import androidx.core.os.bundleOf
1313
import com.habitrpg.android.habitica.R
14-
import com.habitrpg.android.habitica.extensions.withMutableFlag
1514
import com.habitrpg.android.habitica.receivers.LocalNotificationActionReceiver
1615
import com.habitrpg.common.habitica.helpers.EmojiParser
1716
import java.text.SimpleDateFormat
@@ -35,11 +34,7 @@ class GroupActivityNotification(context: Context, identifier: String?) :
3534
val notificationManager =
3635
context.getSystemService(Context.NOTIFICATION_SERVICE) as? NotificationManager
3736
val existingNotifications =
38-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
39-
notificationManager?.activeNotifications?.filter { it.id == getNotificationID(data) }
40-
} else {
41-
null
42-
}
37+
notificationManager?.activeNotifications?.filter { it.id == getNotificationID(data) }
4338
val oldMessages =
4439
existingNotifications?.firstOrNull()?.notification?.extras?.getBundle("messages")
4540
?.get("messages") as? ArrayList<Map<String, String>> ?: arrayListOf()
@@ -89,7 +84,7 @@ class GroupActivityNotification(context: Context, identifier: String?) :
8984
context,
9085
groupID.hashCode(),
9186
intent,
92-
withMutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
87+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_MUTABLE
9388
)
9489

9590
val action: NotificationCompat.Action =

Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/GuildInviteLocalNotification.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@ import android.app.PendingIntent
44
import android.content.Context
55
import android.content.Intent
66
import com.habitrpg.android.habitica.R
7-
import com.habitrpg.android.habitica.extensions.withImmutableFlag
87
import com.habitrpg.android.habitica.receivers.LocalNotificationActionReceiver
98

10-
/**
11-
* Created by keithholliday on 7/1/16.
12-
*/
139
class GuildInviteLocalNotification(context: Context, identifier: String?) :
1410
HabiticaLocalNotification(context, identifier) {
1511
override fun configureMainIntent(intent: Intent) {
@@ -34,7 +30,7 @@ class GuildInviteLocalNotification(context: Context, identifier: String?) :
3430
context,
3531
groupID.hashCode(),
3632
acceptInviteIntent,
37-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
33+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABLE
3834
)
3935
notificationBuilder.addAction(0, "Accept", pendingIntentAccept)
4036

@@ -47,7 +43,7 @@ class GuildInviteLocalNotification(context: Context, identifier: String?) :
4743
context,
4844
groupID.hashCode() + 1,
4945
rejectInviteIntent,
50-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
46+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABLE
5147
)
5248
notificationBuilder.addAction(0, "Reject", pendingIntentReject)
5349
}

Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/HabiticaLocalNotification.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import androidx.core.app.NotificationCompat
99
import androidx.core.app.NotificationManagerCompat
1010
import androidx.core.content.ContextCompat
1111
import com.habitrpg.android.habitica.R
12-
import com.habitrpg.android.habitica.extensions.withImmutableFlag
1312
import com.habitrpg.android.habitica.ui.activities.MainActivity
1413
import java.util.Date
1514

@@ -81,7 +80,7 @@ abstract class HabiticaLocalNotification(
8180
context,
8281
3000,
8382
intent,
84-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
83+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABE
8584
)
8685
notificationBuilder.setContentIntent(pendingIntent)
8786
}

Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/PartyInviteLocalNotification.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@ import android.app.PendingIntent
44
import android.content.Context
55
import android.content.Intent
66
import com.habitrpg.android.habitica.R
7-
import com.habitrpg.android.habitica.extensions.withImmutableFlag
87
import com.habitrpg.android.habitica.receivers.LocalNotificationActionReceiver
98

10-
/**
11-
* Created by keithholliday on 6/28/16.
12-
*/
139
class PartyInviteLocalNotification(context: Context, identifier: String?) :
1410
HabiticaLocalNotification(context, identifier) {
1511
override fun setNotificationActions(
@@ -29,7 +25,7 @@ class PartyInviteLocalNotification(context: Context, identifier: String?) :
2925
context,
3026
groupID.hashCode(),
3127
acceptInviteIntent,
32-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
28+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABLE
3329
)
3430
notificationBuilder.addAction(0, context.getString(R.string.accept), pendingIntentAccept)
3531

@@ -42,7 +38,7 @@ class PartyInviteLocalNotification(context: Context, identifier: String?) :
4238
context,
4339
groupID.hashCode() + 1,
4440
rejectInviteIntent,
45-
withImmutableFlag(PendingIntent.FLAG_UPDATE_CURRENT)
41+
PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_IMMUTABLE
4642
)
4743
notificationBuilder.addAction(0, context.getString(R.string.reject), pendingIntentReject)
4844
}

0 commit comments

Comments
 (0)