diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3c5870021..730ca7e7d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -228,9 +228,7 @@
android:name=".externalevents.MusicPlaybackReceiver"
android:enabled="false">
-
-
-
+
mediaReceivers = pm.queryBroadcastReceivers(mediaButtonIntent,
+ PackageManager.GET_INTENT_FILTERS | PackageManager.GET_RESOLVED_FILTER);
+
+
+ CharSequence[] newEntries = new CharSequence[mediaReceivers.size() + 1];
+ CharSequence[] newValues = new CharSequence[mediaReceivers.size() + 1];
+ newEntries[0] = getString(R.string.pref_default);
+ newValues[0] = "default";
+
+ int i = 1;
+ for (ResolveInfo resolveInfo : mediaReceivers) {
+ newEntries[i] = resolveInfo.activityInfo.loadLabel(pm);
+ newValues[i] = resolveInfo.activityInfo.packageName;
+ i++;
+ }
+
+ final ListPreference audioPlayer = (ListPreference) findPreference("audio_player");
+ audioPlayer.setEntries(newEntries);
+ audioPlayer.setEntryValues(newValues);
}
@Override
protected String[] getPreferenceKeysWithSummary() {
return new String[]{
+ "audio_player",
+ "notification_mode_sms",
+ "notification_mode_k9mail",
"pebble_emu_addr",
- "pebble_emu_port"
+ "pebble_emu_port",
};
}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java
index 2952f7ef1..bb9f0839d 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java
@@ -18,19 +18,6 @@ public class MusicPlaybackReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- int lastDot = action.lastIndexOf(".");
- String source = action.substring(0, lastDot);
-
- if (!source.equals(mLastSource)) {
- mLastSource = source;
- SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
- SharedPreferences.Editor edit = sharedPrefs.edit();
- edit.putString("last_audiosource", mLastSource);
- LOG.info("set last audiosource to " + mLastSource);
- edit.apply();
- }
-
String artist = intent.getStringExtra("artist");
String album = intent.getStringExtra("album");
String track = intent.getStringExtra("track");
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java
index 3b7213447..8a521679a 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java
@@ -54,23 +54,23 @@ public class GBMusicControlReceiver extends BroadcastReceiver {
if (keyCode != -1) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
- String audioSource = sharedPrefs.getString("last_audiosource", null);
+ String audioPlayer = sharedPrefs.getString("audio_player", "default");
long eventtime = SystemClock.uptimeMillis();
Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventtime, eventtime, KeyEvent.ACTION_DOWN, keyCode, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
- if (audioSource != null) {
- downIntent.setPackage(audioSource);
+ if (!"default".equals(audioPlayer)) {
+ downIntent.setPackage(audioPlayer);
}
context.sendOrderedBroadcast(downIntent, null);
Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent upEvent = new KeyEvent(eventtime, eventtime, KeyEvent.ACTION_UP, keyCode, 0);
upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
- if (audioSource != null) {
- upIntent.setPackage(audioSource);
+ if (audioPlayer != null) {
+ upIntent.setPackage(audioPlayer);
}
context.sendOrderedBroadcast(upIntent, null);
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b175c5842..4df4ecf94 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -33,7 +33,8 @@
General Settings
Connect to device when Bluetooth turned on
-
+ Preferred audio player
+ default
Date and Time
Sync time
Sync time to device when connecting and when time or timezone changes on Android
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 41a36bed2..04ca66491 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -7,6 +7,10 @@
android:defaultValue="false"
android:key="general_autoconnectonbluetooth"
android:title="@string/pref_title_general_autoconnectonbluetooth" />
+
+ android:key="pref_key_pebble"
+ android:title="@string/pref_title_pebble_settings">
+ android:summary="@string/pref_summary_pebble_forceprotocol"
+ android:title="@string/pref_title_pebble_forceprotocol" />
+ android:summary="@string/pref_summary_pebble_forceuntested"
+ android:title="@string/pref_title_pebble_forceuntested" />