From 3150c54e03e2f99f723ce72e8e0ed9eb48a19c5c Mon Sep 17 00:00:00 2001 From: CrazyLegenD Date: Wed, 2 Dec 2020 13:03:11 +0100 Subject: [PATCH] reconstruction of the project to match view binding and kotlin 1.4.20 alongside faster build gradle execution --- app/build.gradle | 75 ++------- .../crazylegend/mediapicker/FragmentResult.kt | 32 ++-- .../crazylegend/mediapicker/MainActivity.kt | 29 ++-- audiopicker/build.gradle | 53 ------- .../audiopicker/listeners/onAudioPicked.kt | 8 +- .../audiopicker/listeners/onAudiosPicked.kt | 8 +- build.gradle | 150 +++++++++++++++++- core/build.gradle | 85 ---------- .../src/main/res/anim/fragment_fade_enter.xml | 6 + core/src/main/res/anim/fragment_fade_exit.xml | 6 + extensions/build.gradle | 52 ------ gradle/wrapper/gradle-wrapper.properties | 4 +- imagepicker/build.gradle | 53 ------- .../imagepicker/listeners/onImagePicked.kt | 8 +- videopicker/build.gradle | 56 ------- 15 files changed, 211 insertions(+), 414 deletions(-) create mode 100644 core/src/main/res/anim/fragment_fade_enter.xml create mode 100644 core/src/main/res/anim/fragment_fade_exit.xml diff --git a/app/build.gradle b/app/build.gradle index 5acc4f2..83286f7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,79 +1,24 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' -android { - compileSdkVersion compiledAppVersion - defaultConfig { - applicationId "com.crazylegend.mediapicker" - minSdkVersion 21 - targetSdkVersion compiledAppVersion - versionCode 1 - versionName "1.0" - vectorDrawables.useSupportLibrary = true - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - - viewBinding { - enabled = true - } - - androidExtensions { - experimental = true - } - - - kapt { - correctErrorTypes = true - useBuildCache = true - } -} dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(path: ':imagepicker') - implementation project(path: ':videopicker') - implementation project(path: ':audiopicker') - implementation project(path: ':core') - - //lang features - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - testImplementation 'junit:junit:4.13' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + testImplementation 'junit:junit:4.13.1' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' //glide implementation "com.github.bumptech.glide:glide:$glide" kapt "com.github.bumptech.glide:compiler:$glide" //core - implementation 'androidx.activity:activity-ktx:1.2.0-alpha06' - implementation 'androidx.fragment:fragment-ktx:1.3.0-alpha06' - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation 'androidx.core:core-ktx:1.3.0' + implementation "androidx.activity:activity-ktx:$activity" + implementation "androidx.fragment:fragment-ktx:$fragment" + implementation "androidx.appcompat:appcompat:$appCompat" + implementation "androidx.core:core-ktx:$coreKTX" //ui - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'androidx.recyclerview:recyclerview:1.1.0' - implementation 'com.google.android.material:material:1.3.0-alpha01' + implementation "androidx.constraintlayout:constraintlayout:$constraint_layout" + implementation "androidx.recyclerview:recyclerview:$recycler" + implementation "com.google.android.material:material:$material" //live data implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle" diff --git a/app/src/main/java/com/crazylegend/mediapicker/FragmentResult.kt b/app/src/main/java/com/crazylegend/mediapicker/FragmentResult.kt index 918aa82..aaa9d63 100644 --- a/app/src/main/java/com/crazylegend/mediapicker/FragmentResult.kt +++ b/app/src/main/java/com/crazylegend/mediapicker/FragmentResult.kt @@ -21,10 +21,10 @@ import com.crazylegend.core.modifiers.base.BaseMultiPickerModifier import com.crazylegend.imagepicker.images.ImageModel import com.crazylegend.imagepicker.pickers.MultiImagePicker import com.crazylegend.imagepicker.pickers.SingleImagePicker +import com.crazylegend.mediapicker.databinding.ActivityMainBinding import com.crazylegend.videopicker.pickers.MultiVideoPicker import com.crazylegend.videopicker.pickers.SingleVideoPicker import com.crazylegend.videopicker.videos.VideoModel -import kotlinx.android.synthetic.main.activity_main.* /** @@ -32,6 +32,13 @@ import kotlinx.android.synthetic.main.activity_main.* */ class FragmentResult : DialogFragment(R.layout.activity_main), View.OnClickListener { + private var binding: ActivityMainBinding? = null + + override fun onDestroyView() { + super.onDestroyView() + binding = null + } + private var clickedID = R.id.singleImageBottomSheetPick private val askForStoragePermission = @@ -137,8 +144,8 @@ class FragmentResult : DialogFragment(R.layout.activity_main), View.OnClickListe Glide.with(this) .load(audioModel.loadThumbnail(requireContext().contentResolver)) .error(R.drawable.ic_album) - .into(audio) - audioTitle.text = audioModel.displayName + .into(binding!!.audio) + binding!!.audioTitle.text = audioModel.displayName Log.d("AUDIO_PICKED ${audioModel.thumbnail?.isRecycled}", audioModel.toString()) } @@ -208,7 +215,7 @@ class FragmentResult : DialogFragment(R.layout.activity_main), View.OnClickListe private fun loadVideo(videoModel: VideoModel) { Glide.with(this) .load(videoModel.contentUri) - .into(video) + .into(binding!!.video) Log.d("VIDEO_PICKED", videoModel.toString()) } @@ -279,7 +286,7 @@ class FragmentResult : DialogFragment(R.layout.activity_main), View.OnClickListe private fun loadImage(imageModel: ImageModel) { Glide.with(this) .load(imageModel.contentUri) - .into(image) + .into(binding!!.image) Log.d("IMAGE_PICKED", imageModel.toString()) } @@ -291,20 +298,21 @@ class FragmentResult : DialogFragment(R.layout.activity_main), View.OnClickListe override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + binding = ActivityMainBinding.bind(view) - launchFragmentResult.hide() + binding!!.launchFragmentResult.hide() //images - singleImageBottomSheetPick.setOnClickListener(this) - imageBottomSheetMultiPick.setOnClickListener(this) + binding!!.singleImageBottomSheetPick.setOnClickListener(this) + binding!!.imageBottomSheetMultiPick.setOnClickListener(this) //videos - singleVideoBottomSheetPick.setOnClickListener(this) - videoBottomSheetMultiPick.setOnClickListener(this) + binding!!.singleVideoBottomSheetPick.setOnClickListener(this) + binding!!.videoBottomSheetMultiPick.setOnClickListener(this) //audios - singleAudioBottomSheetPick.setOnClickListener(this) - audioBottomSheetMultiPick.setOnClickListener(this) + binding!!.singleAudioBottomSheetPick.setOnClickListener(this) + binding!!.audioBottomSheetMultiPick.setOnClickListener(this) //listeners images diff --git a/app/src/main/java/com/crazylegend/mediapicker/MainActivity.kt b/app/src/main/java/com/crazylegend/mediapicker/MainActivity.kt index ae0f842..53a4249 100644 --- a/app/src/main/java/com/crazylegend/mediapicker/MainActivity.kt +++ b/app/src/main/java/com/crazylegend/mediapicker/MainActivity.kt @@ -20,14 +20,16 @@ import com.crazylegend.core.modifiers.base.BaseMultiPickerModifier import com.crazylegend.imagepicker.images.ImageModel import com.crazylegend.imagepicker.pickers.MultiImagePicker import com.crazylegend.imagepicker.pickers.SingleImagePicker +import com.crazylegend.mediapicker.databinding.ActivityMainBinding import com.crazylegend.videopicker.pickers.MultiVideoPicker import com.crazylegend.videopicker.pickers.SingleVideoPicker import com.crazylegend.videopicker.videos.VideoModel -import kotlinx.android.synthetic.main.activity_main.* @SuppressLint("MissingPermission") class MainActivity : AppCompatActivity(), View.OnClickListener { + private lateinit var binding: ActivityMainBinding + private var clickedID = R.id.singleImageBottomSheetPick private val askForStoragePermission = @@ -138,8 +140,8 @@ class MainActivity : AppCompatActivity(), View.OnClickListener { Glide.with(this) .load(audioModel.loadThumbnail(contentResolver)) .error(R.drawable.ic_album) - .into(audio) - audioTitle.text = audioModel.displayName + .into(binding.audio) + binding.audioTitle.text = audioModel.displayName Log.d("AUDIO_PICKED ${audioModel.thumbnail?.isRecycled}", audioModel.toString()) } @@ -207,7 +209,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener { private fun loadVideo(videoModel: VideoModel) { Glide.with(this) .load(videoModel.contentUri) - .into(video) + .into(binding.video) Log.d("VIDEO_PICKED", videoModel.toString()) } @@ -280,7 +282,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener { private fun loadImage(imageModel: ImageModel) { Glide.with(this) .load(imageModel.contentUri) - .into(image) + .into(binding.image) Log.d("IMAGE_PICKED", imageModel.toString()) } @@ -292,22 +294,23 @@ class MainActivity : AppCompatActivity(), View.OnClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) //images - singleImageBottomSheetPick.setOnClickListener(this) - imageBottomSheetMultiPick.setOnClickListener(this) + binding.singleImageBottomSheetPick.setOnClickListener(this) + binding.imageBottomSheetMultiPick.setOnClickListener(this) //videos - singleVideoBottomSheetPick.setOnClickListener(this) - videoBottomSheetMultiPick.setOnClickListener(this) + binding.singleVideoBottomSheetPick.setOnClickListener(this) + binding.videoBottomSheetMultiPick.setOnClickListener(this) //audios - singleAudioBottomSheetPick.setOnClickListener(this) - audioBottomSheetMultiPick.setOnClickListener(this) + binding.singleAudioBottomSheetPick.setOnClickListener(this) + binding.audioBottomSheetMultiPick.setOnClickListener(this) //fragment result - launchFragmentResult.setOnClickListener(this) + binding.launchFragmentResult.setOnClickListener(this) } override fun onRestoreInstanceState(savedInstanceState: Bundle) { diff --git a/audiopicker/build.gradle b/audiopicker/build.gradle index b49c936..e69de29 100644 --- a/audiopicker/build.gradle +++ b/audiopicker/build.gradle @@ -1,53 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' -android { - compileSdkVersion compiledAppVersion - defaultConfig { - minSdkVersion 21 - targetSdkVersion compiledAppVersion - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - - viewBinding { - enabled = true - } - - androidExtensions { - experimental = true - } - - - kapt { - correctErrorTypes = true - useBuildCache = true - } -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(path: ':core') - implementation project(path: ':extensions') -} diff --git a/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudioPicked.kt b/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudioPicked.kt index 4671b30..1cf8c9d 100644 --- a/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudioPicked.kt +++ b/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudioPicked.kt @@ -6,12 +6,8 @@ import com.crazylegend.audiopicker.audios.AudioModel /** * Created by crazy on 5/12/20 to long live and prosper ! */ -internal interface onAudioPicked { +internal fun interface onAudioPicked { fun forAudio(audio: AudioModel) } -internal inline fun onAudioDSL(crossinline callback: (audioModel: AudioModel) -> Unit = {}) = object : onAudioPicked { - override fun forAudio(audio: AudioModel) { - callback(audio) - } -} \ No newline at end of file +internal inline fun onAudioDSL(crossinline callback: (audioModel: AudioModel) -> Unit = {}) = onAudioPicked { audio -> callback(audio) } \ No newline at end of file diff --git a/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudiosPicked.kt b/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudiosPicked.kt index c4bbcc1..d8526f2 100644 --- a/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudiosPicked.kt +++ b/audiopicker/src/main/java/com/crazylegend/audiopicker/listeners/onAudiosPicked.kt @@ -6,12 +6,8 @@ import com.crazylegend.audiopicker.audios.AudioModel /** * Created by crazy on 5/12/20 to long live and prosper ! */ -internal interface onAudiosPicked { +internal fun interface onAudiosPicked { fun forAudios(audioList: List) } -internal inline fun onAudiosDSL(crossinline callback: (audioList: List) -> Unit = {}) = object : onAudiosPicked { - override fun forAudios(audioList: List) { - callback(audioList) - } -} \ No newline at end of file +internal inline fun onAudiosDSL(crossinline callback: (audioList: List) -> Unit = {}) = onAudiosPicked { audioList -> callback(audioList) } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 29df1ce..0123496 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,24 @@ +ext { + lifecycle = '2.3.0-beta01' + glide = "4.11.0" + constraint_layout = '2.0.4' + material = "1.3.0-alpha04" + fragment = "1.3.0-beta01" + activity = "1.2.0-beta01" + recycler = "1.0.0" + appCompat = "1.2.0" + coreKTX = "1.5.0-alpha05" + + //compilation + compileVersion = 30 + minVersion = 21 + verCode = 1 + verName = "1.0.0" + testRunner = "androidx.test.runner.AndroidJUnitRunner" +} + buildscript { - ext.kotlin_version = '1.3.72' - ext.glide = "4.11.0" - ext.lifecycle ='2.2.0' - ext.constraint_layout = "2.0.0-beta7" + ext.kotlin_version = '1.4.20' ext.compiledAppVersion = 30 @@ -11,12 +27,15 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.1' + classpath 'com.android.tools.build:gradle:4.1.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' } } allprojects { + group = "io.github.funkymuse" + repositories { google() jcenter() @@ -26,3 +45,124 @@ allprojects { task clean(type: Delete) { delete rootProject.buildDir } + + + +subprojects { + + switch (it.name){ + case 'app': + apply plugin: 'com.android.application' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-kapt' + apply plugin: 'kotlin-parcelize' + + dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(path: ':imagepicker') + implementation project(path: ':videopicker') + implementation project(path: ':audiopicker') + implementation project(path: ':core') + } + + break + + case 'core': + + apply plugin: 'com.android.library' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-parcelize' + apply plugin: 'com.github.dcendents.android-maven' + apply plugin: 'kotlin-kapt' + + dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'junit:junit:4.13.1' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + + //glide + api "com.github.bumptech.glide:glide:$glide" + kapt "com.github.bumptech.glide:compiler:$glide" + + //core + api "androidx.activity:activity-ktx:$activity" + api "androidx.fragment:fragment-ktx:$fragment" + api "androidx.appcompat:appcompat:$appCompat" + api "androidx.core:core-ktx:$coreKTX" + + //ui + api "androidx.constraintlayout:constraintlayout:$constraint_layout" + api "androidx.recyclerview:recyclerview:$recycler" + api "com.google.android.material:material:$material" + + //live data + api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle" + api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle" + api "androidx.lifecycle:lifecycle-common-java8:$lifecycle" + api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle" + } + break + + case 'extensions': + + + apply plugin: 'com.android.library' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-parcelize' + apply plugin: 'com.github.dcendents.android-maven' + apply plugin: 'kotlin-kapt' + + dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(path: ':core') + } + + break + default: + + apply plugin: 'com.android.library' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-parcelize' + apply plugin: 'com.github.dcendents.android-maven' + apply plugin: 'kotlin-kapt' + + dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(path: ':core') + implementation project(path: ':extensions') + } + + + } + + android { + compileSdkVersion compileVersion + + defaultConfig { + minSdkVersion minVersion + targetSdkVersion compileVersion + versionCode verCode + versionName verName + testInstrumentationRunner testRunner + } + + compileOptions { + sourceCompatibility = 1.8 + targetCompatibility = 1.8 + } + + kotlinOptions { + jvmTarget = "1.8" + } + + buildFeatures { + viewBinding = true + aidl = false + renderScript = false + resValues = false + shaders = false + buildConfig = false + } + } +} diff --git a/core/build.gradle b/core/build.gradle index b1a09ac..e69de29 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,85 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' - -android { - compileSdkVersion compiledAppVersion - defaultConfig { - minSdkVersion 21 - targetSdkVersion compiledAppVersion - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - - viewBinding { - enabled = true - } - - androidExtensions { - experimental = true - } - - - kapt { - correctErrorTypes = true - useBuildCache = true - } - -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - - //lang features - api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - - testImplementation 'junit:junit:4.13' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' - - //glide - api "com.github.bumptech.glide:glide:$glide" - kapt "com.github.bumptech.glide:compiler:$glide" - - //core - api 'androidx.activity:activity-ktx:1.2.0-alpha06' - api 'androidx.fragment:fragment-ktx:1.3.0-alpha06' - api 'androidx.appcompat:appcompat:1.1.0' - api 'androidx.core:core-ktx:1.3.0' - - //ui - api 'androidx.constraintlayout:constraintlayout:1.1.3' - api 'androidx.recyclerview:recyclerview:1.1.0' - api 'com.google.android.material:material:1.3.0-alpha01' - api "androidx.constraintlayout:constraintlayout:$constraint_layout" - api "androidx.constraintlayout:constraintlayout-solver:$constraint_layout" - - - //live data - api "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle" - api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle" - api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle" - api "androidx.lifecycle:lifecycle-common-java8:$lifecycle" - api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle" -} diff --git a/core/src/main/res/anim/fragment_fade_enter.xml b/core/src/main/res/anim/fragment_fade_enter.xml new file mode 100644 index 0000000..dd1d29d --- /dev/null +++ b/core/src/main/res/anim/fragment_fade_enter.xml @@ -0,0 +1,6 @@ + + + diff --git a/core/src/main/res/anim/fragment_fade_exit.xml b/core/src/main/res/anim/fragment_fade_exit.xml new file mode 100644 index 0000000..7f84299 --- /dev/null +++ b/core/src/main/res/anim/fragment_fade_exit.xml @@ -0,0 +1,6 @@ + + + diff --git a/extensions/build.gradle b/extensions/build.gradle index cc58da9..e69de29 100644 --- a/extensions/build.gradle +++ b/extensions/build.gradle @@ -1,52 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' -android { - compileSdkVersion compiledAppVersion - defaultConfig { - minSdkVersion 21 - targetSdkVersion compiledAppVersion - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - - viewBinding { - enabled = true - } - - androidExtensions { - experimental = true - } - - - kapt { - correctErrorTypes = true - useBuildCache = true - } -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(path: ':core') -} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b2aacfa..4212956 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Jun 29 11:02:46 CEST 2020 +#Wed Dec 02 12:28:58 CET 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip diff --git a/imagepicker/build.gradle b/imagepicker/build.gradle index b49c936..e69de29 100644 --- a/imagepicker/build.gradle +++ b/imagepicker/build.gradle @@ -1,53 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' -android { - compileSdkVersion compiledAppVersion - defaultConfig { - minSdkVersion 21 - targetSdkVersion compiledAppVersion - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - - viewBinding { - enabled = true - } - - androidExtensions { - experimental = true - } - - - kapt { - correctErrorTypes = true - useBuildCache = true - } -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(path: ':core') - implementation project(path: ':extensions') -} diff --git a/imagepicker/src/main/java/com/crazylegend/imagepicker/listeners/onImagePicked.kt b/imagepicker/src/main/java/com/crazylegend/imagepicker/listeners/onImagePicked.kt index aebfb02..d06c55f 100644 --- a/imagepicker/src/main/java/com/crazylegend/imagepicker/listeners/onImagePicked.kt +++ b/imagepicker/src/main/java/com/crazylegend/imagepicker/listeners/onImagePicked.kt @@ -6,12 +6,8 @@ import com.crazylegend.imagepicker.images.ImageModel /** * Created by crazy on 5/8/20 to long live and prosper ! */ -internal interface onImagePicked { +internal fun interface onImagePicked { fun forImage(imageModel: ImageModel) } -internal inline fun onImageDSL(crossinline imageCallback: (image: ImageModel) -> Unit) = object : onImagePicked { - override fun forImage(imageModel: ImageModel) { - imageCallback(imageModel) - } -} \ No newline at end of file +internal inline fun onImageDSL(crossinline imageCallback: (image: ImageModel) -> Unit) = onImagePicked { imageModel -> imageCallback(imageModel) } \ No newline at end of file diff --git a/videopicker/build.gradle b/videopicker/build.gradle index 0be6f88..e69de29 100644 --- a/videopicker/build.gradle +++ b/videopicker/build.gradle @@ -1,56 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' - -android { - compileSdkVersion compiledAppVersion - defaultConfig { - minSdkVersion 21 - targetSdkVersion compiledAppVersion - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - - viewBinding { - enabled = true - } - - androidExtensions { - experimental = true - } - - - kapt { - correctErrorTypes = true - useBuildCache = true - } - -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(path: ':core') - implementation project(path: ':extensions') - -}