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 @@