From 440ad7e8f594eb245e3683ec0374949b76171d68 Mon Sep 17 00:00:00 2001 From: dmorozov Date: Tue, 20 Sep 2022 13:24:34 +0300 Subject: [PATCH 1/2] Update project - Update gradle version - Fix gradle issues - Update compileSdkVersion - Update targetSdkVersion - Update buildToolsVersion - Migrate to AndroidX - Migrate Butterknife to ViewBinding --- app/build.gradle | 20 ++++++------ app/src/main/AndroidManifest.xml | 3 +- .../sample/activity/MainActivity.java | 32 +++++++------------ .../sample/widget/CanaroTextView.java | 5 +-- .../{activity.xml => activity_main.xml} | 4 +-- app/src/main/res/layout/guillotine.xml | 4 +-- build.gradle | 8 +++-- gradle.properties | 6 +++- gradle/wrapper/gradle-wrapper.properties | 3 +- library/build.gradle | 8 ++--- 10 files changed, 46 insertions(+), 47 deletions(-) rename app/src/main/res/layout/{activity.xml => activity_main.xml} (95%) diff --git a/app/build.gradle b/app/build.gradle index 0aad11f..cf47593 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,16 +8,15 @@ buildscript { } apply plugin: 'com.android.application' -apply plugin: 'com.neenbedankt.android-apt' android { - compileSdkVersion 24 - buildToolsVersion "23.0.3" + compileSdkVersion 33 + buildToolsVersion "30.0.3" defaultConfig { applicationId "com.yalantis.guillotine.sample" minSdkVersion 15 - targetSdkVersion 24 + targetSdkVersion 33 versionCode 3 versionName "1.2" } @@ -27,12 +26,15 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + + buildFeatures { + viewBinding true + } } dependencies { - compile project(':library') - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:24.2.1' - compile 'com.jakewharton:butterknife:8.0.1' - apt 'com.jakewharton:butterknife-compiler:8.0.1' + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(':library') + + implementation "androidx.appcompat:appcompat:1.5.1" } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 37a8102..021dab0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,7 +11,8 @@ + android:screenOrientation="portrait" + android:exported="true"> diff --git a/app/src/main/java/com/yalantis/guillotine/sample/activity/MainActivity.java b/app/src/main/java/com/yalantis/guillotine/sample/activity/MainActivity.java index e85698e..50c6b3b 100644 --- a/app/src/main/java/com/yalantis/guillotine/sample/activity/MainActivity.java +++ b/app/src/main/java/com/yalantis/guillotine/sample/activity/MainActivity.java @@ -1,17 +1,14 @@ package com.yalantis.guillotine.sample.activity; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; -import android.widget.FrameLayout; + +import androidx.appcompat.app.AppCompatActivity; import com.yalantis.guillotine.animation.GuillotineAnimation; import com.yalantis.guillotine.sample.R; - -import butterknife.ButterKnife; -import butterknife.BindView; +import com.yalantis.guillotine.sample.databinding.ActivityMainBinding; /** * Created by Dmytro Denysenko on 5/4/15. @@ -20,31 +17,24 @@ public class MainActivity extends AppCompatActivity { private static final long RIPPLE_DURATION = 250; - @BindView(R.id.toolbar) - Toolbar toolbar; - @BindView(R.id.root) - FrameLayout root; - @BindView(R.id.content_hamburger) - View contentHamburger; + private ActivityMainBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity); - ButterKnife.bind(this); + binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.root); - if (toolbar != null) { - setSupportActionBar(toolbar); - getSupportActionBar().setTitle(null); - } + setSupportActionBar(binding.toolbar); + getSupportActionBar().setTitle(null); View guillotineMenu = LayoutInflater.from(this).inflate(R.layout.guillotine, null); - root.addView(guillotineMenu); + binding.root.addView(guillotineMenu); - new GuillotineAnimation.GuillotineBuilder(guillotineMenu, guillotineMenu.findViewById(R.id.guillotine_hamburger), contentHamburger) + new GuillotineAnimation.GuillotineBuilder(guillotineMenu, guillotineMenu.findViewById(R.id.guillotine_hamburger), binding.contentHamburger) .setStartDelay(RIPPLE_DURATION) - .setActionBarViewForAnimation(toolbar) + .setActionBarViewForAnimation(binding.toolbar) .setClosedOnStart(true) .build(); } diff --git a/app/src/main/java/com/yalantis/guillotine/sample/widget/CanaroTextView.java b/app/src/main/java/com/yalantis/guillotine/sample/widget/CanaroTextView.java index 59ebdd3..fc6727d 100644 --- a/app/src/main/java/com/yalantis/guillotine/sample/widget/CanaroTextView.java +++ b/app/src/main/java/com/yalantis/guillotine/sample/widget/CanaroTextView.java @@ -2,14 +2,15 @@ import android.content.Context; import android.util.AttributeSet; -import android.widget.TextView; + +import androidx.appcompat.widget.AppCompatTextView; import com.yalantis.guillotine.sample.App; /** * Created by Dmytro Denysenko on 5/6/15. */ -public class CanaroTextView extends TextView { +public class CanaroTextView extends AppCompatTextView { public CanaroTextView(Context context) { this(context, null); } diff --git a/app/src/main/res/layout/activity.xml b/app/src/main/res/layout/activity_main.xml similarity index 95% rename from app/src/main/res/layout/activity.xml rename to app/src/main/res/layout/activity_main.xml index 0f2b9ca..3b22ccf 100644 --- a/app/src/main/res/layout/activity.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -18,7 +18,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - @@ -34,7 +34,7 @@ android:layout_gravity="center" android:text="@string/activity" android:textSize="@dimen/guillotine_item_text_size" /> - + - @@ -14,7 +14,7 @@ android:id="@+id/guillotine_hamburger" style="@style/ImageView.Hamburger" android:src="@drawable/ic_menu" /> - + Date: Thu, 22 Sep 2022 12:55:16 +0300 Subject: [PATCH 2/2] Update library version - Update library version - Update README.md --- README.md | 17 ++++++++++------- app/build.gradle | 4 ++-- library/build.gradle | 4 ++-- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 6a09821..daec4ae 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,6 @@ Neat library, that provides a simple way to implement guillotine-styled animatio Check this [project on Dribbble] (https://dribbble.com/shots/2018249-Guillotine-Menu) -Also, read how it was done in [our blog] (https://yalantis.com/blog/how-we-developed-the-guillotine-menu-animation-for-android/?utm_source=github) - Guillotine animation gif @@ -35,7 +33,7 @@ Also, read how it was done in [our blog] (https://yalantis.com/blog/how-we-devel ~~~ dependencies { - compile 'com.github.Yalantis:GuillotineMenu-Android:1.2' + implementation 'com.github.Yalantis:GuillotineMenu-Android:1.3' } ~~~ @@ -60,16 +58,21 @@ Builder allows you to customize start delay, duration, interpolation and you can # Changelog -### Version: 1.0 +### Version: 1.3 + + * Update dependencies + * Migrate to AndroidX - * Initial Build - ### Version: 1.2 - + * Moved to using Toolbar instead of ActionBar * Updated Gradle versions * Fixed bugs +### Version: 1.0 + + * Initial Build + #### Let us know! We’d be really happy if you sent us links to your projects where you use our component. Just send an email to github@yalantis.com And do let us know if you have any questions or suggestion regarding the animation. diff --git a/app/build.gradle b/app/build.gradle index cf47593..9bb2760 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.yalantis.guillotine.sample" minSdkVersion 15 targetSdkVersion 33 - versionCode 3 - versionName "1.2" + versionCode 4 + versionName "1.3" } buildTypes { release { diff --git a/library/build.gradle b/library/build.gradle index bd6669f..e5f5ea6 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -7,8 +7,8 @@ android { defaultConfig { minSdkVersion 15 targetSdkVersion 33 - versionCode 3 - versionName "1.2" + versionCode 4 + versionName "1.3" } buildTypes { release {