diff --git a/app/build.gradle b/app/build.gradle index aca270e..ee343ac 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,28 @@ 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" + 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 and Room + testImplementation "android.arch.core:core-testing:$arch_version" + 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/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 e773608..aea44cf 100755 --- a/build.gradle +++ b/build.gradle @@ -6,17 +6,17 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0-beta2' + 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 } } -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" @@ -24,6 +24,7 @@ allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } + 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 +