[banshee] [Banshee.Metrics] Cleanup, whitelist some more configs



commit b1abe8129fc8c54c3789524b40ce495144aad723
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Fri Feb 12 16:27:26 2010 -0800

    [Banshee.Metrics] Cleanup, whitelist some more configs

 .../Banshee.Metrics/BansheeMetrics.cs              |    8 ++++--
 .../Banshee.Metrics/Configuration.cs               |   19 ++++++++++-----
 .../Banshee.Gui/GtkBaseClient.cs                   |   24 ++++++++++---------
 3 files changed, 30 insertions(+), 21 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.Metrics/BansheeMetrics.cs b/src/Core/Banshee.Services/Banshee.Metrics/BansheeMetrics.cs
index a3fa791..15a65ad 100644
--- a/src/Core/Banshee.Services/Banshee.Metrics/BansheeMetrics.cs
+++ b/src/Core/Banshee.Services/Banshee.Metrics/BansheeMetrics.cs
@@ -75,6 +75,7 @@ namespace Banshee.Metrics
 
         private BansheeMetrics ()
         {
+            banshee_metrics = this;
             string unique_userid = DatabaseConfigurationClient.Client.Get<string> (id_key, null);
 
             if (String.IsNullOrEmpty (unique_userid)) {
@@ -110,7 +111,7 @@ namespace Banshee.Metrics
             // TODO schedule sending the data to the server in some timeout?
 
             // TODO remove this, just for testing
-            Log.InformationFormat ("Anonymous usage data collected:\n{0}", metrics.ToJsonString ());
+            //Log.InformationFormat ("Anonymous usage data collected:\n{0}", metrics.ToJsonString ());
             //System.IO.File.WriteAllText ("usage-data.json", metrics.ToJsonString ());
         }
 
@@ -124,7 +125,7 @@ namespace Banshee.Metrics
             Add ("Version",      Application.Version);
             Add ("StartedAt",    ApplicationContext.StartedAt);
 
-            Console.WriteLine ("SourceMgr is null? {0}", ServiceManager.SourceManager == null);
+            // Query basic stats about what content the user has
             foreach (var src in ServiceManager.SourceManager.FindSources<PrimarySource> ()) {
                 var type_name = src.TypeName;
                 var reader = new HyenaDataReader (ServiceManager.DbConnection.Query (
@@ -152,6 +153,7 @@ namespace Banshee.Metrics
                 reader.Dispose ();
             }
 
+            // Wire up event-triggered metrics
             source_changed = Add ("ActiveSourceChanged", () => ServiceManager.SourceManager.ActiveSource.TypeName);
             ServiceManager.SourceManager.ActiveSourceChanged += OnActiveSourceChanged;
 
@@ -237,4 +239,4 @@ namespace Banshee.Metrics
             Catalog.GetString ("Improve Banshee by sending anonymous usage data"), null
         );
     }
-}
\ No newline at end of file
+}
diff --git a/src/Core/Banshee.Services/Banshee.Metrics/Configuration.cs b/src/Core/Banshee.Services/Banshee.Metrics/Configuration.cs
index 929ddea..3e2a89e 100644
--- a/src/Core/Banshee.Services/Banshee.Metrics/Configuration.cs
+++ b/src/Core/Banshee.Services/Banshee.Metrics/Configuration.cs
@@ -44,8 +44,8 @@ namespace Banshee.Metrics
 
         private static void OnSchemaAdded (string ns, string key, object value)
         {
-            if (Array.BinarySearch<string> (keys, key) >= 0 ||
-                Array.BinarySearch<string> (ns_keys, String.Format ("{0}/{1}", ns, key)) >= 0)
+            if (Array.BinarySearch<string> (fuzzy_keys, key) >= 0 ||
+                Array.BinarySearch<string> (exact_keys, String.Format ("{0}/{1}", ns, key)) >= 0)
             {
                 BansheeMetrics.Instance.Add (
                     String.Format ("Configuration/{0}/{1}", ns, key), value
@@ -56,25 +56,30 @@ namespace Banshee.Metrics
         static Configuration ()
         {
             // Prep for BinarySearch
-            Array.Sort<string> (keys);
-            Array.Sort<string> (ns_keys);
+            Array.Sort<string> (fuzzy_keys);
+            Array.Sort<string> (exact_keys);
         }
 
         // Whitelists
-        static string [] keys = new string [] {
+        static string [] fuzzy_keys = new string [] {
             "folder_pattern", "file_pattern", "copy_on_import", "move_on_info_save", "write_metadata", "write_rating",
             "replay_gain_enabled", "io_provider", "show_context_pane", "last_context_page", "child_sort_id",
             "separate_by_type", "expanded"
             //"current_filters", // not useful (yet, at least)
         };
 
-        static string [] ns_keys = new string [] {
+        static string [] exact_keys = new string [] {
             "playback/repeat_mode", "playback/shuffle_mode", "player_window/source_view_width", "player_window/show_cover_art",
             "player_window/width", "player_window/height", "player_window/x_pos", "player_window/y_pos",
             "player_window/maximized", "player_window/source_view_row_height", "player_window/source_view_row_padding", "browser/visible",
             "browser/position", "player_engine/equalizer_enabled", "player_engine/equalizer_preset", "plugins.play_queue/clear_on_quit",
             "plugins.play_queue/populate_mode", "plugins.play_queue/played_songs_number", "plugins.play_queue/upcoming_songs_number",
-            "core/make_default", "core/remember_make_default", "core/ever_asked_make_default"
+            "core/make_default", "core/remember_make_default", "core/ever_asked_make_default",
+            "plugins.mtp/never_sync_albumart", "plugins.mtp/albumart_max_width", "plugins.notification_area/enabled",
+            "plugins.notification_area/show_notifications", "plugins.notification_area/notify_on_close", "plugins.notification_area/quit_on_close",
+            "plugins.lastfm/enabled", "plugins.lastfm/subscriber", "plugins.bpm/auto_enabled", "plugins.cover_art/enabled",
+            "plugins.audioscrobbler/engine_enabled", "core/disable_internet_access", "plugins.file_system_queue/clear_on_quit",
+            "import/audio_cd_error_correction", "import/auto_rip_cds", "import/eject_after_ripped", "plugins.audioscrobbler/api_url"
         };
     }
 }
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
index 487a168..d9690fc 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
@@ -144,17 +144,7 @@ namespace Banshee.Gui
             Application.TimeoutHandler = RunTimeout;
             Application.IdleHandler = RunIdle;
             Application.IdleTimeoutRemoveHandler = IdleTimeoutRemove;
-
-            BansheeMetrics.Started += () => {
-                var metrics = BansheeMetrics.Instance;
-                var screen = Gdk.Screen.Default;
-
-                metrics.Add ("Display/NScreens",    Gdk.Display.Default.NScreens);
-                metrics.Add ("Screen/Height",       screen.Height);
-                metrics.Add ("Screen/Width",        screen.Width);
-                metrics.Add ("Screen/IsComposited", screen.IsComposited);
-                metrics.Add ("Screen/NMonitors",    screen.NMonitors);
-            };
+            BansheeMetrics.Started += OnMetricsStarted;
 
             // Start the core boot process
 
@@ -170,6 +160,18 @@ namespace Banshee.Gui
             Log.Notify += OnLogNotify;
         }
 
+        private void OnMetricsStarted ()
+        {
+            var metrics = BansheeMetrics.Instance;
+            var screen = Gdk.Screen.Default;
+
+            metrics.Add ("Display/NScreens",    Gdk.Display.Default.NScreens);
+            metrics.Add ("Screen/Height",       screen.Height);
+            metrics.Add ("Screen/Width",        screen.Width);
+            metrics.Add ("Screen/IsComposited", screen.IsComposited);
+            metrics.Add ("Screen/NMonitors",    screen.NMonitors);
+        }
+
         public virtual void Run ()
         {
             RunIdle (delegate { OnStarted (); return false; });



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]