17201118b5554426cea3fcd07e4fd96e999d3eea9George Mount/*
27201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * Copyright (C) 2015 The Android Open Source Project
37201118b5554426cea3fcd07e4fd96e999d3eea9George Mount *
47201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * Licensed under the Apache License, Version 2.0 (the "License");
57201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * you may not use this file except in compliance with the License.
67201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * You may obtain a copy of the License at
77201118b5554426cea3fcd07e4fd96e999d3eea9George Mount *
87201118b5554426cea3fcd07e4fd96e999d3eea9George Mount *      http://www.apache.org/licenses/LICENSE-2.0
97201118b5554426cea3fcd07e4fd96e999d3eea9George Mount *
107201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * Unless required by applicable law or agreed to in writing, software
117201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * distributed under the License is distributed on an "AS IS" BASIS,
127201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * See the License for the specific language governing permissions and
147201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * limitations under the License.
157201118b5554426cea3fcd07e4fd96e999d3eea9George Mount */
16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.testapp.vo;
177201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
18fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.Bindable;
19fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.adapters.ViewBindingAdapter;
20fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.testapp.R;
217201118b5554426cea3fcd07e4fd96e999d3eea9George Mountimport android.view.View;
227201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
2371eb6908f2689bd17000237eb645896c36da0138George Mountpublic class ViewBindingObject extends BindingAdapterBindingObject {
247201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
257201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mBackgroundTint = 0xFF00FF00;
267201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
278533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar    private boolean mFadeScrollbars = true;
287201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
297201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mNextFocusForward = R.id.padding;
307201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
317201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mNextFocusLeft = R.id.paddingStartEnd;
327201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
337201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mNextFocusRight = R.id.paddingTopBottom;
347201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
357201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mNextFocusUp = R.id.backgroundTint;
367201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
377201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mNextFocusDown = R.id.fadeScrollbars;
387201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
397201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mRequiresFadingEdge = ViewBindingAdapter.FADING_EDGE_VERTICAL;
407201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
417201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mScrollbarDefaultDelayBeforeFade = 300;
427201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
437201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mScrollbarFadeDuration = 400;
447201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
457201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mScrollbarSize = 10;
467201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
477201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mScrollbarStyle = View.SCROLLBARS_INSIDE_OVERLAY;
487201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
497201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private float mTransformPivotX = 9;
507201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
517201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private float mTransformPivotY = 8;
527201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
537201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPadding = 11;
547201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
557201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPaddingBottom = 12;
567201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
577201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPaddingTop = 13;
587201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
597201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPaddingLeft = 14;
607201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
617201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPaddingRight = 15;
627201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
637201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPaddingStart = 16;
647201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    @Bindable
657201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    private int mPaddingEnd = 17;
66716ba89e7f459f49ea85070d4710c1d79d715298George Mount    @Bindable
67716ba89e7f459f49ea85070d4710c1d79d715298George Mount    private boolean mClickable = true;
687201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
697201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getBackgroundTint() {
707201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mBackgroundTint;
717201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
727201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
737201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getScrollbarFadeDuration() {
747201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mScrollbarFadeDuration;
757201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
767201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
777201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public boolean getFadeScrollbars() {
787201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mFadeScrollbars;
797201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
807201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
817201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getNextFocusDown() {
827201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mNextFocusDown;
837201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
847201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
857201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getNextFocusForward() {
867201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mNextFocusForward;
877201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
887201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
897201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getNextFocusLeft() {
907201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mNextFocusLeft;
917201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
927201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
937201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getNextFocusRight() {
947201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mNextFocusRight;
957201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
967201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
977201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getNextFocusUp() {
987201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mNextFocusUp;
997201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1007201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1017201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getRequiresFadingEdge() {
1027201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mRequiresFadingEdge;
1037201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1047201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1057201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getScrollbarDefaultDelayBeforeFade() {
1067201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mScrollbarDefaultDelayBeforeFade;
1077201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1087201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1097201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getScrollbarSize() {
1107201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mScrollbarSize;
1117201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1127201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1137201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getScrollbarStyle() {
1147201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mScrollbarStyle;
1157201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1167201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1177201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public float getTransformPivotX() {
1187201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mTransformPivotX;
1197201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1207201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1217201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public float getTransformPivotY() {
1227201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mTransformPivotY;
1237201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1247201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1257201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPadding() {
1267201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPadding;
1277201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1287201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1297201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPaddingBottom() {
1307201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPaddingBottom;
1317201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1327201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1337201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPaddingEnd() {
1347201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPaddingEnd;
1357201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1367201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1377201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPaddingLeft() {
1387201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPaddingLeft;
1397201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1407201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1417201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPaddingRight() {
1427201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPaddingRight;
1437201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1447201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1457201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPaddingStart() {
1467201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPaddingStart;
1477201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1487201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
1497201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public int getPaddingTop() {
1507201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        return mPaddingTop;
1517201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1527201118b5554426cea3fcd07e4fd96e999d3eea9George Mount
153716ba89e7f459f49ea85070d4710c1d79d715298George Mount    public boolean getClickable() { return mClickable; }
154716ba89e7f459f49ea85070d4710c1d79d715298George Mount
1557201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    public void changeValues() {
1567201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mBackgroundTint = 0xFFFF0000;
1578533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar        mFadeScrollbars = false;
1587201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mNextFocusForward = R.id.paddingStartEnd;
1597201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mNextFocusLeft = R.id.paddingTopBottom;
1607201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mNextFocusRight = R.id.backgroundTint;
1617201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mNextFocusUp = R.id.fadeScrollbars;
1627201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mNextFocusDown = R.id.padding;
1637201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mRequiresFadingEdge = ViewBindingAdapter.FADING_EDGE_HORIZONTAL;
1647201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mScrollbarDefaultDelayBeforeFade = 400;
1657201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mScrollbarFadeDuration = 500;
1667201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mScrollbarSize = 11;
1677201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mScrollbarStyle = View.SCROLLBARS_INSIDE_INSET;
1687201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mTransformPivotX = 7;
1697201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mTransformPivotY = 6;
1707201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPadding = 110;
1717201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPaddingBottom = 120;
1727201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPaddingTop = 130;
1737201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPaddingLeft = 140;
1747201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPaddingRight = 150;
1757201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPaddingStart = 160;
1767201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        mPaddingEnd = 170;
177716ba89e7f459f49ea85070d4710c1d79d715298George Mount        mClickable = false;
1787201118b5554426cea3fcd07e4fd96e999d3eea9George Mount        notifyChange();
1797201118b5554426cea3fcd07e4fd96e999d3eea9George Mount    }
1807201118b5554426cea3fcd07e4fd96e999d3eea9George Mount}
181