diff options
author | George Mount <mount@google.com> | 2015-07-30 10:24:05 -0700 |
---|---|---|
committer | George Mount <mount@google.com> | 2015-08-05 16:35:10 -0700 |
commit | 96b22e7bbbf942aea1079dc8e8d0c4657663e5a7 (patch) | |
tree | e5026a3dd0a5967acebf2980a13b7d28bb54e469 /extensions | |
parent | e52882df6130221462bf07f5f2b52de5c4b0f8de (diff) | |
download | data-binding-96b22e7bbbf942aea1079dc8e8d0c4657663e5a7.tar.gz |
Multiple adapter attributes can now have optional expressions.
Bug 22957032
Change-Id: If1b04262009a1edf311d097c65e97b194103906e
Diffstat (limited to 'extensions')
8 files changed, 32 insertions, 205 deletions
diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/AbsListViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/AbsListViewBindingAdapter.java index 50851ac0..d2166ff2 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/AbsListViewBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/AbsListViewBindingAdapter.java @@ -29,17 +29,8 @@ import android.widget.AbsListView.OnScrollListener; }) public class AbsListViewBindingAdapter { - @BindingAdapter("android:onScroll") - public static void setOnScroll(AbsListView view, OnScroll listener) { - setOnScroll(view, listener, null); - } - - @BindingAdapter("android:onScrollStateChanged") - public static void setOnScroll(AbsListView view, OnScrollStateChanged listener) { - setOnScroll(view, null, listener); - } - - @BindingAdapter({"android:onScroll", "android:onScrollStateChanged"}) + @BindingAdapter(value = {"android:onScroll", "android:onScrollStateChanged"}, + requireAll = false) public static void setOnScroll(AbsListView view, final OnScroll scrollListener, final OnScrollStateChanged scrollStateListener) { view.setOnScrollListener(new OnScrollListener() { diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/AdapterViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/AdapterViewBindingAdapter.java index ad85d79b..85ae55ab 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/AdapterViewBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/AdapterViewBindingAdapter.java @@ -28,18 +28,9 @@ import android.widget.AdapterView.OnItemSelectedListener; }) public class AdapterViewBindingAdapter { - @BindingAdapter("android:onItemSelected") - public static void setListener(AdapterView view, OnItemSelected listener) { - setListener(view, listener, null); - } - - @BindingAdapter("android:onNothingSelected") - public static void setListener(AdapterView view, OnNothingSelected listener) { - setListener(view, null, listener); - } - - @BindingAdapter({"android:onItemSelected", "android:onNothingSelected"}) - public static void setListener(AdapterView view, final OnItemSelected selected, + @BindingAdapter(value = {"android:onItemSelected", "android:onNothingSelected"}, + requireAll = false) + public static void setOnItemSelectedListener(AdapterView view, final OnItemSelected selected, final OnNothingSelected nothingSelected) { if (selected == null && nothingSelected == null) { view.setOnItemSelectedListener(null); diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/AutoCompleteTextViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/AutoCompleteTextViewBindingAdapter.java index 72f465ec..40299c84 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/AutoCompleteTextViewBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/AutoCompleteTextViewBindingAdapter.java @@ -32,18 +32,8 @@ import android.widget.AutoCompleteTextView.Validator; }) public class AutoCompleteTextViewBindingAdapter { - @BindingAdapter("android:fixText") - public static void setListener(AutoCompleteTextView view, FixText listener) { - setListener(view, listener, null); - } - - @BindingAdapter("android:isValid") - public static void setListener(AutoCompleteTextView view, IsValid listener) { - setListener(view, null, listener); - } - - @BindingAdapter({"android:fixText", "android:isValid"}) - public static void setListener(AutoCompleteTextView view, final FixText fixText, + @BindingAdapter(value = {"android:fixText", "android:isValid"}, requireAll = false) + public static void setValidator(AutoCompleteTextView view, final FixText fixText, final IsValid isValid) { if (fixText == null && isValid == null) { view.setValidator(null); @@ -70,19 +60,10 @@ public class AutoCompleteTextViewBindingAdapter { } } - @BindingAdapter("android:onItemSelected") - public static void setListener(AutoCompleteTextView view, OnItemSelected listener) { - setListener(view, listener, null); - } - - @BindingAdapter("android:onNothingSelected") - public static void setListener(AutoCompleteTextView view, OnNothingSelected listener) { - setListener(view, null, listener); - } - - @BindingAdapter({"android:onItemSelected", "android:onNothingSelected"}) - public static void setListener(AutoCompleteTextView view, final OnItemSelected selected, - final OnNothingSelected nothingSelected) { + @BindingAdapter(value = {"android:onItemSelected", "android:onNothingSelected"}, + requireAll = false) + public static void setOnItemSelectedListener(AutoCompleteTextView view, + final OnItemSelected selected, final OnNothingSelected nothingSelected) { if (selected == null && nothingSelected == null) { view.setOnItemSelectedListener(null); } else { diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/SearchViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/SearchViewBindingAdapter.java index 25ddcf8e..64d7270b 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/SearchViewBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/SearchViewBindingAdapter.java @@ -19,12 +19,9 @@ import android.annotation.TargetApi; import android.databinding.BindingAdapter; import android.databinding.BindingMethod; import android.databinding.BindingMethods; -import android.os.Build; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; -import android.widget.RatingBar; import android.widget.SearchView; -import android.widget.SearchView.OnCloseListener; import android.widget.SearchView.OnQueryTextListener; import android.widget.SearchView.OnSuggestionListener; @@ -34,18 +31,9 @@ import android.widget.SearchView.OnSuggestionListener; @BindingMethod(type = SearchView.class, attribute = "android:onClose", method = "setOnCloseListener"), }) public class SearchViewBindingAdapter { - @BindingAdapter("android:onQueryTextChange") - public static void setListener(SearchView view, OnQueryTextChange listener) { - setListener(view, null, listener); - } - - @BindingAdapter("android:onQueryTextSubmit") - public static void setListener(SearchView view, OnQueryTextSubmit listener) { - setListener(view, listener, null); - } - - @BindingAdapter({"android:onQueryTextSubmit", "android:onQueryTextChange"}) - public static void setListener(SearchView view, final OnQueryTextSubmit submit, + @BindingAdapter(value = {"android:onQueryTextSubmit", "android:onQueryTextChange"}, + requireAll = false) + public static void setOnQueryTextListener(SearchView view, final OnQueryTextSubmit submit, final OnQueryTextChange change) { if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) { if (submit == null && change == null){ @@ -74,18 +62,9 @@ public class SearchViewBindingAdapter { } } - @BindingAdapter("android:onSuggestionClick") - public static void setListener(SearchView view, OnSuggestionClick listener) { - setListener(view, null, listener); - } - - @BindingAdapter("android:onSuggestionSelect") - public static void setListener(SearchView view, OnSuggestionSelect listener) { - setListener(view, listener, null); - } - - @BindingAdapter({"android:onSuggestionSelect", "android:onSuggestionClick"}) - public static void setListener(SearchView view, final OnSuggestionSelect submit, + @BindingAdapter(value = {"android:onSuggestionSelect", "android:onSuggestionClick"}, + requireAll = false) + public static void setOnSuggestListener(SearchView view, final OnSuggestionSelect submit, final OnSuggestionClick change) { if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) { if (submit == null && change == null) { diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/SeekBarBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/SeekBarBindingAdapter.java index eeac77c9..85a7a385 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/SeekBarBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/SeekBarBindingAdapter.java @@ -20,41 +20,9 @@ import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; public class SeekBarBindingAdapter { - @BindingAdapter("android:onProgressChanged") - public static void setListener(SeekBar view, OnProgressChanged listener) { - setListener(view, null, null, listener); - } - - @BindingAdapter("android:onStartTrackingTouch") - public static void setListener(SeekBar view, OnStartTrackingTouch listener) { - setListener(view, listener, null, null); - } - - @BindingAdapter("android:onStopTrackingTouch") - public static void setListener(SeekBar view, OnStopTrackingTouch listener) { - setListener(view, null, listener, null); - } - - @BindingAdapter({"android:onStartTrackingTouch", "android:onStopTrackingTouch"}) - public static void setListener(SeekBar view, final OnStartTrackingTouch start, - final OnStopTrackingTouch stop) { - setListener(view, start, stop, null); - } - - @BindingAdapter({"android:onStartTrackingTouch", "android:onProgressChanged"}) - public static void setListener(SeekBar view, final OnStartTrackingTouch start, - final OnProgressChanged progressChanged) { - setListener(view, start, null, progressChanged); - } - - @BindingAdapter({"android:onStopTrackingTouch", "android:onProgressChanged"}) - public static void setListener(SeekBar view, final OnStopTrackingTouch stop, - final OnProgressChanged progressChanged) { - setListener(view, null, stop, progressChanged); - } - - @BindingAdapter({"android:onStartTrackingTouch", "android:onStopTrackingTouch", "android:onProgressChanged"}) - public static void setListener(SeekBar view, final OnStartTrackingTouch start, + @BindingAdapter(value = {"android:onStartTrackingTouch", "android:onStopTrackingTouch", + "android:onProgressChanged"}, requireAll = false) + public static void setOnSeekBarChangeListener(SeekBar view, final OnStartTrackingTouch start, final OnStopTrackingTouch stop, final OnProgressChanged progressChanged) { if (start == null && stop == null && progressChanged == null) { view.setOnSeekBarChangeListener(null); diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/TextViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/TextViewBindingAdapter.java index 01ea0069..48214f73 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/TextViewBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/TextViewBindingAdapter.java @@ -286,41 +286,9 @@ public class TextViewBindingAdapter { view.setTextSize(TypedValue.COMPLEX_UNIT_PX, size); } - @BindingAdapter("android:afterTextChanged") - public static void setListener(TextView view, AfterTextChanged after) { - setListener(view, null, null, after); - } - - @BindingAdapter("android:beforeTextChanged") - public static void setListener(TextView view, BeforeTextChanged before) { - setListener(view, before, null, null); - } - - @BindingAdapter("android:onTextChanged") - public static void setListener(TextView view, OnTextChanged onTextChanged) { - setListener(view, null, onTextChanged, null); - } - - @BindingAdapter({"android:beforeTextChanged", "android:afterTextChanged"}) - public static void setListener(TextView view, final BeforeTextChanged before, - final AfterTextChanged after) { - setListener(view, before, null, after); - } - - @BindingAdapter({"android:beforeTextChanged", "android:onTextChanged"}) - public static void setListener(TextView view, final BeforeTextChanged before, - final OnTextChanged on) { - setListener(view, before, on, null); - } - - @BindingAdapter({"android:onTextChanged", "android:afterTextChanged"}) - public static void setListener(TextView view,final OnTextChanged on, - final AfterTextChanged after) { - setListener(view, null, on, after); - } - - @BindingAdapter({"android:beforeTextChanged", "android:onTextChanged", "android:afterTextChanged"}) - public static void setListener(TextView view, final BeforeTextChanged before, + @BindingAdapter(value = {"android:beforeTextChanged", "android:onTextChanged", + "android:afterTextChanged"}, requireAll = false) + public static void setTextWatcher(TextView view, final BeforeTextChanged before, final OnTextChanged on, final AfterTextChanged after) { final TextWatcher newValue; if (before == null && after == null && on == null) { diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java index f9fae7b6..337d81b9 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java @@ -133,7 +133,7 @@ public class ViewBindingAdapter { } @BindingAdapter({"android:onLongClickListener", "android:longClickable"}) - public static void setListener(View view, View.OnLongClickListener clickListener, + public static void setOnLongClickListener(View view, View.OnLongClickListener clickListener, boolean clickable) { view.setOnLongClickListener(clickListener); view.setLongClickable(clickable); @@ -146,19 +146,10 @@ public class ViewBindingAdapter { view.setLongClickable(clickable); } - @BindingAdapter("android:onViewAttachedToWindow") - public static void setListener(View view, OnViewAttachedToWindow attached) { - setListener(view, null, attached); - } - - @BindingAdapter("android:onViewDetachedFromWindow") - public static void setListener(View view, OnViewDetachedFromWindow detached) { - setListener(view, detached, null); - } - - @BindingAdapter({"android:onViewDetachedFromWindow", "android:onViewAttachedToWindow"}) - public static void setListener(View view, final OnViewDetachedFromWindow detach, - final OnViewAttachedToWindow attach) { + @BindingAdapter(value = {"android:onViewDetachedFromWindow", "android:onViewAttachedToWindow"}, + requireAll = false) + public static void setOnAttachStateChangeListener(View view, + final OnViewDetachedFromWindow detach, final OnViewAttachedToWindow attach) { if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB_MR1) { final OnAttachStateChangeListener newListener; if (detach == null && attach == null) { diff --git a/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewGroupBindingAdapter.java b/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewGroupBindingAdapter.java index af108186..8b1978c8 100644 --- a/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewGroupBindingAdapter.java +++ b/extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewGroupBindingAdapter.java @@ -44,17 +44,8 @@ public class ViewGroupBindingAdapter { } } - @BindingAdapter("android:onChildViewAdded") - public static void setListener(ViewGroup view, OnChildViewAdded listener) { - setListener(view, listener, null); - } - - @BindingAdapter("android:onChildViewRemoved") - public static void setListener(ViewGroup view, OnChildViewRemoved listener) { - setListener(view, null, listener); - } - - @BindingAdapter({"android:onChildViewAdded", "android:onChildViewRemoved"}) + @BindingAdapter(value = {"android:onChildViewAdded", "android:onChildViewRemoved"}, + requireAll = false) public static void setListener(ViewGroup view, final OnChildViewAdded added, final OnChildViewRemoved removed) { if (added == null && removed == null) { @@ -78,8 +69,8 @@ public class ViewGroupBindingAdapter { } } - @BindingAdapter({"android:onAnimationStart", "android:onAnimationEnd", - "android:onAnimationRepeat"}) + @BindingAdapter(value = {"android:onAnimationStart", "android:onAnimationEnd", + "android:onAnimationRepeat"}, requireAll = false) public static void setListener(ViewGroup view, final OnAnimationStart start, final OnAnimationEnd end, final OnAnimationRepeat repeat) { if (start == null && end == null && repeat == null) { @@ -110,39 +101,6 @@ public class ViewGroupBindingAdapter { } } - @BindingAdapter({"android:onAnimationStart", "android:onAnimationEnd"}) - public static void setListener(ViewGroup view, final OnAnimationStart start, - final OnAnimationEnd end) { - setListener(view, start, end, null); - } - - @BindingAdapter({"android:onAnimationEnd", "android:onAnimationRepeat"}) - public static void setListener(ViewGroup view, final OnAnimationEnd end, - final OnAnimationRepeat repeat) { - setListener(view, null, end, repeat); - } - - @BindingAdapter({"android:onAnimationStart", "android:onAnimationRepeat"}) - public static void setListener(ViewGroup view, final OnAnimationStart start, - final OnAnimationRepeat repeat) { - setListener(view, start, null, repeat); - } - - @BindingAdapter("android:onAnimationStart") - public static void setListener(ViewGroup view, final OnAnimationStart start) { - setListener(view, start, null, null); - } - - @BindingAdapter("android:onAnimationEnd") - public static void setListener(ViewGroup view, final OnAnimationEnd end) { - setListener(view, null, end, null); - } - - @BindingAdapter("android:onAnimationRepeat") - public static void setListener(ViewGroup view, final OnAnimationRepeat repeat) { - setListener(view, null, null, repeat); - } - public interface OnChildViewAdded { void onChildViewAdded(View parent, View child); } |