diff options
61 files changed, 615 insertions, 370 deletions
diff --git a/.bzr-builddeb/default.conf b/.bzr-builddeb/default.conf deleted file mode 100644 index 6c96a98..0000000 --- a/.bzr-builddeb/default.conf +++ /dev/null @@ -1,2 +0,0 @@ -[BUILDDEB] -split = True diff --git a/.bzrignore b/.bzrignore deleted file mode 100644 index 4f05230..0000000 --- a/.bzrignore +++ /dev/null @@ -1,3 +0,0 @@ -build/ -po/Makefile.in.in -po/POTFILES.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d62eae..3189f3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,10 @@ -project(indicator-sound C CXX) +project(ayatana-indicator-sound C CXX) cmake_minimum_required(VERSION 2.8.9) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") set(PACKAGE ${CMAKE_PROJECT_NAME}) -set(GETTEXT_PACKAGE indicator-sound) +set(GETTEXT_PACKAGE "ayatana-indicator-sound") set(GNOMELOCALEDIR "${CMAKE_INSTALL_FULL_DATADIR}/locale") add_definitions( -DGETTEXT_PACKAGE="${GETTEXT_PACKAGE}" ) @@ -15,7 +15,7 @@ include(UseVala) # Workaround for libexecdir on debian if (EXISTS "/etc/debian_version") - set(CMAKE_INSTALL_LIBEXECDIR ${CMAKE_INSTALL_LIBDIR}) + set(CMAKE_INSTALL_LIBEXECDIR "${CMAKE_INSTALL_LIBDIR}") set(CMAKE_INSTALL_FULL_LIBEXECDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}") endif() @@ -25,17 +25,23 @@ set(SOURCE_BINARY_DIR "${CMAKE_BINARY_DIR}/src") set(PULSE_AUDIO_REQUIRED_VERSION 0.9.19) set(GLIB_2_0_REQUIRED_VERSION 2.32) set(GIO_2_0_REQUIRED_VERSION 2.25.13) -set(URL_DISPATCHER_1_REQUIRED_VERSION 1) pkg_check_modules( PULSEAUDIO REQUIRED libpulse-mainloop-glib>=${PULSE_AUDIO_REQUIRED_VERSION} glib-2.0>=${GLIB_2_0_REQUIRED_VERSION} gio-unix-2.0>=${GIO_2_0_REQUIRED_VERSION} - url-dispatcher-1>=${URL_DISPATCHER_1_REQUIRED_VERSION} ) include_directories(${PULSEAUDIO_INCLUDE_DIRS}) +set(URL_DISPATCHER_1_REQUIRED_VERSION 1) + +pkg_check_modules( + URLDISPATCHER + url-dispatcher-1>=${URL_DISPATCHER_1_REQUIRED_VERSION} +) +include_directories(${URLDISPATCHER_INCLUDE_DIRS}) + pkg_check_modules( SOUNDSERVICE REQUIRED gee-0.8 @@ -48,6 +54,8 @@ pkg_check_modules( ) include_directories(${SOUNDSERVICE_INCLUDE_DIRS}) +pkg_check_modules(UNITY_API libunity-api>=0.1.3) + pkg_check_modules( TEST REQUIRED dbustest-1>=15.04.0 diff --git a/data/50-com.canonical.indicator.sound.AccountsService.pkla b/data/50-com.canonical.indicator.sound.AccountsService.pkla deleted file mode 100644 index bbcca1e..0000000 --- a/data/50-com.canonical.indicator.sound.AccountsService.pkla +++ /dev/null @@ -1,6 +0,0 @@ -[Allow LightDM to set Unity AccountsService fields] -Identity=unix-user:lightdm -Action=com.canonical.indicator.sound.AccountsService.ModifyAnyUser -ResultActive=yes -ResultInactive=yes -ResultAny=yes diff --git a/data/50-org.ayatana.indicator.sound.AccountsService.pkla b/data/50-org.ayatana.indicator.sound.AccountsService.pkla new file mode 100644 index 0000000..c1da70f --- /dev/null +++ b/data/50-org.ayatana.indicator.sound.AccountsService.pkla @@ -0,0 +1,6 @@ +[Allow LightDM to set AccountsService fields] +Identity=unix-user:lightdm +Action=org.ayatana.indicator.sound.AccountsService.ModifyAnyUser +ResultActive=yes +ResultInactive=yes +ResultAny=yes diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 8e0ba0d..270e00d 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -7,12 +7,12 @@ find_package(GSettings) set( INDICATOR_DIR - "${CMAKE_INSTALL_DATADIR}/unity/indicators" - CACHE FILEPATH "Indicator directory" + "${CMAKE_INSTALL_DATADIR}/ayatana/indicators" + CACHE FILEPATH "Ayatana Indicators Directory" ) install( - FILES "com.canonical.indicator.sound" + FILES "org.ayatana.indicator.sound" DESTINATION "${INDICATOR_DIR}" ) @@ -21,9 +21,7 @@ install( ########################### # where to install -# Uncomment when we drop Vivid -# pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir) -set (SYSTEMD_USER_DIR "/usr/lib/systemd/user") +pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir) message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir") set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service") @@ -54,11 +52,11 @@ install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.override" set( INDICATOR_SOUND_CONF - "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound.conf" + "${CMAKE_CURRENT_BINARY_DIR}/ayatana-indicator-sound.conf" ) configure_file( - "indicator-sound.conf.in" + "ayatana-indicator-sound.conf.in" ${INDICATOR_SOUND_CONF} @ONLY ) @@ -72,7 +70,7 @@ install( # GSettings ########################### -add_schema ("com.canonical.indicator.sound.gschema.xml") +add_schema ("org.ayatana.indicator.sound.gschema.xml") ########################### # Accounts Service @@ -84,24 +82,20 @@ set(POLKIT_DATA_DIR "${CMAKE_INSTALL_PREFIX}/share/polkit-1") set(DBUS_IFACE_DIR "${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces") set(ACCOUNTS_IFACE_DIR "${CMAKE_INSTALL_PREFIX}/share/accountsservice/interfaces") -install(FILES com.canonical.indicator.sound.AccountsService.xml +install(FILES org.ayatana.indicator.sound.AccountsService.xml DESTINATION "${DBUS_IFACE_DIR}" ) # Create accountsservice symlink for above dbus interface install(CODE " execute_process(COMMAND mkdir -p \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\") - execute_process(COMMAND ln -sf ../../dbus-1/interfaces/com.canonical.indicator.sound.AccountsService.xml \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\") + execute_process(COMMAND ln -sf ../../dbus-1/interfaces/org.ayatana.indicator.sound.AccountsService.xml \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\") ") -install(FILES com.canonical.indicator.sound.AccountsService.policy +install(FILES org.ayatana.indicator.sound.AccountsService.policy DESTINATION "${POLKIT_DATA_DIR}/actions" ) -install(FILES 50-com.canonical.indicator.sound.AccountsService.pkla +install(FILES 50-org.ayatana.indicator.sound.AccountsService.pkla DESTINATION "${POLKIT_LIB_DIR}/localauthority/10-vendor.d" ) - - - - diff --git a/data/ayatana-indicator-sound.conf.in b/data/ayatana-indicator-sound.conf.in new file mode 100644 index 0000000..827b252 --- /dev/null +++ b/data/ayatana-indicator-sound.conf.in @@ -0,0 +1,9 @@ +description "Ayatana Indicator Sound Service" + +start on ayatana-indicator-services-start +stop on desktop-end or ayatana-indicator-services-end + +respawn +respawn limit 30 10 + +exec $SNAP@CMAKE_INSTALL_FULL_LIBEXECDIR@/ayatana-indicator-sound/ayatana-indicator-sound-service diff --git a/data/indicator-sound.override b/data/ayatana-indicator-sound.override index 2905494..2905494 100644 --- a/data/indicator-sound.override +++ b/data/ayatana-indicator-sound.override diff --git a/data/ayatana-indicator-sound.service.in b/data/ayatana-indicator-sound.service.in new file mode 100644 index 0000000..afb6b28 --- /dev/null +++ b/data/ayatana-indicator-sound.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Ayatana Indicator Sound Service +PartOf=graphical-session.target +After=ayatana-indicators-pre.target + +[Service] +ExecStart=@CMAKE_INSTALL_FULL_LIBEXECDIR@/ayatana-indicator-sound/ayatana-indicator-sound-service +Restart=on-failure diff --git a/data/com.canonical.indicator.sound b/data/com.canonical.indicator.sound deleted file mode 100644 index ae31770..0000000 --- a/data/com.canonical.indicator.sound +++ /dev/null @@ -1,23 +0,0 @@ -[Indicator Service] -Name=indicator-sound -ObjectPath=/com/canonical/indicator/sound -Position=30 - -[desktop] -ObjectPath=/com/canonical/indicator/sound/desktop - -[phone] -ObjectPath=/com/canonical/indicator/sound/phone - -[desktop_greeter] -ObjectPath=/com/canonical/indicator/sound/desktop_greeter - -[desktop_lockscreen] -ObjectPath=/com/canonical/indicator/sound/desktop_greeter - -[ubiquity] -ObjectPath=/com/canonical/indicator/sound/desktop_greeter - -[phone_greeter] -ObjectPath=/com/canonical/indicator/sound/phone_greeter - diff --git a/data/indicator-sound.conf.in b/data/indicator-sound.conf.in deleted file mode 100644 index eb5f6a1..0000000 --- a/data/indicator-sound.conf.in +++ /dev/null @@ -1,9 +0,0 @@ -description "Indicator Sound Service" - -start on indicator-services-start -stop on desktop-end or indicator-services-end - -respawn -respawn limit 30 10 - -exec $SNAP@CMAKE_INSTALL_FULL_LIBEXECDIR@/indicator-sound/indicator-sound-service diff --git a/data/indicator-sound.service.in b/data/indicator-sound.service.in deleted file mode 100644 index d0f6216..0000000 --- a/data/indicator-sound.service.in +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Indicator Sound Service -PartOf=graphical-session.target -After=indicators-pre.target - -[Service] -ExecStart=@CMAKE_INSTALL_FULL_LIBEXECDIR@/indicator-sound/indicator-sound-service -Restart=on-failure diff --git a/data/org.ayatana.indicator.sound b/data/org.ayatana.indicator.sound new file mode 100644 index 0000000..f57d9d6 --- /dev/null +++ b/data/org.ayatana.indicator.sound @@ -0,0 +1,22 @@ +[Indicator Service] +Name=indicator-sound +ObjectPath=/org/ayatana/indicator/sound +Position=30 + +[desktop] +ObjectPath=/org/ayatana/indicator/sound/desktop + +[phone] +ObjectPath=/org/ayatana/indicator/sound/phone + +[desktop_greeter] +ObjectPath=/org/ayatana/indicator/sound/desktop_greeter + +[desktop_lockscreen] +ObjectPath=/org/ayatana/indicator/sound/desktop_greeter + +[ubiquity] +ObjectPath=/org/ayatana/indicator/sound/desktop_greeter + +[phone_greeter] +ObjectPath=/org/ayatana/indicator/sound/phone_greeter diff --git a/data/com.canonical.indicator.sound.AccountsService.policy b/data/org.ayatana.indicator.sound.AccountsService.policy index 4d0ee75..28e15c1 100644 --- a/data/com.canonical.indicator.sound.AccountsService.policy +++ b/data/org.ayatana.indicator.sound.AccountsService.policy @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <policyconfig> - <action id="com.canonical.indicator.sound.AccountsService.ModifyOwnUser"> + <action id="org.ayatana.indicator.sound.AccountsService.ModifyOwnUser"> <description>Set properties of own user</description> <message>Authentication is required to set one's own indicator sound properties.</message> <defaults> @@ -11,7 +11,7 @@ </defaults> </action> - <action id="com.canonical.indicator.sound.AccountsService.ModifyAnyUser"> + <action id="org.ayatana.indicator.sound.AccountsService.ModifyAnyUser"> <description>Set properties of any user</description> <message>Authentication is required to set another user's indicator sound properties.</message> <defaults> diff --git a/data/com.canonical.indicator.sound.AccountsService.xml b/data/org.ayatana.indicator.sound.AccountsService.xml index fb7e96f..7a8c2bd 100644 --- a/data/com.canonical.indicator.sound.AccountsService.xml +++ b/data/org.ayatana.indicator.sound.AccountsService.xml @@ -1,16 +1,16 @@ <node> - <interface name="com.canonical.indicator.sound.AccountsService"> + <interface name="org.ayatana.indicator.sound.AccountsService"> <annotation name="org.freedesktop.Accounts.VendorExtension" value="true"/> <annotation name="org.freedesktop.Accounts.Authentication.ChangeOwn" - value="com.canonical.indicator.sound.AccountsService.ModifyOwnUser"/> + value="org.ayatana.indicator.sound.AccountsService.ModifyOwnUser"/> <annotation name="org.freedesktop.Accounts.Authentication.ReadAny" - value="com.canonical.indicator.sound.AccountsService.ModifyAnyUser"/> + value="org.ayatana.indicator.sound.AccountsService.ModifyAnyUser"/> <annotation name="org.freedesktop.Accounts.Authentication.ChangeAny" - value="com.canonical.indicator.sound.AccountsService.ModifyAnyUser"/> + value="org.ayatana.indicator.sound.AccountsService.ModifyAnyUser"/> <property name="Timestamp" type="t" access="readwrite"> <annotation name="org.freedesktop.Accounts.DefaultValue" value="0"/> diff --git a/data/com.canonical.indicator.sound.gschema.xml b/data/org.ayatana.indicator.sound.gschema.xml index 06bfe74..5255358 100644 --- a/data/com.canonical.indicator.sound.gschema.xml +++ b/data/org.ayatana.indicator.sound.gschema.xml @@ -1,5 +1,5 @@ <schemalist> - <schema id="com.canonical.indicator.sound" path="/com/canonical/indicator/sound/" gettext-domain="indicator-sound"> + <schema id="org.ayatana.indicator.sound" path="/org/ayatana/indicator/sound/" gettext-domain="ayatana-indicator-sound"> <key name="blacklisted-media-players" type="as"> <summary>A list of applications blacklisted from the sound menu</summary> <default>[]</default> @@ -32,6 +32,10 @@ On start up volume should not be muted. </description> </key> + <key type="b" name="allow-amplified-volume"> + <default>false</default> + <summary>Whether the volume slider allows setting the volume above 100%</summary> + </key> <key name="visible" type="b"> <default>true</default> <summary>Whether or not to show the sound indicator in the menu bar.</summary> diff --git a/data/org.ayatana.sound.gschema.xml b/data/org.ayatana.sound.gschema.xml new file mode 100644 index 0000000..8c3bd73 --- /dev/null +++ b/data/org.ayatana.sound.gschema.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schemalist gettext-domain="ayatana-indicator-sound"> + <schema path="/org/ayatana/sound/" id="org.ayatana.sound"> + <key type="b" name="allow-amplified-volume"> + <default>false</default> + <summary>Whether the volume slider allows setting the volume above 100%</summary> + </key> + </schema> +</schemalist> diff --git a/debian/changelog b/debian/changelog index 770b808..9488d81 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ayatana-indicator-sound (0.9.0-0) UNRELEASED; urgency=medium + + * Fork from Ubuntu's indicator-sound. + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sun, 06 May 2017 00:14:32 +0200 + indicator-sound (12.10.2+17.04.20170328.1-0ubuntu1) zesty; urgency=medium * Disable integration tests when running under jenkins environment for diff --git a/debian/control b/debian/control index c3ef716..f01d808 100644 --- a/debian/control +++ b/debian/control @@ -1,19 +1,19 @@ -Source: indicator-sound +Source: ayatana-indicator-sound Section: sound Priority: extra -Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com> -XSBC-Original-Maintainer: Conor Curran <conor.curran@canonical.com> +Maintainer: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Build-Depends: debhelper (>= 9.0), cmake, cmake-extras (>= 0.10), dbus, dbus-test-runner (>> 14.04.0+14.04.20150120.1), - dh-translations, gcovr, gir1.2-accountsservice-1.0, - gnome-common, + mate-common, + gsettings-ubuntu-schemas | mate-common, + liburl-dispatcher-dev | mate-common, + libunity-api-dev | mate-common, googletest | google-mock (>= 1.6.0+svn437), - gsettings-ubuntu-schemas, intltool, autotools-dev, valac (>= 0.20), @@ -24,9 +24,7 @@ Build-Depends: debhelper (>= 9.0), libglib2.0-dev (>= 2.32.0), libqtdbusmock1-dev (>= 0.3), libqtdbustest1-dev, - libunity-api-dev, - liburl-dispatcher1-dev, - libpulse-dev (>= 1:4.0-0ubuntu21), + libpulse-dev (>= 5.0), libpulse-mainloop-glib0 (>= 0.9.18), libnotify-dev, libgee-0.8-dev, @@ -39,25 +37,20 @@ Build-Depends: debhelper (>= 9.0), qtdeclarative5-dev, qtdeclarative5-dev-tools, systemd, -Standards-Version: 3.9.4 -Homepage: https://launchpad.net/indicator-sound -# If you aren't a member of ~indicator-applet-developers but need to upload -# packaging changes, just go ahead. ~indicator-applet-developers will notice -# and sync up the code again. -Vcs-Bzr: https://code.launchpad.net/~indicator-applet-developers/indicator-sound/trunk.13.04 -Vcs-Browser: https://bazaar.launchpad.net/~indicator-applet-developers/indicator-sound/trunk.13.04/files +Standards-Version: 3.9.8 +Homepage: https://github.com/ArcticaProject/ayatana-indicator-sound +Vcs-Git: git://cgit.arctica-project.org/ayatana/ayatana-indicator-sound.git +Vcs-Browser: https://cgit.arctica-project.org/ayatana/ayatana-indicator-sound.git/ -Package: indicator-sound +Package: ayatana-indicator-sound Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, pulseaudio, - gsettings-ubuntu-schemas (>= 0.0.1+14.04.20140224), - indicator-common, + ayatana-indicator-common, Recommends: unity-control-center | gnome-control-center | ubuntu-system-settings | pavucontrol | mate-media, accountsservice, Suggests: unity-greeter-session-broadcast, -Description: System sound indicator. - System sound indicator which provides easy control of the PulseAudio sound - daemon. - +Description: Ayatana Indicator for managing system sound + Ayatana Indicator Sound that provides easy control of the PulseAudio + sound daemon. diff --git a/debian/indicator-sound-crashdb.conf b/debian/indicator-sound-crashdb.conf deleted file mode 100644 index 42e04f7..0000000 --- a/debian/indicator-sound-crashdb.conf +++ /dev/null @@ -1,6 +0,0 @@ - -indicator_sound = { - 'impl': 'launchpad', - 'project': 'indicator-sound', - 'bug_pattern_base': None, -} diff --git a/debian/indicator-sound.maintscript b/debian/indicator-sound.maintscript deleted file mode 100644 index 655b925..0000000 --- a/debian/indicator-sound.maintscript +++ /dev/null @@ -1 +0,0 @@ -rm_conffile /etc/xdg/autostart/indicator-sound.desktop 12.10.2+17.04.20170208-0ubuntu1~ diff --git a/debian/patches/README b/debian/patches/README new file mode 100644 index 0000000..80c1584 --- /dev/null +++ b/debian/patches/README @@ -0,0 +1,3 @@ +0xxx: Grabbed from upstream development. +1xxx: Possibly relevant for upstream adoption. +2xxx: Only relevant for official Debian release. diff --git a/debian/rules b/debian/rules index 7e4e4ef..0cc5145 100755 --- a/debian/rules +++ b/debian/rules @@ -3,7 +3,7 @@ export DPKG_GENSYMBOLS_CHECK_LEVEL=4 %: - dh $@ --parallel --fail-missing --with translations + dh $@ --parallel --fail-missing override_dh_auto_configure: # Debian defines CMAKE_INSTALL_LOCALSTATEDIR as /usr/var, which is wrong. @@ -11,10 +11,6 @@ override_dh_auto_configure: dh_auto_configure -- -DCMAKE_INSTALL_LOCALSTATEDIR="/var" override_dh_install: - mkdir -p debian/indicator-sound/usr/share/apport/package-hooks/ - install -m 644 debian/source_indicator-sound.py debian/indicator-sound/usr/share/apport/package-hooks/ - mkdir -p debian/indicator-sound/etc/apport/crashdb.conf.d/ - install -m 644 debian/indicator-sound-crashdb.conf debian/indicator-sound/etc/apport/crashdb.conf.d/ dh_install --fail-missing # For live test logs: diff --git a/debian/source_indicator-sound.py b/debian/source_indicator-sound.py deleted file mode 100644 index 90e8f4f..0000000 --- a/debian/source_indicator-sound.py +++ /dev/null @@ -1,16 +0,0 @@ -import os.path -from apport.hookutils import * - -def attach_command_output(report, command_list, key): - log = command_output(command_list) - if not log or log[:5] == "Error": - return - report[key] = log - -def add_info(report): - if not apport.packaging.is_distro_package(report['Package'].split()[0]): - report['ThirdParty'] = 'True' - report['CrashDB'] = 'indicator_sound' - - if not 'StackTrace' in report: - attach_command_output(report, ['gdbus', 'call', '--session', '--dest', 'com.canonical.indicator.sound', '--object-path', '/com/canonical/indicator/sound', '--method', 'org.gtk.Actions.DescribeAll'], 'ActionStates') diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc new file mode 100644 index 0000000..969a543 --- /dev/null +++ b/debian/upstream/signing-key.asc @@ -0,0 +1,180 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +ZRs60sdFXk+ppSLNlHSlhfuJ3DW3sv8/07s01FFbDqt0fGj/GhoYTbrv5KGT8/bp +rdPPYTlmRP4m9JHWTNtTUtBOdvbJ3EvQOgVcyJW+eC0a93yms6gZ1pEoxTlu45yb +N+QfM+ZdyRpgtGqboIB1GLM+gw7CHZqqFZJY4LxjIftT0dBP2B7Yn5fPKVfi+Ea0 +i6WCTURMVc7HKdr/7yoFQkahen3CVsM9qJ5HalM0d1UwNOKSedbTOLc6M+xUZyxt +vgfQODwiPEUay3GuL7NW0GuWlHmWVLyPpyfhu65ZKKurn6Q+Z8yJU/f9vEYvt7Tx +kfBXr8WTT7jgvzZJT1+b09I/XiV5RcGvOfXmiJcwtCtNaWtlIEdhYnJpZWwgPG1p +a2UuZ2FicmllbEBtb29ud2VhdmVycy5uZXQ+iQI9BBMBCAAnBQJR/1OyAhsDBQkK +wiSEBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEJr0azAldxsxESsP/2oECQab +zFWAGocjiaOFPmBoJfUm7s3dkNiGTVBAW4P8h/Y+Y70GsMQ2bJXArs/XRpHvono/ +GRyo6FSsqcK67LRI1lw5czIBV5ZPpoeaoLMRqd69nSut5/7+DbyfYE2S9ywmcGsJ +L7uqFEMiMw/v+iiiBTnpwNQwm9pwQKm3Tj2AqacaYteuVu5/vAkD9bJGkDbYVQ5O +v9LXIOUZrxlNOrTUDC4Dq5FbKbV4PKm8q1kWun5V2psQc8biKyLoCumcRpm1Pnxv +LhNzZ67Tje4kYznMhGDKQ+fts+vtuDH2pluiiqqk0lw7qOOuelTzb44SKKgvarrc +7KWSJs4Jzcbi5JaJ1uIDXhJJtAtGItGmoaRUDPk8m25lDyPXE44M8bkzeriPt6pc +8+jFcz96X7BTaRJTkaZKLfQdMlMnmRp4IG+J08aVEsXUfjTMq+RaZOAWYiHaRhB7 +N7Pq/EMGS/RDvT7xPvzBb9ghj3N883IyKC657MBhXT/l6Xxc5PA+yabfCPGKChr+ +ZBp6sW0mt6FudBhvj7lR1wNYAgqxJ+lnyMME47kYwwo60FSCadBthwy+fVqotw9w +6zoD1ztj1z9xwYKnMhXY2WiOvQIKng/RmfqS40or8fNFSMG448J34YqTpSJQ9tN6 +wT2hALTcMNayV09AYm+sWiizrT1eWh7xLJ2ttCVNaWtlIEdhYnJpZWwgPG1pa2Uu +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 +=+XWS +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/watch b/debian/watch index 079f994..86db386 100644 --- a/debian/watch +++ b/debian/watch @@ -1,2 +1,3 @@ version=3 -https://launchpad.net/indicator-sound/+download .*/indicator-sound-([0-9.]+)\.tar\.gz +opts=pgpsigurlmangle=s/$/.asc/ \ +http://releases.arctica-project.org/source/ayatana-indicator-sound/ayatana-indicator-sound-(.+)\.tar\.gz diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 9d74e15..b70ae87 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -1 +1,3 @@ +if(UNITY_API_FOUND) add_subdirectory(unity) +endif()
\ No newline at end of file diff --git a/po/POTFILES.in b/po/POTFILES.in index 24c7e07..4d31e91 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,28 +1,81 @@ -data/org.ayatana.indicator.sound.AccountsService.policy -data/org.ayatana.indicator.sound.AccountsService.xml -data/org.ayatana.indicator.sound.gschema.xml +src/gmenuharness/MatchResult.cpp +src/gmenuharness/MatchUtils.cpp +src/gmenuharness/MenuItemMatcher.cpp +src/gmenuharness/MenuMatcher.cpp +tests/dbus-types/dbus-action-result.cpp +tests/dbus-types/pulseaudio-volume.cpp +tests/integration/indicator-sound-test-base.cpp +tests/integration/main.cpp +tests/integration/test-indicator.cpp +tests/integration/utils/dbus-pulse-volume.cpp +tests/integration/utils/get-volume.cpp +tests/integration/utils/set-volume.cpp +tests/pa-mock.cpp +tests/service-mocks/DBusPropertiesNotifier.cpp +tests/service-mocks/accounts-mock/AccountsMock.cpp +tests/service-mocks/accounts-mock/AccountsServiceSoundMock.cpp +tests/service-mocks/accounts-mock/main.cpp +tests/service-mocks/media-player-mpris-mock/MediaPlayerMprisMock.cpp +tests/service-mocks/media-player-mpris-mock/main.cpp +tests/service-mocks/media-player-mpris-mock/player-update.cpp +tests/accounts-service-user.cc +tests/greeter-list.cc +tests/indicator-test.cc +tests/media-player-user.cc +tests/name-watch-test.cc +tests/notifications-test.cc +tests/sound-menu.cc +tests/volume-control-test.cc +src/accounts-service-access.vala +src/accounts-service-privacy-settings.vala src/accounts-service-sound-settings.vala -src/volume-control-pulse.vala -src/mpris2-interfaces.vala -src/info-notification.vala -src/options.vala -src/media-player.vala -src/media-player-mpris.vala -src/volume-control.vala -src/freedesktop-interfaces.vala src/accounts-service-system-sound-settings.vala -src/media-player-list-mpris.vala src/accounts-service-user.vala -src/volume-warning-pulse.vala -src/options-gsettings.vala -src/media-player-user.vala -src/media-player-list.vala -src/warn-notification.vala -src/volume-warning.vala -src/sound-menu.vala -src/notification.vala +src/freedesktop-interfaces.vala src/greeter-broadcast.vala -src/accounts-service-access.vala +src/info-notification.vala src/media-player-list-greeter.vala -src/accounts-service-privacy-settings.vala +src/media-player-list-mpris.vala +src/media-player-list.vala +src/media-player-mpris.vala +src/media-player-user.vala +src/media-player.vala +src/mpris2-interfaces.vala +src/notification.vala +src/options-gsettings.vala +src/options.vala src/service.vala +src/sound-menu.vala +src/volume-control-pulse.vala +src/volume-control.vala +src/volume-warning-pulse.vala +src/volume-warning.vala +src/warn-notification.vala +tests/media-player-list-mock.vala +tests/media-player-mock.vala +tests/options-mock.vala +tests/volume-control-mock.vala +tests/volume-warning-mock.vala +src/bus-watch-namespace.c +src/main.c +include/unity/gmenuharness/MatchResult.h +include/unity/gmenuharness/MatchUtils.h +include/unity/gmenuharness/MenuItemMatcher.h +include/unity/gmenuharness/MenuMatcher.h +src/bus-watch-namespace.h +src/voip-input-menu-item.h +tests/accounts-service-mock.h +tests/dbus-types/dbus-action-result.h +tests/dbus-types/dbus-types.h +tests/dbus-types/pulseaudio-volume.h +tests/gtest-gvariant.h +tests/indicator-fixture.h +tests/integration/indicator-sound-test-base.h +tests/integration/utils/dbus-pulse-volume.h +tests/notifications-mock.h +tests/service-mocks/DBusPropertiesNotifier.h +tests/service-mocks/accounts-mock/AccountsDefs.h +tests/service-mocks/accounts-mock/AccountsMock.h +tests/service-mocks/accounts-mock/AccountsServiceSoundMock.h +tests/service-mocks/media-player-mpris-mock/MediaPlayerMprisDefs.h +tests/service-mocks/media-player-mpris-mock/MediaPlayerMprisMock.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0475ff3..cf17fec 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,6 +7,10 @@ set(HEADER_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.h") set(SYMBOLS_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.def") set(VAPI_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.vapi") +if(EXISTS "/usr/share/glib-2.0/schemas/com.ubuntu.sound.gschema.xml") + add_definisions( -DHAS_UBUNTU_SOUND_SCHEMA ) +endif() + vapi_gen(accounts-service LIBRARY accounts-service @@ -16,7 +20,7 @@ vapi_gen(accounts-service /usr/share/gir-1.0/AccountsService-1.0.gir ) -vala_init(indicator-sound-service +vala_init(ayatana-indicator-sound-service DEPENDS accounts-service PACKAGES @@ -35,26 +39,25 @@ vala_init(indicator-sound-service --target-glib=${GLIB_2_0_REQUIRED_VERSION} --vapidir=${CMAKE_SOURCE_DIR}/vapi/ --vapidir=. - --pkg=url-dispatcher --pkg=bus-watcher ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service notification.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service info-notification.vala DEPENDS notification volume-control options ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service warn-notification.vala DEPENDS notification ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service service.vala DEPENDS sound-menu @@ -71,14 +74,14 @@ vala_add(indicator-sound-service accounts-service-user accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service options.vala DEPENDS volume-control volume-control-pulse accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service options-gsettings.vala DEPENDS options @@ -86,24 +89,24 @@ vala_add(indicator-sound-service volume-control accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service volume-control.vala DEPENDS options volume-control-pulse accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service accounts-service-access.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service volume-control-pulse.vala DEPENDS accounts-service-access options volume-control ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service volume-warning.vala DEPENDS options @@ -113,7 +116,7 @@ vala_add(indicator-sound-service notification accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service volume-warning-pulse.vala DEPENDS volume-warning @@ -124,28 +127,40 @@ vala_add(indicator-sound-service notification accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service media-player.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service media-player-mpris.vala DEPENDS media-player mpris2-interfaces ) -vala_add(indicator-sound-service - media-player-user.vala - DEPENDS - media-player - accounts-service-sound-settings - greeter-broadcast -) -vala_add(indicator-sound-service +if(URLDISPATCHER_FOUND) + vala_add(ayatana-indicator-sound-service + media-player-user.vala + DEPENDS + media-player + accounts-service-sound-settings + greeter-broadcast + OPTIONS + --pkg=url-dispatcher + ) +else() + vala_add(ayatana-indicator-sound-service + media-player-user.vala + DEPENDS + media-player + accounts-service-sound-settings + greeter-broadcast + ) +endif() +vala_add(ayatana-indicator-sound-service media-player-list.vala DEPENDS media-player ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service media-player-list-mpris.vala DEPENDS media-player-list @@ -153,20 +168,20 @@ vala_add(indicator-sound-service media-player-mpris mpris2-interfaces ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service media-player-list-greeter.vala DEPENDS media-player-list media-player-user media-player ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service mpris2-interfaces.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service freedesktop-interfaces.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service sound-menu.vala DEPENDS media-player @@ -175,7 +190,7 @@ vala_add(indicator-sound-service volume-control-pulse accounts-service-access ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service accounts-service-user.vala DEPENDS media-player @@ -185,20 +200,20 @@ vala_add(indicator-sound-service accounts-service-system-sound-settings greeter-broadcast ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service accounts-service-sound-settings.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service accounts-service-privacy-settings.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service accounts-service-system-sound-settings.vala ) -vala_add(indicator-sound-service +vala_add(ayatana-indicator-sound-service greeter-broadcast.vala ) -vala_finish(indicator-sound-service +vala_finish(ayatana-indicator-sound-service SOURCES project_VALA_SOURCES OUTPUTS @@ -231,7 +246,7 @@ set( add_definitions( -w - -DG_LOG_DOMAIN="indicator-sound" + -DG_LOG_DOMAIN="ayatana-indicator-sound" ) add_library( @@ -259,7 +274,7 @@ add_executable( set_target_properties( indicator-sound-service-bin PROPERTIES - OUTPUT_NAME "indicator-sound-service" + OUTPUT_NAME "ayatana-indicator-sound-service" ) target_link_libraries( @@ -274,10 +289,12 @@ target_link_libraries( install( TARGETS indicator-sound-service-bin - RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/indicator-sound/ + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/ayatana-indicator-sound/ ) +if(UNITY_API_FOUND) add_subdirectory(gmenuharness) +endif() # coverage reporting set(COVERAGE_TARGETS diff --git a/src/accounts-service-access.vala b/src/accounts-service-access.vala index 2c73922..9d8b6ae 100644 --- a/src/accounts-service-access.vala +++ b/src/accounts-service-access.vala @@ -22,7 +22,7 @@ using PulseAudio; using Notify; using Gee; -[DBus (name="com.canonical.UnityGreeter.List")] +[DBus (name="org.ayatana.Greeter.List")] interface GreeterListInterfaceAccess : Object { public abstract async string get_active_entry () throws IOError; @@ -178,7 +178,7 @@ public class AccountsServiceAccess : Object { if (Environment.get_variable ("XDG_SESSION_CLASS") == "greeter") { try { - _greeter_proxy = yield Bus.get_proxy (BusType.SESSION, "com.canonical.UnityGreeter", "/list"); + _greeter_proxy = yield Bus.get_proxy (BusType.SESSION, "org.ayatana.Greeter", "/list"); } catch (GLib.Error e) { warning ("unable to get greeter proxy: %s", e.message); return; @@ -231,5 +231,3 @@ public class AccountsServiceAccess : Object } } } - - diff --git a/src/accounts-service-privacy-settings.vala b/src/accounts-service-privacy-settings.vala index ef5c309..cf6b267 100644 --- a/src/accounts-service-privacy-settings.vala +++ b/src/accounts-service-privacy-settings.vala @@ -23,4 +23,3 @@ public interface AccountsServicePrivacySettings : Object { public abstract bool stats_welcome_screen {owned get; set;} public abstract bool messages_welcome_screen {owned get; set;} } - diff --git a/src/accounts-service-sound-settings.vala b/src/accounts-service-sound-settings.vala index 7e27bd5..8d81912 100644 --- a/src/accounts-service-sound-settings.vala +++ b/src/accounts-service-sound-settings.vala @@ -17,7 +17,7 @@ * Ted Gould <ted@canonical.com> */ -[DBus (name = "com.canonical.indicator.sound.AccountsService")] +[DBus (name = "org.ayatana.indicator.sound.AccountsService")] public interface AccountsServiceSoundSettings : Object { // properties public abstract uint64 timestamp {owned get; set;} @@ -30,4 +30,3 @@ public interface AccountsServiceSoundSettings : Object { public abstract string album {owned get; set;} public abstract string art_url {owned get; set;} } - diff --git a/src/accounts-service-system-sound-settings.vala b/src/accounts-service-system-sound-settings.vala index 283a606..3b01561 100644 --- a/src/accounts-service-system-sound-settings.vala +++ b/src/accounts-service-system-sound-settings.vala @@ -22,4 +22,3 @@ public interface AccountsServiceSystemSoundSettings : Object { // properties public abstract bool silent_mode {owned get; set;} } - diff --git a/src/accounts-service-user.vala b/src/accounts-service-user.vala index 1f9dcce..535f6c7 100644 --- a/src/accounts-service-user.vala +++ b/src/accounts-service-user.vala @@ -121,8 +121,8 @@ public class AccountsServiceUser : Object { Bus.get_proxy.begin<GreeterBroadcast> ( BusType.SYSTEM, - "com.canonical.Unity.Greeter.Broadcast", - "/com/canonical/Unity/Greeter/Broadcast", + "org.ayatana.Desktop.Greeter.Broadcast", + "/org/ayatana/Desktop/Greeter/Broadcast", DBusProxyFlags.NONE, null, greeter_proxy_new); diff --git a/src/freedesktop-interfaces.vala b/src/freedesktop-interfaces.vala index 4d75044..b74f52b 100644 --- a/src/freedesktop-interfaces.vala +++ b/src/freedesktop-interfaces.vala @@ -43,5 +43,3 @@ public errordomain XmlError { const string FREEDESKTOP_SERVICE = "org.freedesktop.DBus"; const string FREEDESKTOP_OBJECT = "/org/freedesktop/DBus"; - - diff --git a/src/gmenuharness/CMakeLists.txt b/src/gmenuharness/CMakeLists.txt index ca9d4dc..761949b 100644 --- a/src/gmenuharness/CMakeLists.txt +++ b/src/gmenuharness/CMakeLists.txt @@ -1,4 +1,3 @@ -pkg_check_modules(UNITY_API libunity-api>=0.1.3 REQUIRED) include_directories(${UNITY_API_INCLUDE_DIRS}) include_directories("${CMAKE_SOURCE_DIR}/include") diff --git a/src/gmenuharness/MatchResult.cpp b/src/gmenuharness/MatchResult.cpp index 40629aa..158e1fd 100644 --- a/src/gmenuharness/MatchResult.cpp +++ b/src/gmenuharness/MatchResult.cpp @@ -16,7 +16,7 @@ * Authored by: Pete Woods <pete.woods@canonical.com> */ -#include <unity/gmenuharness/MatchResult.h> +#include <desktop/gmenuharness/MatchResult.h> #include <chrono> #include <map> diff --git a/src/gmenuharness/MatchUtils.cpp b/src/gmenuharness/MatchUtils.cpp index 7b87a25..1eeaf52 100644 --- a/src/gmenuharness/MatchUtils.cpp +++ b/src/gmenuharness/MatchUtils.cpp @@ -16,9 +16,9 @@ * Authored by: Pete Woods <pete.woods@canonical.com> */ -#include <unity/gmenuharness/MatchUtils.h> +#include <desktop/gmenuharness/MatchUtils.h> -#include <unity/util/ResourcePtr.h> +#include <desktop/util/ResourcePtr.h> using namespace std; namespace util = unity::util; diff --git a/src/gmenuharness/MenuItemMatcher.cpp b/src/gmenuharness/MenuItemMatcher.cpp index f39acef..4e9f98e 100644 --- a/src/gmenuharness/MenuItemMatcher.cpp +++ b/src/gmenuharness/MenuItemMatcher.cpp @@ -16,9 +16,9 @@ * Authored by: Pete Woods <pete.woods@canonical.com> */ -#include <unity/gmenuharness/MatchResult.h> -#include <unity/gmenuharness/MatchUtils.h> -#include <unity/gmenuharness/MenuItemMatcher.h> +#include <desktop/gmenuharness/MatchResult.h> +#include <desktop/gmenuharness/MatchUtils.h> +#include <desktop/gmenuharness/MenuItemMatcher.h> #include <iostream> #include <vector> diff --git a/src/gmenuharness/MenuMatcher.cpp b/src/gmenuharness/MenuMatcher.cpp index 5bb4fbd..7b32068 100644 --- a/src/gmenuharness/MenuMatcher.cpp +++ b/src/gmenuharness/MenuMatcher.cpp @@ -16,8 +16,8 @@ * Authored by: Pete Woods <pete.woods@canonical.com> */ -#include <unity/gmenuharness/MenuMatcher.h> -#include <unity/gmenuharness/MatchUtils.h> +#include <desktop/gmenuharness/MenuMatcher.h> +#include <desktop/gmenuharness/MatchUtils.h> #include <iostream> diff --git a/src/greeter-broadcast.vala b/src/greeter-broadcast.vala index f3d380e..41caed8 100644 --- a/src/greeter-broadcast.vala +++ b/src/greeter-broadcast.vala @@ -17,7 +17,7 @@ * Ted Gould <ted@canonical.com> */ -[DBus (name = "com.canonical.Unity.Greeter.Broadcast")] +[DBus (name = "org.ayatana.Desktop.Greeter.Broadcast")] public interface GreeterBroadcast : Object { // methods // unused public abstract async void RequestApplicationStart(string name, string appid) throws IOError; diff --git a/src/info-notification.vala b/src/info-notification.vala index 2ce8ef6..84987dc 100644 --- a/src/info-notification.vala +++ b/src/info-notification.vala @@ -120,4 +120,3 @@ public class IndicatorSound.InfoNotification: Notification } } } - @@ -90,10 +90,10 @@ main (int argc, char ** argv) g_unix_signal_add(SIGTERM, sigterm_handler, loop); /* Initialize libnotify */ - notify_init ("indicator-sound"); + notify_init ("ayatana-indicator-sound"); g_bus_own_name(G_BUS_TYPE_SESSION, - "com.canonical.indicator.sound", + "org.ayatana.indicator.sound", G_BUS_NAME_OWNER_FLAGS_NONE, on_bus_acquired, NULL, /* name acquired */ @@ -110,4 +110,3 @@ main (int argc, char ** argv) return 0; } - diff --git a/src/media-player-list-greeter.vala b/src/media-player-list-greeter.vala index 3059946..6cd5c3f 100644 --- a/src/media-player-list-greeter.vala +++ b/src/media-player-list-greeter.vala @@ -17,21 +17,21 @@ * Ted Gould <ted@canonical.com> */ -[DBus (name="com.canonical.UnityGreeter.List")] -public interface UnityGreeterList : Object { +[DBus (name="org.ayatana.Greeter.List")] +public interface AyatanaGreeterList : Object { public abstract async string get_active_entry () throws IOError; public signal void entry_selected (string entry_name); } public class MediaPlayerListGreeter : MediaPlayerList { string? selected_user = null; - UnityGreeterList? proxy = null; + AyatanaGreeterList? proxy = null; HashTable<string, MediaPlayerUser> players = new HashTable<string, MediaPlayerUser>(str_hash, str_equal); public MediaPlayerListGreeter () { - Bus.get_proxy.begin<UnityGreeterList> ( + Bus.get_proxy.begin<AyatanaGreeterList> ( BusType.SESSION, - "com.canonical.UnityGreeter", + "org.ayatana.Greeter", "/list", DBusProxyFlags.NONE, null, @@ -45,7 +45,7 @@ public class MediaPlayerListGreeter : MediaPlayerList { this.proxy.entry_selected.connect(active_user_changed); this.proxy.get_active_entry.begin ((obj, res) => { try { - var value = (obj as UnityGreeterList).get_active_entry.end(res); + var value = (obj as AyatanaGreeterList).get_active_entry.end(res); active_user_changed(value); } catch (Error e) { warning("Unable to get active entry: %s", e.message); diff --git a/src/media-player-user.vala b/src/media-player-user.vala index 1be1a18..0071b93 100644 --- a/src/media-player-user.vala +++ b/src/media-player-user.vala @@ -49,8 +49,8 @@ public class MediaPlayerUser : MediaPlayer { Bus.get_proxy.begin<GreeterBroadcast> ( BusType.SYSTEM, - "com.canonical.Unity.Greeter.Broadcast", - "/com/canonical/Unity/Greeter/Broadcast", + "org.ayatana.Desktop.Greeter.Broadcast", + "/org/ayatana/Desktop/Greeter/Broadcast", DBusProxyFlags.NONE, null, greeter_proxy_new); diff --git a/src/options-gsettings.vala b/src/options-gsettings.vala index 85fdc66..39d3c83 100644 --- a/src/options-gsettings.vala +++ b/src/options-gsettings.vala @@ -30,9 +30,12 @@ public class IndicatorSound.OptionsGSettings : Options ~OptionsGSettings() { } - private Settings _settings = new Settings ("com.canonical.indicator.sound"); + private Settings _settings = new Settings ("org.ayatana.indicator.sound"); +#if HAS_UBUNTU_SOUND_SETTINGS private Settings _shared_settings = new Settings ("com.ubuntu.sound"); - +#else + private Settings _shared_settings = new Settings ("org.ayatana.sound"); +#endif /** MAX VOLUME PROPERTY **/ private static const string AMP_dB_KEY = "amplified-volume-decibels"; diff --git a/src/service.vala b/src/service.vala index 74c3fc5..4e7d5e9 100644 --- a/src/service.vala +++ b/src/service.vala @@ -42,7 +42,7 @@ public class IndicatorSound.Service: Object { this.update_notification(); }); - this.settings = new Settings ("com.canonical.indicator.sound"); + this.settings = new Settings ("org.ayatana.indicator.sound"); this.settings.bind ("visible", this, "visible", SettingsBindFlags.GET); this.notify["visible"].connect ( () => this.update_root_icon () ); @@ -145,12 +145,12 @@ public class IndicatorSound.Service: Object { /* Everything is built, let's put it on the bus */ try { - export_actions = bus.export_action_group ("/com/canonical/indicator/sound", this.actions); + export_actions = bus.export_action_group ("/org/ayatana/indicator/sound", this.actions); } catch (Error e) { critical ("%s", e.message); } - this.menus.@foreach ( (profile, menu) => menu.export (bus, @"/com/canonical/indicator/sound/$profile")); + this.menus.@foreach ( (profile, menu) => menu.export (bus, @"/org/ayatana/indicator/sound/$profile")); } ~Service() { @@ -191,7 +191,9 @@ public class IndicatorSound.Service: Object { { "root", null, null, "@a{sv} {}", null }, { "scroll", activate_scroll_action, "i", null, null }, { "desktop-settings", activate_desktop_settings, null, null, null }, +#if URLDISPATCHER_FOUND { "phone-settings", activate_phone_settings, null, null, null }, +#endif { "indicator-shown", null, null, "@b false", null }, }; @@ -251,13 +253,15 @@ public class IndicatorSound.Service: Object { unowned string env = Environment.get_variable ("DESKTOP_SESSION"); string cmd; +#if URLDISPATCHER_FOUND if (Environment.get_variable ("MIR_SOCKET") != null) { UrlDispatch.send ("settings:///system/sound"); return; } +#endif - if (env == "xubuntu" || env == "ubuntustudio") + if (env == "xubuntu" || env == "xfce" || env == "ubuntustudio") cmd = "pavucontrol"; else if (env == "mate") cmd = "mate-volume-control"; @@ -273,9 +277,11 @@ public class IndicatorSound.Service: Object { } } +#if URLDISPATCHER_FOUND void activate_phone_settings (SimpleAction action, Variant? param) { UrlDispatch.send ("settings:///system/sound"); } +#endif /* Returns a serialized version of @icon_name suited for the panel */ static Variant serialize_themed_icon (string icon_name) diff --git a/src/sound-menu.vala b/src/sound-menu.vala index 2ef089a..e0a05a1 100644 --- a/src/sound-menu.vala +++ b/src/sound-menu.vala @@ -36,7 +36,7 @@ public class SoundMenu: Object PLAYLIST = 2 } - const string PLAYBACK_ITEM_TYPE = "com.canonical.unity.playback-item"; + const string PLAYBACK_ITEM_TYPE = "org.ayatana.unity.playback-item"; public SoundMenu (string? settings_action, DisplayFlags flags) { /* A sound menu always has at least two sections: the volume section (this.volume_section) @@ -50,7 +50,7 @@ public class SoundMenu: Object volume_section.append (_("Mute"), "indicator.mute"); if ((flags & DisplayFlags.SHOW_SILENT_MODE) != 0) { var item = new MenuItem(_("Silent Mode"), "indicator.silent-mode"); - item.set_attribute("x-canonical-type", "s", "com.canonical.indicator.switch"); + item.set_attribute("x-canonical-type", "s", "org.ayatana.indicator.switch"); volume_section.append_item(item); } @@ -67,7 +67,7 @@ public class SoundMenu: Object } var root_item = new MenuItem (null, "indicator.root"); - root_item.set_attribute ("x-canonical-type", "s", "com.canonical.indicator.root"); + root_item.set_attribute ("x-canonical-type", "s", "org.ayatana.indicator.root"); root_item.set_attribute ("x-canonical-scroll-action", "s", "indicator.scroll"); root_item.set_attribute ("x-canonical-secondary-action", "s", "indicator.mute"); root_item.set_attribute ("submenu-action", "s", "indicator.indicator-shown"); @@ -364,7 +364,7 @@ public class SoundMenu: Object base_action += ".greeter"; var player_item = new MenuItem (player.name, base_action); - player_item.set_attribute ("x-canonical-type", "s", "com.canonical.unity.media-player"); + player_item.set_attribute ("x-canonical-type", "s", "org.ayatana.unity.media-player"); if (icon != null) player_item.set_attribute_value ("icon", icon.serialize ()); section.append_item (player_item); @@ -457,7 +457,7 @@ public class SoundMenu: Object var max_icon = new ThemedIcon.with_default_fallbacks (max_icon_name); var slider = new MenuItem (label, action); - slider.set_attribute ("x-canonical-type", "s", "com.canonical.unity.slider"); + slider.set_attribute ("x-canonical-type", "s", "org.ayatana.unity.slider"); slider.set_attribute_value ("min-icon", min_icon.serialize ()); slider.set_attribute_value ("max-icon", max_icon.serialize ()); slider.set_attribute ("min-value", "d", min); diff --git a/src/volume-control-pulse.vala b/src/volume-control-pulse.vala index 653a1bd..15b2cf0 100644 --- a/src/volume-control-pulse.vala +++ b/src/volume-control-pulse.vala @@ -514,6 +514,7 @@ public class VolumeControlPulse : VolumeControl this.ready = false; } + /* FIXME: Ubuntu Settings Daemon specifics */ var props = new Proplist (); props.sets (Proplist.PROP_APPLICATION_NAME, "Ubuntu Audio Settings"); props.sets (Proplist.PROP_APPLICATION_ID, "com.canonical.settings.sound"); diff --git a/src/volume-warning-pulse.vala b/src/volume-warning-pulse.vala index 2492cef..f7209ee 100644 --- a/src/volume-warning-pulse.vala +++ b/src/volume-warning-pulse.vala @@ -195,6 +195,7 @@ public class VolumeWarningPulse : VolumeWarning void pulse_reconnect () { pulse_disconnect (); + /* FIXME: Unity Settings Daemon specifics */ var props = new Proplist (); props.sets (Proplist.PROP_APPLICATION_NAME, "Ubuntu Audio Settings"); props.sets (Proplist.PROP_APPLICATION_ID, "com.canonical.settings.sound"); diff --git a/src/volume-warning.vala b/src/volume-warning.vala index b1cc518..203cb91 100644 --- a/src/volume-warning.vala +++ b/src/volume-warning.vala @@ -132,7 +132,7 @@ public abstract class VolumeWarning : Object *** HIGH VOLUME APPROVED PROPERTY **/ - private Settings _settings = new Settings ("com.canonical.indicator.sound"); + private Settings _settings = new Settings ("org.ayatana.indicator.sound"); private static const string TTL_KEY = "warning-volume-confirmation-ttl"; private uint _approved_timer = 0; private int64 _approved_at = 0; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index fb9d4b9..a332d0b 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -15,15 +15,20 @@ set_source_files_properties (gschemas.compiled GENERATED) # and help the tests to find that file by setting -DSCHEMA_DIR set (XDG_DATA_DIRS "${CMAKE_CURRENT_BINARY_DIR}/gsettings-schemas") set (SCHEMA_DIR "${XDG_DATA_DIRS}/glib-2.0/schemas") +if (EXISTS /usr/share/glib-2.0/schemas/com.ubuntu.sound.gschema.xml) + set (SOUND_SCHEMA /usr/share/glib-2.0/schemas/com.ubuntu.sound.gschema.xml) +else() + set (SOUND_SCHEMA ${CMAKE_SOURCE_DIR}/data/org.ayatana.sound.gschema.xml) +endif() add_definitions(-DSCHEMA_DIR="${SCHEMA_DIR}") execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} gio-2.0 --variable glib_compile_schemas OUTPUT_VARIABLE COMPILE_SCHEMA_EXECUTABLE OUTPUT_STRIP_TRAILING_WHITESPACE) add_custom_command (OUTPUT gschemas.compiled - DEPENDS ${CMAKE_SOURCE_DIR}/data/com.canonical.indicator.sound.gschema.xml + DEPENDS ${CMAKE_SOURCE_DIR}/data/org.ayatana.indicator.sound.gschema.xml COMMAND mkdir -p ${SCHEMA_DIR} - COMMAND cp -f ${CMAKE_SOURCE_DIR}/data/*gschema.xml ${SCHEMA_DIR} - COMMAND cp -f /usr/share/glib-2.0/schemas/com.ubuntu.sound.gschema.xml ${SCHEMA_DIR} + COMMAND cp -f ${CMAKE_SOURCE_DIR}/data/org.ayatana.indicator.sound.gschema.xml ${SCHEMA_DIR} + COMMAND cp -f ${SOUND_SCHEMA} ${SCHEMA_DIR} COMMAND ${COMPILE_SCHEMA_EXECUTABLE} ${SCHEMA_DIR}) ########################### @@ -265,7 +270,7 @@ add_test(greeter-list-test-iterator ########################### add_definitions( - -DINDICATOR_SOUND_SERVICE_BINARY="${CMAKE_BINARY_DIR}/src/indicator-sound-service" + -DINDICATOR_SOUND_SERVICE_BINARY="${CMAKE_BINARY_DIR}/src/ayatana-indicator-sound-service" -DPA_MOCK_LIB="${CMAKE_CURRENT_BINARY_DIR}/libpulse-mock.so" ) add_executable (indicator-test indicator-test.cc gschemas.compiled) @@ -281,7 +286,9 @@ add_test(indcator-test indicator-test ) +if(UNITY_API_FOUND) add_subdirectory(integration) +endif() add_subdirectory(dbus-types) add_subdirectory(service-mocks) diff --git a/tests/accounts-service-mock.h b/tests/accounts-service-mock.h index 1d0c1fe..5617593 100644 --- a/tests/accounts-service-mock.h +++ b/tests/accounts-service-mock.h @@ -56,7 +56,7 @@ class AccountsServiceMock "UserName", G_VARIANT_TYPE_STRING, g_variant_new_string(g_get_user_name()), NULL); - soundobj = dbus_test_dbus_mock_get_object(mock, "/user", "com.canonical.indicator.sound.AccountsService", NULL); + soundobj = dbus_test_dbus_mock_get_object(mock, "/user", "org.ayatana.indicator.sound.AccountsService", NULL); dbus_test_dbus_mock_object_add_property(mock, soundobj, "Timestamp", G_VARIANT_TYPE_UINT64, g_variant_new_uint64(0), NULL); diff --git a/tests/accounts-service-user.cc b/tests/accounts-service-user.cc index 7110fb3..aca52ea 100644 --- a/tests/accounts-service-user.cc +++ b/tests/accounts-service-user.cc @@ -112,7 +112,7 @@ class AccountsServiceUserTest : public ::testing::Test const gchar * get_property_string (const gchar * name) { GVariant * propval = g_dbus_proxy_call_sync(proxy, "Get", - g_variant_new("(ss)", "com.canonical.indicator.sound.AccountsService", name), + g_variant_new("(ss)", "org.ayatana.indicator.sound.AccountsService", name), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL ); diff --git a/tests/dbus-types/dbus-types.h b/tests/dbus-types/dbus-types.h index ac86027..36143d9 100644 --- a/tests/dbus-types/dbus-types.h +++ b/tests/dbus-types/dbus-types.h @@ -30,7 +30,7 @@ namespace DBusTypes DBusActionResult::registerMetaType(); } - static constexpr char const* DBUS_NAME = "com.canonical.indicator.sound"; + static constexpr char const* DBUS_NAME = "org.ayatana.indicator.sound"; static constexpr char const* DBUS_PULSE = "org.PulseAudio1"; @@ -42,7 +42,7 @@ namespace DBusTypes static constexpr char const* STREAM_RESTORE_ENTRY_NAME = "org.PulseAudio.Ext.StreamRestore1.RestoreEntry"; - static constexpr char const* MAIN_SERVICE_PATH = "/com/canonical/indicator/sound"; + static constexpr char const* MAIN_SERVICE_PATH = "/org/ayatana/indicator/sound"; static constexpr char const* ACTIONS_INTERFACE = "org.gtk.Actions"; diff --git a/tests/indicator-test.cc b/tests/indicator-test.cc index b41a1ab..faa42d0 100644 --- a/tests/indicator-test.cc +++ b/tests/indicator-test.cc @@ -28,7 +28,7 @@ class IndicatorTest : public IndicatorFixture { protected: IndicatorTest (void) : - IndicatorFixture(INDICATOR_SOUND_SERVICE_BINARY, "com.canonical.indicator.sound") + IndicatorFixture(INDICATOR_SOUND_SERVICE_BINARY, "org.ayatana.indicator.sound") { } @@ -65,10 +65,10 @@ protected: TEST_F(IndicatorTest, PhoneMenu) { - setMenu("/com/canonical/indicator/sound/phone"); + setMenu("/org/ayatana/indicator/sound/phone"); EXPECT_EVENTUALLY_MENU_ATTRIB(std::vector<int>({0}), "action", "indicator.root"); - EXPECT_MENU_ATTRIB({0}, "x-canonical-type", "com.canonical.indicator.root"); + EXPECT_MENU_ATTRIB({0}, "x-canonical-type", "org.ayatana.indicator.root"); EXPECT_MENU_ATTRIB({0}, "x-canonical-scroll-action", "indicator.scroll"); EXPECT_MENU_ATTRIB({0}, "x-canonical-secondary-action", "indicator.mute"); @@ -80,10 +80,10 @@ TEST_F(IndicatorTest, PhoneMenu) { } TEST_F(IndicatorTest, DesktopMenu) { - setMenu("/com/canonical/indicator/sound/desktop"); + setMenu("/org/ayatana/indicator/sound/desktop"); EXPECT_MENU_ATTRIB({0}, "action", "indicator.root"); - EXPECT_MENU_ATTRIB({0}, "x-canonical-type", "com.canonical.indicator.root"); + EXPECT_MENU_ATTRIB({0}, "x-canonical-type", "org.ayatana.indicator.root"); EXPECT_MENU_ATTRIB({0}, "x-canonical-scroll-action", "indicator.scroll"); EXPECT_MENU_ATTRIB({0}, "x-canonical-secondary-action", "indicator.mute"); @@ -95,7 +95,7 @@ TEST_F(IndicatorTest, DesktopMenu) { } TEST_F(IndicatorTest, BaseActions) { - setActions("/com/canonical/indicator/sound"); + setActions("/org/ayatana/indicator/sound"); ASSERT_ACTION_EXISTS("root"); ASSERT_ACTION_STATE_TYPE("root", G_VARIANT_TYPE("a{sv}")); diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 0f4a53c..bee5451 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories(${GMOCK_INCLUDE_DIRS}) include_directories("${CMAKE_SOURCE_DIR}/tests/dbus-types") include_directories("${CMAKE_BINARY_DIR}/tests/dbus-types") -add_definitions(-DSOUND_SERVICE_BIN="${CMAKE_BINARY_DIR}/src/indicator-sound-service" +add_definitions(-DSOUND_SERVICE_BIN="${CMAKE_BINARY_DIR}/src/ayatana-indicator-sound-service" -DSTREAM_RESTORE_TABLE="${CMAKE_SOURCE_DIR}/tests/integration/touch-stream-restore.table" -DVOLUME_SET_BIN="${CMAKE_BINARY_DIR}/tests/integration/set-volume" -DACCOUNTS_SERVICE_BIN="${CMAKE_BINARY_DIR}/tests/service-mocks/accounts-mock/accounts-service-sound" diff --git a/tests/integration/indicator-sound-test-base.cpp b/tests/integration/indicator-sound-test-base.cpp index b8608f6..8bf6556 100644 --- a/tests/integration/indicator-sound-test-base.cpp +++ b/tests/integration/indicator-sound-test-base.cpp @@ -160,7 +160,7 @@ bool IndicatorSoundTestBase::clearGSettingsPlayers() clearPlayers.start("gsettings", QStringList() << "set" - << "com.canonical.indicator.sound" + << "org.ayatana.indicator.sound" << "interested-media-players" << "[]"); @@ -385,17 +385,17 @@ void IndicatorSoundTestBase::startIndicator() mh::MenuMatcher::Parameters IndicatorSoundTestBase::desktopParameters() { return mh::MenuMatcher::Parameters( - "com.canonical.indicator.sound", - { { "indicator", "/com/canonical/indicator/sound" } }, - "/com/canonical/indicator/sound/desktop"); + "org.ayatana.indicator.sound", + { { "indicator", "/org/ayatana/indicator/sound" } }, + "/org/ayatana/indicator/sound/desktop"); } mh::MenuMatcher::Parameters IndicatorSoundTestBase::phoneParameters() { return mh::MenuMatcher::Parameters( - "com.canonical.indicator.sound", - { { "indicator", "/com/canonical/indicator/sound" } }, - "/com/canonical/indicator/sound/phone"); + "org.ayatana.indicator.sound", + { { "indicator", "/org/ayatana/indicator/sound" } }, + "/org/ayatana/indicator/sound/phone"); } unity::gmenuharness::MenuItemMatcher IndicatorSoundTestBase::volumeSlider(double volume, QString const &label) @@ -407,7 +407,7 @@ unity::gmenuharness::MenuItemMatcher IndicatorSoundTestBase::volumeSlider(double .double_attribute("min-value", 0.0) .double_attribute("max-value", 1.0) .double_attribute("step", 0.01) - .string_attribute("x-canonical-type", "com.canonical.unity.slider") + .string_attribute("x-canonical-type", "org.ayatana.unity.slider") .themed_icon("max-icon", {"audio-volume-high-panel", "audio-volume-high", "audio-volume", "audio"}) .themed_icon("min-icon", {"audio-volume-low-zero-panel", "audio-volume-low-zero", "audio-volume-low", "audio-volume", "audio"}) .pass_through_double_attribute("action", volume); @@ -421,7 +421,7 @@ unity::gmenuharness::MenuItemMatcher IndicatorSoundTestBase::micSlider(double vo .double_attribute("min-value", 0.0) .double_attribute("max-value", 1.0) .double_attribute("step", 0.01) - .string_attribute("x-canonical-type", "com.canonical.unity.slider") + .string_attribute("x-canonical-type", "org.ayatana.unity.slider") .themed_icon("max-icon", {"audio-input-microphone-high-panel", "audio-input-microphone-high", "audio-input-microphone", "audio-input", "audio"}) .themed_icon("min-icon", {"audio-input-microphone-low-zero-panel", "audio-input-microphone-low-zero", "audio-input-microphone-low", "audio-input-microphone", "audio-input", "audio"}) .pass_through_double_attribute("action", volume); @@ -448,8 +448,8 @@ bool IndicatorSoundTestBase::initializeMenuChangedSignal() { if (!menu_interface_) { - menu_interface_.reset(new MenusInterface("com.canonical.indicator.sound", - "/com/canonical/indicator/sound", + menu_interface_.reset(new MenusInterface("org.ayatana.indicator.sound", + "/org/ayatana/indicator/sound", dbusTestRunner.sessionConnection(), 0)); } if (menu_interface_) @@ -911,7 +911,7 @@ void IndicatorSoundTestBase::checkPortDevicesLabels(DevicePortType speakerPort, EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -936,7 +936,7 @@ void IndicatorSoundTestBase::checkPortDevicesLabels(DevicePortType speakerPort, EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -967,8 +967,8 @@ QVariantList IndicatorSoundTestBase::getActionValue(QString const &action) { if (!menu_interface_) { - menu_interface_.reset(new MenusInterface("com.canonical.indicator.sound", - "/com/canonical/indicator/sound", + menu_interface_.reset(new MenusInterface("org.ayatana.indicator.sound", + "/org/ayatana/indicator/sound", dbusTestRunner.sessionConnection(), 0)); } if (menu_interface_) diff --git a/tests/integration/test-indicator.cpp b/tests/integration/test-indicator.cpp index bb08c40..5e2d918 100644 --- a/tests/integration/test-indicator.cpp +++ b/tests/integration/test-indicator.cpp @@ -51,7 +51,7 @@ TEST_F(TestIndicator, PhoneCheckRootIcon) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -111,7 +111,7 @@ TEST_F(TestIndicator, PhoneTestExternalMicInOut) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -134,7 +134,7 @@ TEST_F(TestIndicator, PhoneTestExternalMicInOut) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -160,7 +160,7 @@ TEST_F(TestIndicator, PhoneTestExternalMicInOut) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -196,7 +196,7 @@ TEST_F(TestIndicator, DesktopTestExternalMicInOut) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -217,7 +217,7 @@ TEST_F(TestIndicator, DesktopTestExternalMicInOut) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -239,7 +239,7 @@ TEST_F(TestIndicator, DesktopTestExternalMicInOut) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -301,7 +301,7 @@ TEST_F(TestIndicator, DISABLED_PhoneChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -318,7 +318,7 @@ TEST_F(TestIndicator, DISABLED_PhoneChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::ends_with) .submenu() @@ -343,7 +343,7 @@ TEST_F(TestIndicator, DISABLED_PhoneChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -360,7 +360,7 @@ TEST_F(TestIndicator, DISABLED_PhoneChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::ends_with) .submenu() @@ -388,7 +388,7 @@ TEST_F(TestIndicator, PhoneBasicInitialVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -423,7 +423,7 @@ TEST_F(TestIndicator, PhoneAddMprisPlayer) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -453,7 +453,7 @@ TEST_F(TestIndicator, PhoneAddMprisPlayer) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -470,13 +470,13 @@ TEST_F(TestIndicator, PhoneAddMprisPlayer) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -507,7 +507,7 @@ TEST_F(TestIndicator, DesktopBasicInitialVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -524,13 +524,13 @@ TEST_F(TestIndicator, DesktopBasicInitialVolume) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -561,7 +561,7 @@ TEST_F(TestIndicator, DesktopAddMprisPlayer) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -578,13 +578,13 @@ TEST_F(TestIndicator, DesktopAddMprisPlayer) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -598,7 +598,7 @@ TEST_F(TestIndicator, DesktopAddMprisPlayer) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -615,11 +615,11 @@ TEST_F(TestIndicator, DesktopAddMprisPlayer) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -650,7 +650,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -667,13 +667,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -688,7 +688,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -705,13 +705,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -720,13 +720,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer2.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer2.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer2.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -741,7 +741,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -758,13 +758,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -773,13 +773,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer2.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer2.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer2.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -788,13 +788,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer3.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer3.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer3.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -809,7 +809,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -826,13 +826,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -841,13 +841,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer2.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer2.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer2.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -856,7 +856,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -870,7 +870,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -887,13 +887,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -902,7 +902,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -911,7 +911,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -926,7 +926,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -943,13 +943,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -958,7 +958,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -967,7 +967,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -982,7 +982,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -999,7 +999,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -1008,7 +1008,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -1017,13 +1017,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer3.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer3.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer3.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1038,7 +1038,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1055,13 +1055,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1070,13 +1070,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer2.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer2.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer2.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1085,13 +1085,13 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer3.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer3.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer3.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1109,7 +1109,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1126,7 +1126,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -1135,7 +1135,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -1144,11 +1144,11 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-play-action","indicator.play.testplayer3.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1169,7 +1169,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1186,11 +1186,11 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer3.desktop") .label("TestPlayer3") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-play-action","indicator.play.testplayer3.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1199,7 +1199,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -1208,7 +1208,7 @@ TEST_F(TestIndicator, DesktopMprisPlayersPlaybackControls) .action("indicator.testplayer2.desktop") .label("TestPlayer2") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) ) .item(mh::MenuItemMatcher() @@ -1240,7 +1240,7 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1257,13 +1257,13 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1278,7 +1278,7 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1295,13 +1295,13 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .attribute_not_set("x-canonical-next-action") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1317,7 +1317,7 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1334,13 +1334,13 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .attribute_not_set("x-canonical-previous-action") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .attribute_not_set("x-canonical-next-action") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1355,7 +1355,7 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::all) .submenu() @@ -1372,13 +1372,13 @@ TEST_F(TestIndicator, DesktopMprisPlayerButtonsState) .action("indicator.testplayer1.desktop") .label("TestPlayer1") .themed_icon("icon", {"testplayer"}) - .string_attribute("x-canonical-type", "com.canonical.unity.media-player") + .string_attribute("x-canonical-type", "org.ayatana.unity.media-player") ) .item(mh::MenuItemMatcher() .string_attribute("x-canonical-previous-action","indicator.previous.testplayer1.desktop") .string_attribute("x-canonical-play-action","indicator.play.testplayer1.desktop") .string_attribute("x-canonical-next-action","indicator.next.testplayer1.desktop") - .string_attribute("x-canonical-type","com.canonical.unity.playback-item") + .string_attribute("x-canonical-type","org.ayatana.unity.playback-item") ) ) .item(mh::MenuItemMatcher() @@ -1427,7 +1427,7 @@ TEST_F(TestIndicator, DesktopChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::starts_with) .submenu() @@ -1444,7 +1444,7 @@ TEST_F(TestIndicator, DesktopChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(desktopParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::ends_with) .submenu() @@ -1465,7 +1465,7 @@ TEST_F(TestIndicator, DesktopChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -1482,7 +1482,7 @@ TEST_F(TestIndicator, DesktopChangeRoleVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-secondary-action", "indicator.mute") .mode(mh::MenuItemMatcher::Mode::ends_with) .submenu() @@ -1514,7 +1514,7 @@ TEST_F(TestIndicator, DISABLED_PhoneNotificationVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -1645,7 +1645,7 @@ TEST_F(TestIndicator, DISABLED_PhoneNotificationWarningVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -1688,7 +1688,7 @@ TEST_F(TestIndicator, DISABLED_PhoneNotificationWarningVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") @@ -1728,7 +1728,7 @@ TEST_F(TestIndicator, DISABLED_PhoneNotificationWarningVolume) EXPECT_MATCHRESULT(mh::MenuMatcher(phoneParameters()) .item(mh::MenuItemMatcher() .action("indicator.root") - .string_attribute("x-canonical-type", "com.canonical.indicator.root") + .string_attribute("x-canonical-type", "org.ayatana.indicator.root") .string_attribute("x-canonical-scroll-action", "indicator.scroll") .string_attribute("x-canonical-secondary-action", "indicator.mute") .string_attribute("submenu-action", "indicator.indicator-shown") diff --git a/tests/notifications-test.cc b/tests/notifications-test.cc index d66c242..2e5acd4 100644 --- a/tests/notifications-test.cc +++ b/tests/notifications-test.cc @@ -210,7 +210,7 @@ class NotificationsTest : public ::testing::Test g_dbus_connection_call(bus, g_dbus_connection_get_unique_name(bus), - "/com/canonical/indicator/sound", + "/org/ayatana/indicator/sound", "org.gtk.Actions", "SetState", g_variant_new("(sva{sv})", "indicator-shown", g_variant_new_boolean(shown), nullptr), diff --git a/tests/sound-menu.cc b/tests/sound-menu.cc index 79ae703..d41c9de 100644 --- a/tests/sound-menu.cc +++ b/tests/sound-menu.cc @@ -92,10 +92,10 @@ class SoundMenuTest : public ::testing::Test /* Player display */ verify_item_attribute(section, 0, "action", g_variant_new_string("indicator.player-id")); - verify_item_attribute(section, 0, "x-canonical-type", g_variant_new_string("com.canonical.unity.media-player")); + verify_item_attribute(section, 0, "x-canonical-type", g_variant_new_string("org.ayatana.unity.media-player")); /* Player control */ - verify_item_attribute(section, 1, "x-canonical-type", g_variant_new_string("com.canonical.unity.playback-item")); + verify_item_attribute(section, 1, "x-canonical-type", g_variant_new_string("org.ayatana.unity.playback-item")); //verify_item_attribute(section, 1, "x-canonical-play-action", g_variant_new_string("")); if (!canPlay) { verify_item_attribute_is_not_set(section, 1, "x-canonical-play-action", G_VARIANT_TYPE_STRING); @@ -164,10 +164,10 @@ TEST_F(SoundMenuTest, AddRemovePlayer) { /* Player display */ verify_item_attribute(section, 0, "action", g_variant_new_string("indicator.player-id")); - verify_item_attribute(section, 0, "x-canonical-type", g_variant_new_string("com.canonical.unity.media-player")); + verify_item_attribute(section, 0, "x-canonical-type", g_variant_new_string("org.ayatana.unity.media-player")); /* Player control */ - verify_item_attribute(section, 1, "x-canonical-type", g_variant_new_string("com.canonical.unity.playback-item")); + verify_item_attribute(section, 1, "x-canonical-type", g_variant_new_string("org.ayatana.unity.playback-item")); verify_item_attribute(section, 1, "x-canonical-play-action", g_variant_new_string("indicator.play.player-id")); verify_item_attribute(section, 1, "x-canonical-next-action", g_variant_new_string("indicator.next.player-id")); verify_item_attribute(section, 1, "x-canonical-previous-action", g_variant_new_string("indicator.previous.player-id")); |