[banshee] [Banshee.Metrics] Cleanup, whitelist some more configs
- From: Gabriel Burt <gburt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] [Banshee.Metrics] Cleanup, whitelist some more configs
- Date: Sat, 13 Feb 2010 00:27:53 +0000 (UTC)
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]