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