From f26ccaa1a2bebf433a10d9e8c94f52319a066438 Mon Sep 17 00:00:00 2001 From: Radhika Canopas Date: Wed, 2 Aug 2023 17:50:15 +0530 Subject: [PATCH 1/2] Upgrade AGP to 8.1.0 --- .idea/gradle.xml | 2 +- app/build.gradle | 3 +++ build.gradle | 8 ++++---- countrypicker/build.gradle | 11 ++++++----- countrypicker/proguard-rules.pro | 3 ++- countrypicker/src/main/AndroidManifest.xml | 3 +-- .../campose/countrypicker/CountrySearchView.kt | 1 + .../canopas/campose/countrypicker/CountyUtils.kt | 15 +++++++++++---- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 9 files changed, 31 insertions(+), 19 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 164f616..0da7e9f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -7,6 +7,7 @@ - diff --git a/app/build.gradle b/app/build.gradle index 10b82e1..5d36fec 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -47,6 +47,9 @@ android { composeOptions { kotlinCompilerExtensionVersion compose_compiler_version } + + namespace 'com.canopas.campose.jetcountypicker' + } dependencies { diff --git a/build.gradle b/build.gradle index 2514740..4595678 100644 --- a/build.gradle +++ b/build.gradle @@ -3,13 +3,13 @@ buildscript { ext { compose_version = '1.4.3' kotlin_version = '1.8.10' - compose_compiler_version = "1.4.3" + compose_compiler_version = "1.5.0" } } plugins { - id 'com.android.application' version '7.4.0' apply false - id 'com.android.library' version '7.4.0' apply false - id 'org.jetbrains.kotlin.android' version '1.8.10' apply false + id 'com.android.application' version '8.1.0' apply false + id 'com.android.library' version '8.1.0' apply false + id 'org.jetbrains.kotlin.android' version '1.9.0' apply false id 'io.github.gradle-nexus.publish-plugin' version "1.1.0" } apply from: "${rootDir}/scripts/publish-root.gradle" diff --git a/countrypicker/build.gradle b/countrypicker/build.gradle index c261ee4..1b9690d 100644 --- a/countrypicker/build.gradle +++ b/countrypicker/build.gradle @@ -5,7 +5,7 @@ plugins { ext { PUBLISH_GROUP_ID = 'com.canopas.jetcountrypicker' - PUBLISH_VERSION = '1.0.5' + PUBLISH_VERSION = '1.0.6' PUBLISH_ARTIFACT_ID = 'jetcountrypicker' } apply from: "${rootDir}/scripts/publish-module.gradle" @@ -25,8 +25,8 @@ android { buildTypes { release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + minifyEnabled true + consumerProguardFiles 'proguard-rules.pro' } } compileOptions { @@ -42,6 +42,8 @@ android { composeOptions { kotlinCompilerExtensionVersion compose_compiler_version } + + namespace 'com.canopas.jetcountrypicker' } dependencies { @@ -56,6 +58,5 @@ dependencies { implementation "androidx.compose.material:material:$compose_version" implementation "androidx.compose.ui:ui-tooling-preview:$compose_version" implementation "androidx.compose.material:material-icons-extended:$compose_version" - implementation 'com.google.code.gson:gson:2.10.1' - + implementation "com.squareup.moshi:moshi-kotlin:1.15.0" } diff --git a/countrypicker/proguard-rules.pro b/countrypicker/proguard-rules.pro index 481bb43..51c09f4 100644 --- a/countrypicker/proguard-rules.pro +++ b/countrypicker/proguard-rules.pro @@ -18,4 +18,5 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile +-keep class com.canopas.campose.countrypicker.model.**{ *; } \ No newline at end of file diff --git a/countrypicker/src/main/AndroidManifest.xml b/countrypicker/src/main/AndroidManifest.xml index c1823a1..44008a4 100644 --- a/countrypicker/src/main/AndroidManifest.xml +++ b/countrypicker/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountrySearchView.kt b/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountrySearchView.kt index ca2d167..0c8c4da 100644 --- a/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountrySearchView.kt +++ b/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountrySearchView.kt @@ -29,6 +29,7 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import com.canopas.jetcountrypicker.R @Composable fun CountrySearchView(searchValue: String, onSearch: (searchValue: String) -> Unit) { diff --git a/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountyUtils.kt b/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountyUtils.kt index 6ebf009..2d4e4ff 100644 --- a/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountyUtils.kt +++ b/countrypicker/src/main/java/com/canopas/campose/countrypicker/CountyUtils.kt @@ -2,14 +2,21 @@ package com.canopas.campose.countrypicker import android.content.Context import com.canopas.campose.countrypicker.model.Country -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken +import com.squareup.moshi.JsonAdapter +import com.squareup.moshi.Moshi +import com.squareup.moshi.Types +import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.io.IOException fun countryList(context: Context): MutableList { + val moshi = + Moshi.Builder().add(KotlinJsonAdapterFactory()).build() + + val personListType = Types.newParameterizedType(List::class.java, Country::class.java) + val jsonAdapter: JsonAdapter> = moshi.adapter(personListType) + val jsonFileString = getJsonDataFromAsset(context, "Countries.json") - val type = object : TypeToken>() {}.type - return Gson().fromJson(jsonFileString, type) + return jsonAdapter.fromJson(jsonFileString) ?: mutableListOf() } fun localeToEmoji(countryCode: String): String { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 69a8fde..ea95872 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jun 01 18:49:37 IST 2023 +#Wed Aug 02 17:30:03 IST 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 9ed701bf7760a9cee0986f788cc72357d599d0fb Mon Sep 17 00:00:00 2001 From: Radhika Canopas Date: Wed, 2 Aug 2023 17:58:17 +0530 Subject: [PATCH 2/2] Fix workflow --- .github/workflows/app-build.yml | 4 ++-- .github/workflows/publish.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/app-build.yml b/.github/workflows/app-build.yml index c2c4fe5..e38a221 100644 --- a/.github/workflows/app-build.yml +++ b/.github/workflows/app-build.yml @@ -7,10 +7,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: set up JDK 11 + - name: set up JDK 17 uses: actions/setup-java@v2 with: distribution: adopt - java-version: 11 + java-version: 17 - name: Build with Gradle run: ./gradlew build \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 30de2bf..71f3a51 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,11 +11,11 @@ jobs: steps: - name: Check out code uses: actions/checkout@v2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v2 with: distribution: adopt - java-version: 11 + java-version: 17 - name: Publish to MavenCentral run: ./gradlew countrypicker:publishReleasePublicationToSonatypeRepository --max-workers 1 closeAndReleaseSonatypeStagingRepository