Merge pull request #12 from anas-elgarhy/dev

Fix trying start the timer more then one if you closed the project and open a new one issue
This commit is contained in:
Anas Elgarhy 2022-11-02 23:37:08 +02:00 committed by GitHub
commit a8c4a59c02
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -7,6 +7,7 @@ import com.intellij.notification.NotificationGroupManager;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupActivity;
import lombok.val;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
@ -18,11 +19,11 @@ import java.io.IOException;
public class AyahStartupActivity implements StartupActivity {
@Override
public void runActivity(@NotNull final Project project) {
final var basmalhOnStartSettingsState = AyahSettingsState.getInstance().getBasmalhOnStart();
val basmalhOnStartSettingsState = AyahSettingsState.getInstance().getBasmalhOnStart();
// Basmalh on start
if (basmalhOnStartSettingsState.isActive()) {
try {
final var bassmalh = Ayah.getAyah(1,
val bassmalh = Ayah.getAyah(1,
basmalhOnStartSettingsState.getEdition().getEditionIdentifier());
NotificationGroupManager.getInstance()
.getNotificationGroup("Basmalh on Start")

View file

@ -16,14 +16,21 @@ public enum NotificationTimer {
private final Timer timer;
private final NotificationTimerTask notificationTimerTask;
private boolean isRunning;
NotificationTimer() {
timer = new Timer();
notificationTimerTask = new NotificationTimerTask();
isRunning = false;
}
public void start(@NotNull Project project) {
if (isRunning) {
return;
}
notificationTimerTask.setProject(project);
schedule(AyahSettingsState.getInstance().getIntervalTimeBetweenNotifications());
isRunning = true;
}
public void updateIntervalTimeBetweenNotifications(final int intervalTimeBetweenNotifications) {