diff --git a/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/MainActivity.java b/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/MainActivity.java
index 8d3664bf3..bbde90cbc 100644
--- a/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/MainActivity.java
+++ b/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/MainActivity.java
@@ -113,6 +113,12 @@ static String getLogUrl(Context context, String startType) {
static void startAppCenter(Application application, String startTypeString) {
+ /* Set session generation value. */
+ boolean isAutomaticSessionDisabled = sSharedPreferences.getBoolean(application.getString(R.string.appcenter_analytics_session_generation_state_key), false);
+
+ // TODO uncomment after release
+ // Analytics.disableAutomaticSessionGeneration(isAutomaticSessionDisabled);
+
/* Set the track explicitly only if we set it in settings, to test the initial public by default at first launch. */
int savedTrack = sSharedPreferences.getInt(application.getString(R.string.appcenter_distribute_track_state_key), 0);
if (savedTrack != 0) {
diff --git a/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/SettingsActivity.java b/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/SettingsActivity.java
index 68543d268..f0e5e09f8 100644
--- a/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/SettingsActivity.java
+++ b/apps/sasquatch/src/main/java/com/microsoft/appcenter/sasquatch/activities/SettingsActivity.java
@@ -13,7 +13,6 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
-import android.os.Build;
import android.os.Bundle;
import android.os.FileObserver;
import android.preference.CheckBoxPreference;
@@ -43,7 +42,6 @@
import com.microsoft.appcenter.utils.PrefStorageConstants;
import java.io.File;
-import java.lang.reflect.Method;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -252,6 +250,29 @@ public void setEnabled(boolean enabled) {
AnalyticsPrivateHelper.setAutoPageTrackingEnabled(enabled);
}
});
+ initCheckBoxSetting(R.string.appcenter_analytics_session_generation_state_key, R.string.appcenter_analytics_session_generation_state_enable, R.string.appcenter_analytics_session_generation_state_disable, new HasEnabled() {
+
+ @Override
+ public void setEnabled(boolean enabled) {
+ // TODO uncomment after release
+ // Analytics.disableAutomaticSessionGeneration(enabled);
+ MainActivity.sSharedPreferences.edit().putBoolean(getString(R.string.appcenter_analytics_session_generation_state_key), enabled).apply();
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return MainActivity.sSharedPreferences.getBoolean(getString(R.string.appcenter_analytics_session_generation_state_key), false);
+ }
+ });
+ initClickableSetting(R.string.appcenter_analytics_start_session_key, new Preference.OnPreferenceClickListener() {
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ // TODO uncomment after release
+ // Analytics.startSession();
+ return true;
+ }
+ });
/* Crashes. */
initCheckBoxSetting(R.string.appcenter_crashes_state_key, R.string.appcenter_crashes_state_summary_enabled, R.string.appcenter_crashes_state_summary_disabled, new HasEnabled() {
diff --git a/apps/sasquatch/src/main/res/values/settings.xml b/apps/sasquatch/src/main/res/values/settings.xml
index 2230d4636..c44339a6e 100644
--- a/apps/sasquatch/src/main/res/values/settings.xml
+++ b/apps/sasquatch/src/main/res/values/settings.xml
@@ -23,10 +23,16 @@
appcenter_analytics
Analytics
+ appcenter_analytics_disable_session_generation_key
appcenter_analytics_state_key
Analytics state
Analytics is enabled
Analytics is disabled
+ Automatic session generation
+ Automatic session generation is disabled
+ Automatic session generation is enabled
+ appcenter_analytics_start_session_generation_key
+ Start session
appcenter_analytics_pause_resume_key
Analytics paused state
diff --git a/apps/sasquatch/src/main/res/xml/settings.xml b/apps/sasquatch/src/main/res/xml/settings.xml
index 42e7aa711..b10662714 100644
--- a/apps/sasquatch/src/main/res/xml/settings.xml
+++ b/apps/sasquatch/src/main/res/xml/settings.xml
@@ -35,6 +35,12 @@
+
+