Move vibrator together with aux
[gregoa/zavai.git] / src / app_notify.vala
index 8759bb393bbb3318e4337ce19db10f2d8729bfcf..d6c086afda37f8adad6d938803f1feab8ee72dad 100644 (file)
@@ -28,16 +28,35 @@ public abstract class Notifier : Gtk.Dialog
 {
     public string name { get; construct; }
 
+    protected virtual bool push_aux_state()
+    {
+        return false;
+    }
+
+    protected virtual bool push_vibrator_state()
+    {
+        return false;
+    }
+
+    protected virtual bool push_ringtone_state()
+    {
+        return false;
+    }
+
     public int run()
     {
         ui.power.backlight.request(name);
-        // TODO: Save aux state
-        // TODO: Save vibrator state
-        // TODO: Save ringtone state
-        // TODO: set our state
+
+        // Setup our attention seeking strategy
+        bool has_aux = push_aux_state();
+        bool has_vibrator = zavai.led.vibrator != null && push_vibrator_state();
+        bool has_ringtone = zavai.audio.soundplayer != null && push_ringtone_state();
+
+        // Run dialog
         int res = base.run();
+
         // TODO: Restore ringtone state
-        // TODO: Restore vibrator state
+        if (has_vibrator) zavai.led.vibrator.pop_state(name);
         // TODO: Restore aux state
         ui.power.backlight.release(name);
         return res;