view org.guido-berhoerster.code.package-update-indicator.gschema.xml @ 31:9905d4ae351c

Fix continuos loop of update checks if the refresh cache interval is 0 If the interval for refreshing the cache is set to 0 each check for available updates refreshes the cache and causes an "updates-changed" signal to be emitted after a short delay which in turn triggers another check for updates. The "updates-changed" signal does not actually mean that the number of available updates has changed but rather that the package metadata cache has been invalidated. Fix this by blocking the "updates-changed" signal handler from when a periodic or irregular check is started until 4 seconds after it has finished. This is necessary since the signal will be delivered with a delay after a transaction has been completed. In addition prevent checks for updates triggered by the "updates-changed" signal from refreshing the cache even the interval is 0 since the emission of the signal implies that the cache has just been refreshed.
author Guido Berhoerster <guido+pui@berhoerster.name>
date Thu, 29 Aug 2019 13:48:47 +0200
parents 3d72ca76538d
children 24cba399757f
line wrap: on
line source

<schemalist>
  <schema id="org.guido-berhoerster.code.package-update-indicator"
  path="/org/guido-berhoerster/code/package-update-indicator/"
  gettext-domain="package-update-indicator">
    <key name="update-command" type="s">
      <default>""</default>
      <summary>Update command</summary>
      <description>Command for installing updates.</description>
    </key>
    <key name="refresh-interval" type="u">
      <default>86400</default>
      <summary>Refresh interval</summary>
      <description>The interval in seconds for refreshing
      metadata.</description>
    </key>
    <key name="use-mobile-connection" type="b">
      <default>false</default>
      <summary>Whether to use a mobile connection</summary>
      <description>If enabled, use a mobile connection refreshing the package
      cache.</description>
    </key>
  </schema>
</schemalist>