From 9a76e9fe0e4fa284b2f2661c240c1d6ee9ff4709 Mon Sep 17 00:00:00 2001 From: Hasib Prince Date: Tue, 16 Jul 2024 13:35:19 +0600 Subject: [PATCH 1/8] testing code added --- .../e/apps/data/application/search/SearchApiImpl.kt | 9 ++++++++- .../e/apps/data/playstore/PlayStoreRepositoryImpl.kt | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index bf19c7af8..f5f3d0e6a 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -38,6 +38,7 @@ import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.login.AuthObject +import foundation.e.apps.data.playstore.PlayStoreRepositoryImpl import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.ui.search.SearchResult import foundation.e.apps.utils.eventBus.AppEvent @@ -353,7 +354,13 @@ class SearchApiImpl @Inject constructor( if (appList.isNullOrEmpty()) { // Call search api with a common keyword (ex: facebook) // to ensure Gplay is returning empty as search result for other keywords as well - val searchResult = appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) + val searchResult = if (PlayStoreRepositoryImpl.isFirstCall) { + // TODO remove this block after testing + PlayStoreRepositoryImpl.isFirstCall = false + Pair(mutableListOf(), mutableSetOf()) + } else { + appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) + } if (searchResult.first.isEmpty()) { Timber.w("Limited result for search is found...") refreshToken() diff --git a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt index 5a6bf1e67..78387aa25 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt @@ -51,6 +51,11 @@ class PlayStoreRepositoryImpl @Inject constructor( private val authenticatorRepository: AuthenticatorRepository ) : PlayStoreRepository { + companion object { + //TODO remove this block after test + var isFirstCall = true + } + override suspend fun getHomeScreenData(): Any { val homeScreenData = mutableMapOf>() val homeElements = createTopChartElements() @@ -79,6 +84,11 @@ class PlayStoreRepositoryImpl @Inject constructor( query: String, subBundle: MutableSet? ): Pair, MutableSet> { + if (isFirstCall) { + //TODO remove this block after test + return Pair(mutableListOf(), mutableSetOf()) + } + var authData = authenticatorRepository.gplayAuth!! val searchHelper = SearchHelper(authData).using(gPlayHttpClient) -- GitLab From d3f9514f9f3b985fe6ea448ad8905ad9b50cfb54 Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Tue, 16 Jul 2024 21:19:06 +0600 Subject: [PATCH 2/8] WIP: add dummy search for every search request --- .../java/foundation/e/apps/MainActivity.kt | 4 ++ .../data/application/search/SearchApiImpl.kt | 53 +++++++++++-------- .../data/playstore/PlayStoreRepositoryImpl.kt | 20 +++---- .../e/apps/di/network/InterceptorModule.kt | 2 +- 4 files changed, 43 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/MainActivity.kt b/app/src/main/java/foundation/e/apps/MainActivity.kt index 46e48eafb..618ce7584 100644 --- a/app/src/main/java/foundation/e/apps/MainActivity.kt +++ b/app/src/main/java/foundation/e/apps/MainActivity.kt @@ -23,6 +23,7 @@ import android.os.Build.VERSION import android.os.Build.VERSION_CODES import android.os.Bundle import android.view.View +import android.widget.Toast import android.window.OnBackInvokedDispatcher.PRIORITY_DEFAULT import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.Lifecycle @@ -466,6 +467,9 @@ class MainActivity : AppCompatActivity() { }.distinctUntilChanged { old, new -> ((old.data is String) && (new.data is String) && old.data == new.data) }.collectLatest { + if (BuildConfig.DEBUG) { + Toast.makeText(this, "Refreshing token...", Toast.LENGTH_SHORT).show() + } validatedAuthObject(it) } } diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index f5f3d0e6a..9a334a314 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -1,6 +1,5 @@ /* - * Copyright MURENA SAS 2023 - * Apps Quickly and easily install Android apps onto your device! + * Copyright (C) 2024 MURENA SAS * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,6 +13,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ package foundation.e.apps.data.application.search @@ -28,17 +28,16 @@ import foundation.e.apps.data.AppSourcesContainer import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.application.ApplicationDataManager import foundation.e.apps.data.application.apps.AppsApi +import foundation.e.apps.data.application.data.Application +import foundation.e.apps.data.application.data.Home import foundation.e.apps.data.application.search.SearchApi.Companion.APP_TYPE_ANY import foundation.e.apps.data.application.search.SearchApi.Companion.APP_TYPE_OPEN import foundation.e.apps.data.application.search.SearchApi.Companion.APP_TYPE_PWA -import foundation.e.apps.data.application.data.Application -import foundation.e.apps.data.application.data.Home import foundation.e.apps.data.application.utils.toApplication import foundation.e.apps.data.enums.Origin import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.handleNetworkResult import foundation.e.apps.data.login.AuthObject -import foundation.e.apps.data.playstore.PlayStoreRepositoryImpl import foundation.e.apps.data.preference.AppLoungePreference import foundation.e.apps.ui.search.SearchResult import foundation.e.apps.utils.eventBus.AppEvent @@ -66,6 +65,13 @@ class SearchApiImpl @Inject constructor( companion object { private const val KEYWORD_TEST_SEARCH = "facebook" + + private val canaryApps = listOf( + "Facebook" to "com.facebook.katana", + "Meta Business Suite" to "com.facebook.pages.app", + "Facebook Lite" to "com.facebook.lite", + "Messenger" to "com.facebook.orca" + ) } override fun getSelectedAppTypes(): List { @@ -340,7 +346,7 @@ class SearchApiImpl @Inject constructor( val fusedAppList = replaceWithFDroid(searchResults.first).toMutableList() - handleLimitedResult(fusedAppList) + doDummySearch() if (searchResults.second.isNotEmpty()) { fusedAppList.add(Application(isPlaceHolder = true)) @@ -350,21 +356,26 @@ class SearchApiImpl @Inject constructor( } } - private suspend fun handleLimitedResult(appList: List?) { - if (appList.isNullOrEmpty()) { - // Call search api with a common keyword (ex: facebook) - // to ensure Gplay is returning empty as search result for other keywords as well - val searchResult = if (PlayStoreRepositoryImpl.isFirstCall) { - // TODO remove this block after testing - PlayStoreRepositoryImpl.isFirstCall = false - Pair(mutableListOf(), mutableSetOf()) - } else { - appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) - } - if (searchResult.first.isEmpty()) { - Timber.w("Limited result for search is found...") - refreshToken() - } + private suspend fun doDummySearch() { + val (searchedApps, _) = appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) + + if (searchedApps.isEmpty()) { + Timber.w("Search returned empty results, refreshing token...") + refreshToken() + return + } + + val searchContainsResults = canaryApps.all { app -> + val (_, canaryAppPackageName) = app + + searchedApps + .map { it.packageName } + .any { searchedAppPackageName -> canaryAppPackageName == searchedAppPackageName } + } + + if (!searchContainsResults) { + Timber.i("Search didn't return enough results, refreshing token...") + refreshToken() } } diff --git a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt index 78387aa25..5f91511da 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt @@ -51,11 +51,6 @@ class PlayStoreRepositoryImpl @Inject constructor( private val authenticatorRepository: AuthenticatorRepository ) : PlayStoreRepository { - companion object { - //TODO remove this block after test - var isFirstCall = true - } - override suspend fun getHomeScreenData(): Any { val homeScreenData = mutableMapOf>() val homeElements = createTopChartElements() @@ -84,11 +79,6 @@ class PlayStoreRepositoryImpl @Inject constructor( query: String, subBundle: MutableSet? ): Pair, MutableSet> { - if (isFirstCall) { - //TODO remove this block after test - return Pair(mutableListOf(), mutableSetOf()) - } - var authData = authenticatorRepository.gplayAuth!! val searchHelper = SearchHelper(authData).using(gPlayHttpClient) @@ -97,18 +87,20 @@ class PlayStoreRepositoryImpl @Inject constructor( subBundle?.let { val searchResult = searchHelper.next(it) Timber.d("fetching next page search data...") - return getSearchResultPair(searchResult) + val searchResults = getSearchResultPair(searchResult, query) + return searchResults } val searchResult = searchHelper.searchResults(query) - return getSearchResultPair(searchResult) + return getSearchResultPair(searchResult, query) } private fun getSearchResultPair( - searchBundle: SearchBundle + searchBundle: SearchBundle, + query: String ): Pair, MutableSet> { val apps = searchBundle.appList - Timber.d("Search result is found: ${apps.size}") + Timber.d("Found ${apps.size} apps for query, $query") return Pair(apps, searchBundle.subBundles) } diff --git a/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt b/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt index 476e5f7d8..5b4eea474 100644 --- a/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt +++ b/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt @@ -62,7 +62,7 @@ class InterceptorModule { fun provideLoggingInterceptor(): HttpLoggingInterceptor { return HttpLoggingInterceptor().apply { level = when { - BuildConfig.DEBUG -> HttpLoggingInterceptor.Level.BODY + BuildConfig.DEBUG -> HttpLoggingInterceptor.Level.BASIC // FIXME: Change to BODY else -> HttpLoggingInterceptor.Level.NONE } } -- GitLab From 365ba8ffd1a6e22008960bda8df017c192475a59 Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Thu, 25 Jul 2024 17:43:02 +0600 Subject: [PATCH 3/8] refactor: optimize search and update dummy search list Updated the `SearchApiImpl.kt` to optimize the search algorithm. Now launching the `doDummySearch()` method within a coroutine with `Dispatchers.IO` to ensure it runs on a background thread for better performance. Also, refactored and consolidated the dummy search apps list for better maintainability. --- .../apps/data/application/search/SearchApiImpl.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index 9a334a314..32b39ca10 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -43,7 +43,9 @@ import foundation.e.apps.ui.search.SearchResult import foundation.e.apps.utils.eventBus.AppEvent import foundation.e.apps.utils.eventBus.EventBus import kotlinx.coroutines.Deferred +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.MainScope +import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.launch import timber.log.Timber import javax.inject.Inject @@ -66,10 +68,8 @@ class SearchApiImpl @Inject constructor( companion object { private const val KEYWORD_TEST_SEARCH = "facebook" - private val canaryApps = listOf( + private val dummySearchApps = listOf( "Facebook" to "com.facebook.katana", - "Meta Business Suite" to "com.facebook.pages.app", - "Facebook Lite" to "com.facebook.lite", "Messenger" to "com.facebook.orca" ) } @@ -334,6 +334,8 @@ class SearchApiImpl @Inject constructor( nextPageSubBundle: Set? ): GplaySearchResult { return handleNetworkResult { + coroutineScope { launch(Dispatchers.IO) { doDummySearch() } } + val searchResults = appSources.gplayRepo.getSearchResult(query, nextPageSubBundle?.toMutableSet()) @@ -346,8 +348,6 @@ class SearchApiImpl @Inject constructor( val fusedAppList = replaceWithFDroid(searchResults.first).toMutableList() - doDummySearch() - if (searchResults.second.isNotEmpty()) { fusedAppList.add(Application(isPlaceHolder = true)) } @@ -356,16 +356,16 @@ class SearchApiImpl @Inject constructor( } } + // Search for Facebook to ensure Google Play returns enough results for the search query private suspend fun doDummySearch() { val (searchedApps, _) = appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) if (searchedApps.isEmpty()) { Timber.w("Search returned empty results, refreshing token...") refreshToken() - return } - val searchContainsResults = canaryApps.all { app -> + val searchContainsResults = dummySearchApps.all { app -> val (_, canaryAppPackageName) = app searchedApps -- GitLab From 0ea39092f6f157ab1ed5485482fcfeb8c3b030e5 Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Thu, 25 Jul 2024 17:43:02 +0600 Subject: [PATCH 4/8] refactor: optimize search and update dummy search list Updated the `SearchApiImpl.kt` to optimize the search algorithm. Now launching the `doDummySearch()` method within a coroutine with `Dispatchers.IO` to ensure it runs on a background thread for better performance. Also, refactored and consolidated the dummy search apps list for better maintainability. --- .../foundation/e/apps/data/application/search/SearchApiImpl.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index 32b39ca10..df28a40ea 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -356,7 +356,7 @@ class SearchApiImpl @Inject constructor( } } - // Search for Facebook to ensure Google Play returns enough results for the search query + // Initiate a dummy search to ensure Google Play returns enough results for the search query private suspend fun doDummySearch() { val (searchedApps, _) = appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) -- GitLab From fd8f419d3f8e7aefc51e91b1c88fe32721e097f9 Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Thu, 25 Jul 2024 17:49:47 +0600 Subject: [PATCH 5/8] refactor: change logging interceptor level to BODY --- .../main/java/foundation/e/apps/di/network/InterceptorModule.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt b/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt index 5b4eea474..476e5f7d8 100644 --- a/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt +++ b/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt @@ -62,7 +62,7 @@ class InterceptorModule { fun provideLoggingInterceptor(): HttpLoggingInterceptor { return HttpLoggingInterceptor().apply { level = when { - BuildConfig.DEBUG -> HttpLoggingInterceptor.Level.BASIC // FIXME: Change to BODY + BuildConfig.DEBUG -> HttpLoggingInterceptor.Level.BODY else -> HttpLoggingInterceptor.Level.NONE } } -- GitLab From b708a1915aa4e4a65a272f5eef5a46a2d74885cb Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Fri, 26 Jul 2024 19:13:56 +0600 Subject: [PATCH 6/8] refactor: return when search contains no or limited results --- .../foundation/e/apps/data/application/search/SearchApiImpl.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index df28a40ea..8050a25c1 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -363,6 +363,7 @@ class SearchApiImpl @Inject constructor( if (searchedApps.isEmpty()) { Timber.w("Search returned empty results, refreshing token...") refreshToken() + return } val searchContainsResults = dummySearchApps.all { app -> @@ -376,6 +377,7 @@ class SearchApiImpl @Inject constructor( if (!searchContainsResults) { Timber.i("Search didn't return enough results, refreshing token...") refreshToken() + return } } -- GitLab From 166e93b2660d3a1734cd2fdbcd5750f658f669f1 Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Fri, 26 Jul 2024 19:46:56 +0600 Subject: [PATCH 7/8] refactor: improve readability --- .../e/apps/data/application/search/SearchApiImpl.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index 8050a25c1..f6a3efd01 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -68,7 +68,7 @@ class SearchApiImpl @Inject constructor( companion object { private const val KEYWORD_TEST_SEARCH = "facebook" - private val dummySearchApps = listOf( + private val DUMMY_SEARCH_EXPECTED_APPS = listOf( "Facebook" to "com.facebook.katana", "Messenger" to "com.facebook.orca" ) @@ -366,7 +366,7 @@ class SearchApiImpl @Inject constructor( return } - val searchContainsResults = dummySearchApps.all { app -> + val isSearchContainingResults = DUMMY_SEARCH_EXPECTED_APPS.all { app -> val (_, canaryAppPackageName) = app searchedApps @@ -374,7 +374,7 @@ class SearchApiImpl @Inject constructor( .any { searchedAppPackageName -> canaryAppPackageName == searchedAppPackageName } } - if (!searchContainsResults) { + if (!isSearchContainingResults) { Timber.i("Search didn't return enough results, refreshing token...") refreshToken() return -- GitLab From 7a2298dee1f9d4ab646bd67c62f61dbdcc662661 Mon Sep 17 00:00:00 2001 From: Fahim Masud Choudhury Date: Fri, 26 Jul 2024 21:24:37 +0600 Subject: [PATCH 8/8] refactor: improve code readability and logging Restructure code in PlayStoreRepositoryImpl.kt and SearchApiImpl.kt for better readability. Also, modify logging level in InterceptorModule.kt for debugging purposes. --- .../e/apps/data/application/search/SearchApiImpl.kt | 13 +++++-------- .../apps/data/playstore/PlayStoreRepositoryImpl.kt | 5 ++--- .../e/apps/di/network/InterceptorModule.kt | 2 +- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt index f6a3efd01..0c16bb68f 100644 --- a/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/application/search/SearchApiImpl.kt @@ -361,21 +361,18 @@ class SearchApiImpl @Inject constructor( val (searchedApps, _) = appSources.gplayRepo.getSearchResult(KEYWORD_TEST_SEARCH, null) if (searchedApps.isEmpty()) { - Timber.w("Search returned empty results, refreshing token...") + Timber.d("Search returned empty results, refreshing token...") refreshToken() return } - val isSearchContainingResults = DUMMY_SEARCH_EXPECTED_APPS.all { app -> - val (_, canaryAppPackageName) = app + val dummySearchPackageNames = DUMMY_SEARCH_EXPECTED_APPS.map { it.second } + val searchedAppsPackageNames = searchedApps.map { it.packageName } - searchedApps - .map { it.packageName } - .any { searchedAppPackageName -> canaryAppPackageName == searchedAppPackageName } - } + val isSearchContainingResults = searchedAppsPackageNames.containsAll(dummySearchPackageNames) if (!isSearchContainingResults) { - Timber.i("Search didn't return enough results, refreshing token...") + Timber.d("Search didn't return enough results, refreshing token...") refreshToken() return } diff --git a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt index 5f91511da..9ea9db7b9 100644 --- a/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepositoryImpl.kt @@ -79,7 +79,7 @@ class PlayStoreRepositoryImpl @Inject constructor( query: String, subBundle: MutableSet? ): Pair, MutableSet> { - var authData = authenticatorRepository.gplayAuth!! + val authData = authenticatorRepository.gplayAuth!! val searchHelper = SearchHelper(authData).using(gPlayHttpClient) Timber.d("Fetching search result for $query, subBundle: $subBundle") @@ -87,8 +87,7 @@ class PlayStoreRepositoryImpl @Inject constructor( subBundle?.let { val searchResult = searchHelper.next(it) Timber.d("fetching next page search data...") - val searchResults = getSearchResultPair(searchResult, query) - return searchResults + return getSearchResultPair(searchResult, query) } val searchResult = searchHelper.searchResults(query) diff --git a/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt b/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt index 476e5f7d8..817c83789 100644 --- a/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt +++ b/app/src/main/java/foundation/e/apps/di/network/InterceptorModule.kt @@ -62,7 +62,7 @@ class InterceptorModule { fun provideLoggingInterceptor(): HttpLoggingInterceptor { return HttpLoggingInterceptor().apply { level = when { - BuildConfig.DEBUG -> HttpLoggingInterceptor.Level.BODY + BuildConfig.DEBUG -> HttpLoggingInterceptor.Level.HEADERS else -> HttpLoggingInterceptor.Level.NONE } } -- GitLab