summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2015-07-30 10:24:05 -0700
committerGeorge Mount <mount@google.com>2015-08-05 16:35:10 -0700
commit96b22e7bbbf942aea1079dc8e8d0c4657663e5a7 (patch)
treee5026a3dd0a5967acebf2980a13b7d28bb54e469 /extensions
parente52882df6130221462bf07f5f2b52de5c4b0f8de (diff)
downloaddata-binding-96b22e7bbbf942aea1079dc8e8d0c4657663e5a7.tar.gz
Multiple adapter attributes can now have optional expressions.
Bug 22957032 Change-Id: If1b04262009a1edf311d097c65e97b194103906e
Diffstat (limited to 'extensions')
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/AbsListViewBindingAdapter.java13
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/AdapterViewBindingAdapter.java15
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/AutoCompleteTextViewBindingAdapter.java31
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/SearchViewBindingAdapter.java33
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/SeekBarBindingAdapter.java38
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/TextViewBindingAdapter.java38
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewBindingAdapter.java19
-rw-r--r--extensions/baseAdapters/src/main/java/android/databinding/adapters/ViewGroupBindingAdapter.java50
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);
}