aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2014-02-21 12:19:12 -0600
committerTed Gould <ted@gould.cx>2014-02-21 12:19:12 -0600
commitb8c9c3690d44e20e5cf2fb1322644d1bfdcf9084 (patch)
tree3cc0e67248f3e05b9534da058e7d2147f8575a99
parent6974a81bd969f97fb685ea021af4d1406fa13679 (diff)
downloadayatana-indicator-sound-b8c9c3690d44e20e5cf2fb1322644d1bfdcf9084.tar.gz
ayatana-indicator-sound-b8c9c3690d44e20e5cf2fb1322644d1bfdcf9084.tar.bz2
ayatana-indicator-sound-b8c9c3690d44e20e5cf2fb1322644d1bfdcf9084.zip
Keep our timestamp up-to-date if we have a player
-rw-r--r--src/accounts-service-user.vala12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/accounts-service-user.vala b/src/accounts-service-user.vala
index 2062dc8..47189a5 100644
--- a/src/accounts-service-user.vala
+++ b/src/accounts-service-user.vala
@@ -35,6 +35,7 @@ public class AccountsServiceUser : Object {
Act.UserManager accounts_manager = Act.UserManager.get_default();
Act.User? user = null;
AccountsServiceSoundSettings? proxy = null;
+ uint timer = 0;
MediaPlayer? _player = null;
public MediaPlayer? player {
@@ -45,6 +46,12 @@ public class AccountsServiceUser : Object {
if (this.proxy == null)
return;
+ /* Always reset the timer */
+ if (this.timer != 0) {
+ GLib.Source.remove(this.timer);
+ this.timer = 0;
+ }
+
if (this._player == null) {
/* Clear it */
this.proxy.player_name = "";
@@ -73,6 +80,11 @@ public class AccountsServiceUser : Object {
this.proxy.album = "";
this.proxy.art_url = "";
}
+
+ this.timer = GLib.Timeout.add_seconds(5 * 60, () => {
+ this.proxy.timestamp = GLib.get_monotonic_time();
+ return true;
+ });
}
}
get {