From 70a05a18486effe75c22bf04bd10c7d4e8b6caeb Mon Sep 17 00:00:00 2001 From: Electric1447 Date: Thu, 29 Sep 2022 22:17:32 +0300 Subject: [PATCH] Add Airpods Pro Gen 2 support --- .../com/dosse/airpods/pods/PodsStatus.java | 7 ++-- .../{AirPodsPro.java => AirPodsPro1.java} | 6 ++-- .../airpods/pods/models/AirPodsPro2.java | 32 +++++++++++++++++++ .../dosse/airpods/pods/models/Constants.java | 3 +- 4 files changed, 42 insertions(+), 6 deletions(-) rename app/src/main/java/com/dosse/airpods/pods/models/{AirPodsPro.java => AirPodsPro1.java} (80%) create mode 100644 app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro2.java diff --git a/app/src/main/java/com/dosse/airpods/pods/PodsStatus.java b/app/src/main/java/com/dosse/airpods/pods/PodsStatus.java index 1937f74..9722bcd 100644 --- a/app/src/main/java/com/dosse/airpods/pods/PodsStatus.java +++ b/app/src/main/java/com/dosse/airpods/pods/PodsStatus.java @@ -4,7 +4,8 @@ import com.dosse.airpods.pods.models.AirPods1; import com.dosse.airpods.pods.models.AirPods2; import com.dosse.airpods.pods.models.AirPods3; import com.dosse.airpods.pods.models.AirPodsMax; -import com.dosse.airpods.pods.models.AirPodsPro; +import com.dosse.airpods.pods.models.AirPodsPro1; +import com.dosse.airpods.pods.models.AirPodsPro2; import com.dosse.airpods.pods.models.BeatsFlex; import com.dosse.airpods.pods.models.BeatsSolo3; import com.dosse.airpods.pods.models.BeatsStudio3; @@ -79,7 +80,9 @@ public class PodsStatus { } else if ("1320".equals(idFull)) { pods = new AirPods3(leftPod, rightPod, casePod); // Airpods 3rd gen } else if ("0E20".equals(idFull)) { - pods = new AirPodsPro(leftPod, rightPod, casePod); // Airpods Pro + pods = new AirPodsPro1(leftPod, rightPod, casePod); // Airpods Pro 1st gen + } else if ("1420".equals(idFull)) { + pods = new AirPodsPro2(leftPod, rightPod, casePod); // Airpods Pro 2st gen } else if ('A' == idSingle) { pods = new AirPodsMax(singlePod); // Airpods Max } else if ('B' == idSingle) { diff --git a/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro.java b/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro1.java similarity index 80% rename from app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro.java rename to app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro1.java index e373adc..ea7941d 100644 --- a/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro.java +++ b/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro1.java @@ -3,9 +3,9 @@ package com.dosse.airpods.pods.models; import com.dosse.airpods.R; import com.dosse.airpods.pods.Pod; -public class AirPodsPro extends RegularPods { +public class AirPodsPro1 extends RegularPods { - public AirPodsPro (Pod leftPod, Pod rightPod, Pod casePod) { + public AirPodsPro1 (Pod leftPod, Pod rightPod, Pod casePod) { super(leftPod, rightPod, casePod); } @@ -26,7 +26,7 @@ public class AirPodsPro extends RegularPods { @Override public String getModel () { - return Constants.MODEL_AIRPODS_PRO; + return Constants.MODEL_AIRPODS_PRO_GEN1; } } \ No newline at end of file diff --git a/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro2.java b/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro2.java new file mode 100644 index 0000000..d7be61b --- /dev/null +++ b/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro2.java @@ -0,0 +1,32 @@ +package com.dosse.airpods.pods.models; + +import com.dosse.airpods.R; +import com.dosse.airpods.pods.Pod; + +public class AirPodsPro2 extends RegularPods { + + public AirPodsPro2 (Pod leftPod, Pod rightPod, Pod casePod) { + super(leftPod, rightPod, casePod); + } + + @Override + public int getLeftDrawable () { + return getPod(LEFT).isConnected() ? R.drawable.podpro : R.drawable.podpro_disconnected; + } + + @Override + public int getRightDrawable () { + return getPod(RIGHT).isConnected() ? R.drawable.podpro : R.drawable.podpro_disconnected; + } + + @Override + public int getCaseDrawable () { + return getPod(CASE).isConnected() ? R.drawable.podpro_case : R.drawable.podpro_case_disconnected; + } + + @Override + public String getModel () { + return Constants.MODEL_AIRPODS_PRO_GEN2; + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/dosse/airpods/pods/models/Constants.java b/app/src/main/java/com/dosse/airpods/pods/models/Constants.java index d6eea22..33f5cb6 100644 --- a/app/src/main/java/com/dosse/airpods/pods/models/Constants.java +++ b/app/src/main/java/com/dosse/airpods/pods/models/Constants.java @@ -4,7 +4,8 @@ public final class Constants { static final String MODEL_AIRPODS_GEN1 = "airpods1"; static final String MODEL_AIRPODS_GEN2 = "airpods2"; static final String MODEL_AIRPODS_GEN3 = "airpods3"; - static final String MODEL_AIRPODS_PRO = "airpodspro"; + static final String MODEL_AIRPODS_PRO_GEN1 = "airpodspro1"; + static final String MODEL_AIRPODS_PRO_GEN2 = "airpodspro2"; static final String MODEL_AIRPODS_MAX = "airpodsmax"; static final String MODEL_BEATS_X = "beatsx"; static final String MODEL_BEATS_FLEX = "beatsflex";