diff --git a/.circleci/config.yml b/.circleci/config.yml index 012d38d..e67e66d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,7 +11,7 @@ jobs: # Our Android Docker images are currently tagged with the suffix -alpha. # This is to indicate the images are currently under development and # might change in backwards incompatible ways from week to week. - - image: circleci/android:api-27-alpha + - image: circleci/android:api-28-alpha environment: JVM_OPTS: -Xmx3200m steps: diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 79fc669..b63e893 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,7 +22,7 @@ android { buildConfigField "String", "GIT_SHA", "\"${gitSha()}\"" buildConfigField "String", "BUILD_TIME", "\"${buildTime()}\"" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { @@ -44,26 +44,26 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // Kotlin support - implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" // Android Support libs and Google Android libs - implementation "com.android.support:support-v13:$rootProject.supportLibraryVersion" - implementation "com.android.support:design:$rootProject.supportLibraryVersion" - implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion" + implementation "androidx.legacy:legacy-support-v13:$rootProject.supportLibraryVersion" + implementation "com.google.android.material:material:$rootProject.supportLibraryVersion" + implementation "androidx.cardview:cardview:$rootProject.supportLibraryVersion" - implementation "com.android.support.constraint:constraint-layout:$rootProject.constraintLayoutVersion" + implementation "androidx.constraintlayout:constraintlayout:$rootProject.constraintLayoutVersion" // ViewModel and LiveData // https://developer.android.com/topic/libraries/architecture/adding-components - implementation "android.arch.lifecycle:extensions:$rootProject.archComponentVersion" + implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.archComponentVersion" // https://developer.chrome.com/multidevice/android/customtabs - implementation "com.android.support:customtabs:$rootProject.supportLibraryVersion" + implementation "androidx.browser:browser:$rootProject.supportLibraryVersion" // ======================================================== // 3rd party libraries // ======================================================== - implementation 'com.android.support.constraint:constraint-layout:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.2' debugImplementation "com.squareup.leakcanary:leakcanary-android:$rootProject.leakcanaryLibraryVersion" releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$rootProject.leakcanaryLibraryVersion" @@ -98,11 +98,11 @@ dependencies { // Mocking framework for unit tests written in Java testImplementation "org.mockito:mockito-core:$rootProject.mockitoVersion" - androidTestImplementation("com.android.support.test.espresso:espresso-core:$rootProject.espressoVersion", { + androidTestImplementation("androidx.test.espresso:espresso-core:$rootProject.espressoVersion", { exclude group: 'com.android.support', module: 'support-annotations' }) - androidTestImplementation 'com.android.support.test:runner:1.0.2' - testImplementation "android.arch.core:core-testing:$rootProject.archComponentVersion" + androidTestImplementation 'androidx.test:runner:1.1.0-alpha4' + testImplementation "androidx.arch.core:core-testing:$rootProject.archComponentVersion" } // ADD THIS AT THE BOTTOM diff --git a/app/src/androidTest/java/com/hossainkhan/android/demo/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/hossainkhan/android/demo/ExampleInstrumentedTest.kt index 21624b6..fd8c3e8 100644 --- a/app/src/androidTest/java/com/hossainkhan/android/demo/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/com/hossainkhan/android/demo/ExampleInstrumentedTest.kt @@ -1,7 +1,7 @@ package com.hossainkhan.android.demo -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 +import androidx.test.InstrumentationRegistry +import androidx.test.runner.AndroidJUnit4 import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseActivity.kt b/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseActivity.kt index 37d30e8..bb05836 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseActivity.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseActivity.kt @@ -16,11 +16,11 @@ package com.hossainkhan.android.demo.browse -import android.arch.lifecycle.ViewModelProviders +import androidx.lifecycle.ViewModelProviders import android.os.Bundle -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.GridLayoutManager -import android.support.v7.widget.RecyclerView +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.hossainkhan.android.demo.R import com.hossainkhan.android.demo.layoutpreview.LayoutChainStyleActivity import com.hossainkhan.android.demo.layoutpreview.LayoutPreviewBaseActivity diff --git a/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseAdapter.kt b/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseAdapter.kt index 31cbfb0..6115e16 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseAdapter.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseAdapter.kt @@ -16,9 +16,9 @@ package com.hossainkhan.android.demo.browse -import android.arch.lifecycle.LifecycleOwner -import android.arch.lifecycle.Observer -import android.support.v7.widget.RecyclerView +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.Observer +import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup diff --git a/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseViewModel.kt b/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseViewModel.kt index f45f8ef..5fbac2c 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseViewModel.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/browse/LayoutBrowseViewModel.kt @@ -16,9 +16,9 @@ package com.hossainkhan.android.demo.browse -import android.arch.lifecycle.LiveData -import android.arch.lifecycle.MutableLiveData -import android.arch.lifecycle.ViewModel +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel import com.hossainkhan.android.demo.data.AppDataStore import com.hossainkhan.android.demo.data.LayoutInformation import timber.log.Timber diff --git a/app/src/main/java/com/hossainkhan/android/demo/data/LayoutDataStore.kt b/app/src/main/java/com/hossainkhan/android/demo/data/LayoutDataStore.kt index 9c96a51..78543cd 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/data/LayoutDataStore.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/data/LayoutDataStore.kt @@ -17,7 +17,7 @@ package com.hossainkhan.android.demo.data import android.content.res.Resources -import android.support.annotation.LayoutRes +import androidx.annotation.LayoutRes import com.hossainkhan.android.demo.R import com.hossainkhan.android.demo.base.AppConfig import javax.inject.Inject diff --git a/app/src/main/java/com/hossainkhan/android/demo/data/LayoutInformation.kt b/app/src/main/java/com/hossainkhan/android/demo/data/LayoutInformation.kt index bc1ba8b..f5d818c 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/data/LayoutInformation.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/data/LayoutInformation.kt @@ -16,8 +16,8 @@ package com.hossainkhan.android.demo.data -import android.support.annotation.DrawableRes -import android.support.annotation.LayoutRes +import androidx.annotation.DrawableRes +import androidx.annotation.LayoutRes /** * A simple data class containing layout resource ID and it's respective description. diff --git a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutChainStyleActivity.kt b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutChainStyleActivity.kt index ba34f0b..d2c1c0b 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutChainStyleActivity.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutChainStyleActivity.kt @@ -19,13 +19,13 @@ package com.hossainkhan.android.demo.layoutpreview import android.content.Context import android.content.Intent import android.os.Bundle -import android.support.annotation.StringRes -import android.support.constraint.ConstraintLayout -import android.support.constraint.ConstraintSet -import android.support.constraint.ConstraintSet.CHAIN_PACKED -import android.support.constraint.ConstraintSet.CHAIN_SPREAD -import android.support.constraint.ConstraintSet.CHAIN_SPREAD_INSIDE -import android.support.transition.TransitionManager +import androidx.annotation.StringRes +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.constraintlayout.widget.ConstraintSet +import androidx.constraintlayout.widget.ConstraintSet.CHAIN_PACKED +import androidx.constraintlayout.widget.ConstraintSet.CHAIN_SPREAD +import androidx.constraintlayout.widget.ConstraintSet.CHAIN_SPREAD_INSIDE +import androidx.transition.TransitionManager import android.view.View import com.hossainkhan.android.demo.R import android.widget.RadioButton diff --git a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModel.kt b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModel.kt index 67b4b5b..99ff06a 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModel.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModel.kt @@ -16,10 +16,10 @@ package com.hossainkhan.android.demo.layoutpreview -import android.arch.lifecycle.LiveData -import android.arch.lifecycle.MutableLiveData -import android.arch.lifecycle.ViewModel -import android.support.annotation.LayoutRes +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.annotation.LayoutRes import com.hossainkhan.android.demo.data.AppDataStore import com.hossainkhan.android.demo.data.LayoutInformation import timber.log.Timber diff --git a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt index bac86de..a94b163 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt @@ -16,16 +16,16 @@ package com.hossainkhan.android.demo.layoutpreview -import android.arch.lifecycle.Observer -import android.arch.lifecycle.ViewModelProvider +import androidx.lifecycle.Observer +import androidx.lifecycle.ViewModelProvider import android.content.Context import android.content.Intent import android.net.Uri import android.os.Bundle -import android.support.annotation.LayoutRes -import android.support.customtabs.CustomTabsIntent -import android.support.v4.app.NavUtils -import android.support.v7.app.AppCompatActivity +import androidx.annotation.LayoutRes +import androidx.browser.customtabs.CustomTabsIntent +import androidx.core.app.NavUtils +import androidx.appcompat.app.AppCompatActivity import android.view.Menu import android.view.MenuItem import com.andrognito.flashbar.Flashbar diff --git a/app/src/main/java/com/hossainkhan/android/demo/viewmodel/LayoutPreviewViewModelFactory.kt b/app/src/main/java/com/hossainkhan/android/demo/viewmodel/LayoutPreviewViewModelFactory.kt index 4071a9d..40376ee 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/viewmodel/LayoutPreviewViewModelFactory.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/viewmodel/LayoutPreviewViewModelFactory.kt @@ -16,8 +16,8 @@ package com.hossainkhan.android.demo.viewmodel -import android.arch.lifecycle.ViewModel -import android.arch.lifecycle.ViewModelProvider +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider import com.hossainkhan.android.demo.browse.LayoutBrowseViewModel import com.hossainkhan.android.demo.data.AppDataStore import com.hossainkhan.android.demo.layoutpreview.LayoutInfoViewModel diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 83c59b9..01663a2 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,16 +1,17 @@ - - - + diff --git a/app/src/main/res/layout/list_item_layout_preview.xml b/app/src/main/res/layout/list_item_layout_preview.xml index 16f033e..b192904 100644 --- a/app/src/main/res/layout/list_item_layout_preview.xml +++ b/app/src/main/res/layout/list_item_layout_preview.xml @@ -14,7 +14,7 @@ ~ limitations under the License. --> - - @@ -58,5 +58,5 @@ app:layout_constraintTop_toTopOf="parent" tools:text="This is the layout title. If this is long, it will be truncated." /> - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_chain_style_main.xml b/app/src/main/res/layout/preview_chain_style_main.xml index 61fe55c..916adaa 100644 --- a/app/src/main/res/layout/preview_chain_style_main.xml +++ b/app/src/main/res/layout/preview_chain_style_main.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_chain_weighted.xml b/app/src/main/res/layout/preview_chain_weighted.xml index 30dbc12..4f0f533 100644 --- a/app/src/main/res/layout/preview_chain_weighted.xml +++ b/app/src/main/res/layout/preview_chain_weighted.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_positioning_bias.xml b/app/src/main/res/layout/preview_positioning_bias.xml index d250fb7..e821aaf 100644 --- a/app/src/main/res/layout/preview_positioning_bias.xml +++ b/app/src/main/res/layout/preview_positioning_bias.xml @@ -14,7 +14,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_positioning_centered.xml b/app/src/main/res/layout/preview_positioning_centered.xml index e20e9ee..3597320 100644 --- a/app/src/main/res/layout/preview_positioning_centered.xml +++ b/app/src/main/res/layout/preview_positioning_centered.xml @@ -14,7 +14,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_positioning_circular.xml b/app/src/main/res/layout/preview_positioning_circular.xml index fb3846c..3833b21 100644 --- a/app/src/main/res/layout/preview_positioning_circular.xml +++ b/app/src/main/res/layout/preview_positioning_circular.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> - + tools:ignore="HardcodedText,MissingConstraints" /> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_positioning_top_left.xml b/app/src/main/res/layout/preview_positioning_top_left.xml index 044e7bd..192aa25 100644 --- a/app/src/main/res/layout/preview_positioning_top_left.xml +++ b/app/src/main/res/layout/preview_positioning_top_left.xml @@ -14,7 +14,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/preview_visibility_gone.xml b/app/src/main/res/layout/preview_visibility_gone.xml index c69a97c..6913373 100644 --- a/app/src/main/res/layout/preview_visibility_gone.xml +++ b/app/src/main/res/layout/preview_visibility_gone.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/test/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModelTest.kt b/app/src/test/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModelTest.kt index 153c393..7186e4f 100644 --- a/app/src/test/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModelTest.kt +++ b/app/src/test/java/com/hossainkhan/android/demo/layoutpreview/LayoutInfoViewModelTest.kt @@ -25,7 +25,7 @@ import org.junit.Test import org.junit.Assert.* import org.junit.Before import org.mockito.Mockito.mock -import android.arch.core.executor.testing.InstantTaskExecutorRule +import androidx.arch.core.executor.testing.InstantTaskExecutorRule import org.junit.rules.TestRule import org.junit.Rule diff --git a/build.gradle b/build.gradle index 7f85ede..e1620b3 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ buildscript { * https://github.com/JetBrains/kotlin/releases * https://blog.jetbrains.com/kotlin/category/releases/ */ - ext.kotlinVersion = '1.2.31' + ext.kotlinVersion = '1.3.20' /* * Android Plugin for Gradle - Version number and release notes @@ -24,19 +24,19 @@ buildscript { * - Stable: https://developer.android.com/studio/releases/gradle-plugin.html * - Alpha: http://tools.android.com/tech-docs/new-build-system */ - ext.androidGradleToolsVersion = '3.1.2' + ext.androidGradleToolsVersion = '3.3.2' /* * Fabric/Firebase gradle tools version. * https://firebase.google.com/docs/crashlytics/ */ - ext.fabricGradleToolsVersion = '1.25.1' + ext.fabricGradleToolsVersion = '1.25.4' /* * Google play services plugin * https://firebase.google.com/docs/android/setup */ - ext.googlePlayServicesToolsVersion = '3.3.1' + ext.googlePlayServicesToolsVersion = '4.0.1' repositories { google() @@ -72,8 +72,8 @@ ext { // Sdk and tools // -------------------------------------------------- androidMinSdkVersion = 21 // Lollipop 5.0 - androidTargetSdkVersion = 27 // Oreo MR1 - androidCompileSdkVersion = 27 + androidTargetSdkVersion = 28 // Oreo MR1 + androidCompileSdkVersion = 28 // Android SDK Build Tools - Versions: https://developer.android.com/studio/releases/build-tools.html buildToolsVersion = '27.0.3' @@ -84,11 +84,11 @@ ext { // Google Products & Support library dependencies // -------------------------------------------------- // https://developer.android.com/topic/libraries/support-library/revisions.html - supportLibraryVersion = '27.1.1' + supportLibraryVersion = '1.0.0-beta01' // https://developer.android.com/reference/android/support/constraint/ConstraintLayout - constraintLayoutVersion = '1.1.0' + constraintLayoutVersion = '1.1.2' // https://developer.android.com/topic/libraries/architecture/adding-components - archComponentVersion = '1.1.1' + archComponentVersion = '2.0.0-beta01' // https://firebase.google.com/docs/android/setup firebaseVersion = '15.0.2' // https://firebase.google.com/docs/crashlytics/get-started @@ -99,7 +99,7 @@ ext { junitVersion = '4.12' mockitoVersion = '1.10.19' hamcrestVersion = '1.3' - espressoVersion = '2.2.2' + espressoVersion = '3.1.0-alpha4' // 3rd party library dependencies // -------------------------------------------------- diff --git a/gradle.properties b/gradle.properties index f36c3f0..66ee45d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,20 @@ org.gradle.jvmargs=-Xmx1536m # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true -kapt.verbose=true \ No newline at end of file +kapt.verbose=true +android.useAndroidX=true +android.enableJetifier=true + +# Getting warning for various APIs +# ============================================ +# API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'. +# API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'. +# API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'. +# API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'. +# API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'. +# API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'. +# API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'. +# References: +# - https://stackoverflow.com/questions/52470044/warning-api-variant-getjavacompile-is-obsolete-and-has-been-replaced-with/54213973#54213973 +# - https://developer.android.com/studio/releases/gradle-plugin?utm_source=android-studio#new_features +android.debug.obsoleteApi=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 476e8d5..8bef395 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Apr 29 11:43:26 EDT 2018 +#Sun Mar 24 13:26:42 EDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip