From 608b66d192fcab62ab44d28c34171f9ca1aff38b Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Sat, 25 Apr 2015 03:39:40 +0200 Subject: change HttpsEditText to generic PrefixEditText --- .../keychain/ui/widget/HttpsPrefixedText.java | 38 ------------------ .../keychain/ui/widget/PrefixedEditText.java | 45 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 38 deletions(-) delete mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/HttpsPrefixedText.java create mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/HttpsPrefixedText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/HttpsPrefixedText.java deleted file mode 100644 index 292343eb7..000000000 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/HttpsPrefixedText.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.sufficientlysecure.keychain.ui.widget; - -import android.content.Context; -import android.graphics.*; -import android.support.annotation.NonNull; -import android.util.AttributeSet; -import android.widget.EditText; - -/** */ -public class HttpsPrefixedText extends EditText { - - private String mPrefix; // can be hardcoded for demo purposes - private Rect mPrefixRect = new Rect(); - - public HttpsPrefixedText(Context context, AttributeSet attrs) { - super(context, attrs); - mPrefix = "https://"; - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - getPaint().getTextBounds(mPrefix, 0, mPrefix.length(), mPrefixRect); - - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - } - - @Override - protected void onDraw(@NonNull Canvas canvas) { - super.onDraw(canvas); - canvas.drawText(mPrefix, super.getCompoundPaddingLeft(), getBaseline(), getPaint()); - } - - @Override - public int getCompoundPaddingLeft() { - return super.getCompoundPaddingLeft() + mPrefixRect.width(); - } - -} \ No newline at end of file diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java new file mode 100644 index 000000000..3cbb114e8 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PrefixedEditText.java @@ -0,0 +1,45 @@ +package org.sufficientlysecure.keychain.ui.widget; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.*; +import android.support.annotation.NonNull; +import android.util.AttributeSet; +import android.widget.EditText; + +import org.sufficientlysecure.keychain.R; + +public class PrefixedEditText extends EditText { + + private String mPrefix; + private Rect mPrefixRect = new Rect(); + + public PrefixedEditText(Context context, AttributeSet attrs) { + super(context, attrs); + TypedArray style = context.getTheme().obtainStyledAttributes( + attrs, R.styleable.PrefixedEditText, 0, 0); + mPrefix = style.getString(R.styleable.PrefixedEditText_prefix); + if (mPrefix == null) { + mPrefix = ""; + } + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + getPaint().getTextBounds(mPrefix, 0, mPrefix.length(), mPrefixRect); + + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + @Override + protected void onDraw(@NonNull Canvas canvas) { + super.onDraw(canvas); + canvas.drawText(mPrefix, super.getCompoundPaddingLeft(), getBaseline(), getPaint()); + } + + @Override + public int getCompoundPaddingLeft() { + return super.getCompoundPaddingLeft() + mPrefixRect.width(); + } + +} \ No newline at end of file -- cgit v1.2.3