diff --git a/android/titanium/src/org/appcelerator/titanium/TiActivity.java b/android/titanium/src/org/appcelerator/titanium/TiActivity.java index 127e4c8c125..3b2b5889c3c 100644 --- a/android/titanium/src/org/appcelerator/titanium/TiActivity.java +++ b/android/titanium/src/org/appcelerator/titanium/TiActivity.java @@ -16,6 +16,7 @@ import org.appcelerator.titanium.util.TiActivitySupport; import org.appcelerator.titanium.util.TiActivitySupportHelper; import org.appcelerator.titanium.util.TiConfig; +import org.appcelerator.titanium.util.TiConvert; import org.appcelerator.titanium.view.ITiWindowHandler; import org.appcelerator.titanium.view.TiCompositeLayout; @@ -271,6 +272,8 @@ protected void onResume() { @Override protected void onStart() { super.onStart(); + updateTitle(); + for (WeakReference contextRef : contexts) { if (contextRef.get() != null) { contextRef.get().dispatchOnStart(); @@ -340,5 +343,31 @@ public void setCreatedContext(TiContext context) { public void setWindowProxy(TiWindowProxy proxy) { this.proxy = proxy; + updateTitle(); + } + + protected void updateTitle() { + if (proxy != null) { + if (proxy.hasDynamicValue("title")) { + String oldTitle = (String) getTitle(); + String newTitle = TiConvert.toString(proxy.getDynamicValue("title")); + if (oldTitle == null) { + oldTitle = ""; + } + if (newTitle == null) { + newTitle = ""; + } + if (!newTitle.equals(oldTitle)) { + final String fnewTitle = newTitle; + runOnUiThread(new Runnable(){ + + @Override + public void run() { + setTitle(fnewTitle); + } + }); + } + } + } } }