initial support for AirPods Pro 3

This commit is contained in:
LoudSoftware
2025-09-23 10:05:14 -04:00
parent 6a00d8ce24
commit 50e6833c8d
7 changed files with 50 additions and 5 deletions
@@ -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) {
@@ -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;
}
}
@@ -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";
Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

+10 -5
View File
@@ -62,6 +62,16 @@
android:layout_height="wrap_content"
android:text="@string/airpodspro" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/airpodspro2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/airpodspro3" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -94,11 +104,6 @@
android:layout_height="wrap_content"
android:text="@string/airpodsmax" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/airpodspro2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -60,6 +60,11 @@
android:layout_height="wrap_content"
android:text="@string/airpodspro2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/airpodspro3" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
+1
View File
@@ -27,6 +27,7 @@
<string name="airpods3" tools:ignore="MissingTranslation">&#8226; Apple AirPods 3rd gen</string>
<string name="airpodspro">&#8226; Apple AirPods Pro</string>
<string name="airpodspro2" tools:ignore="MissingTranslation">&#8226; Apple AirPods Pro 2</string>
<string name="airpodspro3" tools:ignore="MissingTranslation">&#8226; Apple AirPods Pro 3</string>
<string name="airpodsmax">&#8226; Apple AirPods Max</string>
<string name="beatsx">&#8226; Beats X</string>
<string name="beatsflex">&#8226; Beats Flex</string>