1716ba89e7f459f49ea85070d4710c1d79d715298George Mount/* 2716ba89e7f459f49ea85070d4710c1d79d715298George Mount * Copyright (C) 2015 The Android Open Source Project 3716ba89e7f459f49ea85070d4710c1d79d715298George Mount * 4716ba89e7f459f49ea85070d4710c1d79d715298George Mount * Licensed under the Apache License, Version 2.0 (the "License"); 5716ba89e7f459f49ea85070d4710c1d79d715298George Mount * you may not use this file except in compliance with the License. 6716ba89e7f459f49ea85070d4710c1d79d715298George Mount * You may obtain a copy of the License at 7716ba89e7f459f49ea85070d4710c1d79d715298George Mount * 8716ba89e7f459f49ea85070d4710c1d79d715298George Mount * http://www.apache.org/licenses/LICENSE-2.0 9716ba89e7f459f49ea85070d4710c1d79d715298George Mount * 10716ba89e7f459f49ea85070d4710c1d79d715298George Mount * Unless required by applicable law or agreed to in writing, software 11716ba89e7f459f49ea85070d4710c1d79d715298George Mount * distributed under the License is distributed on an "AS IS" BASIS, 12716ba89e7f459f49ea85070d4710c1d79d715298George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13716ba89e7f459f49ea85070d4710c1d79d715298George Mount * See the License for the specific language governing permissions and 14716ba89e7f459f49ea85070d4710c1d79d715298George Mount * limitations under the License. 15716ba89e7f459f49ea85070d4710c1d79d715298George Mount */ 16716ba89e7f459f49ea85070d4710c1d79d715298George Mountpackage android.databinding.testapp.adapter; 17716ba89e7f459f49ea85070d4710c1d79d715298George Mount 18716ba89e7f459f49ea85070d4710c1d79d715298George Mountimport android.annotation.TargetApi; 19716ba89e7f459f49ea85070d4710c1d79d715298George Mountimport android.databinding.BindingAdapter; 20716ba89e7f459f49ea85070d4710c1d79d715298George Mountimport android.os.Build.VERSION_CODES; 21716ba89e7f459f49ea85070d4710c1d79d715298George Mountimport android.view.View; 22716ba89e7f459f49ea85070d4710c1d79d715298George Mount 23716ba89e7f459f49ea85070d4710c1d79d715298George Mountpublic class WeirdListeners { 24716ba89e7f459f49ea85070d4710c1d79d715298George Mount @BindingAdapter("android:onFoo") 25716ba89e7f459f49ea85070d4710c1d79d715298George Mount public static void setListener(View view, OnFoo onFoo) {} 26716ba89e7f459f49ea85070d4710c1d79d715298George Mount 27716ba89e7f459f49ea85070d4710c1d79d715298George Mount @BindingAdapter("android:onFoo2") 28716ba89e7f459f49ea85070d4710c1d79d715298George Mount public static void setListener(View view, OnFoo2 onFoo) {} 29716ba89e7f459f49ea85070d4710c1d79d715298George Mount 30793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount @BindingAdapter("android:onBar1") 31793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount public static void setListener(View view, OnBar1 onBar) {} 32793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount 33793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount @BindingAdapter("android:onBar2") 34793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount public static void setListener(View view, OnBar2 onBar) {} 35793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount 36975c05c00dae9193a636c4775df81d8665fc6749George Mount @BindingAdapter({"runnable", "fooId", "barId"}) 37975c05c00dae9193a636c4775df81d8665fc6749George Mount public static void setRunnable(View view, Runnable runnable, int foo, int bar) { 38975c05c00dae9193a636c4775df81d8665fc6749George Mount runnable.run(); 39975c05c00dae9193a636c4775df81d8665fc6749George Mount } 40975c05c00dae9193a636c4775df81d8665fc6749George Mount 41716ba89e7f459f49ea85070d4710c1d79d715298George Mount @TargetApi(VERSION_CODES.ICE_CREAM_SANDWICH) 42716ba89e7f459f49ea85070d4710c1d79d715298George Mount public static abstract class OnFoo { 43716ba89e7f459f49ea85070d4710c1d79d715298George Mount public abstract void onFoo(); 44716ba89e7f459f49ea85070d4710c1d79d715298George Mount 45716ba89e7f459f49ea85070d4710c1d79d715298George Mount public void onBar() {} 46716ba89e7f459f49ea85070d4710c1d79d715298George Mount } 47716ba89e7f459f49ea85070d4710c1d79d715298George Mount 48716ba89e7f459f49ea85070d4710c1d79d715298George Mount public interface OnFoo2 { 49716ba89e7f459f49ea85070d4710c1d79d715298George Mount void onFoo(); 50716ba89e7f459f49ea85070d4710c1d79d715298George Mount } 51793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount 52793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount @TargetApi(VERSION_CODES.ICE_CREAM_SANDWICH) 53793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount public interface OnBar1 { 54793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount void onBar(); 55793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount } 56793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount 57793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount @TargetApi(VERSION_CODES.GINGERBREAD) 58793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount public interface OnBar2 { 59793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount boolean onBar(View view); 60793e979f25e190162eacf46d6a4efc3efc1d2f91George Mount } 61716ba89e7f459f49ea85070d4710c1d79d715298George Mount} 62