From b3ff9d7cb8a1ea613c00890d1cc52db0d27c9b92 Mon Sep 17 00:00:00 2001 From: helloyako Date: Fri, 22 Mar 2019 14:53:09 +0900 Subject: [PATCH 1/7] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 52d9d8c..9ca9234 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,9 @@ Image zoom in/out is base on [sephiroth74's imageViewZoom](https://github.com/se |:---------------------------------------:|:-------------------------------------:| | ![screenshot](doc/img/screenshot.png) | ![screenshot](doc/img/pholar.gif) | +- Screenshot image source + - http://bts.ibighit.com/photo.php + ## Installation [Android Studio](http://developer.android.com/sdk/index.html) Android SDK 28 From 564e09c70c76e028d3792ec02b6384487322e4f7 Mon Sep 17 00:00:00 2001 From: helloyako Date: Fri, 22 Mar 2019 14:58:07 +0900 Subject: [PATCH 2/7] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9ca9234..a2d74b1 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ Image zoom in/out is base on [sephiroth74's imageViewZoom](https://github.com/se |:---------------------------------------:|:-------------------------------------:| | ![screenshot](doc/img/screenshot.png) | ![screenshot](doc/img/pholar.gif) | -- Screenshot image source - - http://bts.ibighit.com/photo.php +> Screenshot image source +> http://bts.ibighit.com/photo.php ## Installation [Android Studio](http://developer.android.com/sdk/index.html) From 3f102528ae4b129f7330cee4946eb5a411d52c80 Mon Sep 17 00:00:00 2001 From: Ryo Nitami Date: Thu, 18 Jul 2019 15:24:58 +0900 Subject: [PATCH 3/7] Update README.md (#43) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a2d74b1..9500e24 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ An Android library that lets you implement image crop. ImageCropView crops image by moving image under fixed crop area like instagram and iOS. -Image zoom in/out is base on [sephiroth74's imageViewZoom](https://github.com/sephiroth74/ImageViewZoom). +Image zoom in/out is base on [sephiroth74's ImageViewZoom](https://github.com/sephiroth74/ImageViewZoom). ## Screenshot | Screenshot | in [PHOLAR](https://play.google.com/store/apps/details?id=com.naver.android.pholar) | @@ -23,7 +23,7 @@ Android SDK Build-tools 28.0.3 ##### Gradle ```gradle dependencies { - implementation "com.naver.android.helloyako:imagecropview:1.2.2 + implementation "com.naver.android.helloyako:imagecropview:1.2.2" } ``` From 7804fd560bb8b6218f78e4b21ca15dd6c71a2a3b Mon Sep 17 00:00:00 2001 From: Ryo Nitami Date: Thu, 18 Jul 2019 15:25:24 +0900 Subject: [PATCH 4/7] Update some libraries (#44) --- app/build.gradle | 2 +- build.gradle | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 33e9d49..96b9c07 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ */ apply plugin: 'com.android.application' -apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) diff --git a/build.gradle b/build.gradle index e14cb94..78b0aa8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,9 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.21' + ext.kotlin_version = '1.3.31' ext { - appcompat_version = '1.1.0-alpha01' + appcompat_version = '1.1.0-rc01' legacy_version = '1.0.0' easying_version = '1.0.3' } @@ -12,7 +12,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:3.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5320f0b..4ab086b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Mar 05 19:10:39 KST 2019 +#Wed Jul 17 10:15:09 JST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip From c2930b979a14fb656c695e133880cc2fe8cd5a04 Mon Sep 17 00:00:00 2001 From: Ryo Nitami Date: Mon, 22 Jul 2019 03:27:29 +0900 Subject: [PATCH 5/7] Imageview state control using ViewState class (#45) * Add ViewState class for managing ImageView state * Fix sample * Delete unnecessary fields of ViewState --- .../imagecropsample/CropActivity.java | 9 ++++++-- .../helloyako/imagecrop/model/ViewState.java | 21 +++++++++++++++++++ .../imagecrop/view/ImageCropView.java | 18 +++++++--------- 3 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/model/ViewState.java diff --git a/app/src/main/java/com/naver/android/helloyako/imagecropsample/CropActivity.java b/app/src/main/java/com/naver/android/helloyako/imagecropsample/CropActivity.java index 58826f1..50a16b5 100644 --- a/app/src/main/java/com/naver/android/helloyako/imagecropsample/CropActivity.java +++ b/app/src/main/java/com/naver/android/helloyako/imagecropsample/CropActivity.java @@ -28,6 +28,7 @@ import android.view.View; import android.widget.Toast; +import com.naver.android.helloyako.imagecrop.model.ViewState; import com.naver.android.helloyako.imagecrop.view.ImageCropView; import java.io.File; @@ -39,6 +40,7 @@ public class CropActivity extends Activity { public static final String TAG = "CropActivity"; private ImageCropView imageCropView; + private ViewState viewState; @Override public void onCreate(Bundle savedInstanceState) { @@ -171,7 +173,7 @@ public void onScanCompleted(String path, Uri uri) { } public void onClickSaveButton(View v) { - imageCropView.saveState(); + viewState = imageCropView.saveState(); View restoreButton = findViewById(R.id.restore_btn); if (!restoreButton.isEnabled()) { restoreButton.setEnabled(true); @@ -179,6 +181,9 @@ public void onClickSaveButton(View v) { } public void onClickRestoreButton(View v) { - imageCropView.restoreState(); + if (viewState == null) { + return; + } + imageCropView.restoreState(viewState); } } \ No newline at end of file diff --git a/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/model/ViewState.java b/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/model/ViewState.java new file mode 100644 index 0000000..026697c --- /dev/null +++ b/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/model/ViewState.java @@ -0,0 +1,21 @@ +package com.naver.android.helloyako.imagecrop.model; + +import android.graphics.Matrix; + +public class ViewState { + private Matrix matrix; + private float[] suppMatrixValues; + + public ViewState(Matrix matrix, float[] suppMatrixValues) { + this.matrix = matrix; + this.suppMatrixValues = suppMatrixValues; + } + + public Matrix getMatrix() { + return matrix; + } + + public float[] getSuppMatrixValues() { + return suppMatrixValues; + } +} diff --git a/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/view/ImageCropView.java b/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/view/ImageCropView.java index 81cb84d..6bc4ce2 100644 --- a/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/view/ImageCropView.java +++ b/imagecropview/src/main/java/com/naver/android/helloyako/imagecrop/view/ImageCropView.java @@ -41,6 +41,7 @@ import com.naver.android.helloyako.imagecrop.R; import com.naver.android.helloyako.imagecrop.model.CropInfo; +import com.naver.android.helloyako.imagecrop.model.ViewState; import com.naver.android.helloyako.imagecrop.util.BitmapLoadUtils; import com.naver.android.helloyako.imagecrop.view.graphics.FastBitmapDrawable; @@ -129,8 +130,6 @@ public class ImageCropView extends ImageView { private boolean isChangingScale = false; - private int savedAspectRatioWidth; - private int savedAspectRatioHeight; private float[] suppMatrixValues = new float[9]; public ImageCropView(Context context) { @@ -981,23 +980,20 @@ private int dpToPixel(int dp) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics()); } - public void saveState() { - savedAspectRatioWidth = mAspectRatioWidth; - savedAspectRatioHeight = mAspectRatioHeight; + public ViewState saveState() { mSuppMatrix.getValues(suppMatrixValues); + + return new ViewState(getImageViewMatrix(), suppMatrixValues); } - public void restoreState() { + public void restoreState(ViewState viewState) { mBitmapChanged = true; mRestoreRequest = true; - mAspectRatioWidth = savedAspectRatioWidth; - mAspectRatioHeight = savedAspectRatioHeight; - mTargetAspectRatio = (float) mAspectRatioHeight / (float) mAspectRatioWidth; mSuppMatrix = new Matrix(); - mSuppMatrix.setValues(suppMatrixValues); + mSuppMatrix.setValues(viewState.getSuppMatrixValues()); - setImageMatrix(getImageViewMatrix()); + setImageMatrix(viewState.getMatrix()); postInvalidate(); requestLayout(); } From ab8b234bc62b9d46c45db7cd27423c02dde1f456 Mon Sep 17 00:00:00 2001 From: helloyako Date: Mon, 22 Jul 2019 09:09:52 +0200 Subject: [PATCH 6/7] 1.2.3-SNAPSHOT --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 6359112..9478d64 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -VERSION_NAME=1.2.2 -VERSION_CODE=10 +VERSION_NAME=1.2.3-SNAPSHOT +VERSION_CODE=11 GROUP=com.naver.android.helloyako POM_DESCRIPTION=Android Image Crop View From 118db57c32a26eed2c1c0d1a2dab9862d8292fcc Mon Sep 17 00:00:00 2001 From: helloyako Date: Tue, 23 Jul 2019 09:44:20 +0200 Subject: [PATCH 7/7] v1.2.3 --- README.md | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9500e24..0b54773 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Android SDK Build-tools 28.0.3 ##### Gradle ```gradle dependencies { - implementation "com.naver.android.helloyako:imagecropview:1.2.2" + implementation "com.naver.android.helloyako:imagecropview:1.2.3" } ``` diff --git a/gradle.properties b/gradle.properties index 9478d64..68bf32f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=1.2.3-SNAPSHOT +VERSION_NAME=1.2.3 VERSION_CODE=11 GROUP=com.naver.android.helloyako