aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-06-15 13:16:56 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-06-15 13:16:56 -0700
commitc3d196041abe8a07cbbb99c7bcc1e29c6ced613f (patch)
treeba2e07b8353ac49b6a62f33ba87f3cf0fa99cab5 /eclipse
parentfe8059195f93ccf31ed9eb5273550abbb13f41c7 (diff)
parent47412b5c2252df2624e5ff4ad2f9054af86c5065 (diff)
downloadsdk-c3d196041abe8a07cbbb99c7bcc1e29c6ced613f.zip
sdk-c3d196041abe8a07cbbb99c7bcc1e29c6ced613f.tar.gz
sdk-c3d196041abe8a07cbbb99c7bcc1e29c6ced613f.tar.bz2
Merge "Misc bugfixes"
Diffstat (limited to 'eclipse')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ConfigureAssetSetPage.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java23
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutActionBar.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java20
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutWindowCoordinator.java27
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintTooltipManager.java17
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java10
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/extra-view-metadata.xml6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoring.java7
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/NewProjectCreator.java14
12 files changed, 97 insertions, 49 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ConfigureAssetSetPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ConfigureAssetSetPage.java
index 4167010..7bcff46 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ConfigureAssetSetPage.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ConfigureAssetSetPage.java
@@ -20,6 +20,7 @@ import static java.awt.image.BufferedImage.TYPE_INT_ARGB;
import com.android.assetstudiolib.ActionBarIconGenerator;
import com.android.assetstudiolib.GraphicGenerator;
+import com.android.assetstudiolib.GraphicGenerator.Shape;
import com.android.assetstudiolib.GraphicGeneratorContext;
import com.android.assetstudiolib.LauncherIconGenerator;
import com.android.assetstudiolib.MenuIconGenerator;
@@ -546,7 +547,14 @@ public class ConfigureAssetSetPage extends WizardPage implements SelectionListen
}
setSourceType(mValues.sourceType);
+
+ // Shape=NONE does not apply for notification icons; it's needed for API < 9
+ if (mValues.shape == Shape.NONE && mValues.type == AssetType.NOTIFICATION) {
+ mValues.shape = Shape.SQUARE;
+ }
+
setShape(mValues.shape);
+ mNoShapeRadio.setEnabled(mValues.type != AssetType.NOTIFICATION);
if (mValues.sourceType == SourceType.CLIPART
&& mValues.clipartName != null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
index 5330752..070fc20 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
@@ -883,9 +883,10 @@ public class ConfigurationComposite extends Composite implements SelectionListen
}
private void onSelectActivity() {
- String activity = getSelectedActivity();;
+ String activity = getSelectedActivity();
mState.activity = activity;
saveState();
+ storeState();
if (activity == null) {
return;
@@ -923,7 +924,25 @@ public class ConfigurationComposite extends Composite implements SelectionListen
private String getActivityLabel(String fqcn, boolean brief) {
if (brief) {
- return fqcn.substring(fqcn.lastIndexOf('.') + 1);
+ String label = fqcn;
+ int packageIndex = label.lastIndexOf('.');
+ if (packageIndex != -1) {
+ label = label.substring(packageIndex + 1);
+ }
+ int innerClass = label.lastIndexOf('$');
+ if (innerClass != -1) {
+ label = label.substring(innerClass + 1);
+ }
+
+ // Also strip out the "Activity" or "Fragment" common suffix
+ // if this is a long name
+ if (label.endsWith("Activity") && label.length() > 8 + 12) { // 12 chars + 8 in suffix
+ label = label.substring(0, label.length() - 8);
+ } else if (label.endsWith("Fragment") && label.length() > 8 + 12) {
+ label = label.substring(0, label.length() - 8);
+ }
+
+ return label;
}
return fqcn;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
index addb8bd..fcb39fb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
@@ -145,6 +145,7 @@ import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.INullSelectionListener;
+import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
@@ -1218,6 +1219,11 @@ public class GraphicalEditorPart extends EditorPart
*/
public void deactivated() {
mActive = false;
+
+ LayoutCanvas canvas = getCanvasControl();
+ if (canvas != null) {
+ canvas.deactivated();
+ }
}
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutActionBar.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutActionBar.java
index 63a36f2..13f6cec 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutActionBar.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutActionBar.java
@@ -608,7 +608,7 @@ public class LayoutActionBar extends Composite {
if (!current.equals(existing)) {
mLintToolBar.setData(current);
boolean layout = false;
- boolean hasLintWarnings = markerCount > 0;
+ boolean hasLintWarnings = markerCount > 0 && AdtPrefs.getPrefs().isLintOnSave();
if (layoutData.exclude == hasLintWarnings) {
layoutData.exclude = !hasLintWarnings;
mLintToolBar.setVisible(hasLintWarnings);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java
index f218069..91a55fd 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvas.java
@@ -233,6 +233,9 @@ public class LayoutCanvas extends Canvas {
*/
private ClipboardSupport mClipboardSupport;
+ /** Tooltip manager for lint warnings */
+ private LintTooltipManager mLintTooltipManager;
+
public LayoutCanvas(LayoutEditorDelegate editorDelegate,
RulesEngine rulesEngine,
Composite parent,
@@ -338,7 +341,8 @@ public class LayoutCanvas extends Canvas {
mOutlinePage = editorDelegate.getGraphicalOutline();
}
- new LintTooltipManager(this).register();
+ mLintTooltipManager = new LintTooltipManager(this);
+ mLintTooltipManager.register();
}
private Runnable mZoomCheck = new Runnable() {
@@ -402,6 +406,11 @@ public class LayoutCanvas extends Canvas {
mGestureManager.unregisterListeners(mDragSource, mDropTarget);
+ if (mLintTooltipManager != null) {
+ mLintTooltipManager.unregister();
+ mLintTooltipManager = null;
+ }
+
if (mDropTarget != null) {
mDropTarget.dispose();
mDropTarget = null;
@@ -1491,4 +1500,13 @@ public class LayoutCanvas extends Canvas {
AdtPlugin.printToConsole("Canvas", String.format(message, params));
}
}
+
+ /** The associated editor has been deactivated */
+ public void deactivated() {
+ // Force the tooltip to be hidden. If you switch from the layout editor
+ // to a Java editor with the keyboard, the tooltip can stay open.
+ if (mLintTooltipManager != null) {
+ mLintTooltipManager.hide();
+ }
+ }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutWindowCoordinator.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutWindowCoordinator.java
index a0672c6..5375dea 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutWindowCoordinator.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutWindowCoordinator.java
@@ -308,31 +308,8 @@ public class LayoutWindowCoordinator implements IPartListener2 {
}
}
- // Does this look like a window getting maximized? If so, show the editor
- // outline and propertysheet views!
- // (Note: We can't use activePage.isPageZoomed() here because the state flag
- // is updated too late so querying it here gives us the previous state)
- IViewReference[] viewReferences = activePage.getViewReferences();
- int visibleCount = 0;
- for (IViewReference reference : viewReferences) {
- IWorkbenchPart part = reference.getPart(false /*restore*/);
- if (part != null && activePage.isPartVisible(part)) {
- visibleCount++;
- if (visibleCount > 1) {
- break;
- }
- }
- }
-
- boolean wasMaximized = mEditorMaximized;
- mEditorMaximized = visibleCount <= 1;
- if (mEditorMaximized && !wasMaximized) {
- // Only consider -maximizing- the window to be occasion for handling
- // a "property sheet closed" event as a "show outline.
- // And in fact we may want to remove it once you re-expose things
- // in this mode!
- syncActive();
- }
+ // Does this look like a window getting maximized?
+ syncMaximizedState(activePage);
}
@Override
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java
index d5d5ce7..7ddb372 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java
@@ -18,6 +18,7 @@ package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate;
+import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;
import org.eclipse.core.resources.IMarker;
import org.eclipse.swt.graphics.GC;
@@ -54,6 +55,11 @@ public class LintOverlay extends Overlay {
}
@Override
+ public boolean isHiding() {
+ return super.isHiding() || !AdtPrefs.getPrefs().isLintOnSave();
+ }
+
+ @Override
public void paint(GC gc) {
LayoutEditorDelegate editor = mCanvas.getEditorDelegate();
Collection<Node> nodes = editor.getLintNodes();
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintTooltipManager.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintTooltipManager.java
index a2bbdf4..f719358 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintTooltipManager.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintTooltipManager.java
@@ -20,6 +20,7 @@ import static com.android.ide.eclipse.adt.internal.editors.layout.gle2.LintOverl
import com.android.annotations.Nullable;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.layout.uimodel.UiViewElementNode;
+import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
@@ -56,10 +57,12 @@ class LintTooltipManager implements Listener {
}
void unregister() {
- mCanvas.removeListener(SWT.Dispose, this);
- mCanvas.removeListener(SWT.KeyDown, this);
- mCanvas.removeListener(SWT.MouseMove, this);
- mCanvas.removeListener(SWT.MouseHover, this);
+ if (!mCanvas.isDisposed()) {
+ mCanvas.removeListener(SWT.Dispose, this);
+ mCanvas.removeListener(SWT.KeyDown, this);
+ mCanvas.removeListener(SWT.MouseMove, this);
+ mCanvas.removeListener(SWT.MouseHover, this);
+ }
}
@Override
@@ -97,7 +100,7 @@ class LintTooltipManager implements Listener {
}
}
- private void hide() {
+ void hide() {
if (mTip != null) {
mTip.dispose();
mTip = null;
@@ -116,6 +119,10 @@ class LintTooltipManager implements Listener {
private void show(List<UiViewElementNode> nodes) {
hide();
+ if (!AdtPrefs.getPrefs().isLintOnSave()) {
+ return;
+ }
+
mTip = new LintTooltip(mCanvas, nodes);
Rectangle rect = mCanvas.getBounds();
Point size = mTip.computeSize(SWT.DEFAULT, SWT.DEFAULT);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java
index 45698eb..eed9e34 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java
@@ -16,13 +16,15 @@
package com.android.ide.eclipse.adt.internal.editors.layout.gre;
-import static com.android.util.XmlUtils.ANDROID_URI;
import static com.android.ide.common.layout.LayoutConstants.ATTR_ID;
import static com.android.ide.common.layout.LayoutConstants.FQCN_BUTTON;
import static com.android.ide.common.layout.LayoutConstants.FQCN_SPINNER;
import static com.android.ide.common.layout.LayoutConstants.FQCN_TOGGLE_BUTTON;
import static com.android.ide.common.layout.LayoutConstants.ID_PREFIX;
import static com.android.ide.common.layout.LayoutConstants.NEW_ID_PREFIX;
+import static com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors.VIEW_FRAGMENT;
+import static com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors.VIEW_INCLUDE;
+import static com.android.util.XmlUtils.ANDROID_URI;
import com.android.annotations.VisibleForTesting;
import com.android.ide.common.api.IViewMetadata.FillPreference;
@@ -550,7 +552,11 @@ public class ViewMetadataRepository {
break;
}
}
- assert found : basename;
+ if (basename.equals(VIEW_FRAGMENT) || basename.equals(VIEW_INCLUDE)) {
+ result.add(basename);
+ } else {
+ assert found : basename;
+ }
}
return result;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/extra-view-metadata.xml b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/extra-view-metadata.xml
index 3e369a6..db3bd7b 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/extra-view-metadata.xml
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/extra-view-metadata.xml
@@ -211,13 +211,15 @@
class="include"
topAttrs="layout"
name="Include Other Layout"
- render="skip" />
+ render="skip"
+ relatedTo="fragment" />
<view
class="fragment"
topAttrs="class,name"
name="Fragment"
fill="opposite"
- render="skip" />
+ render="skip"
+ relatedTo="include" />
<view
class="android.widget.TableLayout"
topAttrs="stretchColumns,shrinkColumns,orientation"
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoring.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoring.java
index 9cf3a3f..2102bf9 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoring.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoring.java
@@ -15,11 +15,13 @@
*/
package com.android.ide.eclipse.adt.internal.editors.layout.refactoring;
-import static com.android.util.XmlUtils.ANDROID_URI;
import static com.android.ide.common.layout.LayoutConstants.ANDROID_WIDGET_PREFIX;
import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_PREFIX;
import static com.android.ide.common.layout.LayoutConstants.ATTR_TEXT;
import static com.android.ide.eclipse.adt.AdtConstants.EXT_XML;
+import static com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors.VIEW_FRAGMENT;
+import static com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors.VIEW_INCLUDE;
+import static com.android.util.XmlUtils.ANDROID_URI;
import com.android.annotations.NonNull;
import com.android.annotations.VisibleForTesting;
@@ -266,7 +268,8 @@ public class ChangeViewRefactoring extends VisualRefactoring {
List<String> types = new ArrayList<String>();
for (Element primary : getElements()) {
String oldType = primary.getTagName();
- if (oldType.indexOf('.') == -1) {
+ if (oldType.indexOf('.') == -1
+ && !oldType.equals(VIEW_INCLUDE) && !oldType.equals(VIEW_FRAGMENT)) {
oldType = ANDROID_WIDGET_PREFIX + oldType;
}
types.add(oldType);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/NewProjectCreator.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/NewProjectCreator.java
index 41c88d7..04225ab 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/NewProjectCreator.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/newproject/NewProjectCreator.java
@@ -1137,18 +1137,14 @@ public class NewProjectCreator {
if (!file.exists()) {
copyFile(JAVA_ACTIVITY_TEMPLATE, file, java_activity_parameters, monitor, false);
}
- }
- // create the layout file
- IFolder layoutfolder = project.getFolder(RES_DIRECTORY).getFolder(LAYOUT_DIRECTORY);
- IFile file = layoutfolder.getFile(MAIN_LAYOUT_XML);
- if (!file.exists()) {
- copyFile(LAYOUT_TEMPLATE, file, parameters, monitor, true);
- if (activityName != null) {
+ // create the layout file (if we're creating an
+ IFolder layoutfolder = project.getFolder(RES_DIRECTORY).getFolder(LAYOUT_DIRECTORY);
+ file = layoutfolder.getFile(MAIN_LAYOUT_XML);
+ if (!file.exists()) {
+ copyFile(LAYOUT_TEMPLATE, file, parameters, monitor, true);
dictionary.put(STRING_HELLO_WORLD, String.format("Hello World, %1$s!",
activityName));
- } else {
- dictionary.put(STRING_HELLO_WORLD, "Hello World!");
}
}
}