Fixed titleview/searchorbview crash
-set bright color to be null
-use correct defaults (even if theme is overriden)
b/15515406
Change-Id: Id8077fe50ecc4e1d1e436ffc586bb23a9ac55fe2
diff --git a/v17/leanback/res/values/themes.xml b/v17/leanback/res/values/themes.xml
index ea0efdd..9567dbe 100644
--- a/v17/leanback/res/values/themes.xml
+++ b/v17/leanback/res/values/themes.xml
@@ -56,6 +56,7 @@
<item name="defaultBrandColor">@color/lb_default_brand_color</item>
<item name="defaultSearchColor">@color/lb_default_search_color</item>
+ <item name="defaultSearchBrightColor">@null</item>
<item name="defaultSearchIcon">@drawable/lb_ic_in_app_search</item>
</style>
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java b/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java
index ad92fbf..901b7f8 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java
@@ -19,6 +19,7 @@
import android.animation.ArgbEvaluator;
import android.animation.ValueAnimator;
import android.content.Context;
+import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Rect;
@@ -70,6 +71,8 @@
public SearchOrbView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
+ final Resources res = context.getResources();
+
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View root = inflater.inflate(R.layout.lb_search_orb, this, true);
@@ -87,10 +90,15 @@
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.lbSearchOrbView,
defStyleAttr, 0);
+
Drawable img = a.getDrawable(R.styleable.lbSearchOrbView_searchOrbIcon);
+ if (img == null) {
+ img = res.getDrawable(R.drawable.lb_ic_in_app_search);
+ }
setOrbIcon(img);
- int color = a.getColor(R.styleable.lbSearchOrbView_searchOrbColor, 0);
+ int defColor = res.getColor(R.color.lb_default_search_color);
+ int color = a.getColor(R.styleable.lbSearchOrbView_searchOrbColor, defColor);
int brightColor = a.getColor(
R.styleable.lbSearchOrbView_searchOrbBrightColor, getBrightColor(color));
setOrbColor(color, brightColor);
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java b/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
index d38e394..90eea00 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
@@ -41,11 +41,11 @@
}
public TitleView(Context context, AttributeSet attrs) {
- this(context, attrs, R.style.Widget_Leanback_Title);
+ this(context, attrs, R.attr.browseTitleViewStyle);
}
- public TitleView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
+ public TitleView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
LayoutInflater inflater = LayoutInflater.from(context);
View rootView = inflater.inflate(R.layout.lb_title_view, this);
@@ -54,7 +54,8 @@
mTextView = (TextView) rootView.findViewById(R.id.browse_title);
mSearchOrbView = (SearchOrbView) rootView.findViewById(R.id.browse_orb);
- TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.lbTitleView);
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.lbTitleView,
+ defStyleAttr, 0);
int color = a.getColor(R.styleable.lbTitleView_searchAffordanceColor, 0);
a.recycle();
mSearchOrbView.setOrbColor(color);