Home | History | Annotate | Download | only in vo
      1 /*
      2  * Copyright (C) 2015 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package android.databinding.testapp.vo;
     17 
     18 import android.databinding.Bindable;
     19 import android.databinding.adapters.TextViewBindingAdapter;
     20 import android.databinding.testapp.BR;
     21 import android.text.Editable;
     22 import android.text.InputType;
     23 import android.text.method.KeyListener;
     24 import android.text.method.TextKeyListener;
     25 import android.text.util.Linkify;
     26 import android.view.KeyEvent;
     27 import android.view.View;
     28 import android.widget.TextView;
     29 
     30 public class TextViewBindingObject extends BindingAdapterBindingObject {
     31 
     32     @Bindable
     33     private int mAutoLink = Linkify.WEB_URLS;
     34 
     35     @Bindable
     36     private int mDrawablePadding;
     37 
     38     @Bindable
     39     private int mInputType = InputType.TYPE_CLASS_PHONE;
     40 
     41     @Bindable
     42     private boolean mScrollHorizontally;
     43 
     44     @Bindable
     45     private boolean mTextAllCaps;
     46 
     47     @Bindable
     48     private int mTextColorHighlight;
     49 
     50     @Bindable
     51     private int mTextColorHint;
     52 
     53     @Bindable
     54     private int mTextColorLink;
     55 
     56     @Bindable
     57     private boolean mAutoText;
     58 
     59     @Bindable
     60     private TextKeyListener.Capitalize mCapitalize = TextKeyListener.Capitalize.NONE;
     61 
     62     @Bindable
     63     private TextView.BufferType mBufferType = TextView.BufferType.NORMAL;
     64 
     65     @Bindable
     66     private String mDigits = "abcdefg";
     67 
     68     @Bindable
     69     private int mNumeric = TextViewBindingAdapter.DECIMAL;
     70 
     71     @Bindable
     72     private boolean mPhoneNumber;
     73 
     74     @Bindable
     75     private int mDrawableBottom;
     76 
     77     @Bindable
     78     private int mDrawableTop;
     79 
     80     @Bindable
     81     private int mDrawableLeft;
     82 
     83     @Bindable
     84     private int mDrawableRight;
     85 
     86     @Bindable
     87     private int mDrawableStart;
     88 
     89     @Bindable
     90     private int mDrawableEnd;
     91 
     92     @Bindable
     93     private String mImeActionLabel;
     94 
     95     @Bindable
     96     private int mImeActionId;
     97 
     98     @Bindable
     99     private String mInputMethod
    100             = "android.databinding.testapp.vo.TextViewBindingObject$KeyListener1";
    101 
    102     @Bindable
    103     private float mLineSpacingExtra;
    104 
    105     @Bindable
    106     private float mLineSpacingMultiplier;
    107 
    108     @Bindable
    109     private int mMaxLength;
    110 
    111     @Bindable
    112     private int mShadowColor;
    113 
    114     @Bindable
    115     private float mShadowDx;
    116 
    117     @Bindable
    118     private float mShadowDy;
    119 
    120     @Bindable
    121     private float mShadowRadius;
    122 
    123     @Bindable
    124     private float mTextSize = 10f;
    125 
    126     public TextView.BufferType getBufferType() {
    127         return mBufferType;
    128     }
    129 
    130     public float getLineSpacingExtra() {
    131         return mLineSpacingExtra;
    132     }
    133 
    134     public float getLineSpacingMultiplier() {
    135         return mLineSpacingMultiplier;
    136     }
    137 
    138     public float getShadowDx() {
    139         return mShadowDx;
    140     }
    141 
    142     public float getShadowDy() {
    143         return mShadowDy;
    144     }
    145 
    146     public float getShadowRadius() {
    147         return mShadowRadius;
    148     }
    149 
    150     public float getTextSize() {
    151         return mTextSize;
    152     }
    153 
    154     public int getAutoLink() {
    155         return mAutoLink;
    156     }
    157 
    158     public int getDrawableBottom() {
    159         return mDrawableBottom;
    160     }
    161 
    162     public int getDrawableEnd() {
    163         return mDrawableEnd;
    164     }
    165 
    166     public int getDrawableLeft() {
    167         return mDrawableLeft;
    168     }
    169 
    170     public int getDrawablePadding() {
    171         return mDrawablePadding;
    172     }
    173 
    174     public int getDrawableRight() {
    175         return mDrawableRight;
    176     }
    177 
    178     public int getDrawableStart() {
    179         return mDrawableStart;
    180     }
    181 
    182     public int getDrawableTop() {
    183         return mDrawableTop;
    184     }
    185 
    186     public int getImeActionId() {
    187         return mImeActionId;
    188     }
    189 
    190     public int getInputType() {
    191         return mInputType;
    192     }
    193 
    194     public int getMaxLength() {
    195         return mMaxLength;
    196     }
    197 
    198     public int getNumeric() {
    199         return mNumeric;
    200     }
    201 
    202     public int getShadowColor() {
    203         return mShadowColor;
    204     }
    205 
    206     public int getTextColorHighlight() {
    207         return mTextColorHighlight;
    208     }
    209 
    210     public int getTextColorHint() {
    211         return mTextColorHint;
    212     }
    213 
    214     public int getTextColorLink() {
    215         return mTextColorLink;
    216     }
    217 
    218     public String getDigits() {
    219         return mDigits;
    220     }
    221 
    222     public String getImeActionLabel() {
    223         return mImeActionLabel;
    224     }
    225 
    226     public String getInputMethod() {
    227         return mInputMethod;
    228     }
    229 
    230     public boolean isAutoText() {
    231         return mAutoText;
    232     }
    233 
    234     public TextKeyListener.Capitalize getCapitalize() {
    235         return mCapitalize;
    236     }
    237 
    238     public void setCapitalize(TextKeyListener.Capitalize capitalize) {
    239         mCapitalize = capitalize;
    240         notifyPropertyChanged(BR.capitalize);
    241     }
    242 
    243     public boolean isPhoneNumber() {
    244         return mPhoneNumber;
    245     }
    246 
    247     public boolean isScrollHorizontally() {
    248         return mScrollHorizontally;
    249     }
    250 
    251     public boolean isTextAllCaps() {
    252         return mTextAllCaps;
    253     }
    254 
    255     public void changeValues() {
    256         mAutoLink = Linkify.EMAIL_ADDRESSES;
    257         mDrawablePadding = 10;
    258         mInputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS;
    259         mScrollHorizontally = true;
    260         mTextAllCaps = true;
    261         mTextColorHighlight = 0xFF00FF00;
    262         mTextColorHint = 0xFFFF0000;
    263         mTextColorLink = 0xFF0000FF;
    264         mAutoText = true;
    265         mCapitalize = TextKeyListener.Capitalize.SENTENCES;
    266         mBufferType = TextView.BufferType.SPANNABLE;
    267         mDigits = "hijklmno";
    268         mNumeric = TextViewBindingAdapter.SIGNED;
    269         mPhoneNumber = true;
    270         mDrawableBottom = 0xFF880088;
    271         mDrawableTop = 0xFF111111;
    272         mDrawableLeft = 0xFF222222;
    273         mDrawableRight = 0xFF333333;
    274         mDrawableStart = 0xFF444444;
    275         mDrawableEnd = 0xFF555555;
    276         mImeActionLabel = "Hello World";
    277         mImeActionId = 3;
    278         mInputMethod = "android.databinding.testapp.vo.TextViewBindingObject$KeyListener2";
    279         mLineSpacingExtra = 2;
    280         mLineSpacingMultiplier = 3;
    281         mMaxLength = 100;
    282         mShadowColor = 0xFF666666;
    283         mShadowDx = 2;
    284         mShadowDy = 3;
    285         mShadowRadius = 4;
    286         mTextSize = 20f;
    287         notifyChange();
    288     }
    289 
    290     public static class KeyListener1 implements KeyListener {
    291 
    292         @Override
    293         public int getInputType() {
    294             return InputType.TYPE_CLASS_TEXT;
    295         }
    296 
    297         @Override
    298         public boolean onKeyDown(View view, Editable text, int keyCode, KeyEvent event) {
    299             return false;
    300         }
    301 
    302         @Override
    303         public boolean onKeyUp(View view, Editable text, int keyCode, KeyEvent event) {
    304             return false;
    305         }
    306 
    307         @Override
    308         public boolean onKeyOther(View view, Editable text, KeyEvent event) {
    309             return false;
    310         }
    311 
    312         @Override
    313         public void clearMetaKeyState(View view, Editable content, int states) {
    314         }
    315     }
    316 
    317     public static class KeyListener2 extends KeyListener1 {
    318 
    319     }
    320 }
    321