From 4e8da5bcd5c8b9b4b96906b69de6faca1b209f29 Mon Sep 17 00:00:00 2001 From: "DESKTOP-NEFNNLO\\AHSAN ISHAQ" Date: Thu, 11 Jul 2024 21:07:54 +0500 Subject: [PATCH 1/5] Removed all code related to sign in through google from gradle, imports and files. --- .../main/java/com/ivy/wallet/RootActivity.kt | 40 ------------------- config/detekt/baseline.yml | 1 - gradle/libs.versions.toml | 2 - .../com/ivy/onboarding/OnboardingEvent.kt | 1 - .../onboarding/steps/OnboardingSplashLogin.kt | 36 ----------------- .../viewmodel/OnboardingViewModel.kt | 25 ------------ 6 files changed, 105 deletions(-) diff --git a/app/src/main/java/com/ivy/wallet/RootActivity.kt b/app/src/main/java/com/ivy/wallet/RootActivity.kt index 66a280723d..a102d014bc 100644 --- a/app/src/main/java/com/ivy/wallet/RootActivity.kt +++ b/app/src/main/java/com/ivy/wallet/RootActivity.kt @@ -26,10 +26,6 @@ import androidx.compose.runtime.getValue import androidx.core.content.ContextCompat import androidx.core.view.WindowCompat import androidx.lifecycle.viewmodel.compose.viewModel -import com.google.android.gms.auth.api.signin.GoogleSignIn -import com.google.android.gms.auth.api.signin.GoogleSignInAccount -import com.google.android.gms.auth.api.signin.GoogleSignInClient -import com.google.android.gms.auth.api.signin.GoogleSignInOptions import com.google.android.gms.common.api.ApiException import com.google.android.gms.tasks.Task import com.google.android.material.datepicker.MaterialDatePicker @@ -72,7 +68,6 @@ class RootActivity : AppCompatActivity(), RootScreen { @Inject lateinit var customerJourneyLogic: CustomerJourneyCardsProvider - private lateinit var googleSignInLauncher: ActivityResultLauncher private lateinit var onGoogleSignInIdTokenResult: (idToken: String?) -> Unit private lateinit var createFileLauncher: ActivityResultLauncher @@ -209,47 +204,12 @@ class RootActivity : AppCompatActivity(), RootScreen { } private fun setupActivityForResultLaunchers() { - googleSignInLauncher() createFileLauncher() openFileLauncher() } - private fun googleSignInLauncher() { - googleSignInLauncher = activityForResultLauncher( - createIntent = { _, client -> - client.signInIntent - } - ) { _, intent -> - try { - val task: Task = - GoogleSignIn.getSignedInAccountFromIntent(intent) - val account: GoogleSignInAccount = task.getResult(ApiException::class.java) - val idToken = account.idToken - Timber.d("idToken = $idToken") - - onGoogleSignInIdTokenResult(idToken) - } catch (e: ApiException) { - e.sendToCrashlytics("GOOGLE_SIGN_IN - registerGoogleSignInContract(): ApiException") - e.printStackTrace() - onGoogleSignInIdTokenResult(null) - } - } - - ivyContext.googleSignIn = { idTokenResult: (String?) -> Unit -> - onGoogleSignInIdTokenResult = idTokenResult - - val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) - .requestEmail() - .requestProfile() - .requestIdToken("364763737033-t1d2qe7s0s8597k7anu3sb2nq79ot5tp.apps.googleusercontent.com") - .build() - val googleSignInClient = GoogleSignIn.getClient(this, gso) - googleSignInLauncher.launch(googleSignInClient) - } - } - private fun createFileLauncher() { createFileLauncher = activityForResultLauncher( createIntent = { _, fileName -> diff --git a/config/detekt/baseline.yml b/config/detekt/baseline.yml index 81f5b18692..960eaceff6 100644 --- a/config/detekt/baseline.yml +++ b/config/detekt/baseline.yml @@ -10637,7 +10637,6 @@ UnusedParameter:Title.kt$initialTransactionId: UUID? UnusedPrivateMember:EditTransactionViewModel.kt$EditTransactionViewModel$private suspend fun transferToAmount( amount: Double ): Double? UnusedPrivateMember:Migration109to110_PlannedPayments.kt$Migration109to110_PlannedPayments$private fun SupportSQLiteDatabase.addSyncColumns(tableName: String) - UnusedPrivateMember:OnboardingSplashLogin.kt$@Composable private fun LoginWithGoogleExplanation() UnusedPrivateMember:SettingsScreen.kt$@Composable private fun AccountCardButton( @DrawableRes icon: Int, text: String, onClick: () -> Unit ) UnusedPrivateProperty:AccountModal.kt$val context = LocalContext.current UnusedPrivateProperty:DateExt.kt$val seconds = TimeUnit.MILLISECONDS.toSeconds(timeLeftAfterCalculations) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1eba21fac1..33338d092e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -104,7 +104,6 @@ hilt-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", # Google google-services-plugin = { module = "com.google.gms:google-services", version = "4.4.2" } -google-playservices-auth = { module = "com.google.android.gms:play-services-auth", version = "21.2.0" } google-play-asset = { module = "com.google.android.play:asset-delivery", version = "2.2.2" } google-play-update = { module = "com.google.android.play:app-update", version = "2.1.0" } google-play-services = { module = "com.google.android.gms:play-services-tasks", version = "18.2.0" } @@ -210,7 +209,6 @@ glance = [ "glance-material3" ] google = [ - "google-playservices-auth", "google-play-asset", "google-play-update", "google-play-services", diff --git a/screen/onboarding/src/main/java/com/ivy/onboarding/OnboardingEvent.kt b/screen/onboarding/src/main/java/com/ivy/onboarding/OnboardingEvent.kt index 8d09a30b50..437bee2851 100644 --- a/screen/onboarding/src/main/java/com/ivy/onboarding/OnboardingEvent.kt +++ b/screen/onboarding/src/main/java/com/ivy/onboarding/OnboardingEvent.kt @@ -8,7 +8,6 @@ import com.ivy.wallet.domain.deprecated.logic.model.CreateCategoryData sealed interface OnboardingEvent { - data object LoginWithGoogle : OnboardingEvent data object LoginOfflineAccount : OnboardingEvent data object StartImport : OnboardingEvent data object ImportSkip : OnboardingEvent diff --git a/screen/onboarding/src/main/java/com/ivy/onboarding/steps/OnboardingSplashLogin.kt b/screen/onboarding/src/main/java/com/ivy/onboarding/steps/OnboardingSplashLogin.kt index 291867a8dc..6a00de6380 100644 --- a/screen/onboarding/src/main/java/com/ivy/onboarding/steps/OnboardingSplashLogin.kt +++ b/screen/onboarding/src/main/java/com/ivy/onboarding/steps/OnboardingSplashLogin.kt @@ -292,42 +292,6 @@ private fun LoginSection( } } -@Composable -private fun LoginWithGoogleExplanation() { - Row( - verticalAlignment = Alignment.CenterVertically - ) { - Spacer(Modifier.width(24.dp)) - - IvyIcon( - icon = R.drawable.ic_secure, - tint = Green - ) - - Spacer(Modifier.width(4.dp)) - - Column { - Text( - text = stringResource(R.string.sync_data_ivy_cloud), - style = UI.typo.c.style( - color = Green, - fontWeight = FontWeight.ExtraBold - ) - ) - - Spacer(Modifier.height(2.dp)) - - Text( - text = stringResource(R.string.data_integrity_protection_warning), - style = UI.typo.c.style( - color = UI.colors.pureInverse, - fontWeight = FontWeight.Medium - ) - ) - } - } -} - @Composable private fun LocalAccountExplanation() { Text( diff --git a/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt b/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt index b8f659c8ef..3be9d263a8 100644 --- a/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt +++ b/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt @@ -150,7 +150,6 @@ class OnboardingViewModel @Inject constructor( is OnboardingEvent.ImportFinished -> importFinished(event.success) OnboardingEvent.ImportSkip -> importSkip() OnboardingEvent.LoginOfflineAccount -> loginOfflineAccount() - OnboardingEvent.LoginWithGoogle -> loginWithGoogle() OnboardingEvent.OnAddAccountsDone -> onAddAccountsDone() OnboardingEvent.OnAddAccountsSkip -> onAddAccountsSkip() OnboardingEvent.OnAddCategoriesDone -> onAddCategoriesDone() @@ -162,30 +161,6 @@ class OnboardingViewModel @Inject constructor( } } - // Step 1 --------------------------------------------------------------------------------------- - private suspend fun loginWithGoogle() { - ivyContext.googleSignIn { idToken -> - if (idToken != null) { - _opGoogleSignIn.value = OpResult.loading() - viewModelScope.launch { - try { - router.googleLoginNext() - _opGoogleSignIn.value = null // reset login with Google operation state - } catch (e: Exception) { - e.sendToCrashlytics("GOOGLE_SIGN_IN ERROR: generic exception when logging with GOOGLE") - e.printStackTrace() - Timber.e("Login with Google failed on Ivy server - ${e.message}") - _opGoogleSignIn.value = OpResult.failure(e) - } - } - } else { - sendToCrashlytics("GOOGLE_SIGN_IN ERROR: idToken is null!!") - Timber.e("Login with Google failed while getting idToken") - _opGoogleSignIn.value = OpResult.faliure("Login with Google failed, try again.") - } - } - } - private suspend fun loginOfflineAccount() { router.offlineAccountNext() } From a5a08e44ce70712478ca789adca46e257d25bd11 Mon Sep 17 00:00:00 2001 From: Ahsan Ishaq Date: Fri, 12 Jul 2024 15:06:43 +0500 Subject: [PATCH 2/5] Format code according to detekt tasks. --- app/build.gradle.kts | 1 + app/src/main/java/com/ivy/wallet/RootActivity.kt | 6 ------ config/detekt/config.yml | 2 -- .../com/ivy/onboarding/viewmodel/OnboardingViewModel.kt | 3 --- 4 files changed, 1 insertion(+), 11 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5c1812f455..a63a8474b5 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -8,6 +8,7 @@ plugins { id("com.google.devtools.ksp") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") + id("io.gitlab.arturbosch.detekt") } android { diff --git a/app/src/main/java/com/ivy/wallet/RootActivity.kt b/app/src/main/java/com/ivy/wallet/RootActivity.kt index a102d014bc..5b6038acb0 100644 --- a/app/src/main/java/com/ivy/wallet/RootActivity.kt +++ b/app/src/main/java/com/ivy/wallet/RootActivity.kt @@ -26,8 +26,6 @@ import androidx.compose.runtime.getValue import androidx.core.content.ContextCompat import androidx.core.view.WindowCompat import androidx.lifecycle.viewmodel.compose.viewModel -import com.google.android.gms.common.api.ApiException -import com.google.android.gms.tasks.Task import com.google.android.material.datepicker.MaterialDatePicker import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat @@ -52,7 +50,6 @@ import com.ivy.widget.balance.WalletBalanceWidgetReceiver import com.ivy.widget.transaction.AddTransactionWidget import com.ivy.widget.transaction.AddTransactionWidgetCompact import dagger.hilt.android.AndroidEntryPoint -import timber.log.Timber import java.time.LocalDate import java.time.LocalTime import javax.inject.Inject @@ -68,8 +65,6 @@ class RootActivity : AppCompatActivity(), RootScreen { @Inject lateinit var customerJourneyLogic: CustomerJourneyCardsProvider - private lateinit var onGoogleSignInIdTokenResult: (idToken: String?) -> Unit - private lateinit var createFileLauncher: ActivityResultLauncher private lateinit var onFileCreated: (fileUri: Uri) -> Unit @@ -204,7 +199,6 @@ class RootActivity : AppCompatActivity(), RootScreen { } private fun setupActivityForResultLaunchers() { - createFileLauncher() openFileLauncher() diff --git a/config/detekt/config.yml b/config/detekt/config.yml index db972225a0..aff79b1526 100644 --- a/config/detekt/config.yml +++ b/config/detekt/config.yml @@ -513,8 +513,6 @@ style: # Use it now because BracesOnWhenStatements doesn't work as expected # https://github.com/detekt/detekt/issues/6377 # Delete OptionalWhenBraces rule config after detekt#6377 fix - OptionalWhenBraces: - active: false BracesOnWhenStatements: active: false singleLine: 'necessary' diff --git a/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt b/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt index 3be9d263a8..8284dca369 100644 --- a/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt +++ b/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt @@ -22,7 +22,6 @@ import com.ivy.legacy.datamodel.Settings import com.ivy.legacy.domain.deprecated.logic.AccountCreator import com.ivy.legacy.utils.OpResult import com.ivy.legacy.utils.ioThread -import com.ivy.legacy.utils.sendToCrashlytics import com.ivy.navigation.Navigation import com.ivy.navigation.OnboardingScreen import com.ivy.onboarding.OnboardingDetailState @@ -40,13 +39,11 @@ import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.launch -import timber.log.Timber import javax.inject.Inject @Stable @HiltViewModel class OnboardingViewModel @Inject constructor( - private val ivyContext: IvyWalletCtx, private val nav: Navigation, private val accountDao: AccountDao, private val settingsDao: SettingsDao, From 0596e551080c240d7a4a30babbea36e4ed0292da Mon Sep 17 00:00:00 2001 From: Ahsan Ishaq Date: Fri, 12 Jul 2024 17:52:18 +0500 Subject: [PATCH 3/5] Added annotations to handle detekt errors. --- app/src/main/java/com/ivy/IvyNavGraph.kt | 1 + app/src/main/java/com/ivy/wallet/RootActivity.kt | 15 ++++++++++----- app/src/main/java/com/ivy/wallet/RootViewModel.kt | 4 ++++ .../ivy/wallet/migrations/MigrationsManager.kt | 1 + .../ivy/wallet/ui/applocked/AppLockedScreen.kt | 4 ++++ .../onboarding/viewmodel/OnboardingViewModel.kt | 1 - 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/ivy/IvyNavGraph.kt b/app/src/main/java/com/ivy/IvyNavGraph.kt index c28e9b988a..ac0f99a71a 100644 --- a/app/src/main/java/com/ivy/IvyNavGraph.kt +++ b/app/src/main/java/com/ivy/IvyNavGraph.kt @@ -55,6 +55,7 @@ import com.ivy.transactions.TransactionsScreen @ExperimentalFoundationApi @ExperimentalAnimationApi @Composable +@Suppress("CyclomaticComplexMethod,FunctionNaming") fun BoxWithConstraintsScope.IvyNavGraph(screen: Screen?) { when (screen) { null -> { diff --git a/app/src/main/java/com/ivy/wallet/RootActivity.kt b/app/src/main/java/com/ivy/wallet/RootActivity.kt index 5b6038acb0..ba1d58b038 100644 --- a/app/src/main/java/com/ivy/wallet/RootActivity.kt +++ b/app/src/main/java/com/ivy/wallet/RootActivity.kt @@ -55,6 +55,7 @@ import java.time.LocalTime import javax.inject.Inject @AndroidEntryPoint +@Suppress("TooManyFunctions") class RootActivity : AppCompatActivity(), RootScreen { @Inject lateinit var ivyContext: IvyWalletCtx @@ -144,9 +145,9 @@ class RootActivity : AppCompatActivity(), RootScreen { private fun setupDatePicker() { ivyContext.onShowDatePicker = { minDate, - maxDate, - initialDate, - onDatePicked -> + maxDate, + initialDate, + onDatePicked -> val datePicker = MaterialDatePicker.Builder.datePicker() .setSelection( @@ -193,7 +194,9 @@ class RootActivity : AppCompatActivity(), RootScreen { .build() picker.show(supportFragmentManager, "timePicker") picker.addOnPositiveButtonClickListener { - onTimePicked(LocalTime.of(picker.hour, picker.minute).convertLocalToUTC().withSecond(0)) + onTimePicked( + LocalTime.of(picker.hour, picker.minute).convertLocalToUTC().withSecond(0) + ) } } } @@ -298,7 +301,7 @@ class RootActivity : AppCompatActivity(), RootScreen { ) .setAllowedAuthenticators( BiometricManager.Authenticators.BIOMETRIC_WEAK or - BiometricManager.Authenticators.DEVICE_CREDENTIAL + BiometricManager.Authenticators.DEVICE_CREDENTIAL ) .setConfirmationRequired(false) .build() @@ -316,6 +319,7 @@ class RootActivity : AppCompatActivity(), RootScreen { } } + @Suppress("TooGenericExceptionCaught,PrintStackTrace") override fun openUrlInBrowser(url: String) { try { val browserIntent = Intent(Intent.ACTION_VIEW) @@ -344,6 +348,7 @@ class RootActivity : AppCompatActivity(), RootScreen { startActivity(share) } + @Suppress("SwallowedException") override fun openGooglePlayAppPage(appId: String) { try { startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$appId"))) diff --git a/app/src/main/java/com/ivy/wallet/RootViewModel.kt b/app/src/main/java/com/ivy/wallet/RootViewModel.kt index 4eba48176c..8bcfece7d6 100644 --- a/app/src/main/java/com/ivy/wallet/RootViewModel.kt +++ b/app/src/main/java/com/ivy/wallet/RootViewModel.kt @@ -34,6 +34,7 @@ import java.util.concurrent.atomic.AtomicLong import javax.inject.Inject @HiltViewModel +@Suppress("LongParameterList,TooManyFunctions") class RootViewModel @Inject constructor( private val ivyContext: IvyWalletCtx, private val nav: Navigation, @@ -103,6 +104,7 @@ class RootViewModel @Inject constructor( } } + @Suppress("SwallowedException") private fun handleSpecialStart(intent: Intent): Boolean { val addTrnType: TransactionType? = try { intent.getSerializableExtra(EXTRA_ADD_TRANSACTION_TYPE) as? TransactionType @@ -125,6 +127,7 @@ class RootViewModel @Inject constructor( return false } + @Suppress("EmptyFunctionBlock") fun handleBiometricAuthResult( onAuthSuccess: () -> Unit = {} ): BiometricPrompt.AuthenticationCallback { @@ -169,6 +172,7 @@ class RootViewModel @Inject constructor( private val userInactiveTime = AtomicLong(0) private var userInactiveJob: Job? = null + @Suppress("MagicNumber") fun startUserInactiveTimeCounter() { if (userInactiveJob != null && userInactiveJob!!.isActive) return diff --git a/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt b/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt index 7ce3dc926b..6cfe225df4 100644 --- a/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt +++ b/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt @@ -25,6 +25,7 @@ class MigrationsManager @Inject constructor( ) } + @Suppress("TooGenericExceptionCaught,PrintStackTrace,MagicNumber") suspend fun executeMigrations() { delay(2_000L) // to not the make the app start slower diff --git a/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt b/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt index a7a6fecc66..88d047e74d 100644 --- a/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt +++ b/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt @@ -1,5 +1,6 @@ package com.ivy.wallet.ui.applocked +import android.annotation.SuppressLint import android.content.Context import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -37,7 +38,9 @@ import com.ivy.wallet.ui.theme.Gray import com.ivy.wallet.ui.theme.White import com.ivy.wallet.ui.theme.components.IvyButton +@SuppressLint("ComposeModifierMissing") @Composable +@Suppress("LongMethod,FunctionNaming") fun BoxWithConstraintsScope.AppLockedScreen( onShowOSBiometricsModal: () -> Unit, onContinueWithoutAuthentication: () -> Unit @@ -135,6 +138,7 @@ private fun osAuthentication( @Preview @Composable +@Suppress("FunctionNaming,UnusedPrivateMember") private fun Preview_Locked() { IvyWalletPreview { AppLockedScreen( diff --git a/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt b/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt index 8284dca369..606197f92c 100644 --- a/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt +++ b/screen/onboarding/src/main/java/com/ivy/onboarding/viewmodel/OnboardingViewModel.kt @@ -12,7 +12,6 @@ import com.ivy.data.db.dao.read.SettingsDao import com.ivy.data.db.dao.write.WriteSettingsDao import com.ivy.ui.ComposeViewModel import com.ivy.domain.usecase.exchange.SyncExchangeRatesUseCase -import com.ivy.legacy.IvyWalletCtx import com.ivy.legacy.LogoutLogic import com.ivy.data.model.Category import com.ivy.data.repository.CategoryRepository From f403b696f699dba74deda2732700ebbc7f4b0ce2 Mon Sep 17 00:00:00 2001 From: Ahsan Ishaq Date: Fri, 12 Jul 2024 18:05:16 +0500 Subject: [PATCH 4/5] Correct way to pass multiple parameter in Suppress annotation. --- app/src/main/java/com/ivy/IvyNavGraph.kt | 2 +- app/src/main/java/com/ivy/wallet/RootActivity.kt | 2 +- app/src/main/java/com/ivy/wallet/RootViewModel.kt | 2 +- .../main/java/com/ivy/wallet/migrations/MigrationsManager.kt | 2 +- .../main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/ivy/IvyNavGraph.kt b/app/src/main/java/com/ivy/IvyNavGraph.kt index ac0f99a71a..f48f234c1f 100644 --- a/app/src/main/java/com/ivy/IvyNavGraph.kt +++ b/app/src/main/java/com/ivy/IvyNavGraph.kt @@ -55,7 +55,7 @@ import com.ivy.transactions.TransactionsScreen @ExperimentalFoundationApi @ExperimentalAnimationApi @Composable -@Suppress("CyclomaticComplexMethod,FunctionNaming") +@Suppress("CyclomaticComplexMethod", "FunctionNaming") fun BoxWithConstraintsScope.IvyNavGraph(screen: Screen?) { when (screen) { null -> { diff --git a/app/src/main/java/com/ivy/wallet/RootActivity.kt b/app/src/main/java/com/ivy/wallet/RootActivity.kt index ba1d58b038..2369ebb5a2 100644 --- a/app/src/main/java/com/ivy/wallet/RootActivity.kt +++ b/app/src/main/java/com/ivy/wallet/RootActivity.kt @@ -319,7 +319,7 @@ class RootActivity : AppCompatActivity(), RootScreen { } } - @Suppress("TooGenericExceptionCaught,PrintStackTrace") + @Suppress("TooGenericExceptionCaught", "PrintStackTrace") override fun openUrlInBrowser(url: String) { try { val browserIntent = Intent(Intent.ACTION_VIEW) diff --git a/app/src/main/java/com/ivy/wallet/RootViewModel.kt b/app/src/main/java/com/ivy/wallet/RootViewModel.kt index 8bcfece7d6..b00b69c4c6 100644 --- a/app/src/main/java/com/ivy/wallet/RootViewModel.kt +++ b/app/src/main/java/com/ivy/wallet/RootViewModel.kt @@ -34,7 +34,7 @@ import java.util.concurrent.atomic.AtomicLong import javax.inject.Inject @HiltViewModel -@Suppress("LongParameterList,TooManyFunctions") +@Suppress("LongParameterList", "TooManyFunctions") class RootViewModel @Inject constructor( private val ivyContext: IvyWalletCtx, private val nav: Navigation, diff --git a/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt b/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt index 6cfe225df4..7bb3df5fe3 100644 --- a/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt +++ b/app/src/main/java/com/ivy/wallet/migrations/MigrationsManager.kt @@ -25,7 +25,7 @@ class MigrationsManager @Inject constructor( ) } - @Suppress("TooGenericExceptionCaught,PrintStackTrace,MagicNumber") + @Suppress("TooGenericExceptionCaught", "PrintStackTrace", "MagicNumber") suspend fun executeMigrations() { delay(2_000L) // to not the make the app start slower diff --git a/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt b/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt index 88d047e74d..4a7c99e43c 100644 --- a/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt +++ b/app/src/main/java/com/ivy/wallet/ui/applocked/AppLockedScreen.kt @@ -40,7 +40,7 @@ import com.ivy.wallet.ui.theme.components.IvyButton @SuppressLint("ComposeModifierMissing") @Composable -@Suppress("LongMethod,FunctionNaming") +@Suppress("LongMethod", "FunctionNaming") fun BoxWithConstraintsScope.AppLockedScreen( onShowOSBiometricsModal: () -> Unit, onContinueWithoutAuthentication: () -> Unit @@ -138,7 +138,7 @@ private fun osAuthentication( @Preview @Composable -@Suppress("FunctionNaming,UnusedPrivateMember") +@Suppress("FunctionNaming", "UnusedPrivateMember") private fun Preview_Locked() { IvyWalletPreview { AppLockedScreen( From 001d81ade27c8f3f2cf1c9e40d51a4a64a6e555b Mon Sep 17 00:00:00 2001 From: Ahsan Ishaq Date: Fri, 12 Jul 2024 18:34:23 +0500 Subject: [PATCH 5/5] Removed some extra libraries and code. --- config/detekt/config.yml | 4 ---- gradle/libs.versions.toml | 2 -- 2 files changed, 6 deletions(-) diff --git a/config/detekt/config.yml b/config/detekt/config.yml index aff79b1526..634a2b0993 100644 --- a/config/detekt/config.yml +++ b/config/detekt/config.yml @@ -509,10 +509,6 @@ style: active: false singleLine: 'never' multiLine: 'always' - # OptionalWhenBraces is the deprecated rule, use OptionalWhenBraces instead. - # Use it now because BracesOnWhenStatements doesn't work as expected - # https://github.com/detekt/detekt/issues/6377 - # Delete OptionalWhenBraces rule config after detekt#6377 fix BracesOnWhenStatements: active: false singleLine: 'necessary' diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b30ce22036..a53ecdcf22 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -104,7 +104,6 @@ hilt-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", # Google google-services-plugin = { module = "com.google.gms:google-services", version = "4.4.2" } -google-play-asset = { module = "com.google.android.play:asset-delivery", version = "2.2.2" } google-play-update = { module = "com.google.android.play:app-update", version = "2.1.0" } google-play-services = { module = "com.google.android.gms:play-services-tasks", version = "18.2.0" } google-play-review = { module = "com.google.android.play:review-ktx", version = "2.0.1" } @@ -209,7 +208,6 @@ glance = [ "glance-material3" ] google = [ - "google-play-asset", "google-play-update", "google-play-services", "google-play-review"