diff --git a/app/build.gradle b/app/build.gradle index 1f52eef..45a5211 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,22 +7,15 @@ buildscript { } android { - compileSdkVersion 25 - buildToolsVersion '26.0.2' + compileSdkVersion 28 + buildToolsVersion '28.0.3' defaultConfig { applicationId "com.sackcentury.shinebutton" minSdkVersion 14 - targetSdkVersion 25 + targetSdkVersion 28 versionCode 1 versionName "1.0" - jackOptions { - enabled true - } - } - compileOptions { -// sourceCompatibility JavaVersion.VERSION_1_8 -// targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { @@ -30,15 +23,17 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.sackcentury:shinebutton:0.2.0' - compile project(path: ':shinebuttonlib') - //noinspection GradleCompatible - compile 'com.android.support:appcompat-v7:25.4.0' - compile 'com.android.support:cardview-v7:25.4.0' - compile 'com.android.support.constraint:constraint-layout:1.0.2' - testCompile 'junit:junit:4.12' + implementation "androidx.appcompat:appcompat:$androidx_version" + implementation "androidx.cardview:cardview:$cardView_version" + implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version" + + implementation "com.sackcentury:shinebutton:$shinebutton_version" + implementation project(":shinebuttonlib") } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8e920b7..2a16f4a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/sackcentury/shinebutton/FragmentDemo.java b/app/src/main/java/com/sackcentury/shinebutton/FragmentDemo.java index 752e99c..a2c2341 100644 --- a/app/src/main/java/com/sackcentury/shinebutton/FragmentDemo.java +++ b/app/src/main/java/com/sackcentury/shinebutton/FragmentDemo.java @@ -1,10 +1,6 @@ package com.sackcentury.shinebutton; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -13,6 +9,11 @@ import com.sackcentury.shinebuttonlib.ShineButton; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + /** * @author Chad * @title com.sackcentury.shinebutton @@ -22,8 +23,9 @@ * @since 17/3/17 上午11:23 **/ public class FragmentDemo extends Fragment { - View rootView; - FragmentManager fragmentManager; + + private View rootView; + private FragmentManager fragmentManager; @Nullable @Override @@ -39,24 +41,14 @@ public void onResume() { } private void initData() { - ShineButton shineButton1 = (ShineButton) rootView.findViewById(R.id.po_image1); - shineButton1.init((MainActivity) getActivity()); + ShineButton shineButton1 = rootView.findViewById(R.id.po_image1); + shineButton1.init(getActivity()); - ShineButton shineButton2 = (ShineButton) rootView.findViewById(R.id.po_image2); - ShineButton shineButton3 = (ShineButton) rootView.findViewById(R.id.po_image3); - final Button hideBtn = (Button) rootView.findViewById(R.id.hide_button); - hideBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - hideFragment(); - } - }); - rootView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - hideFragment(); - } - }); + ShineButton shineButton2 = rootView.findViewById(R.id.po_image2); + ShineButton shineButton3 = rootView.findViewById(R.id.po_image3); + final Button hideBtn = rootView.findViewById(R.id.hide_button); + hideBtn.setOnClickListener(view -> hideFragment()); + rootView.setOnClickListener(view -> hideFragment()); } public void showFragment(final FragmentManager fragmentManager) { diff --git a/app/src/main/java/com/sackcentury/shinebutton/ListDemoActivity.java b/app/src/main/java/com/sackcentury/shinebutton/ListDemoActivity.java index d5e2682..eacdd87 100644 --- a/app/src/main/java/com/sackcentury/shinebutton/ListDemoActivity.java +++ b/app/src/main/java/com/sackcentury/shinebutton/ListDemoActivity.java @@ -17,22 +17,20 @@ public class ListDemoActivity extends Activity { - ListView listView; + private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_demo); - listView = (ListView) findViewById(R.id.list); + listView = findViewById(R.id.list); listView.setAdapter(new ListAdapter()); getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); - } List dataList = new ArrayList<>(); - class ListAdapter extends BaseAdapter { public ListAdapter() { for (int i = 0; i < 20; i++) { @@ -60,16 +58,11 @@ public View getView(final int i, View view, ViewGroup viewGroup) { if (view == null) { view = LayoutInflater.from(ListDemoActivity.this).inflate(R.layout.list_item, null); } - ShineButton button = (ShineButton) view.findViewById(R.id.po_image); - TextView textView = (TextView) view.findViewById(R.id.text_item_id); + ShineButton button = view.findViewById(R.id.po_image); + TextView textView = view.findViewById(R.id.text_item_id); textView.setText("ShineButton Position " + i); button.setChecked(dataList.get(i).checked); - button.setOnCheckStateChangeListener(new ShineButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(View view, boolean checked) { - dataList.get(i).checked = checked; - } - }); + button.setOnCheckStateChangeListener((v, checked) -> dataList.get(i).checked = checked); return view; } } diff --git a/app/src/main/java/com/sackcentury/shinebutton/MainActivity.java b/app/src/main/java/com/sackcentury/shinebutton/MainActivity.java index 5eb414b..28cdebd 100644 --- a/app/src/main/java/com/sackcentury/shinebutton/MainActivity.java +++ b/app/src/main/java/com/sackcentury/shinebutton/MainActivity.java @@ -5,7 +5,6 @@ import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -17,16 +16,18 @@ import com.sackcentury.shinebuttonlib.ShineButton; +import androidx.appcompat.app.AppCompatActivity; + public class MainActivity extends AppCompatActivity { - String TAG = "MainActivity"; - ShineButton shineButton; - ShineButton porterShapeImageView1; - ShineButton porterShapeImageView2; - ShineButton porterShapeImageView3; + private static String TAG = "MainActivity"; + private ShineButton shineButton; + private ShineButton porterShapeImageView1; + private ShineButton porterShapeImageView2; + private ShineButton porterShapeImageView3; - Button listDemo; - Button fragmentDemo; - Button dialogDemo; + private Button listDemo; + private Button fragmentDemo; + private Button dialogDemo; @Override protected void onCreate(Bundle savedInstanceState) { @@ -36,27 +37,25 @@ protected void onCreate(Bundle savedInstanceState) { // getSupportActionBar().hide(); } setFullScreen(this); - shineButton = (ShineButton) findViewById(R.id.po_image0); - listDemo = (Button) findViewById(R.id.btn_list_demo); - fragmentDemo = (Button) findViewById(R.id.btn_fragment_demo); - dialogDemo = (Button) findViewById(R.id.btn_dialog_demo); - + shineButton = findViewById(R.id.po_image0); + listDemo = findViewById(R.id.btn_list_demo); + fragmentDemo = findViewById(R.id.btn_fragment_demo); + dialogDemo = findViewById(R.id.btn_dialog_demo); - LinearLayout linearLayout = (LinearLayout) findViewById(R.id.wrapper); + LinearLayout linearLayout = findViewById(R.id.wrapper); if (shineButton != null) shineButton.init(this); - porterShapeImageView1 = (ShineButton) findViewById(R.id.po_image1); + porterShapeImageView1 = findViewById(R.id.po_image1); if (porterShapeImageView1 != null) porterShapeImageView1.init(this); - porterShapeImageView2 = (ShineButton) findViewById(R.id.po_image2); + porterShapeImageView2 = findViewById(R.id.po_image2); if (porterShapeImageView2 != null) porterShapeImageView2.init(this); - porterShapeImageView3 = (ShineButton) findViewById(R.id.po_image3); + porterShapeImageView3 = findViewById(R.id.po_image3); if (porterShapeImageView3 != null) porterShapeImageView3.init(this); - ShineButton shineButtonJava = new ShineButton(this); shineButtonJava.setBtnColor(Color.GRAY); @@ -71,64 +70,24 @@ protected void onCreate(Bundle savedInstanceState) { } - shineButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Log.e(TAG, "click"); - } - }); - shineButton.setOnCheckStateChangeListener(new ShineButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(View view, boolean checked) { - Log.e(TAG, "click " + checked); - } - }); - - porterShapeImageView2.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Log.e(TAG, "click"); - } - }); - porterShapeImageView3.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Log.e(TAG, "click"); - } - }); + shineButton.setOnClickListener(view -> Log.e(TAG, "click")); + shineButton.setOnCheckStateChangeListener((v, checked) -> Log.e(TAG, "click " + checked)); + porterShapeImageView2.setOnClickListener(view -> Log.e(TAG, "click")); + porterShapeImageView3.setOnClickListener(view -> Log.e(TAG, "click")); - listDemo.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - startActivity(new Intent(v.getContext(), ListDemoActivity.class)); - } - }); - fragmentDemo.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - showFragmentPage(); - } - }); - dialogDemo.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Dialog dialog = new Dialog(MainActivity.this); - View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog, null); - ShineButton shineButton = (ShineButton) view.findViewById(R.id.po_image); - shineButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Log.e(TAG, "click"); - } - }); - dialog.setContentView(view); - dialog.show(); - } + listDemo.setOnClickListener(v -> startActivity(new Intent(v.getContext(), ListDemoActivity.class))); + fragmentDemo.setOnClickListener(view -> showFragmentPage()); + dialogDemo.setOnClickListener(v -> { + Dialog dialog = new Dialog(MainActivity.this); + View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog, null); + ShineButton shineButton = view.findViewById(R.id.po_image); + shineButton.setOnClickListener(vv -> Log.e(TAG, "click")); + dialog.setContentView(view); + dialog.show(); }); } - @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); @@ -169,7 +128,5 @@ public static void setFullScreen(AppCompatActivity activity) { // in Activity's onCreate() for instance activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } - } - } diff --git a/app/src/main/res/layout/activity_list_demo.xml b/app/src/main/res/layout/activity_list_demo.xml index d9f5620..a3e24e9 100644 --- a/app/src/main/res/layout/activity_list_demo.xml +++ b/app/src/main/res/layout/activity_list_demo.xml @@ -1,5 +1,5 @@ - - + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 12ff881..a890c23 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -122,7 +122,7 @@ android:visibility="gone" /> - - + diff --git a/build.gradle b/build.gradle index f5ee59d..e4c08f8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,28 +1,29 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + + ext { + androidx_version = '1.0.2' + ei_version = '1.0.0' + shinebutton_version = '0.2.0' + cardView_version = '1.0.0' + constraintlayout_version = '2.0.0-alpha2' + } + repositories { jcenter() - maven { - url 'https://maven.google.com/' - name 'Google' - } + google() } - dependencies { - classpath 'com.android.tools.build:gradle:3.0.0-rc2' - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files + dependencies { + classpath "com.android.tools.build:gradle:3.2.1" } } allprojects { repositories { jcenter() - maven { - url 'https://maven.google.com/' - name 'Google' - } + google() } } diff --git a/gradle.properties b/gradle.properties index 518b53b..9d886dc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,4 +31,6 @@ POM_LICENCE_DIST=repo POM_DEVELOPER_ID=ChadCSong POM_DEVELOPER_NAME=Song Chao POM_INCEPTION_YEAR=2016 +android.useAndroidX=true +android.enableJetifier=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 44b1c0a..1ce1e47 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Oct 23 17:06:41 CST 2017 +#Tue Nov 27 17:56:51 KST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip diff --git a/shinebuttonlib/build.gradle b/shinebuttonlib/build.gradle index 58fb489..20bd94a 100644 --- a/shinebuttonlib/build.gradle +++ b/shinebuttonlib/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 23 - buildToolsVersion '26.0.2' + compileSdkVersion 28 + buildToolsVersion '28.0.3' defaultConfig { minSdkVersion 14 - targetSdkVersion 23 + targetSdkVersion 28 versionCode 9 versionName "0.1.9" @@ -24,10 +24,8 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.2.1' - compile 'com.daasuu:EasingInterpolator:1.0.0' + implementation "androidx.appcompat:appcompat:$androidx_version" + implementation "com.daasuu:EasingInterpolator:$ei_version" } //apply from: '../maven_push.gradle' diff --git a/shinebuttonlib/src/main/java/com/sackcentury/shinebuttonlib/PorterImageView.java b/shinebuttonlib/src/main/java/com/sackcentury/shinebuttonlib/PorterImageView.java index b96b491..bd27dae 100644 --- a/shinebuttonlib/src/main/java/com/sackcentury/shinebuttonlib/PorterImageView.java +++ b/shinebuttonlib/src/main/java/com/sackcentury/shinebuttonlib/PorterImageView.java @@ -13,7 +13,7 @@ import android.util.AttributeSet; import android.util.Log; -public abstract class PorterImageView extends android.support.v7.widget.AppCompatImageView { +public abstract class PorterImageView extends androidx.appcompat.widget.AppCompatImageView { private static final String TAG = PorterImageView.class.getSimpleName(); private static final PorterDuffXfermode PORTER_DUFF_XFERMODE = new PorterDuffXfermode(PorterDuff.Mode.DST_IN);