aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-02 23:04:00 +0200
committerRaindropsSys <contact@minteck.org>2023-04-02 23:04:00 +0200
commitc3102d3399b33f4a13bbbc3273c1e19e87fe1cf8 (patch)
tree3be980dff3a2cc6b0b41656aa4ad4da4ffb3536f
parentb9b5a76b577e697566c6de216f90b7887166a6c4 (diff)
downloadponypush-c3102d3399b33f4a13bbbc3273c1e19e87fe1cf8.tar.gz
ponypush-c3102d3399b33f4a13bbbc3273c1e19e87fe1cf8.tar.bz2
ponypush-c3102d3399b33f4a13bbbc3273c1e19e87fe1cf8.zip
Updated 14 files, added 76 files and deleted 9 files (automated)
-rw-r--r--app/build.gradle5
-rw-r--r--app/src/main/AndroidManifest.xml3
-rw-r--r--app/src/main/java/io/heckel/ntfy/msg/NotificationParser.kt29
-rw-r--r--app/src/main/java/io/heckel/ntfy/msg/NotificationService.kt30
-rw-r--r--app/src/main/java/io/heckel/ntfy/ui/DetailAdapter.kt3
-rw-r--r--app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt4
-rw-r--r--app/src/main/java/io/heckel/ntfy/util/Util.kt20
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_alarm.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_bits.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_debug.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_delta.xml16
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_emergency.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_equilink.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_genitalia.xml18
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_motivation.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_schedule.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_sport.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_status.xml18
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_switch.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_travelling.xml15
-rw-r--r--app/src/main/res/drawable-anydpi/ic_category_wakeup.xml18
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_alarm.pngbin0 -> 690 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_bits.pngbin0 -> 297 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_debug.pngbin0 -> 370 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_delta.pngbin0 -> 307 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_emergency.pngbin0 -> 372 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_equilink.pngbin0 -> 340 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_genitalia.pngbin0 -> 462 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_motivation.pngbin0 -> 403 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_pleasure.pngbin0 -> 702 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_schedule.pngbin0 -> 328 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_sport.pngbin0 -> 357 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_status.pngbin0 -> 548 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_switch.pngbin0 -> 263 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_travelling.pngbin0 -> 502 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_category_wakeup.pngbin0 -> 486 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_alarm.pngbin0 -> 475 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_bits.pngbin0 -> 233 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_debug.pngbin0 -> 290 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_delta.pngbin0 -> 208 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_emergency.pngbin0 -> 265 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_equilink.pngbin0 -> 234 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_genitalia.pngbin0 -> 315 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_motivation.pngbin0 -> 273 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_pleasure.pngbin0 -> 436 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_schedule.pngbin0 -> 282 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_sport.pngbin0 -> 299 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_status.pngbin0 -> 393 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_switch.pngbin0 -> 190 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_travelling.pngbin0 -> 327 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_category_wakeup.pngbin0 -> 328 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_alarm.pngbin0 -> 925 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_bits.pngbin0 -> 352 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_debug.pngbin0 -> 447 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_delta.pngbin0 -> 353 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_emergency.pngbin0 -> 488 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_equilink.pngbin0 -> 410 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_genitalia.pngbin0 -> 631 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_motivation.pngbin0 -> 524 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_pleasure.pngbin0 -> 948 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_schedule.pngbin0 -> 391 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_sport.pngbin0 -> 426 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_status.pngbin0 -> 738 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_switch.pngbin0 -> 394 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_travelling.pngbin0 -> 737 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_category_wakeup.pngbin0 -> 633 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_alarm.pngbin0 -> 1522 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_bits.pngbin0 -> 524 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_debug.pngbin0 -> 677 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_delta.pngbin0 -> 539 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_emergency.pngbin0 -> 653 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_equilink.pngbin0 -> 706 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_genitalia.pngbin0 -> 984 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_motivation.pngbin0 -> 765 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_pleasure.pngbin0 -> 1637 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_schedule.pngbin0 -> 578 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_sport.pngbin0 -> 710 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_status.pngbin0 -> 1095 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_switch.pngbin0 -> 518 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_travelling.pngbin0 -> 1136 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_category_wakeup.pngbin0 -> 972 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_category_pleasure.pngbin0 -> 2355 bytes
-rw-r--r--app/src/main/res/drawable/ic_av_timer_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_bed_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_change_history_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_dns_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_explore_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_play_for_work_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_settings_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_toll_white_24dp.xml5
-rw-r--r--app/src/main/res/drawable/ic_warning_amber_white_24dp.xml5
-rw-r--r--app/src/main/res/layout/fragment_main_item.xml17
-rw-r--r--app/src/main/res/menu/menu_main_action_bar.xml27
-rw-r--r--app/src/main/res/values-fr/strings.xml235
-rw-r--r--app/src/main/res/values/colors.xml6
-rw-r--r--app/src/main/res/values/strings.xml8
-rw-r--r--app/src/main/res/values/values.xml2
-rw-r--r--build.gradle2
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
99 files changed, 343 insertions, 315 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 6cd0ecf..9f9fe19 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -14,8 +14,8 @@ android {
minSdkVersion 27
targetSdkVersion 33
- versionCode 136
- versionName "2.7.1"
+ versionCode 137
+ versionName "3.1.0"
buildConfigField 'String', "NTFY_VERSION", '"1.16.0"'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -65,6 +65,7 @@ android {
'-Xjvm-default=all-compatibility' // https://stackoverflow.com/a/71234042/1440785
]
}
+ namespace 'io.heckel.ntfy'
}
// Disables GoogleServices tasks for F-Droid variant
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7c638a7..43cc049 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="io.heckel.ntfy">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET"/>
diff --git a/app/src/main/java/io/heckel/ntfy/msg/NotificationParser.kt b/app/src/main/java/io/heckel/ntfy/msg/NotificationParser.kt
index 81a60db..70c1359 100644
--- a/app/src/main/java/io/heckel/ntfy/msg/NotificationParser.kt
+++ b/app/src/main/java/io/heckel/ntfy/msg/NotificationParser.kt
@@ -1,5 +1,6 @@
package io.heckel.ntfy.msg
+import android.util.Base64
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import io.heckel.ntfy.db.Action
@@ -8,8 +9,10 @@ import io.heckel.ntfy.db.Icon
import io.heckel.ntfy.db.Notification
import io.heckel.ntfy.util.joinTags
import io.heckel.ntfy.util.toPriority
+import java.io.UnsupportedEncodingException
import java.lang.reflect.Type
+
class NotificationParser {
private val gson = Gson()
@@ -18,6 +21,28 @@ class NotificationParser {
return notificationWithTopic?.notification
}
+ private fun decodeBase64(coded: String): String? {
+ var valueDecoded = ByteArray(0)
+ try {
+ valueDecoded = Base64.decode(coded.toByteArray(charset("UTF-8")), Base64.DEFAULT)
+ } catch (e: UnsupportedEncodingException) { }
+ return valueDecoded.toString(Charsets.UTF_8)
+ }
+
+ fun parsePonypush(message: String): String {
+ if (message.contains("(\$PA")) {
+ val parts = message.split("(\$PA")[1].split("\$\$")
+
+ if (parts.count() >= 3) {
+ return decodeBase64(parts[1]) ?: "<invalid>"
+ } else {
+ return "<invalid>"
+ }
+ } else {
+ return message
+ }
+ }
+
fun parseWithTopic(s: String, subscriptionId: Long = 0, notificationId: Int = 0): NotificationWithTopic? {
val message = gson.fromJson(s, Message::class.java)
if (message.event != ApiService.EVENT_MESSAGE) {
@@ -55,8 +80,8 @@ class NotificationParser {
id = message.id,
subscriptionId = subscriptionId,
timestamp = message.time,
- title = message.title ?: "",
- message = message.message,
+ title = parsePonypush(message.title ?: ""),
+ message = parsePonypush(message.message),
encoding = message.encoding ?: "",
priority = toPriority(message.priority),
tags = joinTags(message.tags),
diff --git a/app/src/main/java/io/heckel/ntfy/msg/NotificationService.kt b/app/src/main/java/io/heckel/ntfy/msg/NotificationService.kt
index 6979dd0..80773cf 100644
--- a/app/src/main/java/io/heckel/ntfy/msg/NotificationService.kt
+++ b/app/src/main/java/io/heckel/ntfy/msg/NotificationService.kt
@@ -93,23 +93,35 @@ class NotificationService(val context: Context) {
val tags = notification.tags.split(",").map { it.trim() }
val icon = if (tags.contains("bits")) {
- R.drawable.ic_toll_white_24dp
+ R.drawable.ic_category_bits
} else if (tags.contains("switch")) {
- R.drawable.ic_layers_white_24dp
+ R.drawable.ic_category_switch
} else if (tags.contains("wakeup")) {
- R.drawable.ic_bed_white_24dp
+ R.drawable.ic_category_wakeup
} else if (tags.contains("pleasure")) {
- R.drawable.ic_play_for_work_white_24dp
+ R.drawable.ic_category_pleasure
} else if (tags.contains("delta")) {
- R.drawable.ic_change_history_white_24dp
+ R.drawable.ic_category_delta
} else if (tags.contains("emergency")) {
- R.drawable.ic_warning_amber_white_24dp
+ R.drawable.ic_category_emergency
} else if (tags.contains("travelling")) {
- R.drawable.ic_explore_white_24dp
+ R.drawable.ic_category_travelling
} else if (tags.contains("alarm")) {
- R.drawable.ic_av_timer_white_24dp
+ R.drawable.ic_category_alarm
} else if (tags.contains("status")) {
- R.drawable.ic_dns_white_24dp
+ R.drawable.ic_category_status
+ } else if (tags.contains("genitalia")) {
+ R.drawable.ic_category_genitalia
+ } else if (tags.contains("sport")) {
+ R.drawable.ic_category_sport
+ } else if (tags.contains("debug")) {
+ R.drawable.ic_category_debug
+ } else if (tags.contains("motivation")) {
+ R.drawable.ic_category_motivation
+ } else if (tags.contains("schedule")) {
+ R.drawable.ic_category_schedule
+ } else if (tags.contains("equilink")) {
+ R.drawable.ic_category_equilink
} else {
R.drawable.ic_notification
}
diff --git a/app/src/main/java/io/heckel/ntfy/ui/DetailAdapter.kt b/app/src/main/java/io/heckel/ntfy/ui/DetailAdapter.kt
index 43df9da..4cdeb1a 100644
--- a/app/src/main/java/io/heckel/ntfy/ui/DetailAdapter.kt
+++ b/app/src/main/java/io/heckel/ntfy/ui/DetailAdapter.kt
@@ -107,6 +107,9 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
"travelling" -> context.getString(R.string.category_travelling)
"alarm" -> context.getString(R.string.category_alarm)
"status" -> context.getString(R.string.category_status)
+ "genitalia" -> context.getString(R.string.category_genitalia)
+ "chdebug" -> context.getString(R.string.category_debug)
+ "debug" -> context.getString(R.string.category_debug)
else -> context.getString(R.string.category_default, item)
}
}
diff --git a/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt b/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt
index 8c433c9..de2169e 100644
--- a/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt
+++ b/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt
@@ -542,7 +542,7 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
"WebSocket"
}
- val version = "Ponypush " + BuildConfig.VERSION_NAME + " (ntfy " + BuildConfig.NTFY_VERSION + ", " + type + ")"
+ val version = "Ponypush " + BuildConfig.VERSION_NAME + " (ntfy " + BuildConfig.NTFY_VERSION + ")"
versionPref?.summary = version
versionPref?.onPreferenceClickListener = OnPreferenceClickListener {
val context = context ?: return@OnPreferenceClickListener false
@@ -575,7 +575,7 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
val log = Log.getFormatted(context, scrub = scrub)
requireActivity().runOnUiThread {
val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
- val clip = ClipData.newPlainText("ntfy logs", log)
+ val clip = ClipData.newPlainText("Ponypush logs", log)
clipboard.setPrimaryClip(clip)
if (scrub) {
showScrubDialog(getString(R.string.settings_advanced_export_logs_copied_logs))
diff --git a/app/src/main/java/io/heckel/ntfy/util/Util.kt b/app/src/main/java/io/heckel/ntfy/util/Util.kt
index 56931eb..c577ba3 100644
--- a/app/src/main/java/io/heckel/ntfy/util/Util.kt
+++ b/app/src/main/java/io/heckel/ntfy/util/Util.kt
@@ -65,7 +65,25 @@ fun subscriptionTopicShortUrl(subscription: Subscription) : String {
}
fun displayName(subscription: Subscription) : String {
- return subscription.displayName ?: subscription.topic
+ // @ponypush
+ var name = when (subscription.topic) {
+ "main" -> "Main delivery channel"
+ "public-switches" -> "Switch notifications"
+ "public-switches-raindrops" -> "Switch notifications (Raindrops)"
+ "public-switches-cloudburst" -> "Switch notifications (Cloudburst)"
+ "pleasure" -> "Pleasure alerts"
+ "delta" -> "Delta kiosk management"
+ "stargrove" -> "Stargrove notifications"
+ "motivation" -> "Motivational messages"
+ "test" -> "Test channel"
+ else -> "Unknown channel (" + subscription.topic + ")"
+ }
+
+ if (subscription.topic.startsWith("st") && subscription.topic.endsWith("e")) {
+ name = subscription.topic.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } + " notifications"
+ }
+
+ return subscription.displayName ?: name
}
fun shortUrl(url: String) = url
diff --git a/app/src/main/res/drawable-anydpi/ic_category_alarm.xml b/app/src/main/res/drawable-anydpi/ic_category_alarm.xml
new file mode 100644
index 0000000..1d048c0
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_alarm.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M22,5.72l-4.6,-3.86 -1.29,1.53 4.6,3.86L22,5.72zM7.88,3.39L6.6,1.86 2,5.71l1.29,1.53 4.59,-3.85zM12,4c-4.97,0 -9,4.03 -9,9s4.02,9 9,9c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,20c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7zM10.54,14.53L8.41,12.4l-1.06,1.06 3.18,3.18 6,-6 -1.06,-1.06 -4.93,4.95z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_bits.xml b/app/src/main/res/drawable-anydpi/ic_category_bits.xml
new file mode 100644
index 0000000..803d828
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_bits.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M21,18v1c0,1.1 -0.9,2 -2,2L5,21c-1.11,0 -2,-0.9 -2,-2L3,5c0,-1.1 0.89,-2 2,-2h14c1.1,0 2,0.9 2,2v1h-9c-1.11,0 -2,0.9 -2,2v8c0,1.1 0.89,2 2,2h9zM12,16h10L22,8L12,8v8zM16,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_debug.xml b/app/src/main/res/drawable-anydpi/ic_category_debug.xml
new file mode 100644
index 0000000..f437edc
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_debug.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_delta.xml b/app/src/main/res/drawable-anydpi/ic_category_delta.xml
new file mode 100644
index 0000000..4110929
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_delta.xml
@@ -0,0 +1,16 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF"
+ android:autoMirrored="true">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5,-5L11,7zM20,19h-8v2h8c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2h-8v2h8V19z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_emergency.xml b/app/src/main/res/drawable-anydpi/ic_category_emergency.xml
new file mode 100644
index 0000000..be98680
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_emergency.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M20.79,9.23l-2,-3.46l-4.79,2.77l0,-5.54l-4,0l0,5.54l-4.79,-2.77l-2,3.46l4.79,2.77l-4.79,2.77l2,3.46l4.79,-2.77l0,5.54l4,0l0,-5.54l4.79,2.77l2,-3.46l-4.79,-2.77z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_equilink.xml b/app/src/main/res/drawable-anydpi/ic_category_equilink.xml
new file mode 100644
index 0000000..2023129
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_equilink.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M3.9,12c0,-1.71 1.39,-3.1 3.1,-3.1h4L11,7L7,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1zM8,13h8v-2L8,11v2zM17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1s-1.39,3.1 -3.1,3.1h-4L13,17h4c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_genitalia.xml b/app/src/main/res/drawable-anydpi/ic_category_genitalia.xml
new file mode 100644
index 0000000..e0bcf2d
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_genitalia.xml
@@ -0,0 +1,18 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M8.55,12c-1.07,-0.71 -2.25,-1.27 -3.53,-1.61 1.28,0.34 2.46,0.9 3.53,1.61zM18.98,10.39c-1.29,0.34 -2.49,0.91 -3.57,1.64 1.08,-0.73 2.28,-1.3 3.57,-1.64z"/>
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M15.49,9.63c-0.18,-2.79 -1.31,-5.51 -3.43,-7.63 -2.14,2.14 -3.32,4.86 -3.55,7.63 1.28,0.68 2.46,1.56 3.49,2.63 1.03,-1.06 2.21,-1.94 3.49,-2.63zM8.99,12.28c-0.14,-0.1 -0.3,-0.19 -0.45,-0.29 0.15,0.11 0.31,0.19 0.45,0.29zM15.41,12.03c-0.13,0.09 -0.27,0.16 -0.4,0.26 0.13,-0.1 0.27,-0.17 0.4,-0.26zM12,15.45C9.85,12.17 6.18,10 2,10c0,5.32 3.36,9.82 8.03,11.49 0.63,0.23 1.29,0.4 1.97,0.51 0.68,-0.12 1.33,-0.29 1.97,-0.51C18.64,19.82 22,15.32 22,10c-4.18,0 -7.85,2.17 -10,5.45z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_motivation.xml b/app/src/main/res/drawable-anydpi/ic_category_motivation.xml
new file mode 100644
index 0000000..d12ce23
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_motivation.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_schedule.xml b/app/src/main/res/drawable-anydpi/ic_category_schedule.xml
new file mode 100644
index 0000000..4046f3b
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_schedule.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M19,4h-1V2h-2v2H8V2H6v2H5C3.89,4 3.01,4.9 3.01,6L3,20c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V6C21,4.9 20.1,4 19,4zM19,20H5V10h14V20zM9,14H7v-2h2V14zM13,14h-2v-2h2V14zM17,14h-2v-2h2V14zM9,18H7v-2h2V18zM13,18h-2v-2h2V18zM17,18h-2v-2h2V18z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_sport.xml b/app/src/main/res/drawable-anydpi/ic_category_sport.xml
new file mode 100644
index 0000000..399b9eb
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_sport.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M19,5h-2V3H7v2H5C3.9,5 3,5.9 3,7v1c0,2.55 1.92,4.63 4.39,4.94c0.63,1.5 1.98,2.63 3.61,2.96V19H7v2h10v-2h-4v-3.1c1.63,-0.33 2.98,-1.46 3.61,-2.96C19.08,12.63 21,10.55 21,8V7C21,5.9 20.1,5 19,5zM5,8V7h2v3.82C5.84,10.4 5,9.3 5,8zM19,8c0,1.3 -0.84,2.4 -2,2.82V7h2V8z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_status.xml b/app/src/main/res/drawable-anydpi/ic_category_status.xml
new file mode 100644
index 0000000..9cf5d74
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_status.xml
@@ -0,0 +1,18 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M14.17,13.71l1.4,-2.42c0.09,-0.15 0.05,-0.34 -0.08,-0.45l-1.48,-1.16c0.03,-0.22 0.05,-0.45 0.05,-0.68s-0.02,-0.46 -0.05,-0.69l1.48,-1.16c0.13,-0.11 0.17,-0.3 0.08,-0.45l-1.4,-2.42c-0.09,-0.15 -0.27,-0.21 -0.43,-0.15L12,4.83c-0.36,-0.28 -0.75,-0.51 -1.18,-0.69l-0.26,-1.85C10.53,2.13 10.38,2 10.21,2h-2.8C7.24,2 7.09,2.13 7.06,2.3L6.8,4.15C6.38,4.33 5.98,4.56 5.62,4.84l-1.74,-0.7c-0.16,-0.06 -0.34,0 -0.43,0.15l-1.4,2.42C1.96,6.86 2,7.05 2.13,7.16l1.48,1.16C3.58,8.54 3.56,8.77 3.56,9s0.02,0.46 0.05,0.69l-1.48,1.16C2,10.96 1.96,11.15 2.05,11.3l1.4,2.42c0.09,0.15 0.27,0.21 0.43,0.15l1.74,-0.7c0.36,0.28 0.75,0.51 1.18,0.69l0.26,1.85C7.09,15.87 7.24,16 7.41,16h2.8c0.17,0 0.32,-0.13 0.35,-0.3l0.26,-1.85c0.42,-0.18 0.82,-0.41 1.18,-0.69l1.74,0.7C13.9,13.92 14.08,13.86 14.17,13.71zM8.81,11c-1.1,0 -2,-0.9 -2,-2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2C10.81,10.1 9.91,11 8.81,11z"/>
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M21.92,18.67l-0.96,-0.74c0.02,-0.14 0.04,-0.29 0.04,-0.44c0,-0.15 -0.01,-0.3 -0.04,-0.44l0.95,-0.74c0.08,-0.07 0.11,-0.19 0.05,-0.29l-0.9,-1.55c-0.05,-0.1 -0.17,-0.13 -0.28,-0.1l-1.11,0.45c-0.23,-0.18 -0.48,-0.33 -0.76,-0.44l-0.17,-1.18C18.73,13.08 18.63,13 18.53,13h-1.79c-0.11,0 -0.21,0.08 -0.22,0.19l-0.17,1.18c-0.27,0.12 -0.53,0.26 -0.76,0.44l-1.11,-0.45c-0.1,-0.04 -0.22,0 -0.28,0.1l-0.9,1.55c-0.05,0.1 -0.04,0.22 0.05,0.29l0.95,0.74c-0.02,0.14 -0.03,0.29 -0.03,0.44c0,0.15 0.01,0.3 0.03,0.44l-0.95,0.74c-0.08,0.07 -0.11,0.19 -0.05,0.29l0.9,1.55c0.05,0.1 0.17,0.13 0.28,0.1l1.11,-0.45c0.23,0.18 0.48,0.33 0.76,0.44l0.17,1.18c0.02,0.11 0.11,0.19 0.22,0.19h1.79c0.11,0 0.21,-0.08 0.22,-0.19l0.17,-1.18c0.27,-0.12 0.53,-0.26 0.75,-0.44l1.12,0.45c0.1,0.04 0.22,0 0.28,-0.1l0.9,-1.55C22.03,18.86 22,18.74 21.92,18.67zM17.63,18.83c-0.74,0 -1.35,-0.6 -1.35,-1.35s0.6,-1.35 1.35,-1.35s1.35,0.6 1.35,1.35S18.37,18.83 17.63,18.83z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_switch.xml b/app/src/main/res/drawable-anydpi/ic_category_switch.xml
new file mode 100644
index 0000000..f3511fd
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_switch.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M8.5,8.62v6.76L5.12,12L8.5,8.62M10,5l-7,7l7,7V5L10,5zM14,5v14l7,-7L14,5z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_travelling.xml b/app/src/main/res/drawable-anydpi/ic_category_travelling.xml
new file mode 100644
index 0000000..9904b6b
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_travelling.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M12,10.9c-0.61,0 -1.1,0.49 -1.1,1.1s0.49,1.1 1.1,1.1c0.61,0 1.1,-0.49 1.1,-1.1s-0.49,-1.1 -1.1,-1.1zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM14.19,14.19L6,18l3.81,-8.19L18,6l-3.81,8.19z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-anydpi/ic_category_wakeup.xml b/app/src/main/res/drawable-anydpi/ic_category_wakeup.xml
new file mode 100644
index 0000000..28c1705
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_category_wakeup.xml
@@ -0,0 +1,18 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M11.1,12.08C8.77,7.57 10.6,3.6 11.63,2.01C6.27,2.2 1.98,6.59 1.98,12c0,0.14 0.02,0.28 0.02,0.42C2.62,12.15 3.29,12 4,12c1.66,0 3.18,0.83 4.1,2.15C9.77,14.63 11,16.17 11,18c0,1.52 -0.87,2.83 -2.12,3.51c0.98,0.32 2.03,0.5 3.11,0.5c3.5,0 6.58,-1.8 8.37,-4.52C18,17.72 13.38,16.52 11.1,12.08z"/>
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M7,16l-0.18,0C6.4,14.84 5.3,14 4,14c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.62,0 2.49,0 3,0c1.1,0 2,-0.9 2,-2C9,16.9 8.1,16 7,16z"/>
+ </group>
+</vector>
diff --git a/app/src/main/res/drawable-hdpi/ic_category_alarm.png b/app/src/main/res/drawable-hdpi/ic_category_alarm.png
new file mode 100644
index 0000000..936910c
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_alarm.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_bits.png b/app/src/main/res/drawable-hdpi/ic_category_bits.png
new file mode 100644
index 0000000..3fd8cab
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_bits.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_debug.png b/app/src/main/res/drawable-hdpi/ic_category_debug.png
new file mode 100644
index 0000000..dd7a6c7
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_debug.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_delta.png b/app/src/main/res/drawable-hdpi/ic_category_delta.png
new file mode 100644
index 0000000..3d83fc5
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_delta.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_emergency.png b/app/src/main/res/drawable-hdpi/ic_category_emergency.png
new file mode 100644
index 0000000..2181fde
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_emergency.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_equilink.png b/app/src/main/res/drawable-hdpi/ic_category_equilink.png
new file mode 100644
index 0000000..0782771
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_equilink.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_genitalia.png b/app/src/main/res/drawable-hdpi/ic_category_genitalia.png
new file mode 100644
index 0000000..ce13a33
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_genitalia.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_motivation.png b/app/src/main/res/drawable-hdpi/ic_category_motivation.png
new file mode 100644
index 0000000..0b7d0dd
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_motivation.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_pleasure.png b/app/src/main/res/drawable-hdpi/ic_category_pleasure.png
new file mode 100644
index 0000000..9b4be46
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_pleasure.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_schedule.png b/app/src/main/res/drawable-hdpi/ic_category_schedule.png
new file mode 100644
index 0000000..98de35e
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_schedule.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_sport.png b/app/src/main/res/drawable-hdpi/ic_category_sport.png
new file mode 100644
index 0000000..cd3c8cc
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_sport.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_status.png b/app/src/main/res/drawable-hdpi/ic_category_status.png
new file mode 100644
index 0000000..6e830ea
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_status.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_switch.png b/app/src/main/res/drawable-hdpi/ic_category_switch.png
new file mode 100644
index 0000000..a795a96
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_switch.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_travelling.png b/app/src/main/res/drawable-hdpi/ic_category_travelling.png
new file mode 100644
index 0000000..e11136c
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_travelling.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_category_wakeup.png b/app/src/main/res/drawable-hdpi/ic_category_wakeup.png
new file mode 100644
index 0000000..96a8c96
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_category_wakeup.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_alarm.png b/app/src/main/res/drawable-mdpi/ic_category_alarm.png
new file mode 100644
index 0000000..935eda6
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_alarm.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_bits.png b/app/src/main/res/drawable-mdpi/ic_category_bits.png
new file mode 100644
index 0000000..6dad6b0
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_bits.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_debug.png b/app/src/main/res/drawable-mdpi/ic_category_debug.png
new file mode 100644
index 0000000..dc103a4
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_debug.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_delta.png b/app/src/main/res/drawable-mdpi/ic_category_delta.png
new file mode 100644
index 0000000..9350d61
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_delta.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_emergency.png b/app/src/main/res/drawable-mdpi/ic_category_emergency.png
new file mode 100644
index 0000000..9f8ea59
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_emergency.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_equilink.png b/app/src/main/res/drawable-mdpi/ic_category_equilink.png
new file mode 100644
index 0000000..ce4603d
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_equilink.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_genitalia.png b/app/src/main/res/drawable-mdpi/ic_category_genitalia.png
new file mode 100644
index 0000000..ab38af4
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_genitalia.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_motivation.png b/app/src/main/res/drawable-mdpi/ic_category_motivation.png
new file mode 100644
index 0000000..302ed61
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_motivation.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_pleasure.png b/app/src/main/res/drawable-mdpi/ic_category_pleasure.png
new file mode 100644
index 0000000..3cde86d
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_pleasure.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_schedule.png b/app/src/main/res/drawable-mdpi/ic_category_schedule.png
new file mode 100644
index 0000000..b9e8d20
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_schedule.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_sport.png b/app/src/main/res/drawable-mdpi/ic_category_sport.png
new file mode 100644
index 0000000..8653578
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_sport.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_status.png b/app/src/main/res/drawable-mdpi/ic_category_status.png
new file mode 100644
index 0000000..59e2c12
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_status.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_switch.png b/app/src/main/res/drawable-mdpi/ic_category_switch.png
new file mode 100644
index 0000000..94e258e
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_switch.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_travelling.png b/app/src/main/res/drawable-mdpi/ic_category_travelling.png
new file mode 100644
index 0000000..ae07a19
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_travelling.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_category_wakeup.png b/app/src/main/res/drawable-mdpi/ic_category_wakeup.png
new file mode 100644
index 0000000..551125c
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_category_wakeup.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_alarm.png b/app/src/main/res/drawable-xhdpi/ic_category_alarm.png
new file mode 100644
index 0000000..14a4267
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_alarm.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_bits.png b/app/src/main/res/drawable-xhdpi/ic_category_bits.png
new file mode 100644
index 0000000..43d9c71
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_bits.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_debug.png b/app/src/main/res/drawable-xhdpi/ic_category_debug.png
new file mode 100644
index 0000000..ba7503f
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_debug.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_delta.png b/app/src/main/res/drawable-xhdpi/ic_category_delta.png
new file mode 100644
index 0000000..6c819c7
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_delta.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_emergency.png b/app/src/main/res/drawable-xhdpi/ic_category_emergency.png
new file mode 100644
index 0000000..a841c51
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_emergency.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_equilink.png b/app/src/main/res/drawable-xhdpi/ic_category_equilink.png
new file mode 100644
index 0000000..f4699ce
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_equilink.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_genitalia.png b/app/src/main/res/drawable-xhdpi/ic_category_genitalia.png
new file mode 100644
index 0000000..5f4e910
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_genitalia.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_motivation.png b/app/src/main/res/drawable-xhdpi/ic_category_motivation.png
new file mode 100644
index 0000000..1b043f7
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_motivation.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_pleasure.png b/app/src/main/res/drawable-xhdpi/ic_category_pleasure.png
new file mode 100644
index 0000000..9fbf246
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_pleasure.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_schedule.png b/app/src/main/res/drawable-xhdpi/ic_category_schedule.png
new file mode 100644
index 0000000..208b913
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_schedule.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_sport.png b/app/src/main/res/drawable-xhdpi/ic_category_sport.png
new file mode 100644
index 0000000..a6fc877
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_sport.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_status.png b/app/src/main/res/drawable-xhdpi/ic_category_status.png
new file mode 100644
index 0000000..c8f00be
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_status.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_switch.png b/app/src/main/res/drawable-xhdpi/ic_category_switch.png
new file mode 100644
index 0000000..c4e9099
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_switch.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_travelling.png b/app/src/main/res/drawable-xhdpi/ic_category_travelling.png
new file mode 100644
index 0000000..e835bf9
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_travelling.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_category_wakeup.png b/app/src/main/res/drawable-xhdpi/ic_category_wakeup.png
new file mode 100644
index 0000000..cd47484
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_category_wakeup.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_alarm.png b/app/src/main/res/drawable-xxhdpi/ic_category_alarm.png
new file mode 100644
index 0000000..f161ff8
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_alarm.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_bits.png b/app/src/main/res/drawable-xxhdpi/ic_category_bits.png
new file mode 100644
index 0000000..621ffe4
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_bits.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_debug.png b/app/src/main/res/drawable-xxhdpi/ic_category_debug.png
new file mode 100644
index 0000000..45c0506
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_debug.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_delta.png b/app/src/main/res/drawable-xxhdpi/ic_category_delta.png
new file mode 100644
index 0000000..0928cc6
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_delta.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_emergency.png b/app/src/main/res/drawable-xxhdpi/ic_category_emergency.png
new file mode 100644
index 0000000..cefd51b
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_emergency.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_equilink.png b/app/src/main/res/drawable-xxhdpi/ic_category_equilink.png
new file mode 100644
index 0000000..153e91e
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_equilink.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_genitalia.png b/app/src/main/res/drawable-xxhdpi/ic_category_genitalia.png
new file mode 100644
index 0000000..cd5d15e
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_genitalia.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_motivation.png b/app/src/main/res/drawable-xxhdpi/ic_category_motivation.png
new file mode 100644
index 0000000..b5d9fa9
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_motivation.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_pleasure.png b/app/src/main/res/drawable-xxhdpi/ic_category_pleasure.png
new file mode 100644
index 0000000..f85277f
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_pleasure.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_schedule.png b/app/src/main/res/drawable-xxhdpi/ic_category_schedule.png
new file mode 100644
index 0000000..65f1cb8
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_schedule.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_sport.png b/app/src/main/res/drawable-xxhdpi/ic_category_sport.png
new file mode 100644
index 0000000..2303a9c
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_sport.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_status.png b/app/src/main/res/drawable-xxhdpi/ic_category_status.png
new file mode 100644
index 0000000..43aaae4
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_status.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_switch.png b/app/src/main/res/drawable-xxhdpi/ic_category_switch.png
new file mode 100644
index 0000000..45f85ac
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_switch.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_travelling.png b/app/src/main/res/drawable-xxhdpi/ic_category_travelling.png
new file mode 100644
index 0000000..2f57ddb
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_travelling.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_category_wakeup.png b/app/src/main/res/drawable-xxhdpi/ic_category_wakeup.png
new file mode 100644
index 0000000..0013ebc
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_category_wakeup.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_category_pleasure.png b/app/src/main/res/drawable-xxxhdpi/ic_category_pleasure.png
new file mode 100644
index 0000000..2d98c73
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_category_pleasure.png
Binary files differ
diff --git a/app/src/main/res/drawable/ic_av_timer_white_24dp.xml b/app/src/main/res/drawable/ic_av_timer_white_24dp.xml
deleted file mode 100644
index 8063055..0000000
--- a/app/src/main/res/drawable/ic_av_timer_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M11,17c0,0.55 0.45,1 1,1s1,-0.45 1,-1 -0.45,-1 -1,-1 -1,0.45 -1,1zM11,3v4h2L13,5.08c3.39,0.49 6,3.39 6,6.92 0,3.87 -3.13,7 -7,7s-7,-3.13 -7,-7c0,-1.68 0.59,-3.22 1.58,-4.42L12,13l1.41,-1.41 -6.8,-6.8v0.02C4.42,6.45 3,9.05 3,12c0,4.97 4.02,9 9,9 4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9h-1zM18,12c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1 0.45,1 1,1 1,-0.45 1,-1zM6,12c0,0.55 0.45,1 1,1s1,-0.45 1,-1 -0.45,-1 -1,-1 -1,0.45 -1,1z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_bed_white_24dp.xml b/app/src/main/res/drawable/ic_bed_white_24dp.xml
deleted file mode 100644
index ac291de..0000000
--- a/app/src/main/res/drawable/ic_bed_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M21,10.78V8c0,-1.65 -1.35,-3 -3,-3h-4c-0.77,0 -1.47,0.3 -2,0.78 -0.53,-0.48 -1.23,-0.78 -2,-0.78H6C4.35,5 3,6.35 3,8v2.78c-0.61,0.55 -1,1.34 -1,2.22v6h2v-2h16v2h2v-6c0,-0.88 -0.39,-1.67 -1,-2.22zM14,7h4c0.55,0 1,0.45 1,1v2h-6V8c0,-0.55 0.45,-1 1,-1zM5,8c0,-0.55 0.45,-1 1,-1h4c0.55,0 1,0.45 1,1v2H5V8z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_change_history_white_24dp.xml b/app/src/main/res/drawable/ic_change_history_white_24dp.xml
deleted file mode 100644
index d58f6ad..0000000
--- a/app/src/main/res/drawable/ic_change_history_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M12,7.77L18.39,18H5.61L12,7.77M12,4L2,20h20L12,4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_dns_white_24dp.xml b/app/src/main/res/drawable/ic_dns_white_24dp.xml
deleted file mode 100644
index 831a467..0000000
--- a/app/src/main/res/drawable/ic_dns_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M19,15v4H5v-4h14m1,-2H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1v-6c0,-0.55 -0.45,-1 -1,-1zM7,18.5c-0.82,0 -1.5,-0.67 -1.5,-1.5s0.68,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,5v4H5V5h14m1,-2H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1zM7,8.5c-0.82,0 -1.5,-0.67 -1.5,-1.5S6.18,5.5 7,5.5s1.5,0.68 1.5,1.5S7.83,8.5 7,8.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_explore_white_24dp.xml b/app/src/main/res/drawable/ic_explore_white_24dp.xml
deleted file mode 100644
index 5e9125b..0000000
--- a/app/src/main/res/drawable/ic_explore_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM6.5,17.5l7.51,-3.49L17.5,6.5 9.99,9.99 6.5,17.5zM12,10.9c0.61,0 1.1,0.49 1.1,1.1s-0.49,1.1 -1.1,1.1 -1.1,-0.49 -1.1,-1.1 0.49,-1.1 1.1,-1.1z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_play_for_work_white_24dp.xml b/app/src/main/res/drawable/ic_play_for_work_white_24dp.xml
deleted file mode 100644
index 294153a..0000000
--- a/app/src/main/res/drawable/ic_play_for_work_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M11,5v5.59L7.5,10.59l4.5,4.5 4.5,-4.5L13,10.59L13,5h-2zM6,14c0,3.31 2.69,6 6,6s6,-2.69 6,-6h-2c0,2.21 -1.79,4 -4,4s-4,-1.79 -4,-4L6,14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_settings_24dp.xml b/app/src/main/res/drawable/ic_settings_24dp.xml
new file mode 100644
index 0000000..4c22716
--- /dev/null
+++ b/app/src/main/res/drawable/ic_settings_24dp.xml
@@ -0,0 +1,5 @@
+<vector android:autoMirrored="true" android:height="24dp"
+ android:tint="#FFFFFF" android:viewportHeight="24"
+ android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_toll_white_24dp.xml b/app/src/main/res/drawable/ic_toll_white_24dp.xml
deleted file mode 100644
index 0a4840b..0000000
--- a/app/src/main/res/drawable/ic_toll_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M15,4c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8zM15,18c-3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6 6,2.69 6,6 -2.69,6 -6,6zM3,12c0,-2.61 1.67,-4.83 4,-5.65L7,4.26C3.55,5.15 1,8.27 1,12s2.55,6.85 6,7.74v-2.09c-2.33,-0.82 -4,-3.04 -4,-5.65z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_warning_amber_white_24dp.xml b/app/src/main/res/drawable/ic_warning_amber_white_24dp.xml
deleted file mode 100644
index e125fd8..0000000
--- a/app/src/main/res/drawable/ic_warning_amber_white_24dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:autoMirrored="true" android:height="24dp"
- android:viewportHeight="24" android:viewportWidth="24"
- android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFF" android:pathData="M12,5.99L19.53,19L4.47,19L12,5.99M12,2L1,21h22L12,2zM13,16h-2v2h2v-2zM13,10h-2v4h2v-4z"/>
-</vector>
diff --git a/app/src/main/res/layout/fragment_main_item.xml b/app/src/main/res/layout/fragment_main_item.xml
index f1cc038..c4f88cd 100644
--- a/app/src/main/res/layout/fragment_main_item.xml
+++ b/app/src/main/res/layout/fragment_main_item.xml
@@ -51,20 +51,23 @@
android:id="@+id/main_item_instant_image"
app:layout_constraintTop_toTopOf="@+id/main_item_notification_disabled_forever_image"
app:layout_constraintEnd_toStartOf="@+id/main_item_date" android:paddingTop="3dp"/>
+
<TextView
- android:text="10:13"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:id="@+id/main_item_date"
- app:layout_constraintTop_toTopOf="@+id/main_item_instant_image"
- app:layout_constraintEnd_toEndOf="parent"
- android:paddingTop="2dp"/>
+ android:id="@+id/main_item_date"
+ android:layout_width="30dp"
+ android:layout_height="1dp"
+ android:alpha="0"
+ android:paddingTop="2dp"
+ android:text="10:13"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/main_item_instant_image" />
<TextView
android:id="@+id/main_item_new"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
- android:layout_marginTop="3dp"
+ android:layout_marginTop="-1dp"
android:background="@drawable/ic_circle"
android:backgroundTint="@color/material_dynamic_primary90"
android:gravity="center"
diff --git a/app/src/main/res/menu/menu_main_action_bar.xml b/app/src/main/res/menu/menu_main_action_bar.xml
index a4ffd11..2942fbf 100644
--- a/app/src/main/res/menu/menu_main_action_bar.xml
+++ b/app/src/main/res/menu/menu_main_action_bar.xml
@@ -1,9 +1,22 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
- <item android:id="@+id/main_menu_notifications_enabled" android:title="@string/main_menu_notifications_enabled"
- app:showAsAction="ifRoom" android:icon="@drawable/ic_notifications_white_24dp"/>
- <item android:id="@+id/main_menu_notifications_disabled_until" android:title="@string/main_menu_notifications_disabled_forever"
- app:showAsAction="ifRoom" android:icon="@drawable/ic_notifications_off_time_white_outline_24dp"/>
- <item android:id="@+id/main_menu_notifications_disabled_forever" android:title="@string/detail_menu_notifications_disabled_forever"
- app:showAsAction="ifRoom" android:icon="@drawable/ic_notifications_off_white_outline_24dp"/>
- <item android:id="@+id/main_menu_settings" android:title="@string/main_menu_settings_title"/>
+ <item
+ android:id="@+id/main_menu_notifications_enabled"
+ android:icon="@drawable/ic_notifications_white_24dp"
+ android:title="@string/main_menu_notifications_enabled"
+ app:showAsAction="always" />
+ <item
+ android:id="@+id/main_menu_notifications_disabled_until"
+ android:icon="@drawable/ic_notifications_off_time_white_outline_24dp"
+ android:title="@string/main_menu_notifications_disabled_forever"
+ app:showAsAction="always" />
+ <item
+ android:id="@+id/main_menu_notifications_disabled_forever"
+ android:icon="@drawable/ic_notifications_off_white_outline_24dp"
+ android:title="@string/detail_menu_notifications_disabled_forever"
+ app:showAsAction="always" />
+ <item
+ android:id="@+id/main_menu_settings"
+ android:icon="@drawable/ic_settings_24dp"
+ android:title="@string/main_menu_settings_title"
+ app:showAsAction="always" />
</menu>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
deleted file mode 100644
index 2279ae0..0000000
--- a/app/src/main/res/values-fr/strings.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="channel_notifications_low_name">Notifications (priorité basse)</string>
- <string name="channel_notifications_default_name">Notifications (priorité normale)</string>
- <string name="channel_subscriber_service_name">Service en arrière plan</string>
- <string name="channel_subscriber_notification_instant_text_two">Surveillance des nouvelles notifications dans deux canaux</string>
- <string name="channel_subscriber_notification_instant_text_four">Surveillance des nouvelles notifications dans quatre canaux</string>
- <string name="channel_subscriber_notification_instant_text_more">Surveillance des nouvelles notifications dans %1$d canaux</string>
- <string name="channel_subscriber_notification_noinstant_text">Abonné aux canaux</string>
- <string name="channel_subscriber_notification_noinstant_text_one">Abonné à un canal</string>
- <string name="channel_subscriber_notification_noinstant_text_four">Abonné à quatre canaux</string>
- <string name="refresh_message_result">%1$d notification(s) reçue(s)</string>
- <string name="refresh_message_error_one">Incapable de rafraîchir le canal : %1$s</string>
- <string name="main_action_mode_delete_dialog_cancel">Annuler</string>
- <string name="main_item_status_reconnecting">reconnexion en cours …</string>
- <string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
- <string name="main_item_date_yesterday">hier</string>
- <string name="main_add_button_description">Ajout de canal</string>
- <string name="main_banner_battery_text">L\'optimisation de batterie devrait être désactivée pour l\'application afin d\'éviter des problèmes de réception de notifications.</string>
- <string name="add_dialog_topic_name_hint">Nom du canal</string>
- <string name="add_dialog_button_cancel">Annuler</string>
- <string name="add_dialog_button_subscribe">S\'abonner</string>
- <string name="add_dialog_button_back">Retour</string>
- <string name="add_dialog_login_title">Connexion requise</string>
- <string name="add_dialog_login_username_hint">Nom d\'utilisateur</string>
- <string name="add_dialog_login_error_not_authorized">Échec de la connexion. L\'utilisateur %1$s n\'est pas autorisé.</string>
- <string name="add_dialog_login_new_user">Nouvel utilisateur</string>
- <string name="detail_copied_to_clipboard_message">Copié dans le presse-papier</string>
- <string name="detail_instant_delivery_disabled">Livraison instantanée inactive</string>
- <string name="detail_item_tags">Catégorie : %1$s</string>
- <string name="detail_item_snack_undo">Annuler</string>
- <string name="detail_item_menu_open">Ouvrir un fichier</string>
- <string name="detail_item_menu_download">Télécharger un fichier</string>
- <string name="detail_item_menu_cancel">Annuler le téléchargement</string>
- <string name="detail_item_menu_copy_url">Copier l\'URL</string>
- <string name="detail_item_cannot_open_url">Incapable d\'ouvrir l\'URL : %1$s</string>
- <string name="detail_item_download_info_not_downloaded">pas téléchargé</string>
- <string name="detail_item_download_info_deleted">supprimé</string>
- <string name="detail_item_download_info_download_failed">échec du téléchargement</string>
- <string name="detail_item_download_info_download_failed_expired">échec du téléchargement, lien expiré</string>
- <string name="detail_menu_copy_url">Copier l\'adresse du canal</string>
- <string name="detail_menu_unsubscribe">Désabonner</string>
- <string name="detail_action_mode_delete_dialog_permanently_delete">Supprimer définitivement</string>
- <string name="detail_action_mode_delete_dialog_message">Supprimer définitivement la ou les notification(s) sélectionnée(s) \?</string>
- <string name="channel_subscriber_notification_instant_text_one">Surveillance des nouvelles notifications dans un canal</string>
- <string name="channel_notifications_max_name">Notifications (priorité maximale)</string>
- <string name="channel_notifications_min_name">Notifications (priorité minimale)</string>
- <string name="channel_notifications_high_name">Notifications (priorité élevée)</string>
- <string name="channel_subscriber_notification_title">En attente de notifications</string>
- <string name="channel_subscriber_notification_instant_text">Surveillance des nouvelles notifications dans les canaux</string>
- <string name="channel_subscriber_notification_instant_text_three">Surveillance des nouvelles notifications dans trois canaux</string>
- <string name="refresh_message_no_results">Tout est à jour</string>
- <string name="main_menu_notifications_disabled_forever">Notifications en sourdine</string>
- <string name="channel_subscriber_notification_noinstant_text_two">Abonné à deux canaux</string>
- <string name="main_menu_notifications_enabled">Notifications activées</string>
- <string name="channel_subscriber_notification_noinstant_text_three">Abonné à trois canaux</string>
- <string name="channel_subscriber_notification_noinstant_text_more">Abonné à %1$d canaux</string>
- <string name="refresh_message_error">Incapable de rafraîchir %1$d canaux\n\n\n\n%2$s</string>
- <string name="main_menu_notifications_disabled_until">Notifications en sourdine jusqu\'à %1$s</string>
- <string name="main_menu_settings_title">Paramètres</string>
- <string name="main_action_mode_menu_unsubscribe">Désabonner</string>
- <string name="main_banner_battery_button_dismiss">Ignorer</string>
- <string name="main_banner_battery_button_fix_now">Résoudre maintenant</string>
- <string name="main_action_mode_delete_dialog_permanently_delete">Supprimer définitivement</string>
- <string name="main_item_status_text_one">%1$d notification</string>
- <string name="main_item_status_text_not_one">%1$d notifications</string>
- <string name="main_no_subscriptions_text">Rien ici pour l\'instant.</string>
- <string name="main_unified_push_toast">Ce canal est géré par %1$s à l\'aide de UnifiedPush</string>
- <string name="main_banner_battery_button_remind_later">Demander plus tard</string>
- <string name="add_dialog_description_below">Entrez le nom qui vous a été donné par votre administrateur.</string>
- <string name="add_dialog_title">S\'abonner au canal</string>
- <string name="add_dialog_error_connection_failed">La connexion a échouée : %1$s</string>
- <string name="detail_no_notifications_text">Rien ici pour l\'instant.</string>
- <string name="add_dialog_use_another_server">Utiliser un serveur différent</string>
- <string name="add_dialog_use_another_server_description">Entrez les URLs de service ci-dessous pour vous abonner aux sujets de serveurs différents.</string>
- <string name="add_dialog_instant_delivery_description">S\'assure que les messages sont envoyés immédiatement, même si l\'appareil est inactif.</string>
- <string name="add_dialog_foreground_description">La livraison instantanée est toujours active pour les serveurs autres que %1$s.</string>
- <string name="add_dialog_button_login">Se connecter</string>
- <string name="add_dialog_login_description">Ce sujet requiert de l\'autentification. Veuillez entrer le nom d\'utilisateur et un mot de passe donné par votre administrateur.</string>
- <string name="add_dialog_login_password_hint">Mot de passe</string>
- <string name="detail_clear_dialog_cancel">Annuler</string>
- <string name="detail_clear_dialog_message">Supprimer toutes les notifications de ce canal \\?</string>
- <string name="detail_clear_dialog_permanently_delete">Supprimer définitivement</string>
- <string name="detail_delete_dialog_message">Se désabonner de ce canal et supprimer toutes les notifcations reçues \\?</string>
- <string name="detail_delete_dialog_permanently_delete">Supprimer définitivement</string>
- <string name="detail_delete_dialog_cancel">Annuler</string>
- <string name="detail_instant_delivery_enabled">Livraison instantanée active</string>
- <string name="detail_item_snack_deleted">Notification supprimée</string>
- <string name="detail_item_menu_copy_url_copied">L\'URL a été copiée dans le presse-papier</string>
- <string name="detail_item_menu_delete">Supprimer un fichier</string>
- <string name="detail_item_menu_save_file">Sauvegarder le fichier</string>
- <string name="detail_item_menu_copy_contents">Copier la notification</string>
- <string name="detail_item_menu_copy_contents_copied">La notification a été copiée dans le presse-papier</string>
- <string name="detail_item_saved_successfully">Sauvegardé en tant que \"%1$s\" dans le dossier \"Téléchargements\"</string>
- <string name="detail_item_cannot_download">Incapable d\'ouvrir ou de télécharger la pièce jointe. Le lien est expiré et aucun fichier local n\'a pu être trouvé.</string>
- <string name="detail_item_cannot_open">Incapable d\'ouvrir le pièce jointe : %1$s</string>
- <string name="detail_item_cannot_delete">Incapable de supprimer la pièce jointe : %1$s</string>
- <string name="detail_item_cannot_open_not_found">Incapable d\'ouvrir la pièce jointe : Le fichier a peut-être été supprimé, ou aucune application installée peut ouvrir le fichier.</string>
- <string name="detail_item_cannot_save">Incapable de sauvegarder la pièce jointe : %1$s</string>
- <string name="detail_item_download_failed">Incapable de télécharger la pièce jointe : %1$s</string>
- <string name="detail_item_download_info_not_downloaded_expired">pas téléchargé, lien expiré</string>
- <string name="detail_item_download_info_not_downloaded_expires_x">pas téléchargé, expire le %1$s</string>
- <string name="detail_item_download_info_downloading_x_percent">%1$d%% téléchargé</string>
- <string name="detail_item_download_info_deleted_expired">supprimé, lien expiré</string>
- <string name="detail_item_download_info_deleted_expires_x">supprimé, expire le %1$s</string>
- <string name="detail_menu_notifications_disabled_until">Notifications en sourdine jusqu\'à %1$s</string>
- <string name="detail_item_download_info_download_failed_expires_x">échec du téléchargement, expire le %1$s</string>
- <string name="detail_menu_notifications_disabled_forever">Notifications en sourdine</string>
- <string name="detail_menu_disable_instant">Désactiver la livraison instantanée</string>
- <string name="detail_menu_notifications_enabled">Notifications activées</string>
- <string name="detail_menu_enable_instant">Activer la livraison instantanée</string>
- <string name="detail_menu_clear">Effacer toutes les notifications</string>
- <string name="detail_action_mode_menu_copy">Copier</string>
- <string name="detail_settings_title">Paramètres d\'abonnement</string>
- <string name="detail_menu_settings">Paramètres d\'abonnement</string>
- <string name="detail_action_mode_delete_dialog_cancel">Annuler</string>
- <string name="detail_action_mode_menu_delete">Supprimer</string>
- <string name="main_action_mode_delete_dialog_message">Se désabonner du ou des canal(us) sélectionné(s) et supprimer définitivement toutes les notifications \\?</string>
- <string name="notification_popup_action_download">Télécharger</string>
- <string name="settings_backup_restore_restore_failed">Échec de la restauration : %1$s</string>
- <string name="notification_dialog_title">Mettre en sourdine les notifications</string>
- <string name="notification_dialog_cancel">Annuler</string>
- <string name="notification_dialog_save">Enregistrer</string>
- <string name="notification_dialog_muted_forever_toast_message">Notifications en sourdine</string>
- <string name="notification_dialog_muted_until_toast_message">Notifications en sourdine jusqu\'à %1$s</string>
- <string name="notification_dialog_show_all">Afficher toutes les notifications</string>
- <string name="notification_dialog_30min">30 minutes</string>
- <string name="notification_dialog_1h">1 heure</string>
- <string name="notification_dialog_2h">2 heures</string>
- <string name="notification_dialog_8h">8 heures</string>
- <string name="notification_dialog_tomorrow">Jusqu\'à demain</string>
- <string name="notification_dialog_enabled_toast_message">Notifications réactivées</string>
- <string name="notification_dialog_forever">Jusqu\'à réactivation</string>
- <string name="notification_popup_action_open">Ouvrir</string>
- <string name="notification_popup_action_browse">Parcourir</string>
- <string name="notification_popup_action_cancel">Annuler</string>
- <string name="notification_popup_file">%1$s
-\nFichier : %2$s</string>
- <string name="notification_popup_file_download_successful">%1$s
-\nFichier : %2$s, téléchargé</string>
- <string name="notification_popup_file_download_failed">%1$s
-\nFichier : %2$s, échec du téléchargement</string>
- <string name="settings_title">Paramètres</string>
- <string name="settings_notifications_header">Notifications</string>
- <string name="settings_notifications_muted_until_forever">Notifications en sourdine jusqu\'à réactivation</string>
- <string name="settings_notifications_muted_until_x">Notifications en sourdine jusqu\'à %1$s</string>
- <string name="notification_popup_file_downloading">Téléchargement de %1$s, %2$d%%
-\n%3$s</string>
- <string name="settings_notifications_muted_until_title">Mettre en sourdine les notifications</string>
- <string name="settings_notifications_muted_until_show_all">Affiche toutes les notifications</string>
- <string name="settings_notifications_auto_download_summary_never">Ne jamais télécharger automatiquement les pièces jointes</string>
- <string name="settings_notifications_auto_download_summary_smaller_than_x">Télécharger automatiquement les pièces jointes jusqu\'à %1$s</string>
- <string name="settings_notifications_auto_download_never">Ne jamais télécharger automatiquement</string>
- <string name="settings_notifications_auto_download_title">Télécharger pièces jointes</string>
- <string name="settings_notifications_auto_download_summary_always">Téléchargement automatiquement les pièces jointes</string>
- <string name="settings_notifications_auto_download_always">Tout télécharger automatiquement</string>
- <string name="settings_notifications_auto_download_100k">Si inférieur à 100 kB</string>
- <string name="settings_notifications_auto_download_500k">Si inférieur à 500 kB</string>
- <string name="settings_notifications_auto_download_1m">Si inférieur à 1 MB</string>
- <string name="settings_notifications_auto_download_5m">Si inférieur à 5 MB</string>
- <string name="settings_notifications_auto_download_10m">Si inférieur à 10 MB</string>
- <string name="settings_notifications_auto_delete_title">Supprimer les notifications</string>
- <string name="settings_notifications_auto_delete_summary_never">Ne jamais supprimer automatiquement les notifications</string>
- <string name="settings_notifications_auto_delete_summary_one_day">Supprimer les notifications après un jour</string>
- <string name="settings_notifications_auto_delete_summary_one_week">Supprimer automatiquement les notifications après une semaine</string>
- <string name="settings_notifications_auto_delete_summary_one_month">Supprimer automatiquement les notifications après un mois</string>
- <string name="settings_notifications_auto_delete_summary_three_months">Supprimer automatiquement les notifications après 3 mois</string>
- <string name="settings_notifications_auto_delete_three_days">Après 3 jours</string>
- <string name="settings_notifications_auto_delete_one_week">Après une semaine</string>
- <string name="settings_notifications_auto_delete_three_months">Après 3 mois</string>
- <string name="settings_general_header">Général</string>
- <string name="settings_general_default_base_url_default_summary">%1$s (par défaut)</string>
- <string name="settings_general_dark_mode_summary_light">Thème clair activé</string>
- <string name="settings_general_dark_mode_summary_dark">Thème sombre activé.</string>
- <string name="settings_general_dark_mode_entry_system">Utilise le thème système</string>
- <string name="settings_general_dark_mode_entry_light">Thème clair</string>
- <string name="settings_general_dark_mode_entry_dark">Thème sombre</string>
- <string name="settings_advanced_export_logs_entry_copy_original">Copier dans le presse-papier</string>
- <string name="settings_advanced_export_logs_entry_copy_scrubbed">Copier dans le presse-papier (censuré)</string>
- <string name="settings_advanced_record_logs_summary_enabled">Enregistrement (jusqu\'à 1 000 entrées) sur l\'appareil…</string>
- <string name="settings_advanced_record_logs_summary_disabled">Activer l\'enregistrement de journaux de diagnostic pour faciliter le support technique</string>
- <string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
- <string name="settings_advanced_export_logs_scrub_dialog_empty">Aucun nom de canal n\'a été censuré. Peut-être n\'avez-vous pas d\'abonnements \\?</string>
- <string name="settings_advanced_clear_logs_title">Vider les journaux</string>
- <string name="settings_about_header">À propos</string>
- <string name="settings_about_version_title">Version</string>
- <string name="settings_advanced_clear_logs_deleted_toast">Journaux supprimés</string>
- <string name="settings_notifications_auto_delete_never">Jamais</string>
- <string name="settings_general_dark_mode_summary_system">Utilisé le thème système</string>
- <string name="settings_notifications_auto_delete_summary_three_days">Supprimer automatiquement les notifications après 3 jours</string>
- <string name="settings_notifications_auto_delete_one_day">Après un jour</string>
- <string name="settings_notifications_auto_delete_one_month">Après un mois</string>
- <string name="settings_advanced_export_logs_title">Copier les journaux</string>
- <string name="settings_advanced_export_logs_error_uploading">Échec du téléchargement des journaux : %1$s</string>
- <string name="settings_advanced_clear_logs_summary">Supprimer les journaux enregistrés et recommencer</string>
- <string name="settings_notifications_auto_download_50m">Si inférieur à 50 MB</string>
- <string name="settings_general_dark_mode_title">Thème sombre</string>
- <string name="settings_advanced_export_logs_copied_logs">Journaux copiés dans le presse-papier</string>
- <string name="settings_advanced_export_logs_summary">Copier les journaux dans le presse-papier. Les noms des canaux peuvent être censurés, les notifications ne le seront jamais.</string>
- <string name="settings_about_version_copied_to_clipboard_message">Copié dans le presse-papier</string>
- <string name="settings_advanced_record_logs_title">Journaux de diagnostic</string>
- <string name="settings_advanced_export_logs_scrub_dialog_text">Ces noms de canaux ont été remplacés par des noms de fruits, de sorte que vous pouvez partager le journal sans souci :\n\n\n\n%1$s\n\n\n\nLes mots de passe sont censurés, mais ne sont pas listés ici.</string>
- <string name="detail_deep_link_subscribed_toast_message">Abonné au canal %1$s</string>
- <string name="settings_notifications_channel_prefs_summary">Ignorer Ne pas déranger (NPD), sons, etc.</string>
- <string name="notification_popup_user_action_failed">%1$s a échoué : %2$s</string>
- <string name="settings_notifications_channel_prefs_title">Paramètres du canal</string>
- <string name="channel_subscriber_notification_noinstant_text_six">Abonné à six canaux</string>
- <string name="detail_settings_notifications_instant_title">Réception instantanée</string>
- <string name="channel_subscriber_notification_noinstant_text_five">Abonné à cinq canaux</string>
- <string name="detail_settings_notifications_instant_summary_off">Les notifications sont transmises à l\'aide de Firebase Cloud Messaging. La réception peut être retardée, mais consomme moins de batterie.</string>
- <string name="detail_settings_appearance_icon_remove_summary">Icône affichée pour les notifications de ce canal</string>
- <string name="channel_subscriber_notification_instant_text_six">Surveillance des nouvelles notifications dans six canaux</string>
- <string name="channel_subscriber_notification_instant_text_five">Surveillance des nouvelles notifications dans cinq canaux</string>
- <string name="detail_settings_appearance_header">Apparence</string>
- <string name="detail_settings_appearance_icon_remove_title">Icône d\'abnonnement (toucher pour retirer)</string>
- <string name="detail_settings_appearance_icon_error_saving">Impossible d\'enregistrer l\'icône : %1$s</string>
- <string name="detail_settings_notifications_instant_summary_on">Les notifications sont reçues instantanément. Requiert un service en arrière plan et consomme plus de batterie.</string>
- <string name="detail_settings_appearance_icon_set_title">Icône d\'abonnement</string>
- <string name="detail_settings_appearance_icon_set_summary">Choisir une icône à afficher pour les notifications</string>
- <string name="detail_settings_global_setting_title">Utiliser le paramètre global</string>
- <string name="detail_settings_global_setting_suffix">utilisation du paramètre global</string>
- <string name="detail_settings_appearance_display_name_title">Nom d\'affichage</string>
- <string name="detail_settings_appearance_display_name_default_summary">%1$s</string>
- <string name="detail_settings_appearance_display_name_message">Mettre un nom d\'affichage personnalisé pour cet abonnement. Laisse ce champ vide pour mettre la valeur par défaut (%1$s).</string>
- <string name="detail_settings_about_topic_url_copied_to_clipboard_message">Copié dans le presse-papier</string>
- <string name="detail_settings_about_header">À propos</string>
- <string name="detail_settings_about_topic_url_title">URL du canal</string>
- <string name="detail_settings_notifications_dedicated_channels_title">Paramètres de notification personalisés</string>
- <string name="detail_settings_notifications_dedicated_channels_summary_on">Utiliser des paramètres personnalisés pour ce canal</string>
- <string name="detail_settings_notifications_dedicated_channels_summary_off">Utiliser les paramètres globaux</string>
- <string name="detail_settings_notifications_open_channels_title">Configurer les paramètres de notifications</string>
- <string name="detail_item_cannot_open_apk">Les applications ne peuvent pas être installées pour des raisons de sécurité. Ouvrez ceci dans le navigateur à la place.</string>
- <string name="detail_settings_notifications_open_channels_summary">Ignore Ne pas dérange (NPD), sons, etc.</string>
- <string name="category_default">Inconnu (%1$s)</string>
-</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 963be71..dde1f39 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -8,9 +8,9 @@
<color name="gray_400">#eeeeee</color> <!-- Item selection (light mode) -->
<color name="white">#ffffffff</color>
- <color name="teal">#ff0000</color> <!-- Primary color (light mode) -->
- <color name="teal_light">#ff0000</color> <!-- Primary color (dark mode) -->
- <color name="teal_dark">#ff0000</color> <!-- Action bar background in action mode (light mode) -->
+ <color name="teal">#FF84FF</color> <!-- Primary color (light mode) -->
+ <color name="teal_light">#FFE9FE</color> <!-- Primary color (dark mode) -->
+ <color name="teal_dark">#FF84FF</color> <!-- Action bar background in action mode (light mode) -->
<color name="red_light">#fe4d2e</color> <!-- Danger text (dark mode) -->
<color name="red_dark">#c30000</color> <!-- Danger text (light mode) -->
</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1f5013c..086f565 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -375,13 +375,17 @@
<!-- @ponypush -->
<!-- Equestria.dev: notification categories -->
<string name="category_default">Unknown (%1$s)</string>
- <string name="category_bits">Bits notifications</string>
+ <string name="category_bits">Money tracker</string>
<string name="category_switch">Switches</string>
<string name="category_wakeup">Wake-up alerts</string>
<string name="category_pleasure">Pleasure alerts</string>
<string name="category_emergency">Emergency alerts</string>
- <string name="category_delta">Delta change requests</string>
+ <string name="category_delta">Delta kiosk requests</string>
<string name="category_travelling">System travelling updates</string>
<string name="category_alarm">Automated alarms</string>
<string name="category_status">Server status updates</string>
+ <string name="category_genitalia">Self-pleasure alerts</string>
+ <string name="category_debug">Debugging notifications</string>
+ <string name="category_motivation">Motivational messages</string>
+ <string name="category_schedule">Schedule events</string>
</resources>
diff --git a/app/src/main/res/values/values.xml b/app/src/main/res/values/values.xml
index eabed2a..3c21410 100644
--- a/app/src/main/res/values/values.xml
+++ b/app/src/main/res/values/values.xml
@@ -9,7 +9,7 @@
<string name="app_base_url" translatable="false">https://notifications.equestria.dev</string> <!-- If changed, you must also change google-services.json! -->
<!-- Main activity -->
- <string name="main_menu_report_bug_url" translatable="false">https://github.com/binwiederhier/ntfy/issues</string>
+ <string name="main_menu_report_bug_url" translatable="false">https://bugs.equestria.dev/issues/PNSH</string>
<string name="main_menu_docs_url" translatable="false">https://ntfy.sh/docs</string>
<string name="main_menu_donate_url" translatable="false">https://github.com/sponsors/binwiederhier</string>
diff --git a/build.gradle b/build.gradle
index 96d596d..7d4dd33 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.3.1'
+ classpath 'com.android.tools.build:gradle:7.4.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.14' // This is removed in the "fdroid" flavor
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 43c4b95..edb3793 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip