From bb4ff5a1d8804aef63e1dcab4d5d38d270143fd2 Mon Sep 17 00:00:00 2001 From: Kang min gu <55642709+kangmin1012@users.noreply.github.com> Date: Tue, 22 Mar 2022 10:54:57 +0900 Subject: [PATCH] Ver 1.4.0 (#242) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 스플래시 화면 로티 추가 * 내가 작성한 제품 아이템 태그 디자인 변경 * 리뷰 등록/수정 chip 디자인 수정 * 리뷰 필터 디자인 변경 * Small Chip 추가, Factory 패턴 수정 * 제품 기호도 선택 이미지 교체 * 신규 제품 기록하기 기호도 로직 변경 * 리뷰 수정하기 기호도 로직 변경 * 리뷰 작성 내용 디자인 변경 * 이미 기록한 제품 팻말 표시 * 이미 기록한 제품은 내가 작성한 리뷰 화면으로 이동 * 이미지 조정 및 로직 수정 * Version Up * 검색 로딩 다이얼로그 추가 * 검색창 힌트 문구 변경 * Version Up * gradle update * delete gradle --- app/build.gradle | 138 ------------------ .../teamounce/ounce/base/BindingActivity.kt | 24 +++ .../ounce/component/LoadingDialog.kt | 32 ++++ .../ounce/review/ui/SearchActivity.kt | 17 ++- app/src/main/res/layout/activity_search.xml | 2 +- app/src/main/res/layout/dialog_loading.xml | 17 +++ app/src/main/res/raw/loading.json | 1 + build.gradle.kts | 5 +- buildSrc/src/main/kotlin/Constants.kt | 4 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 10 files changed, 93 insertions(+), 149 deletions(-) delete mode 100644 app/build.gradle create mode 100644 app/src/main/java/com/teamounce/ounce/component/LoadingDialog.kt create mode 100644 app/src/main/res/layout/dialog_loading.xml create mode 100644 app/src/main/res/raw/loading.json diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index 223eba9..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,138 +0,0 @@ -plugins { - id 'com.android.application' - id 'kotlin-android' - id 'kotlin-android-extensions' - id 'kotlin-kapt' - id 'com.google.gms.google-services' - id 'dagger.hilt.android.plugin' - id 'com.google.firebase.crashlytics' -} - -android { - signingConfigs { - config { - storeFile file(SIGNED_STORE_FILE) - storePassword SIGNED_STORE_PASSWORD - keyAlias SIGNED_KEY_ALIAS - keyPassword SIGNED_KEY_PASSWORD - } - } - compileSdkVersion 30 - buildToolsVersion "30.0.3" - - defaultConfig { - applicationId "com.teamounce.ounce" - minSdkVersion 26 - targetSdkVersion 30 - versionCode 11 - versionName "1.1.0" - multiDexEnabled true - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - debuggable false - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = '1.8' - } - - buildFeatures { - dataBinding true - viewBinding true - } - -} - -dependencies { - implementation 'com.google.android.gms:play-services-auth:19.0.0' - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - def nav_version = "2.3.1" - implementation 'androidx.core:core-ktx:1.5.0' - implementation 'androidx.appcompat:appcompat:1.3.0' - implementation 'com.google.android.material:material:1.3.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.4' - implementation 'androidx.legacy:legacy-support-v4:1.0.0' - testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' - - // Multidex - def multidex_version = "2.0.1" - implementation "androidx.multidex:multidex:$multidex_version" - implementation 'com.android.support:multidex:1.0.3' - - // Dots Indiator - implementation 'com.tbuonomo.andrui:viewpagerdotsindicator:4.1.2' - - //Activity-KTX - implementation "androidx.activity:activity-ktx:1.2.3" - - // Navigation - implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" - implementation "androidx.navigation:navigation-ui-ktx:$nav_version" - - // Navigation - Feature module Support - implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version" - - // Kakao Login - Gson, Retrofit, OkHttp - implementation "com.kakao.sdk:v2-user:2.0.5" - - // AndroidX Security - EncryptedSharedPreferences - implementation "androidx.security:security-crypto:1.0.0-rc02" - - // TedKeyboardObserver - implementation 'gun0912.ted:tedkeyboardobserver:1.0.2' - - // Firebase BoM - implementation platform('com.google.firebase:firebase-bom:27.0.0') - - // Firebase SDK for Google Analytics - implementation 'com.google.firebase:firebase-analytics-ktx' - - // Firebase(Google) Auth - implementation 'com.google.firebase:firebase-auth-ktx' - - // Glide - implementation 'com.github.bumptech.glide:glide:4.12.0' - kapt 'com.github.bumptech.glide:compiler:4.12.0' - - // Retrofit - implementation 'com.squareup.retrofit2:retrofit:2.9.0' - implementation 'com.squareup.retrofit2:converter-gson' - implementation 'com.squareup.okhttp3:logging-interceptor:3.12.5' - implementation 'com.squareup.okhttp3:okhttp:4.2.2' - - // Rating Bar Library - implementation 'com.hedgehog.ratingbar:app:1.1.2' - - // Android Dagger-Hilt - implementation "com.google.dagger:hilt-android:2.35" - kapt "com.google.dagger:hilt-android-compiler:2.35" - - // Android Dagger-Hilt for ViewModelInject - implementation "androidx.hilt:hilt-navigation-fragment:1.0.0" - kapt "androidx.hilt:hilt-compiler:1.0.0" - - // Lottie - implementation 'com.airbnb.android:lottie:3.6.0' - - // TedPermission - implementation 'gun0912.ted:tedpermission:2.2.3' - - // TedImagePicker - implementation 'gun0912.ted:tedimagepicker:1.1.10' - - // Firebase Crashlytics - implementation 'com.google.firebase:firebase-crashlytics-ktx' - implementation 'com.google.firebase:firebase-analytics-ktx' -} \ No newline at end of file diff --git a/app/src/main/java/com/teamounce/ounce/base/BindingActivity.kt b/app/src/main/java/com/teamounce/ounce/base/BindingActivity.kt index a8e0470..c976317 100644 --- a/app/src/main/java/com/teamounce/ounce/base/BindingActivity.kt +++ b/app/src/main/java/com/teamounce/ounce/base/BindingActivity.kt @@ -9,16 +9,26 @@ import androidx.databinding.ViewDataBinding import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.OnLifecycleEvent +import com.teamounce.ounce.component.LoadingDialog abstract class BindingActivity(@LayoutRes private val layoutResId: Int) : AppCompatActivity() { protected lateinit var binding: T + private val loadingDialog by lazy { + LoadingDialog(this) + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DataBindingUtil.setContentView(this, layoutResId) } + override fun onDestroy() { + dismissLoadingDialog() + super.onDestroy() + } + protected inner class LifeCycleEventLogger(private val className: String) : LifecycleObserver { fun registerLogger(lifecycle: Lifecycle) { lifecycle.addObserver(this) @@ -29,4 +39,18 @@ abstract class BindingActivity(@LayoutRes private val layou Log.d("${className}LifeCycleEvent", "${lifecycle.currentState}") } } + + fun showLoadingDialog() { + try { + if (!loadingDialog.isShowing) + loadingDialog.show() + } catch (e: Exception) {} + } + + fun dismissLoadingDialog() { + try { + if (loadingDialog.isShowing) + loadingDialog.dismiss() + } catch (e: Exception) {} + } } \ No newline at end of file diff --git a/app/src/main/java/com/teamounce/ounce/component/LoadingDialog.kt b/app/src/main/java/com/teamounce/ounce/component/LoadingDialog.kt new file mode 100644 index 0000000..eeec5e2 --- /dev/null +++ b/app/src/main/java/com/teamounce/ounce/component/LoadingDialog.kt @@ -0,0 +1,32 @@ +package com.teamounce.ounce.component + +import android.annotation.SuppressLint +import android.app.Dialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.view.LayoutInflater +import android.view.Window +import android.view.WindowManager +import com.teamounce.ounce.R + +@SuppressLint("InflateParams") +class LoadingDialog(context: Context, isCancelable: Boolean = false) : Dialog(context) { + + init { + requestWindowFeature(Window.FEATURE_NO_TITLE) + + // make dialog background transparent + this.window!!.run { + setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) + } + + // make dialog background un-selectable + setCanceledOnTouchOutside(isCancelable) + setCancelable(isCancelable) + + setContentView(R.layout.dialog_loading) + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/teamounce/ounce/review/ui/SearchActivity.kt b/app/src/main/java/com/teamounce/ounce/review/ui/SearchActivity.kt index 901d903..3735c43 100644 --- a/app/src/main/java/com/teamounce/ounce/review/ui/SearchActivity.kt +++ b/app/src/main/java/com/teamounce/ounce/review/ui/SearchActivity.kt @@ -80,6 +80,7 @@ class SearchActivity : BindingActivity(R.layout.activity_ private fun setObserver() { searchViewModel.resultList.observe(this) { + dismissLoadingDialog() if (it.isEmpty()) { binding.clayoutNoResult.visibility = View.VISIBLE binding.clayoutSearch.visibility = View.GONE @@ -104,9 +105,7 @@ class SearchActivity : BindingActivity(R.layout.activity_ } binding.etReviewSearch.setOnKeyListener { _, keyCode, keyEvent -> if (keyEvent.action == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { - searchViewModel.search() - mImm.hideSoftInputFromWindow(currentFocus?.windowToken, 0) - binding.etReviewSearch.clearFocus() + searchFood() true } else { false @@ -114,9 +113,7 @@ class SearchActivity : BindingActivity(R.layout.activity_ } binding.imgReviewSearch.setOnClickListener { - searchViewModel.search() - mImm.hideSoftInputFromWindow(currentFocus?.windowToken, 0) - binding.etReviewSearch.clearFocus() + searchFood() } /** 건의하기 버튼 클릭 시 구글 폼 이동 */ @@ -127,6 +124,14 @@ class SearchActivity : BindingActivity(R.layout.activity_ } } + + private fun searchFood() { + showLoadingDialog() + searchViewModel.search() + mImm.hideSoftInputFromWindow(currentFocus?.windowToken, 0) + binding.etReviewSearch.clearFocus() + } + private fun focusSearchEdt() { binding.etReviewSearch.requestFocus() diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index 5a5994b..c4e9955 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -65,7 +65,7 @@ android:layout_height="wrap_content" android:layout_marginStart="12dp" android:layout_marginTop="4dp" - android:hint="제조사, 상품명 입력" + android:hint="제조사 또는 상품명 입력" android:imeOptions="actionSearch" android:inputType="text" android:paddingStart="12dp" diff --git a/app/src/main/res/layout/dialog_loading.xml b/app/src/main/res/layout/dialog_loading.xml new file mode 100644 index 0000000..5c7da55 --- /dev/null +++ b/app/src/main/res/layout/dialog_loading.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/raw/loading.json b/app/src/main/res/raw/loading.json new file mode 100644 index 0000000..24e14de --- /dev/null +++ b/app/src/main/res/raw/loading.json @@ -0,0 +1 @@ +{"v":"5.7.1","fr":60,"ip":0,"op":121,"w":375,"h":667,"nm":"iPhone 8 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Ellipse 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[167,324,0],"to":[6.667,0,0],"ti":[-6.667,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":30,"s":[207,324,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[207,324,0],"to":[0,6.667,0],"ti":[0,-6.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":60,"s":[207,364,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[207,364,0],"to":[-6.667,0,0],"ti":[6.667,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":90,"s":[167,364,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":105,"s":[167,364,0],"to":[0,-6.667,0],"ti":[0,6.667,0]},{"t":120,"s":[167,324,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Ellipse 6","sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[207,324,0],"to":[0,6.667,0],"ti":[0,-6.667,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[207,364,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[207,364,0],"to":[-6.667,0,0],"ti":[6.667,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[167,364,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[167,364,0],"to":[0,-6.667,0],"ti":[0,6.667,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[167,324,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":105,"s":[167,324,0],"to":[6.667,0,0],"ti":[-6.667,0,0]},{"t":120,"s":[207,324,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 6","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Ellipse 6","sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[207,364,0],"to":[-6.667,0,0],"ti":[6.667,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[167,364,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[167,364,0],"to":[0,-6.667,0],"ti":[0,6.667,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[167,324,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[167,324,0],"to":[6.667,0,0],"ti":[-6.667,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[207,324,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":105,"s":[207,324,0],"to":[0,6.667,0],"ti":[0,-6.667,0]},{"t":120,"s":[207,364,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 6","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Ellipse 4","sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[167,364,0],"to":[0,-6.667,0],"ti":[0,6.667,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[167,324,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[167,324,0],"to":[6.667,0,0],"ti":[-6.667,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[207,324,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[207,324,0],"to":[0,6.667,0],"ti":[0,-6.667,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[207,364,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":105,"s":[207,364,0],"to":[-6.667,0,0],"ti":[6.667,0,0]},{"t":120,"s":[167,364,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 364e049..2f0ef59 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,12 +1,15 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + + extra["kotlin_version"] = Versions.kotlinVersion + repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:${Versions.gradleVersion}") + classpath("com.android.tools.build:gradle:7.1.2") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlinVersion}") classpath(ClassPathPlugins.hilt) classpath(ClassPathPlugins.oss) diff --git a/buildSrc/src/main/kotlin/Constants.kt b/buildSrc/src/main/kotlin/Constants.kt index 5c2a774..1bef7a8 100644 --- a/buildSrc/src/main/kotlin/Constants.kt +++ b/buildSrc/src/main/kotlin/Constants.kt @@ -3,6 +3,6 @@ object Constants { const val compileSdk = 31 const val minSdk = 26 const val targetSdk = 30 - const val versionCode = 14 - const val versionName = "1.3.0" + const val versionCode = 15 + const val versionName = "1.4.0" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 93dd6dd..c560475 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip