From 7353cd861896ade02716e926049bb543809b7732 Mon Sep 17 00:00:00 2001 From: Ray-Yuan Liu Date: Wed, 26 Sep 2018 23:50:42 +0800 Subject: [PATCH] Implemented Android X Library - CompileSDK and TargetSDK bumped to API Level 28 (Pie, 9) - Migrated the `AnchorBottomSheetBehavior` Library to support Android X --- anchor-bottom-sheet-behavior/build.gradle | 3 +- .../viewpager/widget}/ViewPagerUtils.java | 2 +- .../AnchorBottomSheetBehavior.java | 48 ++++++++++--------- .../BottomSheetUtils.java | 5 +- app/build.gradle | 9 ++-- .../louis383/coffeefinder/BaseFragment.java | 2 +- .../louis383/coffeefinder/BasePresenter.java | 3 +- .../coffeefinder/CoffeeTripApplication.java | 2 +- .../coffeefinder/about/AboutActivity.java | 9 ++-- .../adapter/ViewPagerAdapter.java | 10 ++-- .../coffeefinder/details/DetailsFragment.kt | 4 +- .../coffeefinder/list/ListFragment.kt | 10 ++-- .../coffeefinder/mainpage/MainActivity.kt | 16 +++---- .../coffeefinder/mainpage/MainPresenter.kt | 12 ++--- .../coffeefinder/maps/MapsFragment.kt | 4 +- .../louis383/coffeefinder/maps/MapsView.kt | 2 +- .../louis383/coffeefinder/utils/Extensions.kt | 2 +- .../utils/RecyclerViewDividerHelper.java | 6 +-- .../coffeefinder/view/CoffeeListAdapter.kt | 4 +- .../view/behavior/FollowerBehavior.kt | 4 +- app/src/main/res/layout/activity_about.xml | 2 +- app/src/main/res/layout/activity_main.xml | 8 ++-- app/src/main/res/layout/coffee_list_item.xml | 2 +- app/src/main/res/layout/detail_info.xml | 8 ++-- app/src/main/res/layout/fragment_list.xml | 2 +- build.gradle | 9 ++-- 26 files changed, 97 insertions(+), 91 deletions(-) rename anchor-bottom-sheet-behavior/src/main/java/{android/support/v4/view => androidx/viewpager/widget}/ViewPagerUtils.java (94%) diff --git a/anchor-bottom-sheet-behavior/build.gradle b/anchor-bottom-sheet-behavior/build.gradle index 0dcbb1d..782d6f6 100644 --- a/anchor-bottom-sheet-behavior/build.gradle +++ b/anchor-bottom-sheet-behavior/build.gradle @@ -15,5 +15,6 @@ android { } dependencies { - implementation "com.android.support:design:$support_version" + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0' } diff --git a/anchor-bottom-sheet-behavior/src/main/java/android/support/v4/view/ViewPagerUtils.java b/anchor-bottom-sheet-behavior/src/main/java/androidx/viewpager/widget/ViewPagerUtils.java similarity index 94% rename from anchor-bottom-sheet-behavior/src/main/java/android/support/v4/view/ViewPagerUtils.java rename to anchor-bottom-sheet-behavior/src/main/java/androidx/viewpager/widget/ViewPagerUtils.java index ef5f8c9..3695b79 100644 --- a/anchor-bottom-sheet-behavior/src/main/java/android/support/v4/view/ViewPagerUtils.java +++ b/anchor-bottom-sheet-behavior/src/main/java/androidx/viewpager/widget/ViewPagerUtils.java @@ -1,4 +1,4 @@ -package android.support.v4.view; +package androidx.viewpager.widget; import android.view.View; diff --git a/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java b/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java index 259120a..6ff0902 100644 --- a/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java +++ b/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/AnchorBottomSheetBehavior.java @@ -15,26 +15,10 @@ */ package com.trafi.anchorbottomsheetbehavior; -import static android.support.annotation.RestrictTo.Scope.GROUP_ID; - import android.content.Context; import android.content.res.TypedArray; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.IntDef; -import android.support.annotation.NonNull; -import android.support.annotation.RestrictTo; -import android.support.annotation.VisibleForTesting; -import android.support.design.widget.CoordinatorLayout; -import android.support.v4.os.ParcelableCompat; -import android.support.v4.os.ParcelableCompatCreatorCallbacks; -import android.support.v4.view.AbsSavedState; -import android.support.v4.view.MotionEventCompat; -import android.support.v4.view.NestedScrollingChild; -import android.support.v4.view.ViewCompat; -import android.support.v4.view.ViewPager; -import android.support.v4.view.ViewPagerUtils; -import android.support.v4.widget.ViewDragHelper; import android.util.AttributeSet; import android.util.TypedValue; import android.view.MotionEvent; @@ -43,12 +27,30 @@ import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewParent; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; +import androidx.annotation.RestrictTo; +import androidx.annotation.VisibleForTesting; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.core.os.ParcelableCompat; +import androidx.core.os.ParcelableCompatCreatorCallbacks; +import androidx.core.view.MotionEventCompat; +import androidx.core.view.NestedScrollingChild; +import androidx.core.view.ViewCompat; +import androidx.customview.view.AbsSavedState; +import androidx.customview.widget.ViewDragHelper; +import androidx.viewpager.widget.ViewPager; +import androidx.viewpager.widget.ViewPagerUtils; + +import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; + /** * An interaction behavior plugin for a child view of {@link CoordinatorLayout} to make it work as * a bottom sheet. @@ -130,7 +132,7 @@ public void onSlide(@NonNull View bottomSheet, float slideOffset) { /** * @hide */ - @RestrictTo(GROUP_ID) + @RestrictTo(LIBRARY_GROUP) @IntDef({STATE_EXPANDED, STATE_COLLAPSED, STATE_DRAGGING, STATE_SETTLING, STATE_HIDDEN, STATE_ANCHORED}) @Retention(RetentionPolicy.SOURCE) public @interface State { @@ -219,16 +221,16 @@ public AnchorBottomSheetBehavior() { public AnchorBottomSheetBehavior(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, - android.support.design.R.styleable.BottomSheetBehavior_Layout); - TypedValue value = a.peekValue(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight); + R.styleable.BottomSheetBehavior_Layout); + TypedValue value = a.peekValue(R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight); if (value != null && value.data == PEEK_HEIGHT_AUTO) { setPeekHeight(value.data); } else { setPeekHeight(a.getDimensionPixelSize( - android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight, PEEK_HEIGHT_AUTO)); + R.styleable.BottomSheetBehavior_Layout_behavior_peekHeight, PEEK_HEIGHT_AUTO)); } - setHideable(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false)); - setSkipCollapsed(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Layout_behavior_skipCollapsed, + setHideable(a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false)); + setSkipCollapsed(a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_skipCollapsed, false)); a.recycle(); @@ -283,7 +285,7 @@ public boolean onLayoutChild(CoordinatorLayout parent, V child, int layoutDirect if (mPeekHeightAuto) { if (mPeekHeightMin == 0) { mPeekHeightMin = parent.getResources().getDimensionPixelSize( - android.support.design.R.dimen.design_bottom_sheet_peek_height_min); + R.dimen.design_bottom_sheet_peek_height_min); } peekHeight = Math.max(mPeekHeightMin, mParentHeight - parent.getWidth() * 9 / 16); } else { diff --git a/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/BottomSheetUtils.java b/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/BottomSheetUtils.java index 839c2c4..a851800 100644 --- a/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/BottomSheetUtils.java +++ b/anchor-bottom-sheet-behavior/src/main/java/com/trafi/anchorbottomsheetbehavior/BottomSheetUtils.java @@ -15,12 +15,13 @@ */ package com.trafi.anchorbottomsheetbehavior; -import android.support.design.widget.CoordinatorLayout; -import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.viewpager.widget.ViewPager; + public class BottomSheetUtils { public static void setupViewPager(ViewPager pager) { diff --git a/app/build.gradle b/app/build.gradle index 6c5115e..12c26ca 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,7 +13,7 @@ android { minSdkVersion min_sdk_version versionCode getVersionCodeTimeStamps() versionName app_version - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" buildConfigField 'String', 'HOST', APIHost } @@ -75,9 +75,8 @@ dependencies { implementation project(":anchor-bottom-sheet-behavior") implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - implementation 'com.github.YuanLiou:ChromeCustomTabHelper:1.0' - implementation "com.android.support:appcompat-v7:${support_version}" - implementation "com.android.support:design:${support_version}" + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'com.google.android.material:material:1.0.0' implementation "com.google.android.gms:play-services-location:${gms_version}" implementation "com.google.android.gms:play-services-maps:${gms_version}" @@ -103,7 +102,7 @@ dependencies { // for unit test testImplementation 'junit:junit:4.12' - androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { + androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0-alpha4', { exclude group: 'com.android.support', module: 'support-annotations' }) } diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/BaseFragment.java b/app/src/main/java/tw/com/louis383/coffeefinder/BaseFragment.java index 10e906b..aae241c 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/BaseFragment.java +++ b/app/src/main/java/tw/com/louis383/coffeefinder/BaseFragment.java @@ -1,9 +1,9 @@ package tw.com.louis383.coffeefinder; -import android.support.v4.app.Fragment; import java.util.List; +import androidx.fragment.app.Fragment; import tw.com.louis383.coffeefinder.model.domain.CoffeeShop; /** diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/BasePresenter.java b/app/src/main/java/tw/com/louis383/coffeefinder/BasePresenter.java index 5c85468..e164fec 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/BasePresenter.java +++ b/app/src/main/java/tw/com/louis383/coffeefinder/BasePresenter.java @@ -1,6 +1,7 @@ package tw.com.louis383.coffeefinder; -import android.support.annotation.Nullable; + +import androidx.annotation.Nullable; /** * Created by louis383 on 2017/1/13. diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/CoffeeTripApplication.java b/app/src/main/java/tw/com/louis383/coffeefinder/CoffeeTripApplication.java index 70573c1..e644fc6 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/CoffeeTripApplication.java +++ b/app/src/main/java/tw/com/louis383/coffeefinder/CoffeeTripApplication.java @@ -1,8 +1,8 @@ package tw.com.louis383.coffeefinder; import android.app.Application; -import android.support.v7.app.AppCompatDelegate; +import androidx.appcompat.app.AppCompatDelegate; import tw.com.louis383.coffeefinder.di.AppComponent; import tw.com.louis383.coffeefinder.di.AppModule; import tw.com.louis383.coffeefinder.di.DaggerAppComponent; diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/about/AboutActivity.java b/app/src/main/java/tw/com/louis383/coffeefinder/about/AboutActivity.java index 3f3d238..d127b9b 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/about/AboutActivity.java +++ b/app/src/main/java/tw/com/louis383/coffeefinder/about/AboutActivity.java @@ -5,16 +5,17 @@ import android.graphics.PorterDuff; import android.os.Build; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.core.content.ContextCompat; import tw.com.louis383.coffeefinder.R; /** diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/adapter/ViewPagerAdapter.java b/app/src/main/java/tw/com/louis383/coffeefinder/adapter/ViewPagerAdapter.java index a009861..b99f318 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/adapter/ViewPagerAdapter.java +++ b/app/src/main/java/tw/com/louis383/coffeefinder/adapter/ViewPagerAdapter.java @@ -1,12 +1,14 @@ package tw.com.louis383.coffeefinder.adapter; -import android.support.annotation.NonNull; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; import android.view.ViewGroup; + import java.util.ArrayList; import java.util.List; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; import tw.com.louis383.coffeefinder.details.DetailsFragment; import tw.com.louis383.coffeefinder.list.ListFragment; diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/details/DetailsFragment.kt b/app/src/main/java/tw/com/louis383/coffeefinder/details/DetailsFragment.kt index 70bb5f8..cef76cc 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/details/DetailsFragment.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/details/DetailsFragment.kt @@ -1,11 +1,11 @@ package tw.com.louis383.coffeefinder.details -import android.arch.lifecycle.Lifecycle import android.os.Bundle -import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.lifecycle.Lifecycle import kotlinx.android.synthetic.main.detail_info.* import tw.com.louis383.coffeefinder.R import tw.com.louis383.coffeefinder.model.domain.CoffeeShop diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/list/ListFragment.kt b/app/src/main/java/tw/com/louis383/coffeefinder/list/ListFragment.kt index dde8f53..b40d31a 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/list/ListFragment.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/list/ListFragment.kt @@ -1,16 +1,16 @@ package tw.com.louis383.coffeefinder.list -import android.arch.lifecycle.Lifecycle.State import android.os.Bundle import android.os.Parcelable -import android.support.design.widget.Snackbar -import android.support.v7.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.ProgressBar import android.widget.TextView +import androidx.lifecycle.Lifecycle +import androidx.recyclerview.widget.RecyclerView +import com.google.android.material.snackbar.Snackbar import tw.com.louis383.coffeefinder.BaseFragment import tw.com.louis383.coffeefinder.R import tw.com.louis383.coffeefinder.R.layout @@ -83,7 +83,7 @@ class ListFragment : BaseFragment(), CoffeeShopListView, ListTappedHandler { } fun setNestScrollingEnable(enable: Boolean) { - if (lifecycle.currentState.isAtLeast(State.CREATED)) { + if (lifecycle.currentState.isAtLeast(Lifecycle.State.CREATED)) { recyclerView.isNestedScrollingEnabled = enable } } @@ -95,7 +95,7 @@ class ListFragment : BaseFragment(), CoffeeShopListView, ListTappedHandler { fun scrollToItemPosition(coffeeShop: CoffeeShop) { val position = coffeeListAdapter.findPositionInList(coffeeShop) - if (position > -1 && position < coffeeListAdapter.itemCount) { + if (position > -1 && position < coffeeListAdapter.getItemCount()) { recyclerView.smoothScrollToPosition(position) } } diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainActivity.kt b/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainActivity.kt index fd8b232..29a1331 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainActivity.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainActivity.kt @@ -10,21 +10,21 @@ import android.net.Uri import android.os.Build import android.os.Bundle import android.provider.Settings -import android.support.design.widget.CoordinatorLayout -import android.support.design.widget.Snackbar -import android.support.v4.app.ActivityCompat -import android.support.v4.content.ContextCompat -import android.support.v4.view.ViewPager -import android.support.v7.app.AlertDialog -import android.support.v7.app.AppCompatActivity import android.view.Menu import android.view.MenuItem import android.view.View import android.widget.FrameLayout import android.widget.ImageButton +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.app.AppCompatActivity +import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import androidx.viewpager.widget.ViewPager import com.google.android.gms.common.api.ResolvableApiException import com.google.android.gms.location.LocationServices import com.google.android.gms.maps.model.LatLng +import com.google.android.material.snackbar.Snackbar import com.trafi.anchorbottomsheetbehavior.AnchorBottomSheetBehavior import tw.com.louis383.coffeefinder.CoffeeTripApplication import tw.com.louis383.coffeefinder.R @@ -165,7 +165,7 @@ class MainActivity : AppCompatActivity(), MainView, MapsClickHandler, ListFragme } } - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { when (requestCode) { internetRequest -> { if (isInternetAvailable) { diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainPresenter.kt b/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainPresenter.kt index 3a0ca66..1804f38 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainPresenter.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/mainpage/MainPresenter.kt @@ -1,10 +1,6 @@ package tw.com.louis383.coffeefinder.mainpage import android.annotation.SuppressLint -import android.arch.lifecycle.Lifecycle.Event -import android.arch.lifecycle.LifecycleObserver -import android.arch.lifecycle.LifecycleOwner -import android.arch.lifecycle.OnLifecycleEvent import android.content.Context import android.content.Intent import android.location.Location @@ -15,6 +11,10 @@ import android.os.Looper import android.util.Log import android.util.TypedValue import android.view.View +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleObserver +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.OnLifecycleEvent import com.google.android.gms.common.api.ApiException import com.google.android.gms.common.api.ResolvableApiException import com.google.android.gms.location.* @@ -104,14 +104,14 @@ class MainPresenter(private val coffeeShopListManager: CoffeeShopListManager, pr owner.lifecycle.addObserver(this) } - @OnLifecycleEvent(Event.ON_RESUME) + @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) private fun startBackgroundThread() { backgroundThread = HandlerThread("BackgroundThread").apply { start() } uiHandler = Handler(Looper.getMainLooper()) requestUserLocation(false) } - @OnLifecycleEvent(Event.ON_PAUSE) + @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) private fun pauseLocationUpdate() { coffeeShopListManager.stop() backgroundThread?.quitSafely() diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsFragment.kt b/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsFragment.kt index e35947f..9db9cd2 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsFragment.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsFragment.kt @@ -5,11 +5,11 @@ import android.content.pm.PackageManager import android.graphics.drawable.Drawable import android.location.Location import android.os.Bundle -import android.support.v4.content.ContextCompat -import android.support.v7.app.AlertDialog import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.appcompat.app.AlertDialog +import androidx.core.content.ContextCompat import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.MapView diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsView.kt b/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsView.kt index 9f9c59f..6861a2b 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsView.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/maps/MapsView.kt @@ -1,7 +1,7 @@ package tw.com.louis383.coffeefinder.maps import android.graphics.drawable.Drawable -import android.support.annotation.DrawableRes +import androidx.annotation.DrawableRes import com.google.android.gms.maps.model.BitmapDescriptor import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.Marker diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/utils/Extensions.kt b/app/src/main/java/tw/com/louis383/coffeefinder/utils/Extensions.kt index 38b9c56..b857bcc 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/utils/Extensions.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/utils/Extensions.kt @@ -1,8 +1,8 @@ package tw.com.louis383.coffeefinder.utils import android.app.Activity -import android.support.annotation.IdRes import android.view.View +import androidx.annotation.IdRes fun Activity.bindView(@IdRes resId: Int): Lazy = lazy { findViewById(resId) diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/utils/RecyclerViewDividerHelper.java b/app/src/main/java/tw/com/louis383/coffeefinder/utils/RecyclerViewDividerHelper.java index e0d71b7..93a6ab5 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/utils/RecyclerViewDividerHelper.java +++ b/app/src/main/java/tw/com/louis383/coffeefinder/utils/RecyclerViewDividerHelper.java @@ -5,11 +5,11 @@ import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.support.v4.content.ContextCompat; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.View; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import tw.com.louis383.coffeefinder.R; /** diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/view/CoffeeListAdapter.kt b/app/src/main/java/tw/com/louis383/coffeefinder/view/CoffeeListAdapter.kt index b2db882..b31e326 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/view/CoffeeListAdapter.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/view/CoffeeListAdapter.kt @@ -1,14 +1,14 @@ package tw.com.louis383.coffeefinder.view import android.graphics.PorterDuff -import android.support.v4.content.ContextCompat -import android.support.v7.widget.RecyclerView +import androidx.core.content.ContextCompat import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.RatingBar import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView import tw.com.louis383.coffeefinder.R import tw.com.louis383.coffeefinder.list.ListTappedHandler import tw.com.louis383.coffeefinder.model.domain.CoffeeShop diff --git a/app/src/main/java/tw/com/louis383/coffeefinder/view/behavior/FollowerBehavior.kt b/app/src/main/java/tw/com/louis383/coffeefinder/view/behavior/FollowerBehavior.kt index b8389dd..46ea87c 100644 --- a/app/src/main/java/tw/com/louis383/coffeefinder/view/behavior/FollowerBehavior.kt +++ b/app/src/main/java/tw/com/louis383/coffeefinder/view/behavior/FollowerBehavior.kt @@ -1,11 +1,11 @@ package tw.com.louis383.coffeefinder.view.behavior import android.content.Context -import android.support.design.widget.CoordinatorLayout -import android.support.v4.view.ViewPager import android.util.AttributeSet import android.util.TypedValue import android.view.View +import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.viewpager.widget.ViewPager import tw.com.louis383.coffeefinder.R class FollowerBehavior : CoordinatorLayout.Behavior { diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 7dda9f5..7236c19 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -8,7 +8,7 @@ android:layout_height="match_parent" > - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/coffee_list_item.xml b/app/src/main/res/layout/coffee_list_item.xml index b0cac7b..dac573e 100644 --- a/app/src/main/res/layout/coffee_list_item.xml +++ b/app/src/main/res/layout/coffee_list_item.xml @@ -62,7 +62,7 @@ tools:text="200公尺" /> - - - - - + diff --git a/app/src/main/res/layout/fragment_list.xml b/app/src/main/res/layout/fragment_list.xml index 502efa3..b14e63b 100644 --- a/app/src/main/res/layout/fragment_list.xml +++ b/app/src/main/res/layout/fragment_list.xml @@ -8,7 +8,7 @@ android:orientation="vertical" > -