diff --git a/FlowLayoutManager.zip b/FlowLayoutManager.zip new file mode 100644 index 0000000..22b00e9 Binary files /dev/null and b/FlowLayoutManager.zip differ diff --git a/app/build.gradle b/app/build.gradle index cdc7965..0771e42 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.application' android { compileSdkVersion androidCompileSdkVersion - defaultConfig { applicationId "com.xiaofeng.androidlibs" minSdkVersion androidMinSdkVersion @@ -18,25 +17,18 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } - buildToolsVersion '27.0.3' } dependencies { - implementation 'com.android.support:design:27.1.1' - implementation 'com.android.support.constraint:constraint-layout:1.1.2' - implementation 'com.android.support:support-vector-drawable:27.1.1' - implementation fileTree(include: ['*.jar'], dir: 'libs') - testImplementation 'junit:junit:4.12' - implementation(group: 'com.android.support', name: 'design', version: supportLibVersion) - implementation(group: 'com.android.support', name: 'appcompat-v7', version: supportLibVersion) - implementation(group: 'com.android.support', name: 'recyclerview-v7', version: supportLibVersion) - implementation(group: 'com.android.support', name: 'recyclerview-v7', version: supportLibVersion) - implementation project(":flowlayoutmanager") - implementation 'us.feras.mdv:markdownview:1.1.0' - implementation 'com.android.support:support-v4:27.1.1' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.vectordrawable:vectordrawable:1.1.0' + implementation(group: 'com.google.android.material', name: 'material', version: supportLibVersion) + implementation(group: 'androidx.appcompat', name: 'appcompat', version: supportLibVersion) + implementation(group: 'androidx.recyclerview', name: 'recyclerview', version: supportLibVersion) + implementation 'androidx.legacy:legacy-support-v4:1.0.0' } diff --git a/app/src/main/java/com/xiaofeng/androidlibs/DemoAdapter.java b/app/src/main/java/com/xiaofeng/androidlibs/DemoAdapter.java index b21d552..ba653af 100644 --- a/app/src/main/java/com/xiaofeng/androidlibs/DemoAdapter.java +++ b/app/src/main/java/com/xiaofeng/androidlibs/DemoAdapter.java @@ -1,7 +1,7 @@ package com.xiaofeng.androidlibs; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +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/xiaofeng/androidlibs/DemoViewHolder.java b/app/src/main/java/com/xiaofeng/androidlibs/DemoViewHolder.java index 1025b25..cd3d320 100644 --- a/app/src/main/java/com/xiaofeng/androidlibs/DemoViewHolder.java +++ b/app/src/main/java/com/xiaofeng/androidlibs/DemoViewHolder.java @@ -1,6 +1,6 @@ package com.xiaofeng.androidlibs; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.widget.TextView; diff --git a/app/src/main/java/com/xiaofeng/androidlibs/MainActivity.java b/app/src/main/java/com/xiaofeng/androidlibs/MainActivity.java index afa5927..7c517cb 100644 --- a/app/src/main/java/com/xiaofeng/androidlibs/MainActivity.java +++ b/app/src/main/java/com/xiaofeng/androidlibs/MainActivity.java @@ -2,23 +2,26 @@ import android.graphics.Rect; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.BottomNavigationView; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.RecyclerView; import android.view.MenuItem; import android.view.View; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; + +import com.google.android.material.bottomnavigation.BottomNavigationView; import com.xiaofeng.flowlayoutmanager.Alignment; import com.xiaofeng.flowlayoutmanager.FlowLayoutManager; +import java.util.Objects; + public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; FlowLayoutManager flowLayoutManager; RecyclerView.ItemDecoration itemDecoration = new RecyclerView.ItemDecoration() { @Override - public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { + public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); outRect.set(5, 5, 5, 5); } @@ -35,7 +38,7 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { flowLayoutManager.setAutoMeasureEnabled(true); recyclerView.setLayoutManager(flowLayoutManager); - recyclerView.getAdapter().notifyDataSetChanged(); + Objects.requireNonNull(recyclerView.getAdapter()).notifyDataSetChanged(); return true; case R.id.navigation_center: @@ -66,7 +69,6 @@ protected void onCreate(Bundle savedInstanceState) { BottomNavigationView navigation = findViewById(R.id.navigation); navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); - recyclerView = findViewById(R.id.list); flowLayoutManager = new FlowLayoutManager().setAlignment(Alignment.LEFT); flowLayoutManager.setAutoMeasureEnabled(true); @@ -75,7 +77,5 @@ protected void onCreate(Bundle savedInstanceState) { recyclerView.getAdapter().notifyDataSetChanged(); recyclerView.addItemDecoration(itemDecoration); - } - } diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index a9c8704..fd32091 100644 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -1,5 +1,5 @@ - - - - + diff --git a/build.gradle b/build.gradle index dbeba80..aec7d7c 100644 --- a/build.gradle +++ b/build.gradle @@ -6,11 +6,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' + classpath 'com.android.tools.build:gradle:4.0.0-beta04' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -24,12 +22,10 @@ allprojects { } subprojects { - ext.supportLibVersion = "26.1.0" - ext.playServiceVersion = "8.4.0" - ext.androidBuildToolVersion = "26.0.2" - ext.androidCompileSdkVersion = 26 - ext.androidMinSdkVersion = 16 - ext.androidTargetSdkVersion = 26 + ext.supportLibVersion = '1.0.0' + ext.androidCompileSdkVersion = 28 + ext.androidMinSdkVersion = 21 + ext.androidTargetSdkVersion = 28 } task clean(type: Delete) { diff --git a/flowlayoutmanager/build.gradle b/flowlayoutmanager/build.gradle index cd6aea4..153509a 100644 --- a/flowlayoutmanager/build.gradle +++ b/flowlayoutmanager/build.gradle @@ -4,8 +4,8 @@ apply plugin: 'com.android.library' apply plugin: 'com.jfrog.bintray' project.ext { - libVersion = '1.6' - libVersionCode = 16 + libVersion = '0.1' + libVersionCode = 1 libGroupId = 'com.xiaofeng.android' libArtifactId = 'flowlayoutmanager' gitUrl = 'git@github.com:xiaofeng-han/AndroidLibs.git' @@ -21,13 +21,12 @@ version = libVersion android { compileSdkVersion androidCompileSdkVersion - resourcePrefix "xiaofeng__" defaultConfig { minSdkVersion androidMinSdkVersion targetSdkVersion androidTargetSdkVersion versionCode libVersionCode versionName libVersion - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } testOptions { unitTests.returnDefaultValues = false @@ -39,20 +38,14 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } - buildToolsVersion '27.0.3' } dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - androidTestImplementation 'junit:junit:4.12' - implementation(group: 'com.android.support', name: 'appcompat-v7', version: supportLibVersion) - implementation(group: 'com.android.support', name: 'recyclerview-v7', version: supportLibVersion) - androidTestImplementation 'com.android.support:support-annotations:27.1.1' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - + implementation(group: 'androidx.appcompat', name: 'appcompat', version: supportLibVersion) + implementation(group: 'androidx.recyclerview', name: 'recyclerview', version: supportLibVersion) } Properties properties = new Properties() diff --git a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/FlowLayoutManager.java b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/FlowLayoutManager.java index 36e058f..4eab6d0 100644 --- a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/FlowLayoutManager.java +++ b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/FlowLayoutManager.java @@ -3,9 +3,9 @@ import android.graphics.Point; import android.graphics.PointF; import android.graphics.Rect; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearSmoothScroller; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearSmoothScroller; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; diff --git a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutHelper.java b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutHelper.java index bc2a125..9902061 100644 --- a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutHelper.java +++ b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutHelper.java @@ -1,7 +1,7 @@ package com.xiaofeng.flowlayoutmanager; import android.graphics.Point; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; /** * Created by xhan on 4/11/16. diff --git a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutManagerAppender.java b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutManagerAppender.java index 2c6ef4d..de18ff4 100644 --- a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutManagerAppender.java +++ b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/LayoutManagerAppender.java @@ -1,7 +1,7 @@ package com.xiaofeng.flowlayoutmanager; import android.graphics.Rect; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; /** diff --git a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/ScrollbarHelper.java b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/ScrollbarHelper.java index 21a728b..0dfcc37 100644 --- a/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/ScrollbarHelper.java +++ b/flowlayoutmanager/src/main/java/com/xiaofeng/flowlayoutmanager/ScrollbarHelper.java @@ -20,8 +20,8 @@ * Created by Anton Dudakov (dude.bw@gmail.com) on 13/10/16. */ -import android.support.v7.widget.OrientationHelper; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.OrientationHelper; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; /** diff --git a/gradle.properties b/gradle.properties index 1d3591c..915f0e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,6 @@ # When configured, Gradle will run in incubating parallel mode. # 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 \ No newline at end of file +# org.gradle.parallel=true +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1a57ef7..c3bec39 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Jul 13 14:38:04 CEST 2018 +#Sun Apr 12 15:46:19 EET 2020 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-6.1.1-all.zip