From f455bb60bd2326ea4cc456b439b3e48583552666 Mon Sep 17 00:00:00 2001 From: YosefJoo Date: Sat, 3 Sep 2022 23:02:15 +0200 Subject: [PATCH] =?UTF-8?q?add=20PlayMode=20=F0=9F=A5=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/ayah/NotificationTimerTask.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java index 78ea9a7..1ff6f53 100644 --- a/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java +++ b/src/main/java/com/anas/intellij/plugins/ayah/NotificationTimerTask.java @@ -1,6 +1,8 @@ package com.anas.intellij.plugins.ayah; import com.anas.alqurancloudapi.Ayah; +import com.anas.alqurancloudapi.edition.Edition; +import com.anas.alqurancloudapi.edition.EditionFormat; import com.anas.intellij.plugins.ayah.audio.AudioPlayer; import com.anas.intellij.plugins.ayah.audio.PlayerListener; import com.anas.intellij.plugins.ayah.dialogs.AyahDetailsDialog; @@ -29,6 +31,8 @@ public class NotificationTimerTask extends TimerTask implements PlayerListener { private AudioPlayer audioPlayer; private boolean isPlaying; private Ayah ayah; + private Ayah currentAyah; // current ayah + private AudioPlayer player; @Override @@ -69,6 +73,12 @@ public class NotificationTimerTask extends TimerTask implements PlayerListener { new AyahDetailsDialog(ayah).setVisible(true); } }); + notification.addAction(new AnAction("PlayMode") { + @Override + public void actionPerformed(@NotNull AnActionEvent e) { + playMode(); + } + }); // Show notification notification.notify(project); @@ -77,6 +87,7 @@ public class NotificationTimerTask extends TimerTask implements PlayerListener { } } + public void setProject(final Project project) { this.project = project; } @@ -100,6 +111,16 @@ public class NotificationTimerTask extends TimerTask implements PlayerListener { } } } + public void playMode(){ + try{ + final var currentEdition= Edition.getEditions(EditionFormat.AUDIO,"ar",null); + currentAyah=Ayah.getAyah(1,currentEdition[0]); + player=new AudioPlayer(currentAyah.getAudioUrl()).setListener(this); + player.play(); + } catch (IOException e) { + e.printStackTrace(); + } + } // Player listener methods. @Override @@ -110,5 +131,14 @@ public class NotificationTimerTask extends TimerTask implements PlayerListener { @Override public void onFinished(PlaybackEvent event) { isPlaying = false; + new Thread(() -> { + try { + currentAyah = Ayah.getAyah(currentAyah.getNumber() + 1, currentAyah.getEdition()); + } catch (IOException e) { + throw new RuntimeException(e); + } + }).start(); + player = new AudioPlayer(currentAyah.getAudioUrl()).setListener(this); + player.play(); } }