From 8c63fbc3556edba9eca845ad2d29b210170a8bc1 Mon Sep 17 00:00:00 2001 From: David Miguel Lozano Date: Mon, 26 Nov 2018 14:08:23 +0100 Subject: [PATCH] Migrate to AndroidX #12 --- CHANGELOG.md | 8 ++++++-- build.gradle | 2 +- gradle.properties | 4 ++++ gradle/wrapper/gradle-wrapper.properties | 4 ++-- lib/build.gradle | 14 ++++++++------ .../dragtoclose/DragHelperCallback.java | 16 +++++++++------- .../com/davidmiguel/dragtoclose/DragToClose.java | 12 ++++++------ sample/build.gradle | 8 ++++---- .../com/davidmiguel/sample/Card1Activity.java | 3 ++- .../com/davidmiguel/sample/Card2Activity.java | 3 ++- .../com/davidmiguel/sample/Card3Activity.java | 3 ++- .../com/davidmiguel/sample/Card3Fragment.java | 9 +++++---- .../com/davidmiguel/sample/MainActivity.java | 3 ++- sample/src/main/res/layout/fragment_card3.xml | 1 - 14 files changed, 53 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 648e119..4acaaf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,14 @@ # Changelog drag-to-close -## `1.0` (09/07/18) +## `0.3.0` (26/11/18) + +- Migrate to AndroidX #12 (only compatible with projects that have been migrated to androidx) + +## `0.2.0` (09/07/18) - Update gradle, compileSdkVersion, buildToolsVersion and targetSdkVersion - Check if draggableContainer or draggableView is null #16 -## `0.1` (24/06/17) +## `0.1.0` (24/06/17) - Initial release diff --git a/build.gradle b/build.gradle index fb0b97c..e4f6d04 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:3.4.0-alpha04' } } diff --git a/gradle.properties b/gradle.properties index aac7c9b..a05c5b2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,3 +15,7 @@ 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 + +# AndroidX +android.enableJetifier=true +android.useAndroidX=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 578ac4d..5364665 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Jun 17 19:13:12 CEST 2017 +#Fri Nov 23 16:45:22 CET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-rc-2-all.zip diff --git a/lib/build.gradle b/lib/build.gradle index 5df54fa..37ef68e 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -1,14 +1,14 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 27 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { minSdkVersion 19 - targetSdkVersion 27 - versionCode 1 - versionName "1.0" + targetSdkVersion 28 + versionCode 3 + versionName "0.3.0" } buildTypes { release { @@ -19,5 +19,7 @@ android { } dependencies { - implementation 'com.android.support:appcompat-v7:27.1.1' + implementation 'androidx.core:core:1.0.1' + implementation 'androidx.annotation:annotation:1.0.0' + implementation 'androidx.customview:customview:1.0.0' } diff --git a/lib/src/main/java/com/davidmiguel/dragtoclose/DragHelperCallback.java b/lib/src/main/java/com/davidmiguel/dragtoclose/DragHelperCallback.java index 0a47185..298191c 100644 --- a/lib/src/main/java/com/davidmiguel/dragtoclose/DragHelperCallback.java +++ b/lib/src/main/java/com/davidmiguel/dragtoclose/DragHelperCallback.java @@ -15,9 +15,11 @@ */ package com.davidmiguel.dragtoclose; -import android.support.v4.widget.ViewDragHelper; import android.view.View; +import androidx.annotation.NonNull; +import androidx.customview.widget.ViewDragHelper; + import static com.davidmiguel.dragtoclose.DragToClose.HEIGHT_THRESHOLD_TO_CLOSE; import static com.davidmiguel.dragtoclose.DragToClose.SPEED_THRESHOLD_TO_CLOSE; @@ -71,7 +73,7 @@ public void onViewDragStateChanged(int state) { * based on the vertical position while the view is being vertical dragged. */ @Override - public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) { + public void onViewPositionChanged(@NonNull View changedView, int left, int top, int dx, int dy) { topBorderDraggableContainer = top; dragToClose.changeDragViewViewAlpha(); } @@ -83,7 +85,7 @@ public void onViewPositionChanged(View changedView, int left, int top, int dx, i * Else if the top */ @Override - public void onViewReleased(View releasedChild, float xVel, float yVel) { + public void onViewReleased(@NonNull View releasedChild, float xVel, float yVel) { // If view is in its original position or out of range, don't do anything if (topBorderDraggableContainer == 0 || topBorderDraggableContainer >= dragToClose.getDraggableRange()) { return; @@ -108,7 +110,7 @@ public void onViewReleased(View releasedChild, float xVel, float yVel) { * Sets the vertical draggable range. */ @Override - public int getViewVerticalDragRange(View child) { + public int getViewVerticalDragRange(@NonNull View child) { return dragToClose.getDraggableRange(); } @@ -116,7 +118,7 @@ public int getViewVerticalDragRange(View child) { * Configures which is going to be the draggable container. */ @Override - public boolean tryCaptureView(View child, int pointerId) { + public boolean tryCaptureView(@NonNull View child, int pointerId) { return child.equals(draggableContainer); } @@ -125,7 +127,7 @@ public boolean tryCaptureView(View child, int pointerId) { * DragToClose padding must be taken into consideration. */ @Override - public int clampViewPositionHorizontal(View child, int left, int dx) { + public int clampViewPositionHorizontal(@NonNull View child, int left, int dx) { return child.getLeft(); } @@ -133,7 +135,7 @@ public int clampViewPositionHorizontal(View child, int left, int dx) { * Defines clamped position for top border. */ @Override - public int clampViewPositionVertical(View child, int top, int dy) { + public int clampViewPositionVertical(@NonNull View child, int top, int dy) { final int topBound = dragToClose.getPaddingTop(); // Top limit final int bottomBound = dragToClose.getDraggableRange(); // Bottom limit return Math.min(Math.max(top, topBound), bottomBound); diff --git a/lib/src/main/java/com/davidmiguel/dragtoclose/DragToClose.java b/lib/src/main/java/com/davidmiguel/dragtoclose/DragToClose.java index 5835203..81107cc 100644 --- a/lib/src/main/java/com/davidmiguel/dragtoclose/DragToClose.java +++ b/lib/src/main/java/com/davidmiguel/dragtoclose/DragToClose.java @@ -18,12 +18,12 @@ import android.app.Activity; import android.content.Context; import android.content.res.TypedArray; -import android.support.annotation.AttrRes; -import android.support.annotation.IdRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.view.ViewCompat; -import android.support.v4.widget.ViewDragHelper; +import androidx.annotation.AttrRes; +import androidx.annotation.IdRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; +import androidx.customview.widget.ViewDragHelper; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; diff --git a/sample/build.gradle b/sample/build.gradle index b312953..0e24c33 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 27 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { applicationId "com.davidmiguel.dragtoclose" minSdkVersion 19 - targetSdkVersion 27 + targetSdkVersion 28 versionCode 1 versionName "1.0" vectorDrawables.useSupportLibrary = true @@ -22,5 +22,5 @@ android { dependencies { implementation project(':lib') - implementation 'com.android.support:appcompat-v7:27.1.1' + implementation 'androidx.appcompat:appcompat:1.0.2' } diff --git a/sample/src/main/java/com/davidmiguel/sample/Card1Activity.java b/sample/src/main/java/com/davidmiguel/sample/Card1Activity.java index 6ed5096..9c489c7 100644 --- a/sample/src/main/java/com/davidmiguel/sample/Card1Activity.java +++ b/sample/src/main/java/com/davidmiguel/sample/Card1Activity.java @@ -1,7 +1,6 @@ package com.davidmiguel.sample; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; @@ -9,6 +8,8 @@ import com.davidmiguel.dragtoclose.DragListener; import com.davidmiguel.dragtoclose.DragToClose; +import androidx.appcompat.app.AppCompatActivity; + /** * In this example the activity is closed when the card is dragged out. * Dragging events are logged. diff --git a/sample/src/main/java/com/davidmiguel/sample/Card2Activity.java b/sample/src/main/java/com/davidmiguel/sample/Card2Activity.java index ddcd1fd..de690c1 100644 --- a/sample/src/main/java/com/davidmiguel/sample/Card2Activity.java +++ b/sample/src/main/java/com/davidmiguel/sample/Card2Activity.java @@ -1,11 +1,12 @@ package com.davidmiguel.sample; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.view.View; import com.davidmiguel.dragtoclose.DragToClose; +import androidx.appcompat.app.AppCompatActivity; + /** * In this example the card can be dragged out card but the activity is not closed. * A label allows to reopen the card. diff --git a/sample/src/main/java/com/davidmiguel/sample/Card3Activity.java b/sample/src/main/java/com/davidmiguel/sample/Card3Activity.java index 321df60..4d0ad1c 100644 --- a/sample/src/main/java/com/davidmiguel/sample/Card3Activity.java +++ b/sample/src/main/java/com/davidmiguel/sample/Card3Activity.java @@ -1,7 +1,8 @@ package com.davidmiguel.sample; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; + +import androidx.appcompat.app.AppCompatActivity; /** * In this example, DragToClose is used inside a fragment and the user can diff --git a/sample/src/main/java/com/davidmiguel/sample/Card3Fragment.java b/sample/src/main/java/com/davidmiguel/sample/Card3Fragment.java index 9db586d..1d35ebf 100644 --- a/sample/src/main/java/com/davidmiguel/sample/Card3Fragment.java +++ b/sample/src/main/java/com/davidmiguel/sample/Card3Fragment.java @@ -1,9 +1,10 @@ package com.davidmiguel.sample; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -17,7 +18,7 @@ public Card3Fragment() { // Required empty constructor } - public static Card3Fragment newInstance() { + static Card3Fragment newInstance() { return new Card3Fragment(); } diff --git a/sample/src/main/java/com/davidmiguel/sample/MainActivity.java b/sample/src/main/java/com/davidmiguel/sample/MainActivity.java index 0aa5692..bfb31af 100644 --- a/sample/src/main/java/com/davidmiguel/sample/MainActivity.java +++ b/sample/src/main/java/com/davidmiguel/sample/MainActivity.java @@ -2,9 +2,10 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.view.View; +import androidx.appcompat.app.AppCompatActivity; + public class MainActivity extends AppCompatActivity { @Override diff --git a/sample/src/main/res/layout/fragment_card3.xml b/sample/src/main/res/layout/fragment_card3.xml index 198150b..1951293 100644 --- a/sample/src/main/res/layout/fragment_card3.xml +++ b/sample/src/main/res/layout/fragment_card3.xml @@ -59,5 +59,4 @@ -