mirror of
https://github.com/adolfintel/OpenPods.git
synced 2026-09-14 14:56:11 -04:00
Fixed flipped Charging & Added manual flip airpods option.
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
android:layout_below="@id/logo"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/about1"
|
||||
android:text="@string/about_dev"
|
||||
android:textColor="#404040" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Unterstützte Geräte:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">App verstecken</string>
|
||||
<string name="hideClicked">Das Icon wird bald verschwinden</string>
|
||||
<string name="flipPods">Flip Airpods</string>
|
||||
<string name="flipPods_desc">Aktiviere diesen Modus, wenn Ihre Airpods umgekehrt sind</string>
|
||||
<string name="batterySaver">Stromsparmodus (nicht empfohlen)</string>
|
||||
<string name="batterySaver_desc">Aktiviere diesen Modus, wenn Bluetooth zu viel Batterieleistung erfordert</string>
|
||||
<string name="hide">App verstecken</string>
|
||||
<string name="hideClicked">Das Icon wird bald verschwinden</string>
|
||||
<string name="about">Über</string>
|
||||
|
||||
<string name="about1">Entwickelt von Federico Dossena</string>
|
||||
<string name="about_dev">Entwickelt von Federico Dossena</string>
|
||||
<string name="website">Webseite</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">Spenden</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Dispositivos compatibles:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1ª generación\n• Apple AirPods 2ª generación\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">Ocultar app</string>
|
||||
<string name="hideClicked">El icono desaparecerá pronto</string>
|
||||
<string name="flipPods">Airpods reverso</string>
|
||||
<string name="flipPods_desc">Activa ésta opción si sus Airpods están invertidos</string>
|
||||
<string name="batterySaver">Ahorro de energía (no recomendado)</string>
|
||||
<string name="batterySaver_desc">Activa ésta opción si el Bluetooth consume mucha batería.</string>
|
||||
<string name="hide">Ocultar app</string>
|
||||
<string name="hideClicked">El icono desaparecerá pronto</string>
|
||||
<string name="about">Acerca de</string>
|
||||
|
||||
<string name="about1">Desarrollado por Federico Dossena</string>
|
||||
<string name="about_dev">Desarrollado por Federico Dossena</string>
|
||||
<string name="website">Página web</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">Donar</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Dispositivi supportati:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">Nascondi app</string>
|
||||
<string name="hideClicked">L\'icona sarà rimossa presto</string>
|
||||
<string name="flipPods">Flip Airpods</string>
|
||||
<string name="flipPods_desc">Attiva se il tuoi Airpods sono invertiti</string>
|
||||
<string name="batterySaver">Risparmio batteria (sconsigliato)</string>
|
||||
<string name="batterySaver_desc">Attiva se il Bluetooth usa molta batteria</string>
|
||||
<string name="hide">Nascondi app</string>
|
||||
<string name="hideClicked">L\'icona sarà rimossa presto</string>
|
||||
<string name="about">Informazioni su</string>
|
||||
|
||||
<string name="about1">Sviluppata da Federico Dossena</string>
|
||||
<string name="about_dev">Sviluppata da Federico Dossena</string>
|
||||
<string name="website">Sito web</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">Donazioni</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>מכשירים נתמכים</u></string>
|
||||
<string name="supportedDevicesItems">• אפל איירפודס דור ראשון \n• אפל איירפודס דור שני \n• אפל איירפודס פרו </string>
|
||||
|
||||
<string name="flipPods">הפוך איירפודס</string>
|
||||
<string name="flipPods_desc">הפעל אם האיירפודס שלך הפוכים</string>
|
||||
<string name="batterySaver">חיסכון בסוללה (לא מומלץ)</string>
|
||||
<string name="batterySaver_desc">הפעל אם Bluetooth משתמש בהרבה סוללה</string>
|
||||
<string name="hide">הסתר אפליקציה</string>
|
||||
<string name="hideClicked">האפליקציה תוסתר בקרוב</string>
|
||||
<string name="batterySaver">חיסכון בסוללה (לא מומלץ)</string>
|
||||
<string name="batterySaver_desc">הפעל זאת אם Bluetooth משתמש בהרבה סוללה</string>
|
||||
<string name="about">אודות</string>
|
||||
|
||||
<string name="about1">פותח על ידי פדריקו דוסנה</string>
|
||||
<string name="about_dev">פותח על ידי פדריקו דוסנה</string>
|
||||
<string name="website">אתר המפתח</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">תרומה</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Ondersteunde apparaten:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1e gen\n• Apple AirPods 2e gen\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">App verbergen</string>
|
||||
<string name="hideClicked">Het pictogram verdwijnt spoedig</string>
|
||||
<string name="flipPods">Flip Airpods</string>
|
||||
<string name="flipPods_desc">Schakel dit in als uw Airpods zijn omgekeerd</string>
|
||||
<string name="batterySaver">Accu-optimalisatie (niet aanbevolen)</string>
|
||||
<string name="batterySaver_desc">Schakel dit in als je merkt dat het accuverbruik hoger is door Bluetooth</string>
|
||||
<string name="hide">App verbergen</string>
|
||||
<string name="hideClicked">Het pictogram verdwijnt spoedig</string>
|
||||
<string name="about">Over</string>
|
||||
|
||||
<string name="about1">Gemaakt door Federico Dossena</string>
|
||||
<string name="about_dev">Gemaakt door Federico Dossena</string>
|
||||
<string name="website">Website</string>
|
||||
<string name="github">GitHub</string>
|
||||
<string name="donate">Doneren</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Поддерживаемые устройства:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">Скрыть приложение</string>
|
||||
<string name="hideClicked">Иконка скоро исчезнет</string>
|
||||
<string name="flipPods">обратные Airpods</string>
|
||||
<string name="flipPods_desc">Включите, если ваши Airpods меняются местами</string>
|
||||
<string name="batterySaver">Режим энергосбережения (Не рекомендуется)</string>
|
||||
<string name="batterySaver_desc">Включите, если Bluetooth использует слишком много ресурсов</string>
|
||||
<string name="hide">Скрыть приложение</string>
|
||||
<string name="hideClicked">Иконка скоро исчезнет</string>
|
||||
<string name="about">О приложении</string>
|
||||
|
||||
<string name="about1">Разработано Federico Dossena</string>
|
||||
<string name="about_dev">Разработано Federico Dossena</string>
|
||||
<string name="website">Сайт</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">Поддержать</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Supported devices:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">Сховати додаток</string>
|
||||
<string name="hideClicked">Іконка скоро зникне</string>
|
||||
<string name="flipPods">зворотні Airpods</string>
|
||||
<string name="flipPods_desc">Увімкніть, якщо ваші Airpods помінялися місцями</string>
|
||||
<string name="batterySaver">Режим збереження енергії (Не рекомендовано)</string>
|
||||
<string name="batterySaver_desc">Увімкніть, якщо Bluetooth використовує багато ресурсів</string>
|
||||
<string name="hide">Сховати додаток</string>
|
||||
<string name="hideClicked">Іконка скоро зникне</string>
|
||||
<string name="about">Про програму</string>
|
||||
|
||||
<string name="about1">Розроблено Federico Dossena</string>
|
||||
<string name="about_dev">Розроблено Federico Dossena</string>
|
||||
<string name="website">Сайт</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">Підтримати</string>
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
<string name="supportedDevicesTitle"><u>支持的设备:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 一代\n• Apple AirPods 二代\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">隐藏</string>
|
||||
<string name="hideClicked">桌面图标很快就会被隐藏掉</string>
|
||||
<string name="flipPods">反向 Airpods</string>
|
||||
<string name="flipPods_desc">如果您的 Airpods 倒转,请启用此功能</string>
|
||||
<string name="batterySaver">省电模式 (不推荐)</string>
|
||||
<string name="batterySaver_desc">可在蓝牙消耗过多电量时开启</string>
|
||||
<string name="hide">隐藏</string>
|
||||
<string name="hideClicked">桌面图标很快就会被隐藏掉</string>
|
||||
<string name="about">关于</string>
|
||||
|
||||
<string name="about1">由 Federico Dossena 开发</string>
|
||||
<string name="about_dev">由 Federico Dossena 开发</string>
|
||||
<string name="website">网站</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">捐赠</string>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
<resources>
|
||||
<dimen name="fab_margin">16dp</dimen>
|
||||
</resources>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name" translatable="false">OpenPods</string>
|
||||
|
||||
<string name="intro1">This app lets you check the status of your AirPods on any Android device</string>
|
||||
<string name="intro2">To operate, we need permission to use Bluetooth LE (Location) and permission to run in background</string>
|
||||
<string name="introAllow">Allow</string>
|
||||
@@ -13,13 +14,15 @@
|
||||
<string name="supportedDevicesTitle"><u>Supported devices:</u></string>
|
||||
<string name="supportedDevicesItems">• Apple AirPods 1st gen\n• Apple AirPods 2nd gen\n• Apple AirPods Pro</string>
|
||||
|
||||
<string name="hide">Hide app</string>
|
||||
<string name="hideClicked">The icon will disappear soon</string>
|
||||
<string name="flipPods">Flip Airpods</string>
|
||||
<string name="flipPods_desc">Enable this if your Airpods are reversed</string>
|
||||
<string name="batterySaver">Battery saver (Not recommended)</string>
|
||||
<string name="batterySaver_desc">Enable this if Bluetooth uses a lot of battery</string>
|
||||
<string name="hide">Hide app</string>
|
||||
<string name="hideClicked">The icon will disappear soon</string>
|
||||
<string name="about">About</string>
|
||||
|
||||
<string name="about1">Developed by Federico Dossena</string>
|
||||
<string name="about_dev">Developed by Federico Dossena</string>
|
||||
<string name="website">Website</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="donate">Donate</string>
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="flipPods"
|
||||
android:summary="@string/flipPods_desc"
|
||||
android:title="@string/flipPods" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="batterySaver"
|
||||
|
||||
Reference in New Issue
Block a user