Fix NoActionBar themes rendering.

Also fix some warnings.

Bug: http://b.android.com/159780
Change-Id: I64fd4259b802722af7a271f51d5943018ed11e9e
This commit is contained in:
Deepanshu Gupta
2015-03-12 18:46:36 -07:00
parent a8bdd2f341
commit 2e4d932457
3 changed files with 6 additions and 6 deletions

View File

@@ -55,7 +55,7 @@ public class AppCompatActionBar extends BridgeActionBar {
View contentView = getDecorContent().findViewById(contentRootId);
if (contentView != null) {
assert contentView instanceof FrameLayout;
setContentRoot(((FrameLayout) contentView));
setContentRoot((FrameLayout) contentView);
} else {
// Something went wrong. Create a new FrameLayout in the enclosing layout.
FrameLayout contentRoot = new FrameLayout(context);
@@ -104,8 +104,8 @@ public class AppCompatActionBar extends BridgeActionBar {
protected void setIcon(String icon) {
// Do this only if the action bar doesn't already have an icon.
if (icon != null && !icon.isEmpty() && mWindowDecorActionBar != null) {
if (((Boolean) invoke(getMethod(mWindowActionBarClass, "hasIcon"), mWindowDecorActionBar)
)) {
if (invoke(getMethod(mWindowActionBarClass, "hasIcon"), mWindowDecorActionBar)
== Boolean.TRUE) {
Drawable iconDrawable = getDrawable(icon, false);
if (iconDrawable != null) {
Method setIcon = getMethod(mWindowActionBarClass, "setIcon", Drawable.class);

View File

@@ -44,6 +44,7 @@ public abstract class BridgeActionBar {
private final View mDecorContent;
private final ActionBarCallback mCallback;
@SuppressWarnings("NullableProblems") // Should be initialized by subclasses.
@NonNull private FrameLayout mContentRoot;
public BridgeActionBar(@NonNull BridgeContext context, @NonNull SessionParams params,
@@ -91,7 +92,7 @@ public abstract class BridgeActionBar {
*/
protected abstract ResourceValue getLayoutResource(BridgeContext context);
protected void setContentRoot(FrameLayout contentRoot) {
protected void setContentRoot(@NonNull FrameLayout contentRoot) {
mContentRoot = contentRoot;
}

View File

@@ -1114,8 +1114,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
}
} else {
// action bar overrides title bar so only look for this one if action bar is hidden
boolean windowNoTitle = getBooleanThemeValue(resources,
"windowNoTitle", false, !isThemeAppCompat(resources));
boolean windowNoTitle = getBooleanThemeValue(resources, "windowNoTitle", false, true);
if (!windowNoTitle) {