X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/f88f81e906629f244999bfe85fbfeec90985421e..7656cff3bbb92aefbbe01d59f746d5e7f3bd9445:/src/com/owncloud/android/widgets/ActionEditText.java diff --git a/src/com/owncloud/android/widgets/ActionEditText.java b/src/com/owncloud/android/widgets/ActionEditText.java deleted file mode 100644 index efa6655b..00000000 --- a/src/com/owncloud/android/widgets/ActionEditText.java +++ /dev/null @@ -1,145 +0,0 @@ -/* ownCloud Android client application - * Copyright (C) 2012 Bartek Przybylski - * Copyright (C) 2012-2013 ownCloud Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * 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 . - * - */ - -package com.owncloud.android.widgets; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import com.owncloud.android.R; -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Rect; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.widget.EditText; - -public class ActionEditText extends EditText { - private String s; - private String optionOneString; - private int optionOneColor; - private String optionTwoString; - private int optionTwoColor; - private Rect mTextBounds, mButtonRect; - - private String badgeClickCallback; - private Rect btn_rect; - - public ActionEditText(Context context, AttributeSet attrs) { - super(context, attrs); - getAttrs(attrs); - s = optionOneString; - mTextBounds = new Rect(); - mButtonRect = new Rect(); - } - - public ActionEditText(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - getAttrs(attrs); - s = optionOneString; - mTextBounds = new Rect(); - mButtonRect = new Rect(); - } - - @Override - protected void onDraw(Canvas canvas) { - super.onDraw(canvas); - - Paint p = getPaint(); - - p.getTextBounds(s, 0, s.length(), mTextBounds); - - getDrawingRect(mButtonRect); - mButtonRect.top += 10; - mButtonRect.bottom -= 10; - mButtonRect.left = (int) (getWidth() - mTextBounds.width() - 18); - mButtonRect.right = getWidth() - 10; - btn_rect = mButtonRect; - - if (s.equals(optionOneString)) - p.setColor(optionOneColor); - else - p.setColor(optionTwoColor); - canvas.drawRect(mButtonRect, p); - p.setColor(Color.GRAY); - - canvas.drawText(s, mButtonRect.left + 3, mButtonRect.bottom - - (mTextBounds.height() / 2), p); - - invalidate(); - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - int touchX = (int) event.getX(); - int touchY = (int) event.getY(); - boolean r = super.onTouchEvent(event); - if (event.getAction() == MotionEvent.ACTION_UP) { - if (btn_rect.contains(touchX, touchY)) { - if (s.equals(optionTwoString)) - s = optionOneString; - else - s = optionTwoString; - if (badgeClickCallback != null) { - @SuppressWarnings("rawtypes") - Class[] paramtypes = new Class[2]; - paramtypes[0] = android.view.View.class; - paramtypes[1] = String.class; - Method method; - try { - - method = getContext().getClass().getMethod( - badgeClickCallback, paramtypes); - method.invoke(getContext(), this, s); - - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - - invalidate(); - } - } - } - return r; - } - - private void getAttrs(AttributeSet attr) { - TypedArray a = getContext().obtainStyledAttributes(attr, - R.styleable.ActionEditText); - optionOneString = a - .getString(R.styleable.ActionEditText_optionOneString); - optionTwoString = a - .getString(R.styleable.ActionEditText_optionTwoString); - optionOneColor = a.getColor(R.styleable.ActionEditText_optionOneColor, - 0x00ff00); - optionTwoColor = a.getColor(R.styleable.ActionEditText_optionTwoColor, - 0xff0000); - badgeClickCallback = a - .getString(R.styleable.ActionEditText_onBadgeClick); - } - -}