From e8d34625dea54df012212b26885fc41e85a7a1b0 Mon Sep 17 00:00:00 2001 From: Joshua Quick Date: Wed, 27 Oct 2021 13:33:32 -0700 Subject: [PATCH] fix(android): menu and toolbar icons to use ActionBar style colors --- .../modules/titanium/ui/widget/TiToolbar.java | 23 ++++++++++++++----- .../titanium/proxy/MenuItemProxy.java | 6 +---- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiToolbar.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiToolbar.java index 473a6d9c26c..fd8a011a39d 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiToolbar.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiToolbar.java @@ -17,6 +17,7 @@ import org.appcelerator.titanium.TiDimension; import org.appcelerator.titanium.proxy.TiViewProxy; import org.appcelerator.titanium.util.TiColorHelper; +import org.appcelerator.titanium.util.TiConvert; import org.appcelerator.titanium.view.TiCompositeLayout; import org.appcelerator.titanium.view.TiDrawableReference; import org.appcelerator.titanium.view.TiToolbarStyleHandler; @@ -256,9 +257,15 @@ public Object getLogo() */ public void setNavigationIcon(Object object) { - navigationIcon = object; - TiDrawableReference tiDrawableReference = TiDrawableReference.fromObject(proxy, object); - ((MaterialToolbar) getNativeView()).setNavigationIcon(tiDrawableReference.getDrawable()); + this.navigationIcon = object; + if (object instanceof Number) { + this.toolbar.setNavigationIcon(TiConvert.toInt(object)); + } else if (object != null) { + TiDrawableReference tiDrawableReference = TiDrawableReference.fromObject(proxy, object); + this.toolbar.setNavigationIcon(tiDrawableReference.getDrawable()); + } else { + this.toolbar.setNavigationIcon(null); + } } /** @@ -276,9 +283,13 @@ public Object getNavigationIcon() */ public void setOverflowMenuIcon(Object object) { - overflowMenuIcon = object; - TiDrawableReference tiDrawableReference = TiDrawableReference.fromObject(proxy, object); - ((MaterialToolbar) getNativeView()).setOverflowIcon(tiDrawableReference.getDrawable()); + this.overflowMenuIcon = object; + if (object != null) { + TiDrawableReference tiDrawableReference = TiDrawableReference.fromObject(proxy, object); + this.toolbar.setOverflowIcon(tiDrawableReference.getDrawable()); + } else { + this.toolbar.setOverflowIcon(null); + } } /** diff --git a/android/titanium/src/java/org/appcelerator/titanium/proxy/MenuItemProxy.java b/android/titanium/src/java/org/appcelerator/titanium/proxy/MenuItemProxy.java index c2be78339dd..69f368b0ad5 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/proxy/MenuItemProxy.java +++ b/android/titanium/src/java/org/appcelerator/titanium/proxy/MenuItemProxy.java @@ -15,7 +15,6 @@ import org.appcelerator.titanium.TiC; import org.appcelerator.titanium.util.TiConvert; import org.appcelerator.titanium.util.TiFileHelper; -import org.appcelerator.titanium.util.TiUIHelper; import org.appcelerator.titanium.util.TiUrl; import org.appcelerator.titanium.view.TiUIView; @@ -233,10 +232,7 @@ public MenuItemProxy setIcon(Object icon) } } } else if (icon instanceof Number) { - Drawable d = TiUIHelper.getResourceDrawable(TiConvert.toInt(icon)); - if (d != null) { - item.setIcon(d); - } + item.setIcon(TiConvert.toInt(icon)); } } return this;