diff --git a/.gitignore b/.gitignore
index afbdab33..603b1407 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,14 @@
+*.iml
.gradle
/local.properties
-/.idea/workspace.xml
+/.idea/caches
/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
.DS_Store
/build
+/captures
+.externalNativeBuild
+.cxx
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 4d302ff4..24de682b 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -3,6 +3,9 @@
-
-
-
-
-
-
-
+
diff --git a/README.md b/README.md
index acca8af6..91ff0351 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
Material
=====================
-[](https://jitpack.io/#rey5137/material) [](https://bintray.com/artifact/download/rey5137/maven/com/github/rey5137/material/1.2.4/material-1.2.4.aar) [](http://android-arsenal.com/details/1/1685)
+[](https://jitpack.io/#rey5137/material) [](https://bintray.com/artifact/download/rey5137/maven/com/github/rey5137/material/1.3.1/material-1.3.1.aar) [](http://android-arsenal.com/details/1/1685)
MaterialLibrary is an Open Source Android library that back-port Material Design components to pre-Lolipop Android. MaterialLibrary's original author is [Rey Pham](https://github.com/rey5137).
@@ -86,36 +86,20 @@ Add Gradle dependency:
```gradle
dependencies {
- implementation 'com.github.rey5137:material:1.2.4'
+ implementation 'com.github.rey5137:material:1.3.1'
}
```
* Or
-[Download from Jcenter](https://bintray.com/artifact/download/rey5137/maven/com/github/rey5137/material/1.2.4/material-1.2.4.aar)
+[Download from Jcenter](https://bintray.com/artifact/download/rey5137/maven/com/github/rey5137/material/1.3.1/material-1.3.1.aar)
-You can try the SNAPSHOT version:
+AppCompat, CardView, RecyclerView library is required by Material library.
```gradle
dependencies {
- compile 'com.github.rey5137:material:1.2.3.1-SNAPSHOT'
-}
-```
-Make sure to add the snapshot repository:
-
-```gradle
-repositories {
- maven {
- url "https://oss.sonatype.org/content/repositories/snapshots"
- }
-}
-```
-
-AppCompat and CardView library is required by Material library.
-
-```gradle
-dependencies {
- compile 'com.android.support:appcompat-v7:23.4.0'
- compile 'com.android.support:cardview-v7:23.4.0'
+ compile 'androidx.appcompat:appcompat:1.0.0'
+ compile 'androidx.cardview:cardview:1.0.0'
+ compile 'androidx.recyclerview:recyclerview:1.0.0'
}
```
Now you can use any widget in **com.rey.material.widget** package as you wish. For styling, please view [Wiki](https://github.com/rey5137/Material/wiki). Note that default style of widgets depend on theme of AppCompat. Here is an example:
diff --git a/app/.gitignore b/app/.gitignore
index 796b96d1..603b1407 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1 +1,14 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
/build
+/captures
+.externalNativeBuild
+.cxx
diff --git a/app/app.iml b/app/app.iml
index 938dfedf..e6314d20 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -17,28 +17,27 @@
-
+
+
-
-
+
+
-
-
+
-
+
-
-
+
-
+
@@ -84,49 +83,79 @@
-
+
+
+
+
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 70066e1d..f89ec5be 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,15 +1,15 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
- buildToolsVersion "28.0.0"
+ compileSdkVersion 28
+ buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.rey.material.demo"
minSdkVersion 14
- targetSdkVersion 27
- versionCode 6
- versionName "0.0.6"
+ targetSdkVersion 28
+ versionCode 7
+ versionName "0.0.7"
}
buildTypes {
@@ -34,14 +34,14 @@ android {
}
ext{
- libSupportVersion = '27.1.1'
+ androidXVersion = '1.0.0'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation "com.android.support:appcompat-v7:${libSupportVersion}"
- implementation "com.android.support:cardview-v7:${libSupportVersion}"
- implementation "com.android.support:recyclerview-v7:${libSupportVersion}"
+ implementation "androidx.appcompat:appcompat:${androidXVersion}"
+ implementation "androidx.cardview:cardview:${androidXVersion}"
+ implementation "androidx.recyclerview:recyclerview:${androidXVersion}"
implementation 'com.squareup.picasso:picasso:2.5.0'
implementation 'com.squareup.leakcanary:leakcanary-android:1.3.1'
implementation project(':material')
diff --git a/app/src/main/java/com/rey/material/app/ContactEditText.java b/app/src/main/java/com/rey/material/app/ContactEditText.java
index 405f8b94..86c3dc35 100644
--- a/app/src/main/java/com/rey/material/app/ContactEditText.java
+++ b/app/src/main/java/com/rey/material/app/ContactEditText.java
@@ -16,7 +16,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.provider.ContactsContract;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.text.Editable;
import android.text.Selection;
import android.text.SpannableStringBuilder;
diff --git a/app/src/main/java/com/rey/material/app/ContactView.java b/app/src/main/java/com/rey/material/app/ContactView.java
index 10cb0a5e..08a0c720 100644
--- a/app/src/main/java/com/rey/material/app/ContactView.java
+++ b/app/src/main/java/com/rey/material/app/ContactView.java
@@ -16,8 +16,9 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.v4.view.GravityCompat;
+import androidx.annotation.NonNull;
+import androidx.core.view.GravityCompat;
+
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.TypedValue;
diff --git a/app/src/main/java/com/rey/material/app/RecurringPickerDialog.java b/app/src/main/java/com/rey/material/app/RecurringPickerDialog.java
index 7138bb29..09361af3 100644
--- a/app/src/main/java/com/rey/material/app/RecurringPickerDialog.java
+++ b/app/src/main/java/com/rey/material/app/RecurringPickerDialog.java
@@ -13,7 +13,6 @@
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.v4.view.ViewCompat;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
@@ -32,6 +31,8 @@
import android.widget.LinearLayout;
import android.widget.ScrollView;
+import androidx.core.view.ViewCompat;
+
import com.rey.material.demo.R;
import com.rey.material.util.ThemeUtil;
import com.rey.material.util.ViewUtil;
diff --git a/app/src/main/java/com/rey/material/app/WeekView.java b/app/src/main/java/com/rey/material/app/WeekView.java
index 17d185d8..7ec8d2ea 100644
--- a/app/src/main/java/com/rey/material/app/WeekView.java
+++ b/app/src/main/java/com/rey/material/app/WeekView.java
@@ -5,22 +5,19 @@
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Paint;
-import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.View;
import android.widget.FrameLayout;
-import com.rey.material.demo.R;
+import androidx.annotation.NonNull;
+
import com.rey.material.util.ThemeUtil;
-import com.rey.material.util.ViewUtil;
import com.rey.material.widget.CircleCheckedTextView;
import java.util.Calendar;
-import java.util.Locale;
/**
* Created by Rey on 2/6/2015.
diff --git a/app/src/main/java/com/rey/material/demo/ButtonFragment.java b/app/src/main/java/com/rey/material/demo/ButtonFragment.java
index 542d0f4b..6d9df29e 100644
--- a/app/src/main/java/com/rey/material/demo/ButtonFragment.java
+++ b/app/src/main/java/com/rey/material/demo/ButtonFragment.java
@@ -1,26 +1,18 @@
package com.rey.material.demo;
import android.annotation.TargetApi;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Toast;
-import com.rey.material.app.DialogFragment;
-import com.rey.material.app.Recurring;
-import com.rey.material.app.RecurringPickerDialog;
-import com.rey.material.drawable.RippleDrawable;
+import androidx.fragment.app.Fragment;
+
import com.rey.material.widget.Button;
import com.rey.material.widget.FloatingActionButton;
-import java.util.Calendar;
-
-public class ButtonFragment extends Fragment{
+public class ButtonFragment extends Fragment {
public static ButtonFragment newInstance(){
ButtonFragment fragment = new ButtonFragment();
diff --git a/app/src/main/java/com/rey/material/demo/CustomViewPager.java b/app/src/main/java/com/rey/material/demo/CustomViewPager.java
index 4d16a4c7..e05ce6cf 100644
--- a/app/src/main/java/com/rey/material/demo/CustomViewPager.java
+++ b/app/src/main/java/com/rey/material/demo/CustomViewPager.java
@@ -1,17 +1,18 @@
package com.rey.material.demo;
import android.content.Context;
-import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.View;
+import androidx.viewpager.widget.ViewPager;
+
import com.rey.material.widget.Slider;
import com.rey.material.widget.Switch;
/**
* Created by Rey on 3/18/2015.
*/
-public class CustomViewPager extends ViewPager{
+public class CustomViewPager extends ViewPager {
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
diff --git a/app/src/main/java/com/rey/material/demo/DialogsFragment.java b/app/src/main/java/com/rey/material/demo/DialogsFragment.java
index da0d8454..807a5755 100644
--- a/app/src/main/java/com/rey/material/demo/DialogsFragment.java
+++ b/app/src/main/java/com/rey/material/demo/DialogsFragment.java
@@ -1,15 +1,15 @@
package com.rey.material.demo;
import android.annotation.TargetApi;
-import android.content.Context;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
+import androidx.fragment.app.Fragment;
+
import com.rey.material.app.BottomSheetDialog;
import com.rey.material.app.DatePickerDialog;
import com.rey.material.app.Dialog;
diff --git a/app/src/main/java/com/rey/material/demo/FabFragment.java b/app/src/main/java/com/rey/material/demo/FabFragment.java
index c57d891c..9ae53d79 100644
--- a/app/src/main/java/com/rey/material/demo/FabFragment.java
+++ b/app/src/main/java/com/rey/material/demo/FabFragment.java
@@ -4,7 +4,7 @@
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/rey/material/demo/MainActivity.java b/app/src/main/java/com/rey/material/demo/MainActivity.java
index babf68f0..ac941853 100644
--- a/app/src/main/java/com/rey/material/demo/MainActivity.java
+++ b/app/src/main/java/com/rey/material/demo/MainActivity.java
@@ -2,14 +2,16 @@
import android.content.Context;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentStatePagerAdapter;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.view.ViewPager;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.view.GravityCompat;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.viewpager.widget.ViewPager;
+
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -54,14 +56,14 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
-
- dl_navigator = (DrawerLayout)findViewById(R.id.main_dl);
- fl_drawer = (FrameLayout)findViewById(R.id.main_fl_drawer);
- lv_drawer = (ListView)findViewById(R.id.main_lv_drawer);
- mToolbar = (Toolbar)findViewById(R.id.main_toolbar);
- vp = (CustomViewPager)findViewById(R.id.main_vp);
- tiv = (TabIndicatorView)findViewById(R.id.main_tiv);
- mSnackBar = (SnackBar)findViewById(R.id.main_sn);
+
+ lv_drawer = findViewById(R.id.main_lv_drawer);
+ dl_navigator = findViewById(R.id.main_dl);
+ fl_drawer = findViewById(R.id.main_fl_drawer);
+ mToolbar = findViewById(R.id.main_toolbar);
+ vp = findViewById(R.id.main_vp);
+ tiv = findViewById(R.id.main_tiv);
+ mSnackBar = findViewById(R.id.main_sn);
mToolbarManager = new ToolbarManager(getDelegate(), mToolbar, R.id.tb_group_main, R.style.ToolbarRippleStyle, R.anim.abc_fade_in, R.anim.abc_fade_out);
mToolbarManager.setNavigationManager(new ToolbarManager.ThemableNavigationManager(R.array.navigation_drawer, getSupportFragmentManager(), mToolbar, dl_navigator) {
@@ -278,7 +280,7 @@ private static class PagerAdapter extends FragmentStatePagerAdapter {
static {
Field f = null;
try {
- Class> c = Class.forName("android.support.v4.app.FragmentManagerImpl");
+ Class> c = Class.forName("androidx.fragment.app.FragmentManagerImpl");
f = c.getDeclaredField("mActive");
f.setAccessible(true);
} catch (Exception e) {}
diff --git a/app/src/main/java/com/rey/material/demo/ProgressFragment.java b/app/src/main/java/com/rey/material/demo/ProgressFragment.java
index ce80224a..2426fa93 100644
--- a/app/src/main/java/com/rey/material/demo/ProgressFragment.java
+++ b/app/src/main/java/com/rey/material/demo/ProgressFragment.java
@@ -4,7 +4,7 @@
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.Message;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/rey/material/demo/SliderFragment.java b/app/src/main/java/com/rey/material/demo/SliderFragment.java
index 397f4cde..0866a7af 100644
--- a/app/src/main/java/com/rey/material/demo/SliderFragment.java
+++ b/app/src/main/java/com/rey/material/demo/SliderFragment.java
@@ -3,7 +3,7 @@
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/rey/material/demo/SnackbarFragment.java b/app/src/main/java/com/rey/material/demo/SnackbarFragment.java
index 31664825..34192d3a 100644
--- a/app/src/main/java/com/rey/material/demo/SnackbarFragment.java
+++ b/app/src/main/java/com/rey/material/demo/SnackbarFragment.java
@@ -3,7 +3,7 @@
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/rey/material/demo/SpinnersFragment.java b/app/src/main/java/com/rey/material/demo/SpinnersFragment.java
index 741459c6..44d473de 100644
--- a/app/src/main/java/com/rey/material/demo/SpinnersFragment.java
+++ b/app/src/main/java/com/rey/material/demo/SpinnersFragment.java
@@ -4,7 +4,7 @@
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/rey/material/demo/SwitchesFragment.java b/app/src/main/java/com/rey/material/demo/SwitchesFragment.java
index f86a6ee3..50962b63 100644
--- a/app/src/main/java/com/rey/material/demo/SwitchesFragment.java
+++ b/app/src/main/java/com/rey/material/demo/SwitchesFragment.java
@@ -3,7 +3,7 @@
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/rey/material/demo/TextfieldFragment.java b/app/src/main/java/com/rey/material/demo/TextfieldFragment.java
index 0c33fdc9..17964df1 100644
--- a/app/src/main/java/com/rey/material/demo/TextfieldFragment.java
+++ b/app/src/main/java/com/rey/material/demo/TextfieldFragment.java
@@ -14,7 +14,7 @@
import android.os.Build;
import android.os.Bundle;
import android.provider.ContactsContract;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.view.KeyEvent;
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 04e4c705..87cf4698 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,5 @@
-
-
-
+
diff --git a/build.gradle b/build.gradle
index 3f2437ec..fbaa2f52 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,11 +4,14 @@ buildscript {
repositories {
google()
jcenter()
+ maven {
+ url 'https://maven.google.com'
+ }
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.3'
- classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
- classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
+ classpath 'com.android.tools.build:gradle:3.4.1'
+ classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
+ classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -19,4 +22,4 @@ allprojects {
google()
jcenter()
}
-}
+}
\ No newline at end of file
diff --git a/dist/bintray.gradle b/dist/bintray.gradle
deleted file mode 100644
index d32323c5..00000000
--- a/dist/bintray.gradle
+++ /dev/null
@@ -1,92 +0,0 @@
-apply plugin: 'com.github.dcendents.android-maven'
-apply plugin: 'com.jfrog.bintray'
-
-def distInfo = ext.distInfo;
-
-group = distInfo.publishedGroupId // Maven Group ID for the artifact
-
-install {
- repositories.mavenInstaller {
- // This generates POM.xml with proper parameters
- pom {
- project {
- packaging distInfo.libraryPackaging
- groupId distInfo.publishedGroupId
- artifactId distInfo.artifact
-
- // Add your description here
- name distInfo.libraryName
- description distInfo.libraryDescription
- url distInfo.siteUrl
-
- // Set your license
- licenses {
- license {
- name distInfo.licenseName
- url distInfo.licenseUrl
- }
- }
- developers {
- developer {
- id distInfo.developerId
- name distInfo.developerName
- email distInfo.developerEmail
- }
- }
- scm {
- connection distInfo.gitUrl
- developerConnection distInfo.gitUrl
- url distInfo.siteUrl
-
- }
- }
- }
- }
-}
-
-version = distInfo.libraryVersion
-
-task sourcesJar(type: Jar) {
- from android.sourceSets.main.java.srcDirs
- classifier = 'sources'
-}
-
-task javadoc(type: Javadoc) {
- source = android.sourceSets.main.java.srcDirs
- classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
-}
-
-task javadocJar(type: Jar, dependsOn: javadoc) {
- classifier = 'javadoc'
- from javadoc.destinationDir
-}
-
-artifacts {
- archives javadocJar
- archives sourcesJar
-}
-
-bintray {
- user = distInfo.bintrayUser
- key = distInfo.bintrayApiKey
-
- configurations = ['archives']
- pkg {
- repo = distInfo.bintrayRepo
- name = distInfo.bintrayName
- desc = distInfo.libraryDescription
- websiteUrl = distInfo.siteUrl
- vcsUrl = distInfo.gitUrl
- licenses = distInfo.allLicenses
- publish = true
- publicDownloadNumbers = true
- version {
- desc = distInfo.libraryDescription
- gpg {
- sign = true //Determines whether to GPG sign the files. The default is false
- passphrase = distInfo.bintrayGpgPassword
- //Optional. The passphrase for GPG signing'
- }
- }
- }
-}
\ No newline at end of file
diff --git a/dist/distInfo.gradle b/dist/distInfo.gradle
deleted file mode 100644
index e3ad7cd6..00000000
--- a/dist/distInfo.gradle
+++ /dev/null
@@ -1,33 +0,0 @@
-ext.distInfo = [
- bintrayUser : project.hasProperty('BINTRAY_USERNAME') ? BINTRAY_USERNAME : "",
- bintrayApiKey : project.hasProperty('BINTRAY_APIKEY') ? BINTRAY_APIKEY : "",
- bintrayGpgPassword : project.hasProperty('GPG_PASSWORD') ? GPG_PASSWORD : "",
-
- mavenUser : project.hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : "",
- mavenPassword : project.hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : "",
- mavenReleaseRepo : project.hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL : "https://oss.sonatype.org/service/local/staging/deploy/maven2/",
- mavenSnapshotRepo : project.hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL : "https://oss.sonatype.org/content/repositories/snapshots/",
-
- bintrayRepo : "maven",
- bintrayName : "material",
-
- publishedGroupId : "com.github.rey5137",
- libraryName : "Material Library",
- libraryVersion : "1.2.5",
- libraryDescription : "An Android library to bring Material Design UI to pre-Lolipop Android.",
- artifact : "material",
- libraryPackaging : "aar",
-
- siteUrl : "https://github.com/rey5137/material",
- gitUrl : "https://github.com/rey5137/material.git",
-
-
- developerId : "rey5137",
- developerName : "Rey Pham",
- developerEmail : "pea5137@gmail.com",
-
- licenseName : "The Apache Software License, Version 2.0",
- licenseUrl : "http://www.apache.org/licenses/LICENSE-2.0.txt",
- licenseDist : "repo",
- allLicenses : ["Apache-2.0"]
-]
diff --git a/dist/maven.gradle b/dist/maven.gradle
deleted file mode 100644
index ca577140..00000000
--- a/dist/maven.gradle
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2013 Chris Banes
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-apply plugin: 'maven'
-apply plugin: 'signing'
-
-def distInfo = ext.distInfo;
-
-def isReleaseBuild() {
- return distInfo.libraryVersion.contains("SNAPSHOT") == false
-}
-
-afterEvaluate { project ->
- uploadArchives {
- repositories {
- mavenDeployer {
- beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
-
- pom.groupId = distInfo.publishedGroupId
- pom.artifactId = distInfo.artifact
- pom.version = distInfo.libraryVersion
-
- repository(url: distInfo.mavenReleaseRepo) {
- authentication(userName: distInfo.mavenUser, password: distInfo.mavenPassword)
- }
- snapshotRepository(url: distInfo.mavenSnapshotRepo) {
- authentication(userName: distInfo.mavenUser, password: distInfo.mavenPassword)
- }
-
- pom.project {
- name distInfo.libraryName
- packaging distInfo.libraryPackaging
- description distInfo.libraryDescription
- url distInfo.siteUrl
-
- scm {
- url distInfo.siteUrl
- connection distInfo.gitUrl
- developerConnection distInfo.gitUrl
- }
-
- licenses {
- license {
- name distInfo.licenseName
- url distInfo.licenseUrl
- distribution distInfo.licenseDist
- }
- }
-
- developers {
- developer {
- id distInfo.developerId
- name distInfo.developerName
- }
- }
- }
- }
- }
- }
-
- signing {
- required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
- sign configurations.archives
- }
-
- task androidJavadocs(type: Javadoc) {
- source = android.sourceSets.main.java.srcDirs
- classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
- }
-
- task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
- classifier = 'javadoc'
- from androidJavadocs.destinationDir
- }
-
- task androidSourcesJar(type: Jar) {
- classifier = 'sources'
- from android.sourceSets.main.java.sourceFiles
- }
-
- artifacts {
- archives androidSourcesJar
- archives androidJavadocsJar
- }
-}
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index eb4006a1..d766e268 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Jun 22 15:44:18 ICT 2018
+#Wed Jun 12 11:01:23 ICT 2019
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-5.1.1-all.zip
diff --git a/gradlew b/gradlew
old mode 100644
new mode 100755
diff --git a/material/.gitignore b/material/.gitignore
index 796b96d1..603b1407 100644
--- a/material/.gitignore
+++ b/material/.gitignore
@@ -1 +1,14 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
/build
+/captures
+.externalNativeBuild
+.cxx
diff --git a/material/bintray.gradle b/material/bintray.gradle
new file mode 100644
index 00000000..838de827
--- /dev/null
+++ b/material/bintray.gradle
@@ -0,0 +1,65 @@
+apply plugin: 'com.jfrog.bintray'
+
+ext {
+ bintrayUser = project.hasProperty('BINTRAY_USERNAME') ? BINTRAY_USERNAME : ""
+ bintrayApiKey = project.hasProperty('BINTRAY_APIKEY') ? BINTRAY_APIKEY : ""
+ bintrayGpgPassword = project.hasProperty('GPG_PASSWORD') ? GPG_PASSWORD : ""
+
+ bintrayRepo = "maven"
+ bintrayName = "material"
+
+ libraryVersion = "1.3.1"
+ libraryDescription = "An Android library to bring Material Design UI to pre-Lolipop Android."
+
+ siteUrl = "https://github.com/rey5137/material"
+ gitUrl = "https://github.com/rey5137/material.git"
+
+}
+
+version = libraryVersion
+
+task sourcesJar(type: Jar) {
+ from android.sourceSets.main.java.srcDirs
+ classifier = 'sources'
+}
+
+task javadoc(type: Javadoc) {
+ source = android.sourceSets.main.java.srcDirs
+ classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+ classifier = 'javadoc'
+ from javadoc.destinationDir
+}
+
+artifacts {
+ archives javadocJar
+ archives sourcesJar
+}
+
+bintray {
+ user = bintrayUser
+ key = bintrayApiKey
+
+ configurations = ['archives']
+ pkg {
+ repo = bintrayRepo
+ name = bintrayName
+ desc = libraryDescription
+ websiteUrl = siteUrl
+ vcsUrl = gitUrl
+ licenses = ["Apache-2.0"]
+ publish = true
+ publicDownloadNumbers = true
+ version {
+ desc = libraryDescription
+ gpg {
+ sign = true //Determines whether to GPG sign the files. The default is false
+ passphrase = bintrayGpgPassword
+ //Optional. The passphrase for GPG signing'
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/material/build.gradle b/material/build.gradle
index cd02388c..0a36c6d2 100644
--- a/material/build.gradle
+++ b/material/build.gradle
@@ -1,14 +1,14 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 27
- buildToolsVersion "28.0.0"
+ compileSdkVersion 28
+ buildToolsVersion "28.0.3"
defaultConfig {
minSdkVersion 14
- targetSdkVersion 27
+ targetSdkVersion 28
versionCode 22
- versionName "1.2.5"
+ versionName "1.3.1"
}
buildTypes {
release {
@@ -19,18 +19,23 @@ android {
}
ext{
- libSupportVersion = '27.1.1'
+ androidXVersion = '1.0.0'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
- implementation "com.android.support:appcompat-v7:${libSupportVersion}"
- implementation "com.android.support:cardview-v7:${libSupportVersion}"
- implementation "com.android.support:recyclerview-v7:${libSupportVersion}"
+ implementation "androidx.appcompat:appcompat:${androidXVersion}"
+ implementation "androidx.cardview:cardview:${androidXVersion}"
+ implementation "androidx.recyclerview:recyclerview:${androidXVersion}"
+}
+
+tasks.withType(Javadoc) {
+ options.addStringOption('Xdoclint:none', '-quiet')
+ options.addStringOption('encoding', 'UTF-8')
+ options.addStringOption('charSet', 'UTF-8')
}
// Place it at the end of the file
-apply from: "$rootProject.projectDir/dist/distInfo.gradle"
-apply from: "$rootProject.projectDir/dist/bintray.gradle"
-apply from: "$rootProject.projectDir/dist/maven.gradle"
+apply from: 'install.gradle'
+apply from: 'bintray.gradle'
diff --git a/material/install.gradle b/material/install.gradle
new file mode 100644
index 00000000..9b9dbd39
--- /dev/null
+++ b/material/install.gradle
@@ -0,0 +1,52 @@
+apply plugin: 'com.github.dcendents.android-maven'
+
+ext {
+ publishedGroupId = "com.github.rey5137"
+
+ artifact = "material"
+ libraryName = "Material Library"
+ libraryDescription = "An Android library to bring Material Design UI to pre-Lolipop Android."
+ siteUrl = "https://github.com/rey5137/material"
+
+ developerId = "rey5137"
+ developerName = "Rey Pham"
+ developerEmail = "pea5137@gmail.com"
+}
+
+group = publishedGroupId
+
+install {
+ repositories.mavenInstaller {
+ pom {
+ project {
+ packaging 'aar'
+ groupId publishedGroupId
+ artifactId artifact
+ name libraryName
+ description libraryDescription
+ url siteUrl
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ }
+ }
+
+ developers {
+ developer {
+ id developerId
+ name developerName
+ email developerEmail
+ }
+ }
+
+ scm {
+ connection siteUrl
+ developerConnection siteUrl
+ url siteUrl
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/material/src/main/java/android/support/v7/widget/ListViewCompat.java b/material/src/main/java/androidx/appcompat/widget/ListViewCompat.java
similarity index 97%
rename from material/src/main/java/android/support/v7/widget/ListViewCompat.java
rename to material/src/main/java/androidx/appcompat/widget/ListViewCompat.java
index 970f7623..71664cfc 100644
--- a/material/src/main/java/android/support/v7/widget/ListViewCompat.java
+++ b/material/src/main/java/androidx/appcompat/widget/ListViewCompat.java
@@ -13,13 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.support.v7.widget;
+package androidx.appcompat.widget;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
-import android.support.v4.graphics.drawable.DrawableCompat;
-import android.support.v7.graphics.drawable.DrawableWrapper;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
@@ -27,13 +26,12 @@
import android.widget.AbsListView;
import android.widget.ListAdapter;
import android.widget.ListView;
+
+import androidx.appcompat.graphics.drawable.DrawableWrapper;
+import androidx.core.graphics.drawable.DrawableCompat;
+
import java.lang.reflect.Field;
-/**
- * This class contains a number of useful things for ListView. Mainly used by
- * {@link android.support.v7.widget.ListPopupWindow}.
- *
- * @hide
- */
+
public class ListViewCompat extends ListView {
public static final int INVALID_POSITION = -1;
public static final int NO_POSITION = -1;
@@ -302,6 +300,8 @@ protected void setSelectorEnabled(boolean enabled) {
mSelector.setEnabled(enabled);
}
}
+
+ @SuppressLint("RestrictedApi")
private static class GateKeeperDrawable extends DrawableWrapper {
private boolean mEnabled;
public GateKeeperDrawable(Drawable drawable) {
diff --git a/material/src/main/java/com/rey/material/app/Dialog.java b/material/src/main/java/com/rey/material/app/Dialog.java
index de428211..5119c475 100644
--- a/material/src/main/java/com/rey/material/app/Dialog.java
+++ b/material/src/main/java/com/rey/material/app/Dialog.java
@@ -12,8 +12,6 @@
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.v4.view.ViewCompat;
-import android.support.v7.widget.CardView;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
@@ -27,6 +25,9 @@
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;
+import androidx.cardview.widget.CardView;
+import androidx.core.view.ViewCompat;
+
import com.rey.material.R;
import com.rey.material.drawable.BlankDrawable;
import com.rey.material.drawable.RippleDrawable;
@@ -1139,7 +1140,7 @@ public boolean onTouchEvent(MotionEvent event) {
}
- private class DialogCardView extends CardView{
+ private class DialogCardView extends CardView {
private Paint mDividerPaint;
private float mDividerPos = -1f;
diff --git a/material/src/main/java/com/rey/material/app/DialogFragment.java b/material/src/main/java/com/rey/material/app/DialogFragment.java
index ba5f9200..946887b2 100644
--- a/material/src/main/java/com/rey/material/app/DialogFragment.java
+++ b/material/src/main/java/com/rey/material/app/DialogFragment.java
@@ -4,13 +4,13 @@
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.view.View;
/**
* Created by Rey on 1/12/2015.
*/
-public class DialogFragment extends android.support.v4.app.DialogFragment{
+public class DialogFragment extends androidx.fragment.app.DialogFragment {
/**
* Interface definition for passing style data.
diff --git a/material/src/main/java/com/rey/material/app/SimpleDialog.java b/material/src/main/java/com/rey/material/app/SimpleDialog.java
index 33edbbd9..ce59b751 100644
--- a/material/src/main/java/com/rey/material/app/SimpleDialog.java
+++ b/material/src/main/java/com/rey/material/app/SimpleDialog.java
@@ -5,7 +5,6 @@
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.v4.view.ViewCompat;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
@@ -13,6 +12,8 @@
import android.widget.BaseAdapter;
import android.widget.ScrollView;
+import androidx.core.view.ViewCompat;
+
import com.rey.material.R;
import com.rey.material.drawable.BlankDrawable;
import com.rey.material.widget.CheckBox;
diff --git a/material/src/main/java/com/rey/material/app/ThemeManager.java b/material/src/main/java/com/rey/material/app/ThemeManager.java
index c48b6de0..baba5e23 100644
--- a/material/src/main/java/com/rey/material/app/ThemeManager.java
+++ b/material/src/main/java/com/rey/material/app/ThemeManager.java
@@ -5,12 +5,13 @@
import android.content.SharedPreferences;
import android.content.res.TypedArray;
import android.os.Looper;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.UiThread;
import android.util.AttributeSet;
import android.util.SparseArray;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.UiThread;
+
import com.rey.material.R;
import java.lang.ref.WeakReference;
diff --git a/material/src/main/java/com/rey/material/app/ToolbarManager.java b/material/src/main/java/com/rey/material/app/ToolbarManager.java
index 4a3dd0ac..38e3d3d7 100644
--- a/material/src/main/java/com/rey/material/app/ToolbarManager.java
+++ b/material/src/main/java/com/rey/material/app/ToolbarManager.java
@@ -4,13 +4,14 @@
import android.animation.ValueAnimator;
import android.os.Build;
import android.os.SystemClock;
-import android.support.annotation.Nullable;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.AppCompatDelegate;
-import android.support.v7.widget.ActionMenuView;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatDelegate;
+import androidx.appcompat.widget.ActionMenuView;
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.view.GravityCompat;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.fragment.app.FragmentManager;
+
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
diff --git a/material/src/main/java/com/rey/material/drawable/LineMorphingDrawable.java b/material/src/main/java/com/rey/material/drawable/LineMorphingDrawable.java
index 1b095a99..96d0e98b 100644
--- a/material/src/main/java/com/rey/material/drawable/LineMorphingDrawable.java
+++ b/material/src/main/java/com/rey/material/drawable/LineMorphingDrawable.java
@@ -13,14 +13,15 @@
import android.graphics.drawable.Animatable;
import android.graphics.drawable.Drawable;
import android.os.SystemClock;
-import android.support.v4.text.TextUtilsCompat;
-import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
+import androidx.core.text.TextUtilsCompat;
+import androidx.core.view.ViewCompat;
+
import com.rey.material.R;
import com.rey.material.util.ThemeUtil;
import com.rey.material.util.ViewUtil;
diff --git a/material/src/main/java/com/rey/material/drawable/PaddingDrawable.java b/material/src/main/java/com/rey/material/drawable/PaddingDrawable.java
index 8c6d11cc..a4f00602 100644
--- a/material/src/main/java/com/rey/material/drawable/PaddingDrawable.java
+++ b/material/src/main/java/com/rey/material/drawable/PaddingDrawable.java
@@ -8,7 +8,8 @@
import android.graphics.Rect;
import android.graphics.Region;
import android.graphics.drawable.Drawable;
-import android.support.v4.graphics.drawable.DrawableCompat;
+
+import androidx.core.graphics.drawable.DrawableCompat;
/**
* Created by Rey on 8/19/2015.
diff --git a/material/src/main/java/com/rey/material/widget/Button.java b/material/src/main/java/com/rey/material/widget/Button.java
index 7a1e8da8..1f801d27 100644
--- a/material/src/main/java/com/rey/material/widget/Button.java
+++ b/material/src/main/java/com/rey/material/widget/Button.java
@@ -2,8 +2,9 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatButton;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatButton;
+
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/CheckedTextView.java b/material/src/main/java/com/rey/material/widget/CheckedTextView.java
index 1bf60fce..33aff6ff 100644
--- a/material/src/main/java/com/rey/material/widget/CheckedTextView.java
+++ b/material/src/main/java/com/rey/material/widget/CheckedTextView.java
@@ -2,8 +2,9 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatCheckedTextView;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatCheckedTextView;
+
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/CircleCheckedTextView.java b/material/src/main/java/com/rey/material/widget/CircleCheckedTextView.java
index fe1ec192..2b7b0b73 100644
--- a/material/src/main/java/com/rey/material/widget/CircleCheckedTextView.java
+++ b/material/src/main/java/com/rey/material/widget/CircleCheckedTextView.java
@@ -1,11 +1,12 @@
package com.rey.material.widget;
import android.content.Context;
-import android.support.v7.widget.AppCompatCheckedTextView;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.animation.Interpolator;
+import androidx.appcompat.widget.AppCompatCheckedTextView;
+
import com.rey.material.drawable.CircleDrawable;
import com.rey.material.util.ViewUtil;
diff --git a/material/src/main/java/com/rey/material/widget/CompoundButton.java b/material/src/main/java/com/rey/material/widget/CompoundButton.java
index ebb5a7db..c069b769 100644
--- a/material/src/main/java/com/rey/material/widget/CompoundButton.java
+++ b/material/src/main/java/com/rey/material/widget/CompoundButton.java
@@ -5,7 +5,7 @@
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/EditText.java b/material/src/main/java/com/rey/material/widget/EditText.java
index 8872bafc..070c7499 100644
--- a/material/src/main/java/com/rey/material/widget/EditText.java
+++ b/material/src/main/java/com/rey/material/widget/EditText.java
@@ -10,11 +10,12 @@
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.view.GravityCompat;
-import android.support.v7.widget.AppCompatAutoCompleteTextView;
-import android.support.v7.widget.AppCompatEditText;
-import android.support.v7.widget.AppCompatMultiAutoCompleteTextView;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatAutoCompleteTextView;
+import androidx.appcompat.widget.AppCompatEditText;
+import androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView;
+import androidx.core.view.GravityCompat;
+
import android.text.Editable;
import android.text.InputFilter;
import android.text.Layout;
@@ -3688,7 +3689,7 @@ protected int[] onCreateDrawableState(int extraSpace) {
}
- private class InternalEditText extends AppCompatEditText{
+ private class InternalEditText extends AppCompatEditText {
public InternalEditText(Context context) {
super(context);
@@ -3987,7 +3988,7 @@ void superOnSelectionChanged(int selStart, int selEnd) {
}
}
- private class InternalMultiAutoCompleteTextView extends AppCompatMultiAutoCompleteTextView{
+ private class InternalMultiAutoCompleteTextView extends AppCompatMultiAutoCompleteTextView {
public InternalMultiAutoCompleteTextView(Context context) {
super(context);
diff --git a/material/src/main/java/com/rey/material/widget/FloatingActionButton.java b/material/src/main/java/com/rey/material/widget/FloatingActionButton.java
index ed9e7342..c7241929 100644
--- a/material/src/main/java/com/rey/material/widget/FloatingActionButton.java
+++ b/material/src/main/java/com/rey/material/widget/FloatingActionButton.java
@@ -11,7 +11,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Gravity;
diff --git a/material/src/main/java/com/rey/material/widget/FrameLayout.java b/material/src/main/java/com/rey/material/widget/FrameLayout.java
index cd7b0f49..d71743dc 100644
--- a/material/src/main/java/com/rey/material/widget/FrameLayout.java
+++ b/material/src/main/java/com/rey/material/widget/FrameLayout.java
@@ -2,7 +2,7 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/ImageButton.java b/material/src/main/java/com/rey/material/widget/ImageButton.java
index f286ae96..ffef9aa7 100644
--- a/material/src/main/java/com/rey/material/widget/ImageButton.java
+++ b/material/src/main/java/com/rey/material/widget/ImageButton.java
@@ -2,8 +2,9 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatImageButton;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatImageButton;
+
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/ImageView.java b/material/src/main/java/com/rey/material/widget/ImageView.java
index 38b36430..a742e0d2 100644
--- a/material/src/main/java/com/rey/material/widget/ImageView.java
+++ b/material/src/main/java/com/rey/material/widget/ImageView.java
@@ -2,8 +2,9 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatImageView;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatImageView;
+
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/LinearLayout.java b/material/src/main/java/com/rey/material/widget/LinearLayout.java
index e01e7806..43165d03 100644
--- a/material/src/main/java/com/rey/material/widget/LinearLayout.java
+++ b/material/src/main/java/com/rey/material/widget/LinearLayout.java
@@ -4,7 +4,7 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/ListPopupWindow.java b/material/src/main/java/com/rey/material/widget/ListPopupWindow.java
index d5bdc2f3..2f0893e1 100644
--- a/material/src/main/java/com/rey/material/widget/ListPopupWindow.java
+++ b/material/src/main/java/com/rey/material/widget/ListPopupWindow.java
@@ -24,11 +24,6 @@
import android.os.Build;
import android.os.Handler;
import android.os.SystemClock;
-import android.support.v4.text.TextUtilsCompat;
-import android.support.v4.view.MotionEventCompat;
-import android.support.v4.view.ViewPropertyAnimatorCompat;
-import android.support.v4.widget.ListViewAutoScrollHelper;
-import android.support.v4.widget.PopupWindowCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Gravity;
@@ -48,6 +43,12 @@
import android.widget.LinearLayout;
import android.widget.ListAdapter;
+import androidx.core.text.TextUtilsCompat;
+import androidx.core.view.MotionEventCompat;
+import androidx.core.view.ViewPropertyAnimatorCompat;
+import androidx.core.widget.ListViewAutoScrollHelper;
+import androidx.core.widget.PopupWindowCompat;
+
import com.rey.material.R;
import java.lang.reflect.Method;
diff --git a/material/src/main/java/com/rey/material/widget/ListView.java b/material/src/main/java/com/rey/material/widget/ListView.java
index b70ddba4..4f5f036d 100644
--- a/material/src/main/java/com/rey/material/widget/ListView.java
+++ b/material/src/main/java/com/rey/material/widget/ListView.java
@@ -1,10 +1,11 @@
package com.rey.material.widget;
import android.content.Context;
-import android.support.v7.widget.ListViewCompat;
import android.util.AttributeSet;
import android.view.View;
+import androidx.appcompat.widget.ListViewCompat;
+
import com.rey.material.app.ThemeManager;
import com.rey.material.util.ViewUtil;
diff --git a/material/src/main/java/com/rey/material/widget/ProgressView.java b/material/src/main/java/com/rey/material/widget/ProgressView.java
index 10bdf2ff..e03c6d6c 100644
--- a/material/src/main/java/com/rey/material/widget/ProgressView.java
+++ b/material/src/main/java/com/rey/material/widget/ProgressView.java
@@ -4,7 +4,7 @@
import android.content.res.TypedArray;
import android.graphics.drawable.Animatable;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.View;
diff --git a/material/src/main/java/com/rey/material/widget/RelativeLayout.java b/material/src/main/java/com/rey/material/widget/RelativeLayout.java
index f1528859..99076fac 100644
--- a/material/src/main/java/com/rey/material/widget/RelativeLayout.java
+++ b/material/src/main/java/com/rey/material/widget/RelativeLayout.java
@@ -2,7 +2,7 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/Slider.java b/material/src/main/java/com/rey/material/widget/Slider.java
index 187bcf98..6fddf463 100644
--- a/material/src/main/java/com/rey/material/widget/Slider.java
+++ b/material/src/main/java/com/rey/material/widget/Slider.java
@@ -13,7 +13,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/Spinner.java b/material/src/main/java/com/rey/material/widget/Spinner.java
index 197df228..00037c13 100644
--- a/material/src/main/java/com/rey/material/widget/Spinner.java
+++ b/material/src/main/java/com/rey/material/widget/Spinner.java
@@ -11,7 +11,7 @@
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
diff --git a/material/src/main/java/com/rey/material/widget/Switch.java b/material/src/main/java/com/rey/material/widget/Switch.java
index 80d1add7..0ab2740c 100644
--- a/material/src/main/java/com/rey/material/widget/Switch.java
+++ b/material/src/main/java/com/rey/material/widget/Switch.java
@@ -13,7 +13,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/TabIndicatorView.java b/material/src/main/java/com/rey/material/widget/TabIndicatorView.java
index 56d74fa5..dbc45dac 100644
--- a/material/src/main/java/com/rey/material/widget/TabIndicatorView.java
+++ b/material/src/main/java/com/rey/material/widget/TabIndicatorView.java
@@ -6,11 +6,12 @@
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.v4.view.ViewPager;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.viewpager.widget.ViewPager;
+
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.Gravity;
diff --git a/material/src/main/java/com/rey/material/widget/TabPageIndicator.java b/material/src/main/java/com/rey/material/widget/TabPageIndicator.java
index a866de76..d0ae77da 100644
--- a/material/src/main/java/com/rey/material/widget/TabPageIndicator.java
+++ b/material/src/main/java/com/rey/material/widget/TabPageIndicator.java
@@ -7,10 +7,11 @@
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
+
import android.text.TextUtils.TruncateAt;
import android.util.AttributeSet;
import android.view.Gravity;
diff --git a/material/src/main/java/com/rey/material/widget/TextView.java b/material/src/main/java/com/rey/material/widget/TextView.java
index d372113f..d495e555 100644
--- a/material/src/main/java/com/rey/material/widget/TextView.java
+++ b/material/src/main/java/com/rey/material/widget/TextView.java
@@ -2,12 +2,13 @@
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatTextView;
+
import com.rey.material.app.ThemeManager;
import com.rey.material.drawable.RippleDrawable;
import com.rey.material.util.ViewUtil;
diff --git a/material/src/main/java/com/rey/material/widget/TimePicker.java b/material/src/main/java/com/rey/material/widget/TimePicker.java
index f4b80e04..81854d6f 100644
--- a/material/src/main/java/com/rey/material/widget/TimePicker.java
+++ b/material/src/main/java/com/rey/material/widget/TimePicker.java
@@ -10,7 +10,7 @@
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/material/src/main/java/com/rey/material/widget/YearPicker.java b/material/src/main/java/com/rey/material/widget/YearPicker.java
index 164410ef..d56614eb 100644
--- a/material/src/main/java/com/rey/material/widget/YearPicker.java
+++ b/material/src/main/java/com/rey/material/widget/YearPicker.java
@@ -9,7 +9,6 @@
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
@@ -20,6 +19,8 @@
import android.view.animation.Interpolator;
import android.widget.BaseAdapter;
+import androidx.annotation.NonNull;
+
import com.rey.material.R;
import com.rey.material.drawable.BlankDrawable;
import com.rey.material.util.ThemeUtil;