diff --git a/AndroidManifest.xml b/AndroidManifest.xml index eb3550d48c..c30e4385da 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -464,7 +464,7 @@ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> - ProfileCipher.NAME_PADDED_LENGTH) { return nameEditText.input.setError("Too Long") } else { + Analytics.shared.track("Display Name Updated") TextSecurePreferences.setProfileName(this, name) } } @@ -39,5 +45,12 @@ class AccountDetailsActivity : BaseActionBarActivity() { application.setUpStorageAPIIfNeeded() startActivity(Intent(this, ConversationListActivity::class.java)) finish() + val userHexEncodedPublicKey = TextSecurePreferences.getLocalNumber(this) + val userPrivateKey = IdentityKeyUtil.getIdentityKeyPair(this).privateKey.serialize() + val apiDatabase = DatabaseFactory.getLokiAPIDatabase(this) + val userDatabase = DatabaseFactory.getLokiUserDatabase(this) + if (name != null) { + LokiGroupChatAPI(userHexEncodedPublicKey, userPrivateKey, apiDatabase, userDatabase).setDisplayName(name, LokiGroupChatAPI.publicChatServer) + } } } \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/loki/LokiGroupChatPoller.kt b/src/org/thoughtcrime/securesms/loki/LokiGroupChatPoller.kt index 4a39c71c0c..294a9249e8 100644 --- a/src/org/thoughtcrime/securesms/loki/LokiGroupChatPoller.kt +++ b/src/org/thoughtcrime/securesms/loki/LokiGroupChatPoller.kt @@ -34,9 +34,9 @@ class LokiGroupChatPoller(private val context: Context, private val group: LokiG private val api: LokiGroupChatAPI get() = { + val userPrivateKey = IdentityKeyUtil.getIdentityKeyPair(context).privateKey.serialize() val lokiAPIDatabase = DatabaseFactory.getLokiAPIDatabase(context) val lokiUserDatabase = DatabaseFactory.getLokiUserDatabase(context) - val userPrivateKey = IdentityKeyUtil.getIdentityKeyPair(context).privateKey.serialize() LokiGroupChatAPI(userHexEncodedPublicKey, userPrivateKey, lokiAPIDatabase, lokiUserDatabase) }() // endregion diff --git a/src/org/thoughtcrime/securesms/loki/SeedActivity.kt b/src/org/thoughtcrime/securesms/loki/SeedActivity.kt index 39caab9dd6..02cab64c3f 100644 --- a/src/org/thoughtcrime/securesms/loki/SeedActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/SeedActivity.kt @@ -59,6 +59,7 @@ class SeedActivity : BaseActionBarActivity() { toggleRegisterModeButton.setOnClickListener { mode = Mode.Register } toggleLinkModeButton.setOnClickListener { mode = Mode.Link } registerOrRestoreButton.setOnClickListener { registerOrRestore() } + Analytics.shared.track("Seed Screen Viewed") } override fun onDestroy() { @@ -245,7 +246,7 @@ class SeedActivity : BaseActionBarActivity() { } private fun showAccountDetailsView() { - startActivity(Intent(this, AccountDetailsActivity::class.java)) + startActivity(Intent(this, DisplayNameActivity::class.java)) finish() } diff --git a/src/org/thoughtcrime/securesms/preferences/AppProtectionPreferenceFragment.java b/src/org/thoughtcrime/securesms/preferences/AppProtectionPreferenceFragment.java index 633cc44517..f0407c15b7 100644 --- a/src/org/thoughtcrime/securesms/preferences/AppProtectionPreferenceFragment.java +++ b/src/org/thoughtcrime/securesms/preferences/AppProtectionPreferenceFragment.java @@ -15,7 +15,6 @@ import org.thoughtcrime.securesms.ApplicationContext; import org.thoughtcrime.securesms.ApplicationPreferencesActivity; import org.thoughtcrime.securesms.BlockedContactsActivity; import org.thoughtcrime.securesms.PassphraseChangeActivity; -import network.loki.messenger.R; import org.thoughtcrime.securesms.components.SwitchPreferenceCompat; import org.thoughtcrime.securesms.crypto.MasterSecretUtil; import org.thoughtcrime.securesms.dependencies.InjectableType; @@ -26,12 +25,14 @@ import org.thoughtcrime.securesms.service.KeyCachingService; import org.thoughtcrime.securesms.util.CommunicationActions; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.signalservice.api.SignalServiceAccountManager; +import org.whispersystems.signalservice.loki.utilities.Analytics; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import mobi.upod.timedurationpicker.TimeDurationPickerDialog; +import network.loki.messenger.R; public class AppProtectionPreferenceFragment extends CorrectedPreferenceFragment implements InjectableType { @@ -71,6 +72,8 @@ public class AppProtectionPreferenceFragment extends CorrectedPreferenceFragment disablePassphrase.setOnPreferenceChangeListener(new DisablePassphraseClickListener()); initializeVisibility(); + + Analytics.Companion.getShared().track("Privacy Settings Opened"); } @Override @@ -128,6 +131,13 @@ public class AppProtectionPreferenceFragment extends CorrectedPreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enabled = (Boolean)newValue; + + if (enabled) { + Analytics.Companion.getShared().track("Screen Lock Enabled"); + } else { + Analytics.Companion.getShared().track("Screen Lock Disabled"); + } + TextSecurePreferences.setScreenLockEnabled(getContext(), enabled); Intent intent = new Intent(getContext(), KeyCachingService.class); @@ -197,6 +207,13 @@ public class AppProtectionPreferenceFragment extends CorrectedPreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enabled = (boolean)newValue; + + if (enabled) { + Analytics.Companion.getShared().track("Typing Indicators Enabled"); + } else { + Analytics.Companion.getShared().track("Typing Indicators Disabled"); + } + ApplicationContext.getInstance(getContext()) .getJobManager() .add(new MultiDeviceConfigurationUpdateJob(TextSecurePreferences.isReadReceiptsEnabled(requireContext()), @@ -216,6 +233,13 @@ public class AppProtectionPreferenceFragment extends CorrectedPreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enabled = (boolean)newValue; + + if (enabled) { + Analytics.Companion.getShared().track("Link Previews Enabled"); + } else { + Analytics.Companion.getShared().track("Link Previews Disabled"); + } + ApplicationContext.getInstance(requireContext()) .getJobManager() .add(new MultiDeviceConfigurationUpdateJob(TextSecurePreferences.isReadReceiptsEnabled(requireContext()), diff --git a/src/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java b/src/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java index c50181b99f..01f014b8f0 100644 --- a/src/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java +++ b/src/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java @@ -15,11 +15,13 @@ import android.support.v7.preference.Preference; import android.text.TextUtils; import org.thoughtcrime.securesms.ApplicationPreferencesActivity; -import network.loki.messenger.R; import org.thoughtcrime.securesms.components.SwitchPreferenceCompat; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.notifications.NotificationChannels; import org.thoughtcrime.securesms.util.TextSecurePreferences; +import org.whispersystems.signalservice.loki.utilities.Analytics; + +import network.loki.messenger.R; import static android.app.Activity.RESULT_OK; @@ -119,6 +121,8 @@ public class NotificationsPreferenceFragment extends ListSummaryPreferenceFragme // initializeCallRingtoneSummary(findPreference(TextSecurePreferences.CALL_RINGTONE_PREF)); initializeMessageVibrateSummary((SwitchPreferenceCompat)findPreference(TextSecurePreferences.VIBRATE_PREF)); // initializeCallVibrateSummary((SwitchPreferenceCompat)findPreference(TextSecurePreferences.CALL_VIBRATE_PREF)); + + Analytics.Companion.getShared().track("Notification Settings Opened"); } @Override diff --git a/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java b/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java index 864b9c0dfa..5cd036f29c 100644 --- a/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java +++ b/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java @@ -8,6 +8,7 @@ import android.support.annotation.NonNull; import org.thoughtcrime.securesms.BaseActionBarActivity; import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.util.CommunicationActions; +import org.whispersystems.signalservice.loki.utilities.Analytics; import network.loki.messenger.R; @@ -19,6 +20,7 @@ public class WelcomeActivity extends BaseActionBarActivity { setContentView(R.layout.registration_welcome_activity); findViewById(R.id.welcome_terms_button).setOnClickListener(v -> onTermsClicked()); findViewById(R.id.welcome_continue_button).setOnClickListener(v -> onContinueClicked()); + Analytics.Companion.getShared().track("Landing Screen Viewed"); } @Override