From d5c33ae87a1f05d2dab7899946c7294b48a12d8b Mon Sep 17 00:00:00 2001 From: Ed Johnson Date: Mon, 21 Jan 2019 19:20:24 -0800 Subject: [PATCH 1/4] update all dependencies to latest pre-androidx --- app/build.gradle | 50 +++++++++++++++--------- build.gradle | 13 +++--- gradle/wrapper/gradle-wrapper.properties | 3 +- 3 files changed, 41 insertions(+), 25 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index aca270e..f4c7d3c 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 26 - buildToolsVersion '26.0.1' + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { applicationId "com.example.android.sunshine" - minSdkVersion 14 - targetSdkVersion 26 + minSdkVersion 19 + targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -28,21 +28,35 @@ android { // Versions number variables are defined in the module build.gradle file dependencies { - compile "com.android.support:appcompat-v7:$support_version" - compile "com.android.support:recyclerview-v7:$support_version" - compile "com.android.support:preference-v7:$support_version" - compile "com.android.support.constraint:constraint-layout:$constraint_layout_version" - compile "com.firebase:firebase-jobdispatcher:$firebase_jobdispatcher_version" - compile "android.arch.lifecycle:runtime:$arch_version" - compile "android.arch.lifecycle:extensions:$arch_version" - annotationProcessor "android.arch.lifecycle:compiler:$arch_version" - compile "android.arch.persistence.room:runtime:$arch_version" + implementation "com.android.support:appcompat-v7:$support_version" + implementation "com.android.support:recyclerview-v7:$support_version" + implementation "com.android.support:preference-v7:$support_version" + implementation "com.android.support.constraint:constraint-layout:$constraint_layout_version" + implementation "com.firebase:firebase-jobdispatcher:$firebase_jobdispatcher_version" + + // https://developer.android.com/topic/libraries/architecture/adding-components + + // ViewModel and LiveData + implementation "android.arch.lifecycle:extensions:$arch_version" + // Support library depends on this lightweight import ?? + implementation "android.arch.lifecycle:runtime:$arch_version" + +// annotationProcessor "android.arch.lifecycle:compiler:$arch_version" + implementation "android.arch.lifecycle:common-java8:$arch_version" + + implementation "android.arch.persistence.room:runtime:$arch_version" annotationProcessor "android.arch.persistence.room:compiler:$arch_version" - // Instrumentation dependencies use androidTestCompile" + // optional - Test helpers for LiveData + testImplementation "android.arch.core:core-testing:$arch_version" + // Test helpers + testImplementation "android.arch.persistence.room:testing:$arch_version" + + // Instrumentation dependencies use androidTestImplementation" // (as opposed to testCompile for local unit tests run in the JVM" - androidTestCompile "junit:junit:$junit_version" - androidTestCompile "com.android.support:support-annotations:$support_version" - androidTestCompile "com.android.support.test:runner:$support_test_version" - androidTestCompile "com.android.support.test:rules:$support_test_version" + androidTestImplementation "junit:junit:$junit_version" + androidTestImplementation "com.android.support:support-annotations:$support_version" + androidTestImplementation "com.android.support.test:runner:$support_test_version" + androidTestImplementation "com.android.support.test:rules:$support_test_version" + } diff --git a/build.gradle b/build.gradle index e773608..a6ccbc9 100755 --- a/build.gradle +++ b/build.gradle @@ -6,24 +6,25 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0-beta2' + classpath 'com.android.tools.build:gradle:3.2.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } -ext.arch_version = "1.0.0-alpha8" -ext.support_version = "26.0.1" -ext.constraint_layout_version = "1.1.0-beta1" -ext.firebase_jobdispatcher_version = "0.7.0" +ext.arch_version = "1.1.1" +ext.support_version = "28.0.0" +ext.constraint_layout_version = "1.1.3" +ext.firebase_jobdispatcher_version = "0.8.5" ext.junit_version = "4.12" ext.support_test_version = "1.0.0" allprojects { repositories { jcenter() - maven { url 'https://maven.google.com' } + maven { url 'https://dl.google.com/dl/android/maven2/' } + google() } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c8d55e4..6048902 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip + From aefa94c5cad52da2c03dbdcc69081ff48ec3f03e Mon Sep 17 00:00:00 2001 From: Ed Johnson Date: Mon, 21 Jan 2019 19:52:58 -0800 Subject: [PATCH 2/4] replace obsolete LifecycleActivity https://medium.com/@mladenrakonjac/note-since-the-architecture-components-are-in-alpha-stage-fragment-and-appcompatactivity-classes-b4b055ecd35b "Note: Since the Architecture Components are in alpha stage, Fragment and AppCompatActivity classes cannot implement it (because we cannot add a dependency from a stable component to an unstable API). Until Lifecycle is stable, LifecycleActivity andLifecycleFragment classes are provided for convenience. After the Lifecycles project is released, support library fragments and activities will implement the LifecycleOwner interface; LifecycleActivity and LifecycleFragment will be deprecated at that time. Also, see Implementing LifecycleOwner in custom activities and fragments." --- .../android/sunshine/ui/detail/DetailActivity.java | 5 +++-- .../example/android/sunshine/ui/list/MainActivity.java | 8 +++++--- build.gradle | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/example/android/sunshine/ui/detail/DetailActivity.java b/app/src/main/java/com/example/android/sunshine/ui/detail/DetailActivity.java index f3dc2b7..a69f4f1 100755 --- a/app/src/main/java/com/example/android/sunshine/ui/detail/DetailActivity.java +++ b/app/src/main/java/com/example/android/sunshine/ui/detail/DetailActivity.java @@ -15,10 +15,11 @@ */ package com.example.android.sunshine.ui.detail; -import android.arch.lifecycle.LifecycleActivity; +import android.arch.lifecycle.LifecycleOwner; import android.arch.lifecycle.ViewModelProviders; import android.databinding.DataBindingUtil; import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; import com.example.android.sunshine.R; import com.example.android.sunshine.data.database.WeatherEntry; @@ -32,7 +33,7 @@ /** * Displays single day's forecast */ -public class DetailActivity extends LifecycleActivity { +public class DetailActivity extends AppCompatActivity implements LifecycleOwner { public static final String WEATHER_ID_EXTRA = "WEATHER_ID_EXTRA"; diff --git a/app/src/main/java/com/example/android/sunshine/ui/list/MainActivity.java b/app/src/main/java/com/example/android/sunshine/ui/list/MainActivity.java index 70f21eb..259a9bb 100755 --- a/app/src/main/java/com/example/android/sunshine/ui/list/MainActivity.java +++ b/app/src/main/java/com/example/android/sunshine/ui/list/MainActivity.java @@ -15,10 +15,11 @@ */ package com.example.android.sunshine.ui.list; -import android.arch.lifecycle.LifecycleActivity; +import android.arch.lifecycle.LifecycleOwner; import android.arch.lifecycle.ViewModelProviders; import android.content.Intent; import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; @@ -34,8 +35,9 @@ /** * Displays a list of the next 14 days of forecasts */ -public class MainActivity extends LifecycleActivity implements - ForecastAdapter.ForecastAdapterOnItemClickHandler { +public class MainActivity extends AppCompatActivity implements LifecycleOwner, + ForecastAdapter.ForecastAdapterOnItemClickHandler + { private ForecastAdapter mForecastAdapter; private RecyclerView mRecyclerView; diff --git a/build.gradle b/build.gradle index a6ccbc9..95759ba 100755 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.1' + classpath 'com.android.tools.build:gradle:3.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 7a89503a13ddbae19ff5fea08f34d2f9f3fcbef2 Mon Sep 17 00:00:00 2001 From: Ed Johnson Date: Mon, 21 Jan 2019 20:05:33 -0800 Subject: [PATCH 3/4] clean up build files --- app/build.gradle | 8 +------- build.gradle | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f4c7d3c..1e84a8d 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,18 +38,12 @@ dependencies { // ViewModel and LiveData implementation "android.arch.lifecycle:extensions:$arch_version" - // Support library depends on this lightweight import ?? - implementation "android.arch.lifecycle:runtime:$arch_version" - -// annotationProcessor "android.arch.lifecycle:compiler:$arch_version" implementation "android.arch.lifecycle:common-java8:$arch_version" - implementation "android.arch.persistence.room:runtime:$arch_version" annotationProcessor "android.arch.persistence.room:compiler:$arch_version" - // optional - Test helpers for LiveData + // optional - Test helpers for LiveData and Room testImplementation "android.arch.core:core-testing:$arch_version" - // Test helpers testImplementation "android.arch.persistence.room:testing:$arch_version" // Instrumentation dependencies use androidTestImplementation" diff --git a/build.gradle b/build.gradle index 95759ba..aea44cf 100755 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ ext.support_test_version = "1.0.0" allprojects { repositories { jcenter() - maven { url 'https://dl.google.com/dl/android/maven2/' } + maven { url 'https://maven.google.com' } google() } } From 585379cf37f83253eec4c87d0c6e8e5bbef1ffc7 Mon Sep 17 00:00:00 2001 From: Ed Johnson Date: Mon, 21 Jan 2019 20:12:40 -0800 Subject: [PATCH 4/4] tweak --- app/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 1e84a8d..ee343ac 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,5 +52,4 @@ dependencies { androidTestImplementation "com.android.support:support-annotations:$support_version" androidTestImplementation "com.android.support.test:runner:$support_test_version" androidTestImplementation "com.android.support.test:rules:$support_test_version" - }