diff --git a/OpenPods/app/src/main/java/com/dosse/airpods/PodsService.java b/OpenPods/app/src/main/java/com/dosse/airpods/PodsService.java index 6653157..7276cc0 100644 --- a/OpenPods/app/src/main/java/com/dosse/airpods/PodsService.java +++ b/OpenPods/app/src/main/java/com/dosse/airpods/PodsService.java @@ -31,6 +31,7 @@ import android.view.View; import android.widget.RemoteViews; import androidx.core.app.NotificationCompat; +import androidx.preference.PreferenceManager; import java.util.ArrayList; import java.util.Collections; @@ -87,7 +88,7 @@ public class PodsService extends Service { if (ENABLE_LOGGING) Log.d(TAG, "START SCANNER"); - SharedPreferences prefs = getSharedPreferences("openpods", MODE_PRIVATE); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); BluetoothManager btManager = (BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE); assert btManager != null; BluetoothAdapter btAdapter = btManager.getAdapter(); @@ -160,11 +161,17 @@ public class PodsService extends Service { return; String a = decodeHex(Objects.requireNonNull(Objects.requireNonNull(result.getScanRecord()).getManufacturerSpecificData(76))); + boolean flip = isFlipped(a); + + Log.i(TAG, String.valueOf(prefs.getBoolean("flipPods", false))); + + if (prefs.getBoolean("flipPods", false)) + flip = !flip; String leftAirpodStr; // Left airpod (0-10 batt; 15=disconnected) String rightAirpodStr; // Right airpod (0-10 batt; 15=disconnected) - if (isFlipped(a)) { + if (flip) { leftAirpodStr = "" + a.charAt(12); rightAirpodStr = "" + a.charAt(13); } else { @@ -181,8 +188,14 @@ public class PodsService extends Service { int chargeStatus = Integer.parseInt(chargeStatusStr, 16); - chargeL = (chargeStatus & 0b00000001) != 0; - chargeR = (chargeStatus & 0b00000010) != 0; + if (flip) { + chargeL = (chargeStatus & 0b00000010) != 0; + chargeR = (chargeStatus & 0b00000001) != 0; + } else { + chargeL = (chargeStatus & 0b00000001) != 0; + chargeR = (chargeStatus & 0b00000010) != 0; + } + chargeCase = (chargeStatus & 0b00000100) != 0; if (a.charAt(7) == 'E') @@ -288,6 +301,7 @@ public class PodsService extends Service { private NotificationManager mNotifyManager; + @SuppressWarnings("WeakerAccess") public NotificationThread () { mNotifyManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); // On Oreo (API27) and newer, create a notification channel. @@ -574,7 +588,7 @@ public class PodsService extends Service { } catch (Throwable ignored) { } - SharedPreferences prefs = getSharedPreferences("openpods", MODE_PRIVATE); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); if (prefs.getBoolean("batterySaver", false)) { IntentFilter screenIntentFilter = new IntentFilter(); diff --git a/OpenPods/app/src/main/java/com/dosse/airpods/SettingsActivity.java b/OpenPods/app/src/main/java/com/dosse/airpods/SettingsActivity.java index fa940be..c919bdb 100644 --- a/OpenPods/app/src/main/java/com/dosse/airpods/SettingsActivity.java +++ b/OpenPods/app/src/main/java/com/dosse/airpods/SettingsActivity.java @@ -28,7 +28,7 @@ public class SettingsActivity extends AppCompatActivity implements SharedPrefere @Override public void onSharedPreferenceChanged (SharedPreferences sharedPreferences, String key) { - if (key.equalsIgnoreCase("batterySaver")) + if (key.equalsIgnoreCase("batterySaver") || key.equalsIgnoreCase("flipPods")) Starter.restartPodsService(getApplicationContext()); } diff --git a/OpenPods/app/src/main/java/com/dosse/airpods/SettingsFragment.java b/OpenPods/app/src/main/java/com/dosse/airpods/SettingsFragment.java index 0f0de6c..ba1cc04 100644 --- a/OpenPods/app/src/main/java/com/dosse/airpods/SettingsFragment.java +++ b/OpenPods/app/src/main/java/com/dosse/airpods/SettingsFragment.java @@ -17,7 +17,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { private Context context; @SuppressWarnings("FieldCanBeLocal") - private Preference mAboutPreference, mHideAppPrefernce; + private Preference mAboutPreference, mHideAppPreference; @Override public void onCreatePreferences (Bundle savedInstanceState, String rootKey) { @@ -30,8 +30,8 @@ public class SettingsFragment extends PreferenceFragmentCompat { return true; }); - mHideAppPrefernce = getPreferenceManager().findPreference("hideApp"); - Objects.requireNonNull(mHideAppPrefernce).setOnPreferenceClickListener(preference -> { + mHideAppPreference = getPreferenceManager().findPreference("hideApp"); + Objects.requireNonNull(mHideAppPreference).setOnPreferenceClickListener(preference -> { PackageManager p = requireContext().getPackageManager(); p.setComponentEnabledSetting(new ComponentName(context, MainActivity.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); Toast.makeText(context, getString(R.string.hideClicked), Toast.LENGTH_LONG).show(); @@ -52,7 +52,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { private void enableDisableOptions () { try { context.openFileInput("hidden").close(); - mHideAppPrefernce.setEnabled(false); + mHideAppPreference.setEnabled(false); } catch (Throwable ignored) { } } diff --git a/OpenPods/app/src/main/res/layout-land/activity_about.xml b/OpenPods/app/src/main/res/layout-land/activity_about.xml index 89f5c0d..09808d7 100644 --- a/OpenPods/app/src/main/res/layout-land/activity_about.xml +++ b/OpenPods/app/src/main/res/layout-land/activity_about.xml @@ -38,7 +38,7 @@ android:layout_marginTop="8dp" android:layout_toStartOf="@id/logo" android:gravity="center" - android:text="@string/about1" + android:text="@string/about_dev" android:textColor="#404040" /> Unterstützte Geräte: • Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro - App verstecken - Das Icon wird bald verschwinden + Flip Airpods + Aktiviere diesen Modus, wenn Ihre Airpods umgekehrt sind Stromsparmodus (nicht empfohlen) Aktiviere diesen Modus, wenn Bluetooth zu viel Batterieleistung erfordert + App verstecken + Das Icon wird bald verschwinden Über - Entwickelt von Federico Dossena + Entwickelt von Federico Dossena Webseite Github Spenden diff --git a/OpenPods/app/src/main/res/values-es/strings.xml b/OpenPods/app/src/main/res/values-es/strings.xml index 4e20cad..2b6e3b1 100644 --- a/OpenPods/app/src/main/res/values-es/strings.xml +++ b/OpenPods/app/src/main/res/values-es/strings.xml @@ -12,13 +12,15 @@ Dispositivos compatibles: • Apple AirPods 1ª generación\n• Apple AirPods 2ª generación\n• Apple AirPods Pro - Ocultar app - El icono desaparecerá pronto + Airpods reverso + Activa ésta opción si sus Airpods están invertidos Ahorro de energía (no recomendado) Activa ésta opción si el Bluetooth consume mucha batería. + Ocultar app + El icono desaparecerá pronto Acerca de - Desarrollado por Federico Dossena + Desarrollado por Federico Dossena Página web Github Donar diff --git a/OpenPods/app/src/main/res/values-it/strings.xml b/OpenPods/app/src/main/res/values-it/strings.xml index e097b51..90987eb 100644 --- a/OpenPods/app/src/main/res/values-it/strings.xml +++ b/OpenPods/app/src/main/res/values-it/strings.xml @@ -12,13 +12,15 @@ Dispositivi supportati: • Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro - Nascondi app - L\'icona sarà rimossa presto + Flip Airpods + Attiva se il tuoi Airpods sono invertiti Risparmio batteria (sconsigliato) Attiva se il Bluetooth usa molta batteria + Nascondi app + L\'icona sarà rimossa presto Informazioni su - Sviluppata da Federico Dossena + Sviluppata da Federico Dossena Sito web Github Donazioni diff --git a/OpenPods/app/src/main/res/values-iw-rIL/strings.xml b/OpenPods/app/src/main/res/values-iw-rIL/strings.xml index 2d47a65..e431ff5 100644 --- a/OpenPods/app/src/main/res/values-iw-rIL/strings.xml +++ b/OpenPods/app/src/main/res/values-iw-rIL/strings.xml @@ -12,13 +12,15 @@ מכשירים נתמכים • אפל איירפודס דור ראשון \n• אפל איירפודס דור שני \n• אפל איירפודס פרו + הפוך איירפודס + הפעל אם האיירפודס שלך הפוכים + חיסכון בסוללה (לא מומלץ) + הפעל אם Bluetooth משתמש בהרבה סוללה הסתר אפליקציה האפליקציה תוסתר בקרוב - חיסכון בסוללה (לא מומלץ) - הפעל זאת אם Bluetooth משתמש בהרבה סוללה אודות - פותח על ידי פדריקו דוסנה + פותח על ידי פדריקו דוסנה אתר המפתח Github תרומה diff --git a/OpenPods/app/src/main/res/values-nl/strings.xml b/OpenPods/app/src/main/res/values-nl/strings.xml index 8ee3dee..b00e03d 100644 --- a/OpenPods/app/src/main/res/values-nl/strings.xml +++ b/OpenPods/app/src/main/res/values-nl/strings.xml @@ -12,13 +12,15 @@ Ondersteunde apparaten: • Apple AirPods 1e gen\n• Apple AirPods 2e gen\n• Apple AirPods Pro - App verbergen - Het pictogram verdwijnt spoedig + Flip Airpods + Schakel dit in als uw Airpods zijn omgekeerd Accu-optimalisatie (niet aanbevolen) Schakel dit in als je merkt dat het accuverbruik hoger is door Bluetooth + App verbergen + Het pictogram verdwijnt spoedig Over - Gemaakt door Federico Dossena + Gemaakt door Federico Dossena Website GitHub Doneren diff --git a/OpenPods/app/src/main/res/values-ru/strings.xml b/OpenPods/app/src/main/res/values-ru/strings.xml index e5a478a..b625963 100644 --- a/OpenPods/app/src/main/res/values-ru/strings.xml +++ b/OpenPods/app/src/main/res/values-ru/strings.xml @@ -12,13 +12,15 @@ Поддерживаемые устройства: • Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro - Скрыть приложение - Иконка скоро исчезнет + обратные Airpods + Включите, если ваши Airpods меняются местами Режим энергосбережения (Не рекомендуется) Включите, если Bluetooth использует слишком много ресурсов + Скрыть приложение + Иконка скоро исчезнет О приложении - Разработано Federico Dossena + Разработано Federico Dossena Сайт Github Поддержать diff --git a/OpenPods/app/src/main/res/values-uk/strings.xml b/OpenPods/app/src/main/res/values-uk/strings.xml index f0b8765..85f61b3 100644 --- a/OpenPods/app/src/main/res/values-uk/strings.xml +++ b/OpenPods/app/src/main/res/values-uk/strings.xml @@ -12,13 +12,15 @@ Supported devices: • Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro - Сховати додаток - Іконка скоро зникне + зворотні Airpods + Увімкніть, якщо ваші Airpods помінялися місцями Режим збереження енергії (Не рекомендовано) Увімкніть, якщо Bluetooth використовує багато ресурсів + Сховати додаток + Іконка скоро зникне Про програму - Розроблено Federico Dossena + Розроблено Federico Dossena Сайт Github Підтримати diff --git a/OpenPods/app/src/main/res/values-zh-rCN/strings.xml b/OpenPods/app/src/main/res/values-zh-rCN/strings.xml index b7f4c47..50b8087 100644 --- a/OpenPods/app/src/main/res/values-zh-rCN/strings.xml +++ b/OpenPods/app/src/main/res/values-zh-rCN/strings.xml @@ -12,13 +12,15 @@ 支持的设备: • Apple AirPods 一代\n• Apple AirPods 二代\n• Apple AirPods Pro - 隐藏 - 桌面图标很快就会被隐藏掉 + 反向 Airpods + 如果您的 Airpods 倒转,请启用此功能 省电模式 (不推荐) 可在蓝牙消耗过多电量时开启 + 隐藏 + 桌面图标很快就会被隐藏掉 关于 - 由 Federico Dossena 开发 + 由 Federico Dossena 开发 网站 Github 捐赠 diff --git a/OpenPods/app/src/main/res/values/dimens.xml b/OpenPods/app/src/main/res/values/dimens.xml deleted file mode 100644 index 59a0b0c..0000000 --- a/OpenPods/app/src/main/res/values/dimens.xml +++ /dev/null @@ -1,3 +0,0 @@ - - 16dp - diff --git a/OpenPods/app/src/main/res/values/strings.xml b/OpenPods/app/src/main/res/values/strings.xml index 1475ca1..5cfaa75 100644 --- a/OpenPods/app/src/main/res/values/strings.xml +++ b/OpenPods/app/src/main/res/values/strings.xml @@ -1,6 +1,7 @@ OpenPods + This app lets you check the status of your AirPods on any Android device To operate, we need permission to use Bluetooth LE (Location) and permission to run in background Allow @@ -13,13 +14,15 @@ Supported devices: • Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro - Hide app - The icon will disappear soon + Flip Airpods + Enable this if your Airpods are reversed Battery saver (Not recommended) Enable this if Bluetooth uses a lot of battery + Hide app + The icon will disappear soon About - Developed by Federico Dossena + Developed by Federico Dossena Website Github Donate diff --git a/OpenPods/app/src/main/res/xml/preference_screen.xml b/OpenPods/app/src/main/res/xml/preference_screen.xml index 4b09ed9..aabffff 100644 --- a/OpenPods/app/src/main/res/xml/preference_screen.xml +++ b/OpenPods/app/src/main/res/xml/preference_screen.xml @@ -1,6 +1,12 @@ + +