diff --git a/app-common/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt
index 74276382..4e9bb87f 100644
--- a/app-common/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt
+++ b/app-common/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt
@@ -1,5 +1,8 @@
package eu.darken.capod.pods.core
+import androidx.annotation.DrawableRes
+import eu.darken.capod.common.R
+
interface DualPodDevice : PodDevice {
enum class Pod {
@@ -10,4 +13,12 @@ interface DualPodDevice : PodDevice {
val batteryLeftPodPercent: Float?
val batteryRightPodPercent: Float?
+
+ @get:DrawableRes
+ val leftPodIcon: Int
+ get() = R.drawable.devic_airpods_gen1_left
+
+ @get:DrawableRes
+ val rightPodIcon: Int
+ get() = R.drawable.devic_airpods_gen1_right
}
\ No newline at end of file
diff --git a/app-common/src/main/java/eu/darken/capod/pods/core/HasCase.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasCase.kt
index afdfa009..7efcdb55 100644
--- a/app-common/src/main/java/eu/darken/capod/pods/core/HasCase.kt
+++ b/app-common/src/main/java/eu/darken/capod/pods/core/HasCase.kt
@@ -1,9 +1,15 @@
package eu.darken.capod.pods.core
+import androidx.annotation.DrawableRes
+import eu.darken.capod.common.R
+
interface HasCase {
val batteryCasePercent: Float?
val isCaseCharging: Boolean
+ @get:DrawableRes
+ val caseIcon: Int
+ get() = R.drawable.devic_airpods_gen1_case
}
\ No newline at end of file
diff --git a/app-common/src/main/java/eu/darken/capod/pods/core/PodDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/PodDevice.kt
index 5272ede2..333f30aa 100644
--- a/app-common/src/main/java/eu/darken/capod/pods/core/PodDevice.kt
+++ b/app-common/src/main/java/eu/darken/capod/pods/core/PodDevice.kt
@@ -60,31 +60,31 @@ interface PodDevice {
@JsonClass(generateAdapter = false)
enum class Model(
val label: String,
- @DrawableRes val iconRes: Int = R.drawable.ic_device_generic_earbuds,
+ @DrawableRes val iconRes: Int = R.drawable.devic_earbuds_generic_both,
) {
@Json(name = "airpods.gen1") AIRPODS_GEN1(
label = "AirPods (Gen 1)",
- iconRes = R.drawable.ic_device_airpods_gen1,
+ iconRes = R.drawable.devic_airpods_gen1_both,
),
@Json(name = "airpods.gen2") AIRPODS_GEN2(
"AirPods (Gen 2)",
- R.drawable.ic_device_airpods_gen2,
+ R.drawable.devic_airpods_gen2_both,
),
@Json(name = "airpods.gen3") AIRPODS_GEN3(
"AirPods (Gen 3)",
- R.drawable.ic_device_airpods_gen2,
+ R.drawable.devic_airpods_gen2_both,
),
@Json(name = "airpods.pro") AIRPODS_PRO(
"AirPods Pro",
- R.drawable.ic_device_airpods_gen2
+ R.drawable.devic_airpods_pro2_both
),
@Json(name = "airpods.pro2") AIRPODS_PRO2(
"AirPods Pro 2",
- R.drawable.ic_device_airpods_gen2
+ R.drawable.devic_airpods_pro2_both
),
@Json(name = "airpods.max") AIRPODS_MAX(
"AirPods Max",
- R.drawable.ic_device_generic_headphones
+ R.drawable.devic_headphones_generic
),
@Json(name = "beats.flex") BEATS_FLEX(
"Beats Flex"
@@ -105,13 +105,16 @@ interface PodDevice {
"Power Beats Pro"
),
@Json(name = "fakes.tws.i99999") FAKE_AIRPODS_GEN1(
- "AirPods (Gen 1)? \uD83C\uDFAD"
+ "AirPods (Gen 1)? \uD83C\uDFAD",
+ R.drawable.devic_airpods_gen1_both,
),
@Json(name = "fakes.varunr.airpodspro") FAKE_AIRPODS_PRO(
- "AirPods Pro? \uD83C\uDFAD"
+ "AirPods Pro? \uD83C\uDFAD",
+ R.drawable.devic_airpods_pro2_both,
),
@Json(name = "fakes.generic.airpods.gen3") FAKE_AIRPODS_GEN3(
- "AirPods (Gen 3)? \uD83C\uDFAD"
+ "AirPods (Gen 3)? \uD83C\uDFAD",
+ R.drawable.devic_airpods_gen2_both,
),
@Json(name = "unknown") UNKNOWN(
"Unknown"
diff --git a/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt
index 8e5706dc..29163a2b 100644
--- a/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt
+++ b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt
@@ -1,5 +1,7 @@
package eu.darken.capod.pods.core.apple.airpods
+import androidx.annotation.DrawableRes
+import eu.darken.capod.common.R
import eu.darken.capod.common.bluetooth.BleScanResult
import eu.darken.capod.common.debug.logging.logTag
import eu.darken.capod.pods.core.PodDevice
@@ -26,6 +28,22 @@ data class AirPodsPro(
override val model: PodDevice.Model = PodDevice.Model.AIRPODS_PRO
+ @get:DrawableRes
+ override val iconRes: Int
+ get() = R.drawable.devic_airpods_pro2_both
+
+ @get:DrawableRes
+ override val caseIcon: Int
+ get() = R.drawable.devic_airpods_pro2_case
+
+ @get:DrawableRes
+ override val leftPodIcon: Int
+ get() = R.drawable.devic_airpods_pro2_left
+
+ @get:DrawableRes
+ override val rightPodIcon: Int
+ get() = R.drawable.devic_airpods_pro2_right
+
override val batteryCasePercent: Float?
get() = super.batteryCasePercent ?: cachedBatteryPercentage
diff --git a/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_both.png b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_both.png
new file mode 100644
index 00000000..d20bd1b9
Binary files /dev/null and b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_both.png differ
diff --git a/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_case.png b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_case.png
new file mode 100644
index 00000000..e84afd33
Binary files /dev/null and b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_case.png differ
diff --git a/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_left.png b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_left.png
new file mode 100644
index 00000000..0efc1a8e
Binary files /dev/null and b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_left.png differ
diff --git a/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_right.png b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_right.png
new file mode 100644
index 00000000..9c7fd5f4
Binary files /dev/null and b/app-common/src/main/res/drawable-hdpi/devic_airpods_pro2_right.png differ
diff --git a/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_both.png b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_both.png
new file mode 100644
index 00000000..7362e5cb
Binary files /dev/null and b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_both.png differ
diff --git a/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_case.png b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_case.png
new file mode 100644
index 00000000..9b7f57ed
Binary files /dev/null and b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_case.png differ
diff --git a/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_left.png b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_left.png
new file mode 100644
index 00000000..c7b32789
Binary files /dev/null and b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_left.png differ
diff --git a/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_right.png b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_right.png
new file mode 100644
index 00000000..71cb1e21
Binary files /dev/null and b/app-common/src/main/res/drawable-mdpi/devic_airpods_pro2_right.png differ
diff --git a/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_both.png b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_both.png
new file mode 100644
index 00000000..69396fba
Binary files /dev/null and b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_both.png differ
diff --git a/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_case.png b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_case.png
new file mode 100644
index 00000000..43e04e56
Binary files /dev/null and b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_case.png differ
diff --git a/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_left.png b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_left.png
new file mode 100644
index 00000000..f94f971b
Binary files /dev/null and b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_left.png differ
diff --git a/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_right.png b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_right.png
new file mode 100644
index 00000000..a5de7551
Binary files /dev/null and b/app-common/src/main/res/drawable-xhdpi/devic_airpods_pro2_right.png differ
diff --git a/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_both.png b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_both.png
new file mode 100644
index 00000000..c1108f0c
Binary files /dev/null and b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_both.png differ
diff --git a/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_case.png b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_case.png
new file mode 100644
index 00000000..f30e7ee0
Binary files /dev/null and b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_case.png differ
diff --git a/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_left.png b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_left.png
new file mode 100644
index 00000000..9b4c013e
Binary files /dev/null and b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_left.png differ
diff --git a/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_right.png b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_right.png
new file mode 100644
index 00000000..92155130
Binary files /dev/null and b/app-common/src/main/res/drawable-xxhdpi/devic_airpods_pro2_right.png differ
diff --git a/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_both.png b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_both.png
new file mode 100644
index 00000000..aa886eb1
Binary files /dev/null and b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_both.png differ
diff --git a/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_case.png b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_case.png
new file mode 100644
index 00000000..2f0c197d
Binary files /dev/null and b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_case.png differ
diff --git a/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_left.png b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_left.png
new file mode 100644
index 00000000..d2684eca
Binary files /dev/null and b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_left.png differ
diff --git a/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_right.png b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_right.png
new file mode 100644
index 00000000..e0e56830
Binary files /dev/null and b/app-common/src/main/res/drawable-xxxhdpi/devic_airpods_pro2_right.png differ
diff --git a/app-common/src/main/res/drawable/ic_airpod_both_24.xml b/app-common/src/main/res/drawable/devic_airpods_gen1_both.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_airpod_both_24.xml
rename to app-common/src/main/res/drawable/devic_airpods_gen1_both.xml
diff --git a/app-common/src/main/res/drawable/ic_airpod_case_24.xml b/app-common/src/main/res/drawable/devic_airpods_gen1_case.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_airpod_case_24.xml
rename to app-common/src/main/res/drawable/devic_airpods_gen1_case.xml
diff --git a/app-common/src/main/res/drawable/ic_airpod_left_24.xml b/app-common/src/main/res/drawable/devic_airpods_gen1_left.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_airpod_left_24.xml
rename to app-common/src/main/res/drawable/devic_airpods_gen1_left.xml
diff --git a/app-common/src/main/res/drawable/ic_airpod_right_24.xml b/app-common/src/main/res/drawable/devic_airpods_gen1_right.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_airpod_right_24.xml
rename to app-common/src/main/res/drawable/devic_airpods_gen1_right.xml
diff --git a/app-common/src/main/res/drawable/ic_device_airpods_gen2.xml b/app-common/src/main/res/drawable/devic_airpods_gen2_both.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_device_airpods_gen2.xml
rename to app-common/src/main/res/drawable/devic_airpods_gen2_both.xml
diff --git a/app-common/src/main/res/drawable/ic_device_generic_earbuds.xml b/app-common/src/main/res/drawable/devic_earbuds_generic_both.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_device_generic_earbuds.xml
rename to app-common/src/main/res/drawable/devic_earbuds_generic_both.xml
diff --git a/app-common/src/main/res/drawable/ic_device_generic_headphones.xml b/app-common/src/main/res/drawable/devic_headphones_generic.xml
similarity index 100%
rename from app-common/src/main/res/drawable/ic_device_generic_headphones.xml
rename to app-common/src/main/res/drawable/devic_headphones_generic.xml
diff --git a/app-common/src/main/res/drawable/ic_device_airpods_gen1.xml b/app-common/src/main/res/drawable/ic_device_airpods_gen1.xml
deleted file mode 100644
index 2f765df4..00000000
--- a/app-common/src/main/res/drawable/ic_device_airpods_gen1.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt
index 1cfea457..09b1d87c 100644
--- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt
+++ b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt
@@ -37,6 +37,8 @@ class DualPodsCardVH(parent: ViewGroup) :
}
}
deviceIcon.setImageResource(device.iconRes)
+ podLeftIcon.setImageResource(device.leftPodIcon)
+ podRightIcon.setImageResource(device.rightPodIcon)
lastSeen.text = device.lastSeenFormatted(item.now)
@@ -91,6 +93,7 @@ class DualPodsCardVH(parent: ViewGroup) :
// Case charge state
device.apply {
if (this is HasCase) {
+ podCaseIcon.setImageResource(caseIcon)
podCaseBatteryIcon.isGone = false
podCaseBatteryIcon.setImageResource(getBatteryDrawable(batteryCasePercent))
podCaseBatteryLabel.text = getBatteryLevelCase(context)
diff --git a/app-wear/src/main/res/layout/overview_pods_dual_item.xml b/app-wear/src/main/res/layout/overview_pods_dual_item.xml
index 7b46c384..b5e2f0dd 100644
--- a/app-wear/src/main/res/layout/overview_pods_dual_item.xml
+++ b/app-wear/src/main/res/layout/overview_pods_dual_item.xml
@@ -16,7 +16,7 @@
app:layout_constraintStart_toStartOf="parent"
android:layout_marginBottom="2dp"
app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/ic_airpod_both_24" />
+ app:srcCompat="@drawable/devic_airpods_gen1_both" />
@@ -198,7 +198,7 @@
style="@style/PodInfoItemIcon"
android:layout_marginHorizontal="2dp"
android:contentDescription="@string/pods_dual_right_label"
- android:src="@drawable/ic_airpod_right_24"
+ android:src="@drawable/devic_airpods_gen1_right"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/pod_right_wear_icon"
diff --git a/app-wear/src/main/res/layout/overview_pods_single_item.xml b/app-wear/src/main/res/layout/overview_pods_single_item.xml
index 14fc0c97..7bd3091c 100644
--- a/app-wear/src/main/res/layout/overview_pods_single_item.xml
+++ b/app-wear/src/main/res/layout/overview_pods_single_item.xml
@@ -15,7 +15,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/ic_device_generic_headphones" />
+ app:srcCompat="@drawable/devic_headphones_generic" />
- 16dp
- 16dp
+ - multiply
+ - ?android:attr/colorAccent
+ - ?android:attr/colorAccent
+
@@ -32,6 +33,9 @@