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 3efd95d..3953213 100644 --- a/app/src/main/java/com/dosse/airpods/pods/PodsStatus.java +++ b/app/src/main/java/com/dosse/airpods/pods/PodsStatus.java @@ -6,6 +6,7 @@ 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.AirPodsPro2; +import com.dosse.airpods.pods.models.AirPodsPro3; import com.dosse.airpods.pods.models.BeatsFlex; import com.dosse.airpods.pods.models.BeatsSolo3; import com.dosse.airpods.pods.models.BeatsStudio3; @@ -82,6 +83,8 @@ public class PodsStatus { mPods = new AirPodsPro(leftPod, rightPod, casePod); // Airpods Pro } else if ("1420".equals(idFull) || "2420".equals(idFull)) { mPods = new AirPodsPro2(leftPod, rightPod, casePod); // Airpods Pro 2 + } else if ("2720".equals(idFull)) { + mPods = new AirPodsPro3(leftPod, rightPod, casePod); // Airpods Pro 3 } else if ('A' == idSingle) { mPods = new AirPodsMax(singlePod); // Airpods Max } else if ('B' == idSingle) { diff --git a/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro3.java b/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro3.java new file mode 100644 index 0000000..93ddedc --- /dev/null +++ b/app/src/main/java/com/dosse/airpods/pods/models/AirPodsPro3.java @@ -0,0 +1,30 @@ +package com.dosse.airpods.pods.models; + +import com.dosse.airpods.R; +import com.dosse.airpods.pods.Pod; + +public class AirPodsPro3 extends RegularPods { + public AirPodsPro3(Pod leftPod, Pod rightPod, Pod casePod) { + super(leftPod, rightPod, casePod); + } + + @Override + public int getLeftDrawable() { + return getPod(LEFT).isConnected() ? R.drawable.podpro3 : R.drawable.podpro_disconnected; + } + + @Override + public int getRightDrawable() { + return getPod(RIGHT).isConnected() ? R.drawable.podpro3 : 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_3; + } +} 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 b5e133d..c7439c4 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 @@ -6,6 +6,7 @@ public final class Constants { static final String MODEL_AIRPODS_GEN3 = "airpods3"; static final String MODEL_AIRPODS_PRO = "airpodspro"; static final String MODEL_AIRPODS_PRO_2 = "airpodspro2"; + public static final String MODEL_AIRPODS_PRO_3 = "airpodspro3"; static final String MODEL_AIRPODS_MAX = "airpodsmax"; static final String MODEL_BEATS_X = "beatsx"; static final String MODEL_BEATS_FLEX = "beatsflex"; diff --git a/app/src/main/res/drawable/podpro3.png b/app/src/main/res/drawable/podpro3.png new file mode 100644 index 0000000..edde7b5 Binary files /dev/null and b/app/src/main/res/drawable/podpro3.png differ diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml index 0bef2ad..8be5a67 100644 --- a/app/src/main/res/layout-land/activity_main.xml +++ b/app/src/main/res/layout-land/activity_main.xml @@ -62,6 +62,16 @@ android:layout_height="wrap_content" android:text="@string/airpodspro" /> + + + + - - + + • Apple AirPods 3rd gen • Apple AirPods Pro • Apple AirPods Pro 2 + • Apple AirPods Pro 3 • Apple AirPods Max • Beats X • Beats Flex