diff --git a/app/src/main/java/com/jens/automation2/Action.java b/app/src/main/java/com/jens/automation2/Action.java
index f45a1c66..9dab1066 100644
--- a/app/src/main/java/com/jens/automation2/Action.java
+++ b/app/src/main/java/com/jens/automation2/Action.java
@@ -333,9 +333,12 @@ public class Action
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.pause));
break;
case "3":
- returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.previous));
+ returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.stop));
break;
case "4":
+ returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.previous));
+ break;
+ case "5":
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.next));
break;
default:
diff --git a/app/src/main/java/com/jens/automation2/Actions.java b/app/src/main/java/com/jens/automation2/Actions.java
index 90753a06..3454deb3 100644
--- a/app/src/main/java/com/jens/automation2/Actions.java
+++ b/app/src/main/java/com/jens/automation2/Actions.java
@@ -1483,70 +1483,54 @@ public class Actions
keyCode = KeyEvent.KEYCODE_MEDIA_PAUSE;
break;
case 3:
- keyCode = KeyEvent.KEYCODE_MEDIA_PREVIOUS;
+ keyCode = KeyEvent.KEYCODE_MEDIA_STOP;
break;
case 4:
+ keyCode = KeyEvent.KEYCODE_MEDIA_PREVIOUS;
+ break;
+ case 5:
keyCode = KeyEvent.KEYCODE_MEDIA_NEXT;
break;
}
- AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-
- KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
- mAudioManager.dispatchMediaKeyEvent(event);
-
+// AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
// if (mAudioManager.isMusicActive())
// {
-
-// keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
-// intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
-
- /*switch (choice)
- {
- case play_pause:
- return KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE;
- case play:
- return KeyEvent.KEYCODE_MEDIA_PLAY;
- case pause:
- return KeyEvent.KEYCODE_MEDIA_PAUSE;
- case previous:
- return KeyEvent.KEYCODE_MEDIA_PREVIOUS;
- case next:
- return KeyEvent.KEYCODE_MEDIA_NEXT;
- default:
- throw new IllegalAccessError();*/
-// }
-
-// Intent.CATEGORY_APP_MUSIC
-// Intent i = new Intent("com.android.music.musicservicecommand");
-
-
-
// if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
// return controlMediaPlaybackFromApi21(keyCode);
// else
// {
-// KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
-// Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
-// intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
-// context.sendOrderedBroadcast(intent, null);
-//
-// keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
-// intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
-// intent.putExtra(Intent.EXTRA_KEY_EVENT, keyCode);
-//
-// context.sendOrderedBroadcast(intent, null);
-// // AutomationService.getInstance().sendBroadcast(i);
-//
-//
-// return true;
+ return controlMediaByDispatch(keyCode);
+// return controlMediaPlaybackByBroadcast(keyCode);
// }
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.KITKAT)
+ static boolean controlMediaByDispatch(int keyCode)
+ {
+ AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+ KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
+ mAudioManager.dispatchMediaKeyEvent(event);
return true;
- }
+ }
-// return false;
-// }
+ static boolean controlMediaPlaybackByBroadcast(int keyCode)
+ {
+ KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
+ Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
+ intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
+ context.sendOrderedBroadcast(intent, null);
+
+ keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
+ intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
+ intent.putExtra(Intent.EXTRA_KEY_EVENT, keyCode);
+
+ context.sendOrderedBroadcast(intent, null);
+ AutomationService.getInstance().sendBroadcast(intent);
+
+ return true;
+ }
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
static boolean controlMediaPlaybackFromApi21(int keyCode)
diff --git a/app/src/main/java/com/jens/automation2/ActivityManageRule.java b/app/src/main/java/com/jens/automation2/ActivityManageRule.java
index 936ca552..da340576 100644
--- a/app/src/main/java/com/jens/automation2/ActivityManageRule.java
+++ b/app/src/main/java/com/jens/automation2/ActivityManageRule.java
@@ -2034,7 +2034,14 @@ public class ActivityManageRule extends Activity
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle(myContext.getResources().getString(R.string.selectCommand));
- final String choices[] = { myContext.getString(R.string.playPause), myContext.getString(R.string.play), myContext.getString(R.string.pause), myContext.getString(R.string.previous), myContext.getString(R.string.next) };
+ final String choices[] = {
+ myContext.getString(R.string.playPause),
+ myContext.getString(R.string.play),
+ myContext.getString(R.string.pause),
+ myContext.getString(R.string.stop),
+ myContext.getString(R.string.previous),
+ myContext.getString(R.string.next)
+ };
alertDialogBuilder.setItems(choices, new DialogInterface.OnClickListener()
{
@Override
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 344303b0..e5a06480 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -783,4 +783,5 @@
previous
next
Control media
+ stop
\ No newline at end of file