From 249065b6972fee22d2b644fd5354eafe9ded186d Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Wed, 21 Jun 2023 11:55:49 +0200 Subject: [PATCH 1/2] Apply Sayantan suggestion to catch invalidProtoBuffException --- .../foundation/e/apps/data/fused/FusedAPIRepository.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt index 224fc833d..4ed5bdc42 100644 --- a/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt +++ b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt @@ -24,6 +24,7 @@ import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.data.models.StreamBundle import com.aurora.gplayapi.data.models.StreamCluster +import com.google.protobuf.InvalidProtocolBufferException import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.enums.FilterLevel import foundation.e.apps.data.enums.Origin @@ -34,6 +35,7 @@ import foundation.e.apps.data.fused.data.FusedCategory import foundation.e.apps.data.fused.data.FusedHome import foundation.e.apps.data.fused.utils.CategoryType import foundation.e.apps.data.fusedDownload.models.FusedDownload +import timber.log.Timber import javax.inject.Inject import javax.inject.Singleton @@ -152,7 +154,12 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi) } suspend fun getSearchSuggestions(query: String, authData: AuthData): List { - return fusedAPIImpl.getSearchSuggestions(query) + try { + return fusedAPIImpl.getSearchSuggestions(query) + } catch (e: InvalidProtocolBufferException) { + Timber.e("caught InvalidProtocolBufferException for query: %s", query) + } + return listOf() } fun getSearchResults( -- GitLab From 52ef0804da62e56b219a74195d5aa1da67931359 Mon Sep 17 00:00:00 2001 From: vincent Bourgmayer Date: Fri, 23 Jun 2023 09:44:35 +0200 Subject: [PATCH 2/2] change the fix and move it to FusedAPIImpl.kt --- .../foundation/e/apps/data/fused/FusedAPIRepository.kt | 9 +-------- .../java/foundation/e/apps/data/fused/FusedApiImpl.kt | 7 ++++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt index c033de55f..9af50e152 100644 --- a/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt +++ b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt @@ -21,7 +21,6 @@ package foundation.e.apps.data.fused import androidx.lifecycle.LiveData import com.aurora.gplayapi.SearchSuggestEntry import com.aurora.gplayapi.data.models.AuthData -import com.google.protobuf.InvalidProtocolBufferException import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.enums.FilterLevel import foundation.e.apps.data.enums.Origin @@ -33,7 +32,6 @@ import foundation.e.apps.data.fused.data.FusedCategory import foundation.e.apps.data.fused.data.FusedHome import foundation.e.apps.data.fused.utils.CategoryType import foundation.e.apps.data.fusedDownload.models.FusedDownload -import timber.log.Timber import javax.inject.Inject import javax.inject.Singleton @@ -107,12 +105,7 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi) } suspend fun getSearchSuggestions(query: String, authData: AuthData): List { - try { - return fusedAPIImpl.getSearchSuggestions(query) - } catch (e: InvalidProtocolBufferException) { - Timber.e("caught InvalidProtocolBufferException for query: %s", query) - } - return listOf() + return fusedAPIImpl.getSearchSuggestions(query) } fun getSearchResults( diff --git a/app/src/main/java/foundation/e/apps/data/fused/FusedApiImpl.kt b/app/src/main/java/foundation/e/apps/data/fused/FusedApiImpl.kt index 88b104865..1dcf9a9b6 100644 --- a/app/src/main/java/foundation/e/apps/data/fused/FusedApiImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/fused/FusedApiImpl.kt @@ -483,7 +483,12 @@ class FusedApiImpl @Inject constructor( } override suspend fun getSearchSuggestions(query: String): List { - return gplayRepository.getSearchSuggestions(query) + var searchSuggesions = listOf() + runCodeBlockWithTimeout ({ + searchSuggesions = gplayRepository.getSearchSuggestions(query) + }) + + return searchSuggesions } override suspend fun getOnDemandModule( -- GitLab