diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs
index 0f569d1..9233cd2 100644
--- a/Bloxstrap/Bootstrapper.cs
+++ b/Bloxstrap/Bootstrapper.cs
@@ -1009,7 +1009,8 @@ namespace Bloxstrap
if (ex.GetType() == typeof(ChecksumFailedException))
{
- _ = App.HttpClient.GetAsync($"https://bloxstraplabs.com/metrics/post?key=packageDownloadState&value=httpFail");
+ if (App.Settings.Prop.EnableAnalytics)
+ _ = App.HttpClient.GetAsync($"https://bloxstraplabs.com/metrics/post?key=packageDownloadState&value=httpFail");
Frontend.ShowConnectivityDialog(
Strings.Dialog_Connectivity_UnableToDownload,
@@ -1041,7 +1042,7 @@ namespace Bloxstrap
}
}
- if (statIsRetrying)
+ if (statIsRetrying && App.Settings.Prop.EnableAnalytics)
{
string stat = statIsHttp ? "httpSuccess" : "retrySuccess";
_ = App.HttpClient.GetAsync($"https://bloxstraplabs.com/metrics/post?key=packageDownloadState&value={stat}");
diff --git a/Bloxstrap/Models/Persistable/Settings.cs b/Bloxstrap/Models/Persistable/Settings.cs
index fcea6cb..d640fc3 100644
--- a/Bloxstrap/Models/Persistable/Settings.cs
+++ b/Bloxstrap/Models/Persistable/Settings.cs
@@ -16,6 +16,7 @@ namespace Bloxstrap.Models.Persistable
public bool ForceRobloxLanguage { get; set; } = false;
public bool UseFastFlagManager { get; set; } = true;
public bool WPFSoftwareRender { get; set; } = false;
+ public bool EnableAnalytics { get; set; } = true;
// integration configuration
public bool EnableActivityTracking { get; set; } = true;
diff --git a/Bloxstrap/Resources/Strings.Designer.cs b/Bloxstrap/Resources/Strings.Designer.cs
index 1212a3b..49adfc4 100644
--- a/Bloxstrap/Resources/Strings.Designer.cs
+++ b/Bloxstrap/Resources/Strings.Designer.cs
@@ -357,6 +357,15 @@ namespace Bloxstrap.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Analytics.
+ ///
+ public static string Common_Analytics {
+ get {
+ return ResourceManager.GetString("Common.Analytics", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Automatic.
///
@@ -1481,9 +1490,9 @@ namespace Bloxstrap.Resources {
///
///Roblox has not yet been installed, that will happen when you launch it with Bloxstrap for the first time. However, before you do that, you may want to configure Bloxstrap's settings first.
///
- ///Also, to keep Bloxstrap registered as the website launch handler, avoid using the "Roblox Player" shortcut to launch Roblox. If you don't see Bloxstrap show when launching from the website, simply launch Roblox with Bloxstrap once from the desktop to fix it.
+ ///Also, avoid using the "Roblox Player" shortcut to launch Roblox, as Bloxstrap won't launch with Roblox. If you don't see Bloxstrap show when launching from the website, simply launch Roblox with Bloxstrap once from the desktop to fix it.
///
- ///What would y [rest of string was truncated]";.
+ ///What would you like to do?.
///
public static string Installer_Completion_Text {
get {
@@ -2109,6 +2118,24 @@ namespace Bloxstrap.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to All data sent is completely anonymous. To understand what data we use and how, see our [privacy policy]({0})..
+ ///
+ public static string Menu_Bloxstrap_Analytics_Description {
+ get {
+ return ResourceManager.GetString("Menu.Bloxstrap.Analytics.Description", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Enable sending of analytics.
+ ///
+ public static string Menu_Bloxstrap_Analytics_Title {
+ get {
+ return ResourceManager.GetString("Menu.Bloxstrap.Analytics.Title", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Configure options related to Bloxstrap's behaviour itself..
///
diff --git a/Bloxstrap/Resources/Strings.resx b/Bloxstrap/Resources/Strings.resx
index d44275b..8827778 100644
--- a/Bloxstrap/Resources/Strings.resx
+++ b/Bloxstrap/Resources/Strings.resx
@@ -1009,7 +1009,7 @@ This installation process will be quick and simple, and you will be able to conf
Roblox has not yet been installed, that will happen when you launch it with Bloxstrap for the first time. However, before you do that, you may want to configure Bloxstrap's settings first.
-Also, to keep Bloxstrap registered as the website launch handler, avoid using the "Roblox Player" shortcut to launch Roblox. If you don't see Bloxstrap show when launching from the website, simply launch Roblox with Bloxstrap once from the desktop to fix it.
+Also, avoid using the "Roblox Player" shortcut to launch Roblox, as Bloxstrap won't launch with Roblox. If you don't see Bloxstrap show when launching from the website, simply launch Roblox with Bloxstrap once from the desktop to fix it.
What would you like to do?
@@ -1222,4 +1222,13 @@ Please manually delete Bloxstrap.exe from the install location or try restarting
Configure options related to Bloxstrap's behaviour itself.
+
+ Enable sending of analytics
+
+
+ All data sent is completely anonymous. To understand what data we use and how, see our [privacy policy]({0}).
+
+
+ Analytics
+
\ No newline at end of file
diff --git a/Bloxstrap/UI/Elements/Installer/Pages/InstallPage.xaml b/Bloxstrap/UI/Elements/Installer/Pages/InstallPage.xaml
index 50229c3..9ef38c5 100644
--- a/Bloxstrap/UI/Elements/Installer/Pages/InstallPage.xaml
+++ b/Bloxstrap/UI/Elements/Installer/Pages/InstallPage.xaml
@@ -59,5 +59,13 @@
Header="{x:Static resources:Strings.Common_Shortcuts_StartMenu}">
+
+
+
+
+
+
+
diff --git a/Bloxstrap/UI/Elements/Installer/Pages/WelcomePage.xaml b/Bloxstrap/UI/Elements/Installer/Pages/WelcomePage.xaml
index 7c5a518..2978e77 100644
--- a/Bloxstrap/UI/Elements/Installer/Pages/WelcomePage.xaml
+++ b/Bloxstrap/UI/Elements/Installer/Pages/WelcomePage.xaml
@@ -40,16 +40,18 @@
-
-
-
-
-
+
+
+
+
diff --git a/Bloxstrap/UI/Elements/Settings/Pages/BloxstrapPage.xaml b/Bloxstrap/UI/Elements/Settings/Pages/BloxstrapPage.xaml
index 688c54e..9f2f3da 100644
--- a/Bloxstrap/UI/Elements/Settings/Pages/BloxstrapPage.xaml
+++ b/Bloxstrap/UI/Elements/Settings/Pages/BloxstrapPage.xaml
@@ -22,5 +22,11 @@
Description="{x:Static resources:Strings.Menu_Behaviour_AutoUpdate_Description}">
+
+
+
+
diff --git a/Bloxstrap/UI/ViewModels/Installer/InstallViewModel.cs b/Bloxstrap/UI/ViewModels/Installer/InstallViewModel.cs
index 8bff001..80d93c9 100644
--- a/Bloxstrap/UI/ViewModels/Installer/InstallViewModel.cs
+++ b/Bloxstrap/UI/ViewModels/Installer/InstallViewModel.cs
@@ -46,6 +46,12 @@ namespace Bloxstrap.UI.ViewModels.Installer
set => installer.CreateStartMenuShortcuts = value;
}
+ public bool AnalyticsEnabled
+ {
+ get => App.Settings.Prop.EnableAnalytics;
+ set => App.Settings.Prop.EnableAnalytics = value;
+ }
+
public ICommand BrowseInstallLocationCommand => new RelayCommand(BrowseInstallLocation);
public ICommand ResetInstallLocationCommand => new RelayCommand(ResetInstallLocation);
diff --git a/Bloxstrap/UI/ViewModels/Settings/BloxstrapViewModel.cs b/Bloxstrap/UI/ViewModels/Settings/BloxstrapViewModel.cs
index e1b8278..bd913d1 100644
--- a/Bloxstrap/UI/ViewModels/Settings/BloxstrapViewModel.cs
+++ b/Bloxstrap/UI/ViewModels/Settings/BloxstrapViewModel.cs
@@ -7,5 +7,11 @@
get => App.Settings.Prop.CheckForUpdates;
set => App.Settings.Prop.CheckForUpdates = value;
}
+
+ public bool AnalyticsEnabled
+ {
+ get => App.Settings.Prop.EnableAnalytics;
+ set => App.Settings.Prop.EnableAnalytics = value;
+ }
}
}