diff options
author | unyoungwax <unyoungwax@hotmail.com> | 2016-02-23 14:41:54 +0800 |
---|---|---|
committer | unyoungwax <unyoungwax@hotmail.com> | 2016-02-23 14:41:54 +0800 |
commit | 19967e235004abdf74e65e1388b9bc4816cfa2dd (patch) | |
tree | 64a403b504b77e5a97239f50f6410b15902f7ce5 /OpenKeychain/src | |
parent | b0b6adc58b4fd8df291ffa58f3014e1da3e42f23 (diff) | |
download | open-keychain-19967e235004abdf74e65e1388b9bc4816cfa2dd.tar.gz open-keychain-19967e235004abdf74e65e1388b9bc4816cfa2dd.tar.bz2 open-keychain-19967e235004abdf74e65e1388b9bc4816cfa2dd.zip |
Remove AspectRatioImageView
Diffstat (limited to 'OpenKeychain/src')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java | 138 | ||||
-rw-r--r-- | OpenKeychain/src/main/res/values/attr.xml | 9 |
2 files changed, 0 insertions, 147 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java deleted file mode 100644 index 0df5ba5e8..000000000 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2015 Dominik Schürmann <dominik@dominikschuermann.de> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -package org.sufficientlysecure.keychain.ui.widget; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; -import android.widget.ImageView; - -import org.sufficientlysecure.keychain.R; - -/** - * Maintains an aspect ratio based on either width or height. Disabled by default. - * - * from https://gist.github.com/JakeWharton/2856179 - */ -public class AspectRatioImageView extends ImageView { - // NOTE: These must be kept in sync with the AspectRatioImageView attributes in attrs.xml. - public static final int MEASUREMENT_WIDTH = 0; - public static final int MEASUREMENT_HEIGHT = 1; - - private static final float DEFAULT_ASPECT_RATIO = 1f; - private static final boolean DEFAULT_ASPECT_RATIO_ENABLED = false; - private static final int DEFAULT_DOMINANT_MEASUREMENT = MEASUREMENT_WIDTH; - - private float aspectRatio; - private boolean aspectRatioEnabled; - private int dominantMeasurement; - - public AspectRatioImageView(Context context) { - this(context, null); - } - - public AspectRatioImageView(Context context, AttributeSet attrs) { - super(context, attrs); - - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AspectRatioImageView); - aspectRatio = a.getFloat(R.styleable.AspectRatioImageView_aspectRatio, DEFAULT_ASPECT_RATIO); - aspectRatioEnabled = a.getBoolean(R.styleable.AspectRatioImageView_aspectRatioEnabled, - DEFAULT_ASPECT_RATIO_ENABLED); - dominantMeasurement = a.getInt(R.styleable.AspectRatioImageView_dominantMeasurement, - DEFAULT_DOMINANT_MEASUREMENT); - a.recycle(); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - if (!aspectRatioEnabled) return; - - int newWidth; - int newHeight; - switch (dominantMeasurement) { - case MEASUREMENT_WIDTH: - newWidth = getMeasuredWidth(); - newHeight = (int) (newWidth * aspectRatio); - break; - - case MEASUREMENT_HEIGHT: - newHeight = getMeasuredHeight(); - newWidth = (int) (newHeight * aspectRatio); - break; - - default: - throw new IllegalStateException("Unknown measurement with ID " + dominantMeasurement); - } - - setMeasuredDimension(newWidth, newHeight); - } - - /** - * Get the aspect ratio for this image view. - */ - public float getAspectRatio() { - return aspectRatio; - } - - /** - * Set the aspect ratio for this image view. This will update the view instantly. - */ - public void setAspectRatio(float aspectRatio) { - this.aspectRatio = aspectRatio; - if (aspectRatioEnabled) { - requestLayout(); - } - } - - /** - * Get whether or not forcing the aspect ratio is enabled. - */ - public boolean getAspectRatioEnabled() { - return aspectRatioEnabled; - } - - /** - * set whether or not forcing the aspect ratio is enabled. This will re-layout the view. - */ - public void setAspectRatioEnabled(boolean aspectRatioEnabled) { - this.aspectRatioEnabled = aspectRatioEnabled; - requestLayout(); - } - - /** - * Get the dominant measurement for the aspect ratio. - */ - public int getDominantMeasurement() { - return dominantMeasurement; - } - - /** - * Set the dominant measurement for the aspect ratio. - * - * @see #MEASUREMENT_WIDTH - * @see #MEASUREMENT_HEIGHT - */ - public void setDominantMeasurement(int dominantMeasurement) { - if (dominantMeasurement != MEASUREMENT_HEIGHT && dominantMeasurement != MEASUREMENT_WIDTH) { - throw new IllegalArgumentException("Invalid measurement type."); - } - this.dominantMeasurement = dominantMeasurement; - requestLayout(); - } -}
\ No newline at end of file diff --git a/OpenKeychain/src/main/res/values/attr.xml b/OpenKeychain/src/main/res/values/attr.xml index 1a414e6d9..7e8b98343 100644 --- a/OpenKeychain/src/main/res/values/attr.xml +++ b/OpenKeychain/src/main/res/values/attr.xml @@ -10,15 +10,6 @@ <attr name="unFoldedLabel" format="string" /> </declare-styleable> - <declare-styleable name="AspectRatioImageView"> - <attr name="aspectRatio" format="float" /> - <attr name="aspectRatioEnabled" format="boolean" /> - <attr name="dominantMeasurement"> - <enum name="width" value="0" /> - <enum name="height" value="1" /> - </attr> - </declare-styleable> - <!-- Taken from Matt Allen Password Strength View https://github.com/matt-allen/android-password-strength-indicator --> <declare-styleable name="PasswordStrengthView"> |