From 18f2c36e5c03b2053734573868c1e8b121e88f10 Mon Sep 17 00:00:00 2001 From: Florens Douwes Date: Thu, 21 Aug 2014 12:41:28 +0200 Subject: [PATCH] Put SSIV onimageready callbacks into a subclass --- .../SubsamplingScaleImageView.java | 15 +----- .../chan/ui/view/CustomScaleImageView.java | 50 +++++++++++++++++++ .../chan/ui/view/ThumbnailImageView.java | 4 +- 3 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 Clover/app/src/main/java/org/floens/chan/ui/view/CustomScaleImageView.java diff --git a/Clover/app/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java b/Clover/app/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java index fe778e1d..3fd68325 100644 --- a/Clover/app/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java +++ b/Clover/app/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java @@ -183,8 +183,6 @@ public class SubsamplingScaleImageView extends View { private Paint bitmapPaint; private Paint debugPaint; - private InitedCallback initCallback; - public SubsamplingScaleImageView(Context context, AttributeSet attr) { super(context, attr); setMinimumDpi(160); @@ -223,10 +221,6 @@ public class SubsamplingScaleImageView extends View { this(context, null); } - public void setInitCallback(InitedCallback initCallback) { - this.initCallback = initCallback; - } - /** * Sets the image orientation. It's best to call this before setting the image file or asset, because it may waste * loading of tiles. However, this can be freely called at any time. @@ -1535,9 +1529,7 @@ public class SubsamplingScaleImageView extends View { * skip their own rendering until the base layer (and its scale and translate) are known. */ protected void onImageReady() { - if (initCallback != null) { - initCallback.onInit(); - } + } /** @@ -1828,10 +1820,5 @@ public class SubsamplingScaleImageView extends View { invalidate(); } - - } - - public interface InitedCallback { - public void onInit(); } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/view/CustomScaleImageView.java b/Clover/app/src/main/java/org/floens/chan/ui/view/CustomScaleImageView.java new file mode 100644 index 00000000..89980d73 --- /dev/null +++ b/Clover/app/src/main/java/org/floens/chan/ui/view/CustomScaleImageView.java @@ -0,0 +1,50 @@ +/** + * Copyright (C) 2013 The Android Open Source Project + * + * 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. + */ +package org.floens.chan.ui.view; + +import android.content.Context; +import android.util.AttributeSet; + +import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; + +public class CustomScaleImageView extends SubsamplingScaleImageView { + private InitedCallback initCallback; + + public CustomScaleImageView(Context context, AttributeSet attr) { + super(context, attr); + } + + public CustomScaleImageView(Context context) { + super(context); + } + + public void setInitCallback(InitedCallback initCallback) { + this.initCallback = initCallback; + } + + @Override + protected void onImageReady() { + super.onImageReady(); + + if (initCallback != null) { + initCallback.onInit(); + } + } + + public interface InitedCallback { + public void onInit(); + } +} diff --git a/Clover/app/src/main/java/org/floens/chan/ui/view/ThumbnailImageView.java b/Clover/app/src/main/java/org/floens/chan/ui/view/ThumbnailImageView.java index e18376e4..6b10c00c 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/view/ThumbnailImageView.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/view/ThumbnailImageView.java @@ -134,13 +134,13 @@ public class ThumbnailImageView extends LoadView implements View.OnClickListener @Override public void onSuccess(File file) { - final SubsamplingScaleImageView image = new SubsamplingScaleImageView(getContext()); + final CustomScaleImageView image = new CustomScaleImageView(getContext()); image.setImageFile(file.getAbsolutePath()); image.setOnClickListener(ThumbnailImageView.this); addView(image); - image.setInitCallback(new SubsamplingScaleImageView.InitedCallback() { + image.setInitCallback(new CustomScaleImageView.InitedCallback() { @Override public void onInit() { Utils.runOnUiThread(new Runnable() {