diff options
author | Ted Gould <ted@gould.cx> | 2014-02-21 12:19:12 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2014-02-21 12:19:12 -0600 |
commit | b8c9c3690d44e20e5cf2fb1322644d1bfdcf9084 (patch) | |
tree | 3cc0e67248f3e05b9534da058e7d2147f8575a99 | |
parent | 6974a81bd969f97fb685ea021af4d1406fa13679 (diff) | |
download | ayatana-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.vala | 12 |
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 { |