diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2a2912f8e04b..28ebc26555b4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -94,8 +94,8 @@ @@ -110,8 +110,8 @@ @@ -137,9 +137,9 @@ + + - + @@ -219,11 +221,13 @@ android:name=".features.search.ProductSearchActivity" android:exported="true" android:theme="@style/OFFTheme.NoActionBar"> + - + + @@ -278,10 +282,11 @@ android:scheme="https" /> + newFragment = PreferencesFragment.newInstance() ITEM_ABOUT -> CustomTabActivityHelper.openCustomTab(this@MainActivity, customTabsIntent, discoverUri, WebViewFallback()) ITEM_CONTRIBUTE -> CustomTabActivityHelper.openCustomTab(this@MainActivity, customTabsIntent, contributeUri, WebViewFallback()) - ITEM_INCOMPLETE_PRODUCTS -> start( + ITEM_INCOMPLETE_PRODUCTS -> startSearch( this@MainActivity, SearchType.INCOMPLETE_PRODUCT, "" @@ -326,7 +326,11 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { Toast.makeText(this@MainActivity, R.string.app_disabled_text, Toast.LENGTH_SHORT).show() startActivity(Intent().apply { action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS - data = Uri.fromParts("package", BuildConfig.OFOTHERLINKAPP, null) + data = Uri.fromParts( + "package", + BuildConfig.OFOTHERLINKAPP, + null + ) }) } } else { @@ -346,7 +350,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { CustomTabActivityHelper.openCustomTab( this@MainActivity, CustomTabsIntent.Builder().build(), - Uri.parse(getString(R.string.advanced_search_url)), + getString(R.string.advanced_search_url).toUri(), WebViewFallback() ) } @@ -356,7 +360,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { .setTitle(R.string.confirm_logout) .setMessage(R.string.logout_dialog_content) .setPositiveButton(android.R.string.ok) { _, _ -> logout() } - .setNegativeButton(R.string.dialog_cancel) { d, _ -> d.dismiss() } + .setNegativeButton(android.R.string.cancel) { d, _ -> d.dismiss() } .show() } newFragment?.let(::swapToFragment) @@ -517,7 +521,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { } private fun openMyContributionsInSearchActivity() = - start(this, SearchType.CONTRIBUTOR, getUserLogin()!!) + startSearch(this, SearchType.CONTRIBUTOR, getUserLogin()!!) private fun getProfileSettingDrawerItem(): IProfile { val userLogin = getUserLogin() @@ -715,7 +719,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { SearchSuggestionProvider.MODE ) suggestions.saveRecentQuery(query, null) - start(this, SearchType.SEARCH, query) + startSearch(this, SearchType.SEARCH, query) searchMenuItem?.collapseActionView() } @@ -887,5 +891,7 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { private const val BARCODE_SHORTCUT = "BARCODE" const val PRODUCT_SEARCH_KEY = "product_search" private val LOG_TAG = MainActivity::class.simpleName!! + + fun start(context: Context) = context.startActivity(Intent(context, MainActivity::class.java)) } } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/PreferencesFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/PreferencesFragment.kt index 16a62028fe6c..05f094ba92b3 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/PreferencesFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/PreferencesFragment.kt @@ -272,7 +272,7 @@ class PreferencesFragment : PreferenceFragmentCompat(), INavigationItem, OnShare requirePreference(getString(R.string.pref_analytics_reporting_key)).let { it.setOnPreferenceChangeListener { _, newValue -> - matomoAnalytics.onAnalyticsEnabledToggled(newValue == true) + matomoAnalytics.setEnabled(newValue == true) true } } diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/analyticsusage/AnalyticsUsageDialogFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/analyticsusage/AnalyticsUsageDialogFragment.kt index cc3134b5ffce..2644b2445373 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/analyticsusage/AnalyticsUsageDialogFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/analyticsusage/AnalyticsUsageDialogFragment.kt @@ -34,12 +34,12 @@ class AnalyticsUsageDialogFragment : BottomSheetDialogFragment() { val binding: FragmentAnalyticsUsageBottomSheetBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_analytics_usage_bottom_sheet, container, false) binding.grantButton.setOnClickListener { saveAnalyticsReportingPref(true) - matomoAnalytics.onAnalyticsEnabledToggled(true) + matomoAnalytics.setEnabled(true) dismiss() } binding.declineButton.setOnClickListener { saveAnalyticsReportingPref(false) - matomoAnalytics.onAnalyticsEnabledToggled(false) + matomoAnalytics.setEnabled(false) dismiss() } return binding.root diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt index c97ee97fdad7..762e63c16424 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/search/ProductSearchActivity.kt @@ -32,6 +32,8 @@ import kotlinx.coroutines.rx2.await import kotlinx.coroutines.rx2.awaitSingleOrNull import kotlinx.coroutines.withContext import openfoodfacts.github.scrachx.openfood.R +import openfoodfacts.github.scrachx.openfood.analytics.AnalyticsEvent +import openfoodfacts.github.scrachx.openfood.analytics.MatomoAnalytics import openfoodfacts.github.scrachx.openfood.customtabs.CustomTabActivityHelper import openfoodfacts.github.scrachx.openfood.databinding.ActivityProductBrowsingListBinding import openfoodfacts.github.scrachx.openfood.features.adapters.ProductSearchAdapter @@ -55,6 +57,9 @@ class ProductSearchActivity : BaseActivity() { private var _binding: ActivityProductBrowsingListBinding? = null private val binding get() = _binding!! + @Inject + lateinit var analytics: MatomoAnalytics + @Inject lateinit var productRepository: ProductRepository @@ -89,6 +94,9 @@ class ProductSearchActivity : BaseActivity() { setSupportActionBar(binding.toolbarInclude.toolbar) supportActionBar!!.setDisplayHomeAsUpEnabled(true) + // Track search without details + analytics.trackEvent(AnalyticsEvent.ProductSearch) + // OnClick binding.buttonTryAgain.setOnClickListener { reloadSearch() } binding.addProduct.setOnClickListener { addProduct() } @@ -548,14 +556,12 @@ class ProductSearchActivity : BaseActivity() { * @param searchTitle the title used in the activity for this search query * @param type the type of search */ - @JvmStatic fun start(context: Context, type: SearchType, searchQuery: String, searchTitle: String = searchQuery) = start(context, SearchInfo(type, searchQuery, searchTitle)) /** * @see [start] */ - @JvmStatic private fun start(context: Context, searchInfo: SearchInfo) { context.startActivity(Intent(context, ProductSearchActivity::class.java).apply { putExtra(SEARCH_INFO, searchInfo) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/welcome/WelcomeActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/welcome/WelcomeActivity.kt index a3e2997127f1..2e15d5368ebe 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/welcome/WelcomeActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/welcome/WelcomeActivity.kt @@ -137,7 +137,7 @@ class WelcomeActivity : BaseActivity() { private fun saveThenLaunchHome(grant: Boolean) { saveAnalyticsReportingPref(grant) - matomoAnalytics.onAnalyticsEnabledToggled(grant) + matomoAnalytics.setEnabled(grant) launchHome() } @@ -149,7 +149,7 @@ class WelcomeActivity : BaseActivity() { private fun launchHome() { prefManager.isFirstTimeLaunch = false - startActivity(Intent(this@WelcomeActivity, MainActivity::class.java)) + MainActivity.start(this) finish() }