From 875df99197c6a58c4196560738a546ff8c052a9e Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Tue, 1 Feb 2022 23:24:10 +0330 Subject: [PATCH 01/12] register new package-name for debug build --- app/build.gradle | 1 + app/google-services.json | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 921b5758..fe744c05 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,6 +43,7 @@ android { } debug { manifestPlaceholders = [isBranchSdkInTestMode: "true"] + applicationIdSuffix = ".debug" } } diff --git a/app/google-services.json b/app/google-services.json index 43016aac..ea6ec0b6 100644 --- a/app/google-services.json +++ b/app/google-services.json @@ -17,7 +17,20 @@ "current_key": "AAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } ] + }, + { + "client_info": { + "mobilesdk_app_id": "1:1111:android:bbbbbbbbb", + "android_client_info": { + "package_name": "com.kindnesswand.debug" + } + }, + "api_key": [ + { + "current_key": "BBbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + } + ] } ], "configuration_version": "1" -} \ No newline at end of file +} From 2bc930caec21ce1bd9831b5439a809bf2d3905ab Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Tue, 1 Feb 2022 23:46:29 +0330 Subject: [PATCH 02/12] separated debug app name --- app/src/debug/res/values/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 app/src/debug/res/values/strings.xml diff --git a/app/src/debug/res/values/strings.xml b/app/src/debug/res/values/strings.xml new file mode 100644 index 00000000..9316b98c --- /dev/null +++ b/app/src/debug/res/values/strings.xml @@ -0,0 +1,4 @@ + + + نسخه دیباگ + \ No newline at end of file From 71728b28f9c41646559aaa4cb43d1f472a3653b4 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Tue, 1 Feb 2022 23:28:37 +0330 Subject: [PATCH 03/12] removed unnecessary build-configs --- app/build.gradle | 4 ---- app/gradle.properties | 4 ---- app/src/main/java/ir/kindnesswall/di/NetworkModule.kt | 6 +++--- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fe744c05..dc5f8219 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,9 +24,6 @@ android { vectorDrawables.useSupportLibrary = true - buildConfigField "Long", "READ_TIMEOUT_SECOND", READ_TIMEOUT_SECOND - buildConfigField "Long", "CONNECTION_TIMEOUT_SECOND", CONNECTION_TIMEOUT_SECOND - resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "") } @@ -42,7 +39,6 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { - manifestPlaceholders = [isBranchSdkInTestMode: "true"] applicationIdSuffix = ".debug" } } diff --git a/app/gradle.properties b/app/gradle.properties index 05ae66d0..87fe38ee 100644 --- a/app/gradle.properties +++ b/app/gradle.properties @@ -6,10 +6,6 @@ VERSION_NAME=2.2.0 PRODUCTION_URL_WEBAPI_BASE_URL="http://kindnesswand.com/api/v1/" STAGING_URL_WEBAPI_BASE_URL="http://dev.kindnesswand.com/api/v1/" ####################################################### -################## Timeout Configs #################### -READ_TIMEOUT_SECOND=20l -CONNECTION_TIMEOUT_SECOND=20l -####################################################### ##################### GOOGLE ######################### GOOGLE_MAPS_API_KEY=googleApiKey ###################################################### diff --git a/app/src/main/java/ir/kindnesswall/di/NetworkModule.kt b/app/src/main/java/ir/kindnesswall/di/NetworkModule.kt index 58849ca6..00c0ab20 100644 --- a/app/src/main/java/ir/kindnesswall/di/NetworkModule.kt +++ b/app/src/main/java/ir/kindnesswall/di/NetworkModule.kt @@ -81,9 +81,9 @@ fun headersInterceptor(addAuthHeader: Boolean) = Interceptor { chain -> private fun setTimeOutToOkHttpClient(okHttpClientBuilder: OkHttpClient.Builder) = okHttpClientBuilder.apply { - readTimeout(BuildConfig.READ_TIMEOUT_SECOND, TimeUnit.SECONDS) - connectTimeout(BuildConfig.CONNECTION_TIMEOUT_SECOND, TimeUnit.SECONDS) - writeTimeout(BuildConfig.READ_TIMEOUT_SECOND, TimeUnit.SECONDS) + readTimeout(15L, TimeUnit.SECONDS) + connectTimeout(15L, TimeUnit.SECONDS) + writeTimeout(15L, TimeUnit.SECONDS) } class NullOnEmptyConverterFactory : Converter.Factory() { From de4e7fafb4d4a3b4fc76e1cd36772fd39a53d8c9 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Tue, 1 Feb 2022 23:30:11 +0330 Subject: [PATCH 04/12] remove unused support-library flags because minSdk is 21 and doesn't need this flag to generate .png files from vector drawables --- app/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dc5f8219..2b0ad69d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,8 +22,6 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - vectorDrawables.useSupportLibrary = true - resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "") } From ceedcafdad4db2a93789a56e01c5079cccac425e Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Tue, 1 Feb 2022 23:38:18 +0330 Subject: [PATCH 05/12] delete unused dependencies --- app/build.gradle | 6 ------ .../extract_dependencies/stagingDebugRuntimeClasspath.txt | 2 -- 2 files changed, 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2b0ad69d..8b512008 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -86,9 +86,6 @@ dependencies { def koin_version = "2.0.1" implementation "org.koin:koin-android-viewmodel:$koin_version" - def androidXAnnotations = '1.0.1' - implementation "androidx.annotation:annotation:$androidXAnnotations" - def coroutinesVersion = '1.5.2' implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" @@ -146,9 +143,6 @@ dependencies { implementation "com.github.marlonlom:timeago:4.0.3" - //recycler view swipe detector - implementation 'it.xabaras.android:recyclerview-swipedecorator:1.2.2' - implementation 'com.github.samanzamani.persiandate:PersianDate:0.8' //chucker debugger diff --git a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt index c31b89c3..c826827d 100644 --- a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt +++ b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt @@ -223,7 +223,6 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | | +--- android.arch.lifecycle:common:1.1.1 -> androidx.lifecycle:lifecycle-common:2.3.1 (*) | | \--- androidx.appcompat:appcompat:1.0.0 -> 1.3.1 (*) | \--- android.arch.lifecycle:extensions:1.1.1 -> androidx.lifecycle:lifecycle-extensions:2.2.0 (*) -+--- androidx.annotation:annotation:1.0.1 -> 1.2.0 +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 (*) +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2 (*) +--- androidx.fragment:fragment-ktx:1.3.6 @@ -556,7 +555,6 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 | \--- androidx.interpolator:interpolator:1.0.0 (*) +--- com.github.marlonlom:timeago:4.0.3 -+--- it.xabaras.android:recyclerview-swipedecorator:1.2.2 +--- com.github.samanzamani.persiandate:PersianDate:0.8 +--- androidx.compose.ui:ui:1.0.5 (*) +--- androidx.compose.ui:ui-tooling:1.0.5 From 8c57c018e811b58e0d3c519cf4b161e0f5b103c3 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Tue, 1 Feb 2022 23:54:19 +0330 Subject: [PATCH 06/12] delete crashlytics dependencies --- app/build.gradle | 2 -- build.gradle | 1 - scripts/extract_dependencies/kapt.txt | 2 +- .../stagingDebugRuntimeClasspath.txt | 28 ++++++------------- 4 files changed, 9 insertions(+), 24 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8b512008..ecb1bdb8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,6 @@ apply plugin: 'kotlin-parcelize' apply plugin: 'kotlin-kapt' apply plugin: 'androidx.navigation.safeargs.kotlin' apply plugin: 'com.google.gms.google-services' -apply plugin: 'com.google.firebase.crashlytics' ext { compose_version = "1.0.5" @@ -124,7 +123,6 @@ dependencies { // firebase implementation 'com.google.firebase:firebase-messaging:20.2.0' implementation 'com.google.firebase:firebase-analytics:17.4.2' - implementation 'com.google.firebase:firebase-crashlytics:17.0.0' def kotpref_version = "2.13.2" implementation "com.chibatching.kotpref:kotpref:$kotpref_version" diff --git a/build.gradle b/build.gradle index 6f98f81f..488e0d79 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,6 @@ buildscript { classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5" classpath 'com.google.gms:google-services:4.3.3' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2' classpath "com.github.ben-manes:gradle-versions-plugin:0.39.0" } } diff --git a/scripts/extract_dependencies/kapt.txt b/scripts/extract_dependencies/kapt.txt index b0200af4..0f7a8072 100644 --- a/scripts/extract_dependencies/kapt.txt +++ b/scripts/extract_dependencies/kapt.txt @@ -109,5 +109,5 @@ You can use '--warning-mode all' to show the individual deprecation warnings and See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings -BUILD SUCCESSFUL in 1s +BUILD SUCCESSFUL in 4s 1 actionable task: 1 executed diff --git a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt index c826827d..74fd7ed3 100644 --- a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt +++ b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt @@ -423,17 +423,17 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) | +--- com.google.android.datatransport:transport-api:2.2.0 -| +--- com.google.android.datatransport:transport-backend-cct:2.2.0 -> 2.2.1 +| +--- com.google.android.datatransport:transport-backend-cct:2.2.0 | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 | | +--- com.google.android.datatransport:transport-api:2.2.0 -| | +--- com.google.android.datatransport:transport-runtime:2.2.1 +| | +--- com.google.android.datatransport:transport-runtime:2.2.0 | | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 | | | +--- com.google.android.datatransport:transport-api:2.2.0 -| | | \--- com.google.dagger:dagger:2.27 +| | | \--- com.google.dagger:dagger:2.24 | | | \--- javax.inject:javax.inject:1 -| | \--- com.google.firebase:firebase-encoders-json:16.1.0 +| | \--- com.google.firebase:firebase-encoders-json:16.0.0 | | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| +--- com.google.android.datatransport:transport-runtime:2.2.0 -> 2.2.1 (*) +| +--- com.google.android.datatransport:transport-runtime:2.2.0 (*) | +--- com.google.android.gms:play-services-basement:17.0.0 | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) | | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) @@ -453,10 +453,10 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | +--- com.google.firebase:firebase-datatransport:17.0.3 | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 | | +--- com.google.android.datatransport:transport-api:2.1.0 -> 2.2.0 -| | +--- com.google.android.datatransport:transport-backend-cct:2.1.0 -> 2.2.1 (*) -| | +--- com.google.android.datatransport:transport-runtime:2.1.0 -> 2.2.1 (*) +| | +--- com.google.android.datatransport:transport-backend-cct:2.1.0 -> 2.2.0 (*) +| | +--- com.google.android.datatransport:transport-runtime:2.1.0 -> 2.2.0 (*) | | \--- com.google.firebase:firebase-common:19.3.0 (*) -| +--- com.google.firebase:firebase-encoders-json:16.0.0 -> 16.1.0 (*) +| +--- com.google.firebase:firebase-encoders-json:16.0.0 (*) | +--- com.google.firebase:firebase-iid:20.2.0 | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) | | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) @@ -518,18 +518,6 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | +--- com.google.android.gms:play-services-basement:17.0.0 (*) | +--- com.google.android.gms:play-services-measurement-base:17.4.2 (*) | \--- com.google.android.gms:play-services-measurement-impl:17.4.2 (*) -+--- com.google.firebase:firebase-crashlytics:17.0.0 -| +--- com.google.android.datatransport:transport-api:2.2.0 -| +--- com.google.android.datatransport:transport-backend-cct:2.2.1 (*) -| +--- com.google.android.datatransport:transport-runtime:2.2.1 (*) -| +--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| +--- com.google.firebase:firebase-common:19.3.0 (*) -| +--- com.google.firebase:firebase-components:16.0.0 (*) -| +--- com.google.firebase:firebase-encoders-json:16.1.0 (*) -| +--- com.google.firebase:firebase-iid:20.1.5 -> 20.2.0 (*) -| +--- com.google.firebase:firebase-iid-interop:17.0.0 (*) -| +--- com.google.firebase:firebase-measurement-connector:18.0.0 (*) -| \--- com.squareup.okhttp3:okhttp:3.12.1 -> 3.12.10 (*) +--- com.chibatching.kotpref:kotpref:2.13.2 | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +--- com.chibatching.kotpref:gson-support:2.13.2 From d965069e309577c24e48a13ea96e9c712bd55cfe Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Wed, 2 Feb 2022 00:00:39 +0330 Subject: [PATCH 07/12] update firebase messaging and analytics before adding app-metrica --- app/build.gradle | 4 +- .../main/java/ir/kindnesswall/BaseActivity.kt | 6 +- .../InsertVerificationNumberFragment.kt | 6 +- scripts/extract_dependencies/kapt.txt | 2 +- .../stagingDebugRuntimeClasspath.txt | 200 +++++++++--------- 5 files changed, 114 insertions(+), 104 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ecb1bdb8..82d39f9b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -121,8 +121,8 @@ dependencies { implementation "com.github.skydoves:landscapist-glide:1.4.0" // firebase - implementation 'com.google.firebase:firebase-messaging:20.2.0' - implementation 'com.google.firebase:firebase-analytics:17.4.2' + implementation 'com.google.firebase:firebase-messaging-ktx:23.0.0' + implementation 'com.google.firebase:firebase-analytics-ktx:20.0.2' def kotpref_version = "2.13.2" implementation "com.chibatching.kotpref:kotpref:$kotpref_version" diff --git a/app/src/main/java/ir/kindnesswall/BaseActivity.kt b/app/src/main/java/ir/kindnesswall/BaseActivity.kt index 995576c4..ec8d41b2 100644 --- a/app/src/main/java/ir/kindnesswall/BaseActivity.kt +++ b/app/src/main/java/ir/kindnesswall/BaseActivity.kt @@ -15,7 +15,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatTextView import androidx.core.content.ContextCompat import com.google.android.material.dialog.MaterialAlertDialogBuilder -import com.google.firebase.iid.FirebaseInstanceId +import com.google.firebase.messaging.FirebaseMessaging import ir.kindnesswall.data.local.AppPref import ir.kindnesswall.data.local.UserInfoPref import ir.kindnesswall.data.repository.UserRepo @@ -64,9 +64,9 @@ abstract class BaseActivity : AppCompatActivity() { if (UserInfoPref.bearerToken.isNotEmpty()) { if (UserInfoPref.fireBaseToken.isEmpty()) { - FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { result -> + FirebaseMessaging.getInstance().token.addOnCompleteListener { result -> if (result.isSuccessful) { - val token = result.result?.token.toString() + val token = result.result.toString() if (token.isNotEmpty()) { UserInfoPref.fireBaseToken = token userRepo.registerFirebaseToken() diff --git a/app/src/main/java/ir/kindnesswall/view/authentication/InsertVerificationNumberFragment.kt b/app/src/main/java/ir/kindnesswall/view/authentication/InsertVerificationNumberFragment.kt index 8522e719..cd73a267 100644 --- a/app/src/main/java/ir/kindnesswall/view/authentication/InsertVerificationNumberFragment.kt +++ b/app/src/main/java/ir/kindnesswall/view/authentication/InsertVerificationNumberFragment.kt @@ -9,7 +9,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.widget.doOnTextChanged import androidx.databinding.DataBindingUtil -import com.google.firebase.iid.FirebaseInstanceId +import com.google.firebase.messaging.FirebaseMessaging import ir.kindnesswall.BaseFragment import ir.kindnesswall.R import ir.kindnesswall.data.local.AppPref @@ -157,9 +157,9 @@ class InsertVerificationNumberFragment : BaseFragment() { when (it.status) { CustomResult.Status.SUCCESS -> { dismissProgressDialog() - FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { result -> + FirebaseMessaging.getInstance().token.addOnCompleteListener { result -> if (result.isSuccessful) { - val token = result.result?.token.toString() + val token = result.result.toString() if (token.isNotEmpty()) { UserInfoPref.fireBaseToken = token AppPref.shouldUpdatedFireBaseToken = true diff --git a/scripts/extract_dependencies/kapt.txt b/scripts/extract_dependencies/kapt.txt index 0f7a8072..3ebfa4a7 100644 --- a/scripts/extract_dependencies/kapt.txt +++ b/scripts/extract_dependencies/kapt.txt @@ -109,5 +109,5 @@ You can use '--warning-mode all' to show the individual deprecation warnings and See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings -BUILD SUCCESSFUL in 4s +BUILD SUCCESSFUL in 2s 1 actionable task: 1 executed diff --git a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt index 74fd7ed3..ca163470 100644 --- a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt +++ b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt @@ -12,13 +12,14 @@ Project ':app' ------------------------------------------------------------ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' (target (androidJvm)). ++--- androidx.databinding:viewbinding:7.0.4 +| \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 +--- androidx.databinding:databinding-common:7.0.4 +--- androidx.databinding:databinding-runtime:7.0.4 | +--- androidx.collection:collection:1.0.0 -> 1.1.0 | | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 | +--- androidx.databinding:databinding-common:7.0.4 -| +--- androidx.databinding:viewbinding:7.0.4 -| | \--- androidx.annotation:annotation:1.0.0 -> 1.2.0 +| +--- androidx.databinding:viewbinding:7.0.4 (*) | \--- androidx.lifecycle:lifecycle-runtime:2.2.0 -> 2.3.1 | +--- androidx.arch.core:core-runtime:2.1.0 | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 @@ -419,105 +420,114 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | +--- androidx.compose.ui:ui:1.0.4 -> 1.0.5 (*) | +--- androidx.compose.runtime:runtime:1.0.4 -> 1.0.5 (*) | \--- androidx.compose.foundation:foundation:1.0.4 -> 1.0.5 (*) -+--- com.google.firebase:firebase-messaging:20.2.0 -| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| +--- androidx.core:core:1.0.0 -> 1.5.0 (*) -| +--- com.google.android.datatransport:transport-api:2.2.0 -| +--- com.google.android.datatransport:transport-backend-cct:2.2.0 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | +--- com.google.android.datatransport:transport-api:2.2.0 -| | +--- com.google.android.datatransport:transport-runtime:2.2.0 -| | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | | +--- com.google.android.datatransport:transport-api:2.2.0 -| | | \--- com.google.dagger:dagger:2.24 -| | | \--- javax.inject:javax.inject:1 -| | \--- com.google.firebase:firebase-encoders-json:16.0.0 -| | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| +--- com.google.android.datatransport:transport-runtime:2.2.0 (*) -| +--- com.google.android.gms:play-services-basement:17.0.0 ++--- com.google.firebase:firebase-messaging-ktx:23.0.0 +| +--- com.google.android.gms:play-services-basement:17.2.1 -> 18.0.0 | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) +| | +--- androidx.core:core:1.2.0 -> 1.5.0 (*) | | \--- androidx.fragment:fragment:1.0.0 -> 1.3.6 (*) -| +--- com.google.android.gms:play-services-stats:17.0.0 -| | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) -| | \--- com.google.android.gms:play-services-basement:17.0.0 (*) -| +--- com.google.android.gms:play-services-tasks:17.0.0 -| | \--- com.google.android.gms:play-services-basement:17.0.0 (*) -| +--- com.google.firebase:firebase-common:19.3.0 -| | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | +--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| | +--- com.google.auto.value:auto-value-annotations:1.6.5 -| | \--- com.google.firebase:firebase-components:16.0.0 -| | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| +--- com.google.firebase:firebase-components:16.0.0 (*) -| +--- com.google.firebase:firebase-datatransport:17.0.3 +| +--- com.google.firebase:firebase-common:20.0.0 +| | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.0.0 (*) +| | +--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 +| | | \--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | \--- com.google.firebase:firebase-components:17.0.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | \--- com.google.firebase:firebase-annotations:16.0.0 +| +--- com.google.firebase:firebase-common-ktx:20.0.0 | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 -| | +--- com.google.android.datatransport:transport-api:2.1.0 -> 2.2.0 -| | +--- com.google.android.datatransport:transport-backend-cct:2.1.0 -> 2.2.0 (*) -| | +--- com.google.android.datatransport:transport-runtime:2.1.0 -> 2.2.0 (*) -| | \--- com.google.firebase:firebase-common:19.3.0 (*) -| +--- com.google.firebase:firebase-encoders-json:16.0.0 (*) -| +--- com.google.firebase:firebase-iid:20.2.0 +| | +--- com.google.firebase:firebase-common:20.0.0 (*) +| | +--- com.google.firebase:firebase-components:17.0.0 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.5.31 (*) +| +--- com.google.firebase:firebase-components:17.0.0 (*) +| +--- com.google.firebase:firebase-messaging:23.0.0 | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) | | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) -| | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) -| | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | +--- com.google.android.gms:play-services-stats:17.0.0 (*) -| | +--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| | +--- com.google.firebase:firebase-common:19.3.0 (*) -| | +--- com.google.firebase:firebase-components:16.0.0 (*) -| | +--- com.google.firebase:firebase-iid-interop:17.0.0 -| | | +--- com.google.android.gms:play-services-base:17.0.0 +| | +--- com.google.android.datatransport:transport-api:3.0.0 +| | | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | +--- com.google.android.datatransport:transport-backend-cct:3.0.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | | +--- com.google.android.datatransport:transport-api:3.0.0 (*) +| | | +--- com.google.android.datatransport:transport-runtime:3.0.0 +| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | | | +--- com.google.android.datatransport:transport-api:3.0.0 (*) +| | | | \--- javax.inject:javax.inject:1 +| | | +--- com.google.firebase:firebase-encoders:17.0.0 +| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | | \--- com.google.firebase:firebase-encoders-json:18.0.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | | \--- com.google.firebase:firebase-encoders:17.0.0 (*) +| | +--- com.google.android.datatransport:transport-runtime:3.0.0 (*) +| | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.0.0 (*) +| | +--- com.google.android.gms:play-services-cloud-messaging:17.0.0 +| | | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.0.0 (*) +| | | \--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 (*) +| | +--- com.google.android.gms:play-services-stats:17.0.0 -> 17.0.2 +| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) +| | | \--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | +--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 (*) +| | +--- com.google.firebase:firebase-common:20.0.0 (*) +| | +--- com.google.firebase:firebase-components:17.0.0 (*) +| | +--- com.google.firebase:firebase-datatransport:18.0.0 +| | | +--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +| | | +--- com.google.android.datatransport:transport-api:3.0.0 (*) +| | | +--- com.google.android.datatransport:transport-backend-cct:3.0.0 (*) +| | | +--- com.google.android.datatransport:transport-runtime:3.0.0 (*) +| | | +--- com.google.firebase:firebase-common:20.0.0 (*) +| | | \--- com.google.firebase:firebase-components:17.0.0 (*) +| | +--- com.google.firebase:firebase-iid-interop:17.1.0 +| | | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.0.0 (*) +| | | \--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 (*) +| | +--- com.google.firebase:firebase-installations:17.0.0 +| | | +--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 (*) +| | | +--- com.google.firebase:firebase-common:20.0.0 (*) +| | | +--- com.google.firebase:firebase-components:17.0.0 (*) +| | | \--- com.google.firebase:firebase-installations-interop:17.0.0 +| | | +--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 (*) +| | | \--- com.google.firebase:firebase-annotations:16.0.0 +| | +--- com.google.firebase:firebase-installations-interop:17.0.0 (*) +| | \--- com.google.firebase:firebase-measurement-connector:19.0.0 +| | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.0.0 (*) +| | \--- com.google.firebase:firebase-annotations:16.0.0 +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.5.31 (*) ++--- com.google.firebase:firebase-analytics-ktx:20.0.2 +| +--- com.google.firebase:firebase-analytics:20.0.2 +| | +--- com.google.android.gms:play-services-measurement:20.0.2 +| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) +| | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 +| | | | \--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | +--- com.google.android.gms:play-services-measurement-base:20.0.2 +| | | | \--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | +--- com.google.android.gms:play-services-measurement-impl:20.0.2 | | | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) | | | | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) -| | | | +--- androidx.fragment:fragment:1.0.0 -> 1.3.6 (*) -| | | | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | | | \--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| | | \--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | +--- com.google.firebase:firebase-installations:16.3.1 -| | | +--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| | | +--- com.google.firebase:firebase-common:19.3.0 (*) -| | | +--- com.google.firebase:firebase-components:16.0.0 (*) -| | | \--- com.google.firebase:firebase-installations-interop:16.0.0 -| | | \--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| | \--- com.google.firebase:firebase-installations-interop:16.0.0 (*) -| +--- com.google.firebase:firebase-installations:16.3.1 (*) -| +--- com.google.firebase:firebase-installations-interop:16.0.0 (*) -| \--- com.google.firebase:firebase-measurement-connector:18.0.0 -| \--- com.google.android.gms:play-services-basement:17.0.0 (*) -+--- com.google.firebase:firebase-analytics:17.4.2 -| +--- com.google.android.gms:play-services-measurement:17.4.2 -| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*) -| | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | +--- com.google.android.gms:play-services-measurement-base:17.4.2 -| | | \--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | +--- com.google.android.gms:play-services-measurement-impl:17.4.2 -| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| | | +--- androidx.core:core:1.0.0 -> 1.5.0 (*) -| | | +--- com.google.android.gms:play-services-ads-identifier:17.0.0 -| | | | \--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | | +--- com.google.android.gms:play-services-measurement-base:17.4.2 (*) -| | | \--- com.google.android.gms:play-services-stats:17.0.0 (*) -| | \--- com.google.android.gms:play-services-stats:17.0.0 (*) -| +--- com.google.android.gms:play-services-measurement-api:17.4.2 -| | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | +--- com.google.android.gms:play-services-measurement-base:17.4.2 (*) -| | +--- com.google.android.gms:play-services-measurement-impl:17.4.2 (*) -| | +--- com.google.android.gms:play-services-measurement-sdk-api:17.4.2 -| | | +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| | | \--- com.google.android.gms:play-services-measurement-base:17.4.2 (*) -| | +--- com.google.android.gms:play-services-tasks:17.0.0 (*) -| | +--- com.google.firebase:firebase-common:19.3.0 (*) -| | +--- com.google.firebase:firebase-components:16.0.0 (*) -| | +--- com.google.firebase:firebase-iid:20.1.5 -> 20.2.0 (*) -| | \--- com.google.firebase:firebase-measurement-connector:18.0.0 (*) -| \--- com.google.android.gms:play-services-measurement-sdk:17.4.2 -| +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) -| +--- com.google.android.gms:play-services-basement:17.0.0 (*) -| +--- com.google.android.gms:play-services-measurement-base:17.4.2 (*) -| \--- com.google.android.gms:play-services-measurement-impl:17.4.2 (*) +| | | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*) +| | | | +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | | +--- com.google.android.gms:play-services-measurement-base:20.0.2 (*) +| | | | \--- com.google.android.gms:play-services-stats:17.0.2 (*) +| | | \--- com.google.android.gms:play-services-stats:17.0.2 (*) +| | +--- com.google.android.gms:play-services-measurement-api:20.0.2 +| | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*) +| | | +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | +--- com.google.android.gms:play-services-measurement-base:20.0.2 (*) +| | | +--- com.google.android.gms:play-services-measurement-sdk-api:20.0.2 +| | | | +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | | | \--- com.google.android.gms:play-services-measurement-base:20.0.2 (*) +| | | +--- com.google.android.gms:play-services-tasks:18.0.1 (*) +| | | +--- com.google.firebase:firebase-common:20.0.0 (*) +| | | +--- com.google.firebase:firebase-components:17.0.0 (*) +| | | +--- com.google.firebase:firebase-installations:17.0.0 (*) +| | | +--- com.google.firebase:firebase-installations-interop:17.0.0 (*) +| | | \--- com.google.firebase:firebase-measurement-connector:19.0.0 (*) +| | \--- com.google.android.gms:play-services-measurement-sdk:20.0.2 +| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) +| | +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| | +--- com.google.android.gms:play-services-measurement-base:20.0.2 (*) +| | \--- com.google.android.gms:play-services-measurement-impl:20.0.2 (*) +| +--- com.google.firebase:firebase-common:20.0.0 (*) +| +--- com.google.firebase:firebase-common-ktx:20.0.0 (*) +| +--- com.google.firebase:firebase-components:17.0.0 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.50 -> 1.5.31 (*) +--- com.chibatching.kotpref:kotpref:2.13.2 | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +--- com.chibatching.kotpref:gson-support:2.13.2 @@ -618,5 +628,5 @@ You can use '--warning-mode all' to show the individual deprecation warnings and See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings -BUILD SUCCESSFUL in 1s +BUILD SUCCESSFUL in 8s 1 actionable task: 1 executed From 9d69046ee6ead8f1ac4446180f0a7aaec6d52ca7 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Wed, 2 Feb 2022 00:59:19 +0330 Subject: [PATCH 08/12] remove kotpref auto-initializer it causes some crashes --- app/build.gradle | 1 - app/src/main/java/ir/kindnesswall/KindnessApplication.kt | 5 ++++- .../extract_dependencies/stagingDebugRuntimeClasspath.txt | 5 +---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 82d39f9b..13b7af71 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,7 +127,6 @@ dependencies { def kotpref_version = "2.13.2" implementation "com.chibatching.kotpref:kotpref:$kotpref_version" implementation "com.chibatching.kotpref:gson-support:$kotpref_version" - implementation "com.chibatching.kotpref:initializer:$kotpref_version" implementation "com.chibatching.kotpref:livedata-support:$kotpref_version" // zoomable image view diff --git a/app/src/main/java/ir/kindnesswall/KindnessApplication.kt b/app/src/main/java/ir/kindnesswall/KindnessApplication.kt index 8b5b14d7..4752964f 100644 --- a/app/src/main/java/ir/kindnesswall/KindnessApplication.kt +++ b/app/src/main/java/ir/kindnesswall/KindnessApplication.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.OnLifecycleEvent import androidx.lifecycle.ProcessLifecycleOwner +import com.chibatching.kotpref.Kotpref import ir.kindnesswall.data.local.AppPref import ir.kindnesswall.data.local.dao.catalog.GiftModel import ir.kindnesswall.data.model.ChatContactModel @@ -20,7 +21,7 @@ import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import org.koin.core.context.startKoin import timber.log.Timber -import java.util.* +import java.util.Locale /** * Created by farshid.abazari since 2019-11-01 @@ -49,6 +50,8 @@ class KindnessApplication : Application(), LifecycleObserver { override fun onCreate() { super.onCreate() + Kotpref.init(this) + if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree()) diff --git a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt index ca163470..ef6570a8 100644 --- a/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt +++ b/scripts/extract_dependencies/stagingDebugRuntimeClasspath.txt @@ -532,9 +532,6 @@ stagingDebugRuntimeClasspath - Runtime classpath of compilation 'stagingDebug' ( | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +--- com.chibatching.kotpref:gson-support:2.13.2 | \--- com.chibatching.kotpref:kotpref:2.13.2 (*) -+--- com.chibatching.kotpref:initializer:2.13.2 -| +--- com.chibatching.kotpref:kotpref:2.13.2 (*) -| \--- androidx.startup:startup-runtime:1.0.0 (*) +--- com.chibatching.kotpref:livedata-support:2.13.2 | \--- com.chibatching.kotpref:kotpref:2.13.2 (*) +--- com.github.chrisbanes:PhotoView:2.3.0 @@ -628,5 +625,5 @@ You can use '--warning-mode all' to show the individual deprecation warnings and See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings -BUILD SUCCESSFUL in 8s +BUILD SUCCESSFUL in 1s 1 actionable task: 1 executed From 618251ce33b3d64a6022ecd446b3e3cc44642705 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Mon, 21 Mar 2022 20:01:00 +0330 Subject: [PATCH 09/12] organize environment properties --- app/build.gradle | 6 +++--- app/gradle.properties | 13 ++++--------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 13b7af71..b05ba74e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,7 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "") + resValue "string", "google_maps_key", "\"${GOOGLE_MAPS_API_KEY}\"" } buildFeatures { @@ -45,11 +45,11 @@ android { productFlavors { staging { versionNameSuffix 'Staging' - buildConfigField "String", "URL_WEBAPI", "${STAGING_URL_WEBAPI_BASE_URL}" + buildConfigField "String", "URL_WEBAPI", "\"${STAGING_URL_WEBAPI_BASE_URL}\"" } production { - buildConfigField "String", "URL_WEBAPI", "${PRODUCTION_URL_WEBAPI_BASE_URL}" + buildConfigField "String", "URL_WEBAPI", "\"${PRODUCTION_URL_WEBAPI_BASE_URL}\"" } } diff --git a/app/gradle.properties b/app/gradle.properties index 87fe38ee..7898dde7 100644 --- a/app/gradle.properties +++ b/app/gradle.properties @@ -1,11 +1,6 @@ -################### APP_VERSION ####################### VERSION_CODE=8 VERSION_NAME=2.2.0 -####################################################### -################## Web Api Url ######################## -PRODUCTION_URL_WEBAPI_BASE_URL="http://kindnesswand.com/api/v1/" -STAGING_URL_WEBAPI_BASE_URL="http://dev.kindnesswand.com/api/v1/" -####################################################### -##################### GOOGLE ######################### -GOOGLE_MAPS_API_KEY=googleApiKey -###################################################### +# These properties must be override in build script +PRODUCTION_URL_WEBAPI_BASE_URL=http://kindnesswand.com/api/v1/ +STAGING_URL_WEBAPI_BASE_URL=http://dev.kindnesswand.com/api/v1/ +GOOGLE_MAPS_API_KEY=googleApiKey \ No newline at end of file From 9c143fb4d3095ef10d1a95be85657a0df23c0068 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Mon, 21 Mar 2022 20:12:40 +0330 Subject: [PATCH 10/12] add app-metrica --- app/build.gradle | 3 +++ app/gradle.properties | 3 ++- app/src/main/AndroidManifest.xml | 5 +++++ .../ir/kindnesswall/KindnessApplication.kt | 18 ++++++++++++++++++ .../stagingDebugRuntimeClasspath.txt | 12 ++++++++++++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index b05ba74e..db626241 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,6 +22,7 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" resValue "string", "google_maps_key", "\"${GOOGLE_MAPS_API_KEY}\"" + buildConfigField "String", "APP_METRICA_API_KEY", "\"${APP_METRICA_API_KEY}\"" } buildFeatures { @@ -124,6 +125,8 @@ dependencies { implementation 'com.google.firebase:firebase-messaging-ktx:23.0.0' implementation 'com.google.firebase:firebase-analytics-ktx:20.0.2' + implementation 'com.yandex.android:mobmetricalib:4.1.1' + def kotpref_version = "2.13.2" implementation "com.chibatching.kotpref:kotpref:$kotpref_version" implementation "com.chibatching.kotpref:gson-support:$kotpref_version" diff --git a/app/gradle.properties b/app/gradle.properties index 7898dde7..f9078b86 100644 --- a/app/gradle.properties +++ b/app/gradle.properties @@ -3,4 +3,5 @@ VERSION_NAME=2.2.0 # These properties must be override in build script PRODUCTION_URL_WEBAPI_BASE_URL=http://kindnesswand.com/api/v1/ STAGING_URL_WEBAPI_BASE_URL=http://dev.kindnesswand.com/api/v1/ -GOOGLE_MAPS_API_KEY=googleApiKey \ No newline at end of file +GOOGLE_MAPS_API_KEY=googleApiKey +APP_METRICA_API_KEY=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f191bed7..e069ad15 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,11 @@ + + + 1.5.31 (*) ++--- com.yandex.android:mobmetricalib:4.1.1 +| +--- com.google.android.gms:play-services-appset:16.0.0 +| | +--- com.google.android.gms:play-services-base:17.6.0 +| | | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*) +| | | +--- androidx.core:core:1.2.0 -> 1.5.0 (*) +| | | +--- androidx.fragment:fragment:1.0.0 -> 1.3.6 (*) +| | | +--- com.google.android.gms:play-services-basement:17.6.0 -> 18.0.0 (*) +| | | \--- com.google.android.gms:play-services-tasks:17.2.1 -> 18.0.1 (*) +| | +--- com.google.android.gms:play-services-basement:17.6.0 -> 18.0.0 (*) +| | \--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.0.1 (*) +| +--- com.android.installreferrer:installreferrer:2.2 +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.5.31 (*) +--- com.chibatching.kotpref:kotpref:2.13.2 | \--- androidx.annotation:annotation:1.1.0 -> 1.2.0 +--- com.chibatching.kotpref:gson-support:2.13.2 From 5a24ce2f514ff3afe080561635ab470eefe2dba3 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Mon, 21 Mar 2022 21:50:25 +0330 Subject: [PATCH 11/12] add a dummy crash for testing crash report --- .../view/main/more/MoreFragment.kt | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ir/kindnesswall/view/main/more/MoreFragment.kt b/app/src/main/java/ir/kindnesswall/view/main/more/MoreFragment.kt index 8544bfd0..fb963ada 100644 --- a/app/src/main/java/ir/kindnesswall/view/main/more/MoreFragment.kt +++ b/app/src/main/java/ir/kindnesswall/view/main/more/MoreFragment.kt @@ -5,9 +5,20 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.ViewGroup.LayoutParams +import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.Image import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.verticalScroll @@ -17,6 +28,7 @@ import androidx.compose.material.Text import androidx.compose.material.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.runtime.livedata.observeAsState +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -70,6 +82,7 @@ class MoreFragment : BaseFragment() { override fun configureViews() {} + @OptIn(ExperimentalFoundationApi::class) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { view as ComposeView view.setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) @@ -173,7 +186,16 @@ class MoreFragment : BaseFragment() { Text( text = stringResource(R.string.version, BuildConfig.VERSION_NAME), style = MaterialTheme.typography.overline, - modifier = Modifier.align(Alignment.CenterHorizontally) + modifier = Modifier + .align(Alignment.CenterHorizontally) + .combinedClickable( + enabled = BuildConfig.FLAVOR == "staging", + interactionSource = remember { MutableInteractionSource() }, + indication = null, + onClick = {}, + onLongClick = { throwByLongClick() }, + onDoubleClick = { throwByDoubleClick() } + ) ) } } @@ -223,6 +245,20 @@ class MoreFragment : BaseFragment() { } .show() } + + private fun throwByLongClick() { + throw RuntimeException("Hello from more fragment: long click") + } + + private fun throwByDoubleClick() { + TestCrash().crash("Hello from more fragment: double click") + } + + class TestCrash { + fun crash(message: String) { + throw RuntimeException(message) + } + } } @Composable From 109400dd8d8a126e3326ed1835acc4d46d09dbc6 Mon Sep 17 00:00:00 2001 From: Farhad Beigirad Date: Mon, 21 Mar 2022 21:51:18 +0330 Subject: [PATCH 12/12] add app-metrica gradle plugin for uploading mapping file --- app/build.gradle | 7 ++++++- app/gradle.properties | 3 ++- build.gradle | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index db626241..4bbc67fb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-parcelize' apply plugin: 'kotlin-kapt' apply plugin: 'androidx.navigation.safeargs.kotlin' apply plugin: 'com.google.gms.google-services' +apply plugin: 'appmetrica-plugin' ext { compose_version = "1.0.5" @@ -33,8 +34,9 @@ android { buildTypes { release { - minifyEnabled false + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.debug } debug { applicationIdSuffix = ".debug" @@ -161,3 +163,6 @@ dependencies { implementation 'com.jakewharton.timber:timber:5.0.1' } +appmetrica { + postApiKey = "${APP_METRICA_POST_API_KEY}" +} \ No newline at end of file diff --git a/app/gradle.properties b/app/gradle.properties index f9078b86..2fa65a68 100644 --- a/app/gradle.properties +++ b/app/gradle.properties @@ -4,4 +4,5 @@ VERSION_NAME=2.2.0 PRODUCTION_URL_WEBAPI_BASE_URL=http://kindnesswand.com/api/v1/ STAGING_URL_WEBAPI_BASE_URL=http://dev.kindnesswand.com/api/v1/ GOOGLE_MAPS_API_KEY=googleApiKey -APP_METRICA_API_KEY=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa \ No newline at end of file +APP_METRICA_API_KEY=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa +APP_METRICA_POST_API_KEY=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb \ No newline at end of file diff --git a/build.gradle b/build.gradle index 488e0d79..607a89df 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,7 @@ buildscript { classpath 'com.google.gms:google-services:4.3.3' classpath "com.github.ben-manes:gradle-versions-plugin:0.39.0" + classpath "com.yandex.android:appmetrica-build-plugin:0.3.0" } }