aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2014-11-10 16:21:34 -0600
committerTed Gould <ted@gould.cx>2014-11-10 16:21:34 -0600
commita9cc2312c545cb50d2af024b99a46f9577dc743e (patch)
treecbfd48ed9cfc85c23b125b61000ad9e79facc991
parent3f5128c28eb0aca0be9fef30e647d4ebf7666dbb (diff)
parent2f0aba374502b7ea660fce49f70e3ea972725685 (diff)
downloadayatana-indicator-sound-a9cc2312c545cb50d2af024b99a46f9577dc743e.tar.gz
ayatana-indicator-sound-a9cc2312c545cb50d2af024b99a46f9577dc743e.tar.bz2
ayatana-indicator-sound-a9cc2312c545cb50d2af024b99a46f9577dc743e.zip
Merge trunk
-rw-r--r--debian/changelog14
-rw-r--r--src/service.vala4
-rw-r--r--src/sound-menu.vala3
-rw-r--r--src/volume-control.vala15
-rw-r--r--tests/manual64
5 files changed, 90 insertions, 10 deletions
diff --git a/debian/changelog b/debian/changelog
index 7f780e9..4160769 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+indicator-sound (12.10.2+15.04.20141105-0ubuntu1) vivid; urgency=medium
+
+ [ Ted Gould ]
+ * Remove various Vala warnings
+ * Show notifications on volume change (LP: #1378564, #1378961)
+ * Warn on high audio levels when using headphones (LP: #1232633, #1373404)
+ * service.vala: don't call set_volume unnecessarily (LP: #1381871)
+ * Integration test for audio roles
+ * Integration test for silent mode
+ * Ensure the greeter menu matches whether song metadata should be shown,
+ and update the metadata based on the new setting. (LP: #1358340)
+
+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 05 Nov 2014 17:56:29 +0000
+
indicator-sound (12.10.2+14.10.20141021~rtm-0ubuntu1) 14.09; urgency=medium
[ Ted Gould ]
diff --git a/src/service.vala b/src/service.vala
index fa8bbdc..fd0c08d 100644
--- a/src/service.vala
+++ b/src/service.vala
@@ -74,7 +74,7 @@ public class IndicatorSound.Service: Object {
List<string> caps = Notify.get_server_caps ();
if (caps.find_custom ("x-canonical-private-synchronous", strcmp) != null) {
this.notification = new Notify.Notification ("indicator-sound", "", "");
- this.notification.set_hint_string ("x-canonical-private-synchronous", "indicator-sound");
+ this.notification.set_hint ("x-canonical-private-synchronous", "indicator-sound");
}
}
@@ -196,7 +196,7 @@ public class IndicatorSound.Service: Object {
icon = "notification-audio-volume-high";
this.notification.update ("indicator-sound", "", icon);
- this.notification.set_hint_int32 ("value", ((int32) (100 * v / this.max_volume)).clamp (-1, 101));
+ this.notification.set_hint ("value", ((int32) (100 * v / this.max_volume)).clamp (-1, 101));
try {
this.notification.show ();
}
diff --git a/src/sound-menu.vala b/src/sound-menu.vala
index a9efd74..3881faf 100644
--- a/src/sound-menu.vala
+++ b/src/sound-menu.vala
@@ -118,7 +118,6 @@ public class SoundMenu: Object
while ((location = find_action(this.volume_section, "indicator.high-volume-warning-item")) != -1) {
this.volume_section.remove (location);
}
- this.volume_section.remove (this.volume_section.get_n_items () -1);
this.high_volume_warning_shown = false;
}
}
@@ -128,7 +127,7 @@ public class SoundMenu: Object
int n = menu.get_n_items ();
for (int i = 0; i < n; i++) {
string action;
- menu.get_item_attribute (0, "action", "s", out action);
+ menu.get_item_attribute (i, "action", "s", out action);
if (in_action == action)
return i;
}
diff --git a/src/volume-control.vala b/src/volume-control.vala
index 6f48c5d..6f22dc5 100644
--- a/src/volume-control.vala
+++ b/src/volume-control.vala
@@ -69,7 +69,6 @@ public class VolumeControl : Object
private bool _send_next_local_volume = false;
private double _account_service_volume = 0.0;
private Notify.Notification _notification;
-
private bool _active_port_headphone = false;
public signal void volume_changed (double v);
@@ -776,7 +775,7 @@ public class VolumeControl : Object
}
/* AccountsService operations */
- private void accountsservice_props_changed_cb (DBusProxy proxy, Variant changed_properties, string[] invalidated_properties)
+ private void accountsservice_props_changed_cb (DBusProxy proxy, Variant changed_properties, string[]? invalidated_properties)
{
Variant volume_variant = changed_properties.lookup_value ("Volume", new VariantType ("d"));
if (volume_variant != null) {
@@ -834,10 +833,14 @@ public class VolumeControl : Object
// Get current values and listen for changes
_user_proxy.g_properties_changed.connect (accountsservice_props_changed_cb);
- var props_variant = yield _user_proxy.get_connection ().call (_user_proxy.get_name (), _user_proxy.get_object_path (), "org.freedesktop.DBus.Properties", "GetAll", new Variant ("(s)", _user_proxy.get_interface_name ()), null, DBusCallFlags.NONE, -1);
- Variant props;
- props_variant.get ("(@a{sv})", out props);
- accountsservice_props_changed_cb(_user_proxy, props, null);
+ try {
+ var props_variant = yield _user_proxy.get_connection ().call (_user_proxy.get_name (), _user_proxy.get_object_path (), "org.freedesktop.DBus.Properties", "GetAll", new Variant ("(s)", _user_proxy.get_interface_name ()), null, DBusCallFlags.NONE, -1);
+ Variant props;
+ props_variant.get ("(@a{sv})", out props);
+ accountsservice_props_changed_cb(_user_proxy, props, null);
+ } catch (GLib.Error e) {
+ debug("Unable to get properties for user %s at first try: %s", username, e.message);
+ }
}
private void greeter_user_changed (string username)
diff --git a/tests/manual b/tests/manual
index 0df4186..c1cc214 100644
--- a/tests/manual
+++ b/tests/manual
@@ -57,3 +57,67 @@ Test-case indicator-sound/unity8-high-volume
<dd>There should be no text on the notification</dd>
<dd>The range on the notification bubble should have a standard color</dd>
</dl>
+
+Test-case indicator-sound/unity8-silent-mode
+<dl>
+ <dt>NOTE: This test currently doesn't work because of a bug: http://pad.lv/1336715</dt>
+ <dt>Open the Sound menu</dt>
+ <dd>The sound menu includes an item "Silent Mode" which is a check box</dd>
+ <dd>The checkbox is not checked</dd>
+ <dt>Enable silent mode</dt>
+ <dd>Selecting the "Silent Mode" item should cause the box to be checked</dd>
+ <dt>Open the sound panel in system settings</dt>
+ <dd>The sound panel includes an item "Silent Mode" which is a check box</dd>
+ <dd>The checkbox is checked</dd>
+ <dt>Disable silent mode in system settings</dt>
+ <dd>The checkbox is not checked</dd>
+ <dt>Open the Sound menu</dt>
+ <dd>The sound menu includes an item "Silent Mode" which is a check box</dd>
+ <dd>The checkbox is not checked</dd>
+</dl>
+
+Test-case indicator-sound/unity8-audio-roles
+<dl>
+ <dt>Without playing anything (no active audio stream), change the volume on the indicator or with the volume buttons and then try playing one of the following audio streams: camera shutter, ringtone, message notification, dtmf</dt>
+ <dd>The audio stream should reflect the volume set on the indicator</dd>
+ <dt>Without playing anything (no active audio stream), change the volume on the indicator or with volume buttons and then try playing one of the following audio streams: music-app, webrowser (youtube)</dt>
+ <dd>The audio stream should not be affected by the volume set on the indicator when there was no other active stream</dt>
+ <dt>Play a multimedia stream (music-app, webrowser) and change the volume on the indicator when the stream is active</dt>
+ <dd>The multimedia audio stream should reflect the volume set on the indicator</dd>
+ <dd>When stopping/closing the multimedia stream, it should automatically show up the volume for the alert role (ringtone, notification, etc)</dd>
+ <dd>No other role should be affected by the volume level used by the multimedia role</dd>
+ <dt>Play a alarm stream (clock-app) and change the volume on the indicator when the stream is active</dt>
+ <dd>The alarm audio stream should reflect the volume set on the indicator</dd>
+ <dd>When stopping/closing the alarm stream, it should automatically show up the volume for the alert role (ringtone, notification, etc)</dd>
+ <dd>No other role should be affected by the volume level used by the alarm role</dd>
+ <dt>Start a voice call using the dialer-app and change the volume on the indicator when the call is active</dt>
+ <dd>The phone audio stream should reflect the volume set on the indicator</dd>
+ <dd>When hanging up the voice call it should automatically show up the volume for the alert role (ringtone, notification, etc)</dd>
+ <dd>No other role should be affected by the volume level used by the phone role</dd>
+</dl>
+
+Test-case indicator-sound/unity8-embedded-greeter
+<dl>
+ <dt>NOTE: Only works with embedded greeter, split greeter will require modifications to this test</dt>
+ <dt>Ensure System Settings is set to "Show Messages on Greeter"</dt>
+ <dt>Play a song in the media player</dt>
+ <dd>The song should be heard</dd>
+ <dd>There should be an entry in the sound menu with the meta data for the song being played</dd>
+ <dt>Go to the greeter. This can be done by hitting the lock button twice.</dt>
+ <dt>Ensure the sound menu has song meta data</dt>
+ <dd>There should be an entry in the sound menu with the meta data for the song being played</dd>
+ <dt>Pause the song in the greeter</dt>
+ <dd>The song should stop playing</dd>
+ <dt>Resume the song in the greeter</dt>
+ <dd>The song should continue to play</dd>
+ <dt>Disable System Settings value "Show Messages on Greeter"</dt>
+ <dt>Ensure the sound menu has song meta data</dt>
+ <dd>There should be an entry in the sound menu with the meta data for the song being played</dd>
+ <dt>Go to the greeter. This can be done by hitting the lock button twice.</dt>
+ <dt>Ensure the sound menu does not have song meta data</dt>
+ <dd>There should be an entry for the player but it should have no information on the song being played</dd>
+ <dt>Pause the song in the greeter</dt>
+ <dd>The song should stop playing</dd>
+ <dt>Resume the song in the greeter</dt>
+ <dd>The song should continue to play</dd>
+</dl>