diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2014-01-02 14:47:25 -0800 |
---|---|---|
committer | Deepanshu Gupta <deepanshu@google.com> | 2014-03-11 04:41:38 +0000 |
commit | 59527488e0090a77410c1ba869438c9596ce6bc9 (patch) | |
tree | 058e158321e86505038ad2a94ca09a1843ae6f5b /eclipse | |
parent | fd8752eb6a438832e0ba9a19db896614403f8945 (diff) | |
download | sdk-59527488e0090a77410c1ba869438c9596ce6bc9.zip sdk-59527488e0090a77410c1ba869438c9596ce6bc9.tar.gz sdk-59527488e0090a77410c1ba869438c9596ce6bc9.tar.bz2 |
Changes to render the action bar correctly in ADT.
Parse the Manifest to get the correct Title and Icon for the action bar.
TODO: Implement the ActionBarCallback to return the correct values for
ActionBar Menus.
Change-Id: I1b82c38bfcebbb2582b82c8bca4ad19da17c5ef4
Diffstat (limited to 'eclipse')
3 files changed, 24 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java index c742fcb..5a09758 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java @@ -31,6 +31,7 @@ import static com.android.SdkConstants.VIEW_INCLUDE; import com.android.SdkConstants; import com.android.ide.common.rendering.LayoutLibrary; import com.android.ide.common.rendering.RenderSecurityManager; +import com.android.ide.common.rendering.api.ActionBarCallback; import com.android.ide.common.rendering.api.AdapterBinding; import com.android.ide.common.rendering.api.DataBindingItem; import com.android.ide.common.rendering.api.ILayoutPullParser; @@ -660,4 +661,8 @@ public final class ProjectCallback extends LegacyCallback { } } + @Override + public ActionBarCallback getActionBarCallback() { + return new ActionBarCallback(); + } } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java index c274d3c..3da6565 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/RenderService.java @@ -51,6 +51,7 @@ import com.android.ide.eclipse.adt.internal.editors.layout.gre.NodeFactory; import com.android.ide.eclipse.adt.internal.editors.layout.gre.NodeProxy; import com.android.ide.eclipse.adt.internal.editors.layout.uimodel.UiViewElementNode; import com.android.ide.eclipse.adt.internal.editors.manifest.ManifestInfo; +import com.android.ide.eclipse.adt.internal.editors.manifest.ManifestInfo.ActivityAttributes; import com.android.ide.eclipse.adt.internal.editors.uimodel.UiDocumentNode; import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode; import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData; @@ -483,6 +484,18 @@ public class RenderService { try { params.setAppLabel(manifestInfo.getApplicationLabel()); params.setAppIcon(manifestInfo.getApplicationIcon()); + String activity = mEditor.getConfigurationChooser().getConfiguration().getActivity(); + if (activity != null) { + ActivityAttributes info = manifestInfo.getActivityAttributes(activity); + if (info != null) { + if (info.getLabel() != null) { + params.setAppLabel(info.getLabel()); + } + if (info.getIcon() != null) { + params.setAppIcon(info.getIcon()); + } + } + } } catch (Exception e) { // ignore. } diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java index 8b46f87..d6b401b 100644 --- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java +++ b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java @@ -18,6 +18,7 @@ package com.android.ide.eclipse.tests.functests.layoutRendering; import com.android.SdkConstants; import com.android.ide.common.rendering.LayoutLibrary; +import com.android.ide.common.rendering.api.ActionBarCallback; import com.android.ide.common.rendering.api.AdapterBinding; import com.android.ide.common.rendering.api.HardwareConfig; import com.android.ide.common.rendering.api.ILayoutPullParser; @@ -164,6 +165,11 @@ public class ApiDemosRenderingTest extends SdkLoadingTestCase { public ILayoutPullParser getParser(ResourceValue layoutResource) { return null; } + + @Override + public ActionBarCallback getActionBarCallback() { + return new ActionBarCallback(); + } } public void testApiDemos() throws IOException, XmlPullParserException { |