<classpathentry kind="lib" path="libs/sdklib.jar" sourcepath="/SdkLib"/>
<classpathentry kind="lib" path="libs/sdkstats.jar" sourcepath="/SdkStatsService"/>
<classpathentry kind="lib" path="libs/sdkuilib.jar" sourcepath="/SdkUiLib"/>
+ <classpathentry kind="lib" path="libs/resources.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/ddmlib"/>
<classpathentry combineaccessrules="false" kind="src" path="/ddmuilib"/>
<classpathentry kind="output" path="bin"/>
libs/commons-compress-1.0.jar,
libs/kxml2-2.3.0.jar,
libs/layoutlib_api.jar,
- libs/ide_common.jar
+ libs/ide_common.jar,
+ libs/resources.jar
Bundle-Activator: com.android.ide.eclipse.adt.AdtPlugin
Bundle-Vendor: The Android Open Source Project
Require-Bundle: com.android.ide.eclipse.ddms,
com.android.ide.common.rendering;x-friends:="com.android.ide.eclipse.tests",
com.android.ide.common.rendering.api;x-friends:="com.android.ide.eclipse.tests",
com.android.ide.common.rendering.legacy;x-friends:="com.android.ide.eclipse.tests",
+ com.android.ide.common.resources;x-friends:="com.android.ide.eclipse.tests",
com.android.ide.common.resources.platform;x-friends:="com.android.ide.eclipse.tests",
com.android.ide.common.sdk;x-friends:="com.android.ide.eclipse.tests",
com.android.ide.eclipse.adt;x-friends:="com.android.ide.eclipse.tests",
com.android.layoutlib.api;x-friends:="com.android.ide.eclipse.tests",
com.android.ninepatch;x-friends:="com.android.ide.eclipse.tests",
com.android.prefs;x-friends:="com.android.ide.eclipse.tests",
+ com.android.resources;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.annotations;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.build;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.internal.repository;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.io;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.repository;x-friends:="com.android.ide.eclipse.tests",
- com.android.sdklib.resources;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.util;x-friends:="com.android.ide.eclipse.tests",
com.android.sdklib.xml;x-friends:="com.android.ide.eclipse.tests",
com.android.sdkstats;x-friends:="com.android.ide.eclipse.tests",
import static com.android.ide.common.layout.LayoutConstants.VALUE_MATCH_PARENT;
import com.android.ide.common.rendering.api.ILayoutPullParser;
-import com.android.ide.common.rendering.api.ResourceDensity;
import com.android.ide.common.rendering.api.ViewInfo;
import com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors;
import com.android.ide.eclipse.adt.internal.editors.layout.descriptors.ViewElementDescriptor;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
+import com.android.resources.Density;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
case COMPLEX_UNIT_DIP:
case COMPLEX_UNIT_SP: // intended fall-through since we don't
// adjust for font size
- f *= (float)mDensityValue / ResourceDensity.DEFAULT_DENSITY;
+ f *= (float)mDensityValue / Density.DEFAULT_DENSITY;
break;
case COMPLEX_UNIT_PT:
f *= mXdpi * (1.0f / 72);
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.adt.internal.sdk.LayoutDevice;
-import com.android.ide.eclipse.adt.internal.sdk.LayoutDevice.DeviceConfig;
import com.android.ide.eclipse.adt.internal.sdk.LayoutDeviceManager;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
+import com.android.ide.eclipse.adt.internal.sdk.LayoutDevice.DeviceConfig;
+import com.android.resources.Density;
+import com.android.resources.DockMode;
+import com.android.resources.NightMode;
+import com.android.resources.ScreenOrientation;
import com.android.sdklib.IAndroidTarget;
-import com.android.sdklib.resources.Density;
-import com.android.sdklib.resources.DockMode;
-import com.android.sdklib.resources.NightMode;
-import com.android.sdklib.resources.ScreenOrientation;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import static com.android.ide.common.layout.LayoutConstants.SCROLL_VIEW;
import static com.android.ide.common.layout.LayoutConstants.STRING_PREFIX;
import static com.android.ide.eclipse.adt.AndroidConstants.ANDROID_PKG;
-import static com.android.sdklib.resources.Density.DEFAULT_DENSITY;
import com.android.ide.common.rendering.LayoutLibrary;
import com.android.ide.common.rendering.StaticRenderSession;
import com.android.ide.common.rendering.api.ILayoutPullParser;
import com.android.ide.common.rendering.api.LayoutLog;
import com.android.ide.common.rendering.api.Params;
-import com.android.ide.common.rendering.api.Params.RenderingMode;
import com.android.ide.common.rendering.api.RenderSession;
import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.rendering.api.Result;
+import com.android.ide.common.rendering.api.Params.RenderingMode;
import com.android.ide.common.resources.ResourceResolver;
import com.android.ide.common.sdk.LoadStatus;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.editors.layout.ExplodedRenderingHelper;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutReloadMonitor;
-import com.android.ide.eclipse.adt.internal.editors.layout.LayoutReloadMonitor.ChangeFlags;
-import com.android.ide.eclipse.adt.internal.editors.layout.LayoutReloadMonitor.ILayoutReloadListener;
import com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback;
import com.android.ide.eclipse.adt.internal.editors.layout.UiElementPullParser;
+import com.android.ide.eclipse.adt.internal.editors.layout.LayoutReloadMonitor.ChangeFlags;
+import com.android.ide.eclipse.adt.internal.editors.layout.LayoutReloadMonitor.ILayoutReloadListener;
import com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigurationComposite;
+import com.android.ide.eclipse.adt.internal.editors.layout.configuration.LayoutCreatorDialog;
import com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigurationComposite.CustomButton;
import com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigurationComposite.IConfigListener;
-import com.android.ide.eclipse.adt.internal.editors.layout.configuration.LayoutCreatorDialog;
import com.android.ide.eclipse.adt.internal.editors.layout.gle2.IncludeFinder.Reference;
import com.android.ide.eclipse.adt.internal.editors.layout.gre.RulesEngine;
import com.android.ide.eclipse.adt.internal.editors.ui.DecorComposite;
import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;
import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
+import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFile;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFolderType;
import com.android.ide.eclipse.adt.internal.sdk.Sdk.ITargetChangeListener;
import com.android.ide.eclipse.adt.io.IFileWrapper;
import com.android.ide.eclipse.adt.io.IFolderWrapper;
+import com.android.resources.Density;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.io.IAbstractFile;
* @return the scale to multiple layout coordinates with to obtain the dip position
*/
public float getDipScale() {
- return DEFAULT_DENSITY / (float) mConfigComposite.getDensity().getDpiValue();
+ return Density.DEFAULT_DENSITY / (float) mConfigComposite.getDensity().getDpiValue();
}
// --- private methods ---
mTargetSdkVersion,
logger);
+ ScreenSizeQualifier ssq = mConfigComposite.getCurrentConfig().getScreenSizeQualifier();
+ if (ssq != null) {
+ params.setConfigScreenSize(ssq.getValue());
+ }
+
if (transparentBackground) {
// It doesn't matter what the background color is as long as the alpha
// is 0 (fully transparent). We're using red to make it more obvious if
* an empty document.
*
* @param awtImage The AWT image to be rendered as an SWT image.
+ * @param isAlphaChannelImage whether the alpha channel of the image is relevant
* @return The corresponding SWT image, or null.
*/
- public synchronized Image setImage(BufferedImage awtImage, boolean isFloatingWindow) {
+ public synchronized Image setImage(BufferedImage awtImage, boolean isAlphaChannelImage) {
if (awtImage != mAwtImage || awtImage == null) {
mAwtImage = null;
if (awtImage == null) {
mImage = null;
} else {
- mImage = SwtUtils.convertToSwt(mCanvas.getDisplay(), awtImage, true, -1);
+ mImage = SwtUtils.convertToSwt(mCanvas.getDisplay(), awtImage,
+ isAlphaChannelImage, -1);
}
} else {
assert awtImage instanceof SwtReadyBufferedImage;
- if (isFloatingWindow) {
+ if (isAlphaChannelImage) {
mImage = SwtUtils.convertToSwt(mCanvas.getDisplay(), awtImage, true, -1);
} else {
mImage = ((SwtReadyBufferedImage)awtImage).getSwtImage();
mViewHierarchy.setSession(session, explodedNodes);
if (mViewHierarchy.isValid() && session != null) {
- Image image = mImageOverlay.setImage(session.getImage(), session.isFloatingWindow());
+ Image image = mImageOverlay.setImage(session.getImage(), session.isAlphaChannelImage());
mOutlinePage.setModel(mViewHierarchy.getRoot());
}
ImageOverlay imageOverlay = mCanvas.getImageOverlay();
- imageOverlay.setImage(s.getImage(), s.isFloatingWindow());
+ imageOverlay.setImage(s.getImage(), s.isAlphaChannelImage());
synchronized (this) {
if (mPendingDrawing == false) {
mCanvas.getDisplay().asyncExec(new Runnable() {
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.DockMode;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.DockMode;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.ResourceEnum;
/**
* Base class for {@link ResourceQualifier} whose value is an {@link ResourceEnum}.
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.KeyboardState;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.KeyboardState;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.Navigation;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.NavigationState;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.NavigationState;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.NightMode;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.NightMode;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.Density;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.Density;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.ResourceEnum;
-import com.android.sdklib.resources.ScreenOrientation;
+import com.android.resources.ResourceEnum;
+import com.android.resources.ScreenOrientation;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.ResourceEnum;
-import com.android.sdklib.resources.ScreenRatio;
+import com.android.resources.ResourceEnum;
+import com.android.resources.ScreenRatio;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.ResourceEnum;
-import com.android.sdklib.resources.ScreenSize;
+import com.android.resources.ResourceEnum;
+import com.android.resources.ScreenSize;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.ResourceEnum;
+import com.android.resources.Keyboard;
+import com.android.resources.ResourceEnum;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.configurations;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
-import com.android.sdklib.resources.ResourceEnum;
-import com.android.sdklib.resources.TouchScreen;
+import com.android.resources.ResourceEnum;
+import com.android.resources.TouchScreen;
import org.eclipse.swt.graphics.Image;
package com.android.ide.eclipse.adt.internal.resources.manager;
import com.android.ide.common.rendering.api.DensityBasedResourceValue;
-import com.android.ide.common.rendering.api.ResourceDensity;
import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.eclipse.adt.internal.resources.ResourceType;
import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier;
mType.getName(),
getResourceName(mType),
file.getOsLocation(),
- ResourceDensity.getEnum(qualifier.getValue().getDpiValue()),
+ qualifier.getValue(),
isFramework());
}
}
import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier;
import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier;
import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier;
-import com.android.sdklib.resources.Density;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.KeyboardState;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.NavigationState;
-import com.android.sdklib.resources.ScreenOrientation;
-import com.android.sdklib.resources.ScreenRatio;
-import com.android.sdklib.resources.ScreenSize;
-import com.android.sdklib.resources.TouchScreen;
+import com.android.resources.Density;
+import com.android.resources.Keyboard;
+import com.android.resources.KeyboardState;
+import com.android.resources.Navigation;
+import com.android.resources.NavigationState;
+import com.android.resources.ScreenOrientation;
+import com.android.resources.ScreenRatio;
+import com.android.resources.ScreenSize;
+import com.android.resources.TouchScreen;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier;
import com.android.ide.eclipse.adt.internal.resources.configurations.VersionQualifier;
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
-import com.android.sdklib.resources.Density;
-import com.android.sdklib.resources.DockMode;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.KeyboardState;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.NavigationState;
-import com.android.sdklib.resources.NightMode;
-import com.android.sdklib.resources.ResourceEnum;
-import com.android.sdklib.resources.ScreenOrientation;
-import com.android.sdklib.resources.ScreenRatio;
-import com.android.sdklib.resources.ScreenSize;
-import com.android.sdklib.resources.TouchScreen;
+import com.android.resources.Density;
+import com.android.resources.DockMode;
+import com.android.resources.Keyboard;
+import com.android.resources.KeyboardState;
+import com.android.resources.Navigation;
+import com.android.resources.NavigationState;
+import com.android.resources.NightMode;
+import com.android.resources.ResourceEnum;
+import com.android.resources.ScreenOrientation;
+import com.android.resources.ScreenRatio;
+import com.android.resources.ScreenSize;
+import com.android.resources.TouchScreen;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ISelection;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.ide.eclipse.adt.internal.wizards.newproject.NewProjectCreationPage.IMainInfo;
import com.android.ide.eclipse.adt.internal.wizards.newproject.NewTestProjectCreationPage.TestInfo;
+import com.android.resources.Density;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.io.StreamException;
-import com.android.sdklib.resources.Density;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
<classpathentry kind="lib" path="/adt/libs/ninepatch.jar" sourcepath="/ninepatch"/>
<classpathentry kind="lib" path="/adt/libs/sdklib.jar" sourcepath="/SdkLib"/>
<classpathentry kind="lib" path="/adt/libs/sdkuilib.jar" sourcepath="/SdkUiLib"/>
+ <classpathentry kind="lib" path="/adt/libs/resources.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.tests.SdkTestCase;
+import com.android.layoutlib.api.IXmlPullParser;
+import com.android.resources.Density;
+import com.android.resources.Keyboard;
+import com.android.resources.KeyboardState;
+import com.android.resources.Navigation;
+import com.android.resources.ScreenOrientation;
+import com.android.resources.ScreenRatio;
+import com.android.resources.ScreenSize;
+import com.android.resources.TouchScreen;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.io.FolderWrapper;
-import com.android.sdklib.resources.Density;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.KeyboardState;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.ScreenOrientation;
-import com.android.sdklib.resources.ScreenRatio;
-import com.android.sdklib.resources.ScreenSize;
-import com.android.sdklib.resources.TouchScreen;
import org.kxml2.io.KXmlParser;
import org.xmlpull.v1.XmlPullParser;
import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.mock.MockXmlNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
+import com.android.resources.Density;
import com.android.sdklib.SdkConstants;
-import com.android.sdklib.resources.Density;
import org.w3c.dom.Node;
import org.xmlpull.v1.XmlPullParser;
package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
import com.android.ide.eclipse.adt.internal.resources.configurations.DockModeQualifier;
-import com.android.sdklib.resources.DockMode;
+import com.android.resources.DockMode;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier;
-import com.android.sdklib.resources.KeyboardState;
+import com.android.resources.KeyboardState;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier;
-import com.android.sdklib.resources.Navigation;
+import com.android.resources.Navigation;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier;
-import com.android.sdklib.resources.Density;
+import com.android.resources.Density;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier;
-import com.android.sdklib.resources.ScreenOrientation;
+import com.android.resources.ScreenOrientation;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier;
-import com.android.sdklib.resources.ScreenSize;
+import com.android.resources.ScreenSize;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier;
-import com.android.sdklib.resources.Keyboard;
+import com.android.resources.Keyboard;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier;
-import com.android.sdklib.resources.TouchScreen;
+import com.android.resources.TouchScreen;
import junit.framework.TestCase;
import com.android.ide.eclipse.adt.io.IFileWrapper;
import com.android.ide.eclipse.adt.io.IFolderWrapper;
import com.android.ide.eclipse.mock.Mocks;
+import com.android.resources.DockMode;
+import com.android.resources.Keyboard;
+import com.android.resources.KeyboardState;
+import com.android.resources.Navigation;
+import com.android.resources.NavigationState;
+import com.android.resources.NightMode;
+import com.android.resources.ScreenOrientation;
+import com.android.resources.TouchScreen;
import com.android.sdklib.io.IAbstractFolder;
-import com.android.sdklib.resources.DockMode;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.KeyboardState;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.NavigationState;
-import com.android.sdklib.resources.NightMode;
-import com.android.sdklib.resources.ScreenOrientation;
-import com.android.sdklib.resources.TouchScreen;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
mkdir -p $DEST
-LIBS="sdkstats androidprefs layoutlib_api ide_common ninepatch sdklib sdkuilib"
+LIBS="sdkstats androidprefs layoutlib_api ide_common ninepatch sdklib sdkuilib resources"
echo "make java libs ..."
make -j3 showcommands $LIBS || die "ADT: Fail to build one of $LIBS."
ln -svf $BACK/out/host/linux-x86/framework/$LIB.jar "$DEST/"
done
ln -svf $BACK/out/host/linux-x86/framework/kxml2-2.3.0.jar "$DEST/"
- ln -svf $BACK/out/host/linux-x86/framework/layoutlib.jar "$DEST/"
elif [ "$HOST" == "Darwin" ]; then
for LIB in $LIBS; do
ln -svf $BACK/out/host/darwin-x86/framework/$LIB.jar "$DEST/"
done
ln -svf $BACK/out/host/darwin-x86/framework/kxml2-2.3.0.jar "$DEST/"
- ln -svf $BACK/out/host/darwin-x86/framework/layoutlib.jar "$DEST/"
elif [ "${HOST:0:6}" == "CYGWIN" ]; then
for LIB in $LIBS; do
cp -v "prebuilt/common/kxml2/kxml2-2.3.0.jar" "$DEST/"
fi
- LIBS="layoutlib.jar"
- NEED_MAKE="yes"
- for LIB in $LIBS ; do
- SRCJAR="out/host/windows-x86/framework/$LIB"
- DSTJAR="$DEST/$LIB"
- if [[ $NEED_MAKE ]] && ! diff -q "$SRCJAR" "$DSTJAR" >/dev/null ; then
- MAKE_LIBS="${LIBS//.jar/}"
- echo "Make java libs: $MAKE_LIBS"
- make -j3 showcommands $MAKE_LIBS || die "adt-tests: Failed to build one of $LIBS."
- NEED_MAKE=""
- fi
-
- cp -v "$SRCJAR" "$DSTJAR"
- done
-
chmod -v a+rx "$DEST"/*.jar
else
echo "Unsupported platform ($HOST). Nothing done."
fi
-# create link to ddmlib tests
-DEST=$BASE/unittests/com/android
-cpdir $DEST sdk/ddms/libs/ddmlib/tests/src/com/android/ddmlib
-cpdir $DEST sdk/sdkmanager/libs/sdklib/tests/com/android/sdklib
-
# Cleanup old obsolete symlink
+
+DEST=$BASE/unittests/com/android
[[ -e $DEST/sdkuilib || -L $DEST/sdkuilib ]] && rm -rfv $DEST/sdkuilib
+[[ -e $DEST/ddmlib || -L $DEST/ddmlib ]] && rm -rfv $DEST/ddmlib
+[[ -e $DEST/sdklib || -L $DEST/sdklib ]] && rm -rfv $DEST/sdklib
DEST=$BASE/unittests/com/android/layoutlib
-mkdir -p $DEST
-cpdir $DEST frameworks/base/tools/layoutlib/bridge/tests/com/android/layoutlib/bridge
-cpdir $DEST frameworks/base/tools/layoutlib/bridge/tests/com/android/layoutlib/testdata
+[[ -e $DEST/bridge || -L $DEST/bridge ]] && rm -rfv $DEST/bridge
+[[ -e $DEST/testdata || -L $DEST/testdata ]] && rm -rfv $DEST/testdata
+
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="ANDROID_SRC/prebuilt/common/kxml2/kxml2-2.3.0.jar" sourcepath="/ANDROID_SRC/dalvik/libcore/xml/src/main/java"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/resources"/>
<classpathentry kind="output" path="bin"/>
</classpath>
LOCAL_SRC_FILES := $(call all-java-files-under,src)
LOCAL_JAVA_LIBRARIES := \
+ resources \
kxml2-2.3.0
LOCAL_MODULE := layoutlib_api
--- /dev/null
+LayoutLib API is a jar describing the API used to load and interact with layoutlib.jar
+It is to be packaged with clients accessing layoutlib.jar
+
+Layoutlib.jar is built from frameworks/base.git and therefore is versioned with the platform.
+
+IMPORTANT NOTE REGARDING CHANGES IN LAYOUTLIB_API:
+
+- The API must stay compatible. This is because while layoutlib.jar compiles against it,
+ the client provides the implementation and must be able to load earlier versions of layoutlib.jar.
+ This is true for all the classes under com.android.ide.common.rendering.api and
+ com.android.layoutlib.api although the latter is obsolete and should not be changed at all.
+
+- Updated version of layoutlib_api should be copied to the current in-dev branch of
+ prebuilt/common/layoutlib_api/layoutlib_api-prebuilt.jar
+ The PREBUILT file in the same folder must be updated as well to reflect how to rebuild this
+ prebuilt jar file.
\ No newline at end of file
@SuppressWarnings("deprecation")
public class DensityBasedResourceValue extends ResourceValue implements IDensityBasedResourceValue {
- private ResourceDensity mDensity;
+ private com.android.resources.Density mDensity;
public DensityBasedResourceValue(String type, String name, String value,
- ResourceDensity density, boolean isFramework) {
+ com.android.resources.Density density, boolean isFramework) {
super(type, name, value, isFramework);
mDensity = density;
}
* Returns the density for which this resource is configured.
* @return the density.
*/
- public ResourceDensity getResourceDensity() {
+ public com.android.resources.Density getResourceDensity() {
return mDensity;
}
* @deprecated use {@link #getResourceDensity()} instead.
*/
public Density getDensity() {
- return Density.getEnum(mDensity.getDpi());
+ return Density.getEnum(mDensity.getDpiValue());
}
}
package com.android.ide.common.rendering.api;
+import com.android.resources.ScreenSize;
+
public class Params {
private IImageFactory mImageFactory = null;
+ private ScreenSize mConfigScreenSize = null;
+
/**
*
* @param layoutDescription the {@link ILayoutPullParser} letting the LayoutLib Bridge visit the
mCustomBackgroundColor = params.mCustomBackgroundColor;
mTimeout = params.mTimeout;
mImageFactory = params.mImageFactory;
+ mConfigScreenSize = params.mConfigScreenSize;
}
public void setOverrideBgColor(int color) {
mImageFactory = imageFactory;
}
+ public void setConfigScreenSize(ScreenSize size) {
+ mConfigScreenSize = size;
+ }
+
public ILayoutPullParser getLayoutDescription() {
return mLayoutDescription;
}
public IImageFactory getImageFactory() {
return mImageFactory;
}
+
+ public ScreenSize getConfigScreenSize() {
+ return mConfigScreenSize;
+ }
}
}
/**
- * Returns true if the current session is rendered as a floating window.
- * <p/>
- * If true this means the alpha channel of {@link #getImage()} should be respected. If false,
- * if can be dropped if it's more convenient/faster.
- * @return whether the current session is rendered as a floating window.
+ * Returns true if the current image alpha channel is relevant.
+ *
+ * @return whether the image alpha channel is relevant.
*/
- public boolean isFloatingWindow() {
+ public boolean isAlphaChannelImage() {
return true;
}
+++ /dev/null
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.common.rendering.api;
-
-/**
- * Enum representing the density class of Android resources.
- */
-public enum ResourceDensity {
- XHIGH(320),
- HIGH(240),
- MEDIUM(160),
- LOW(120),
- NODPI(0);
-
- public final static int DEFAULT_DENSITY = 160;
-
- private final int mDpi;
-
- ResourceDensity(int dpi) {
- mDpi = dpi;
- }
-
- /**
- * Returns the dot-per-inch value associated with the density.
- * @return the dpi value.
- */
- public int getDpi() {
- return mDpi;
- }
-
- /**
- * Returns the enum matching the given dpi.
- * @param dpi The dpi
- * @return the enum for the dpi or null if no match was found.
- */
- public static ResourceDensity getEnum(int dpi) {
- for (ResourceDensity d : values()) {
- if (d.mDpi == dpi) {
- return d;
- }
- }
-
- return null;
- }
-}
package com.android.layoutlib.api;
import com.android.ide.common.rendering.api.DensityBasedResourceValue;
-import com.android.ide.common.rendering.api.ResourceDensity;
/**
* Represents an Android Resources that has a density info attached to it.
/**
* Density.
*
- * @deprecated use {@link ResourceDensity}.
+ * @deprecated use {@link com.android.resources.Density}.
*/
@Deprecated
public static enum Density {
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>resources</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+#
+# Copyright (C) 2008 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under,src)
+
+LOCAL_JAVA_LIBRARIES := \
+
+LOCAL_MODULE := resources
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_HOST_JAVA_LIBRARY)
--- /dev/null
+resources.jar contains resource configuration enums. It is used by various tools, but also
+by layoutlib.jar
+
+Layoutlib.jar is built from frameworks/base.git and therefore is versioned with the platform.
+
+IMPORTANT NOTE REGARDING CHANGES IN resources.jar:
+
+- The API must stay compatible. This is because while layoutlib.jar compiles against it,
+ the client provides the implementation and must be able to load earlier versions of layoutlib.jar.
+ This is true for all the classes under com.android.ide.common.rendering.api and
+ com.android.layoutlib.api although the latter is obsolete and should not be changed at all.
+
+- Updated version of layoutlib_api should be copied to the current in-dev branch of
+ prebuilt/common/resources/resources-prebuilt.jar
+ The PREBUILT file in the same folder must be updated as well to reflect how to rebuild this
+ prebuilt jar file.
\ No newline at end of file
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Dock enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Keyboard enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Keyboard state enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Navigation enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Navigation state enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Night enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* An enum representing a resource qualifier value.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Screen Orientation enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Screen Ratio enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Screen size enum.
* limitations under the License.
*/
-package com.android.sdklib.resources;
+package com.android.resources;
/**
* Touch screen enum.
Main-Class: com.android.sdkmanager.Main
-Class-Path: androidprefs.jar sdklib.jar sdkuilib.jar org.eclipse.jface_3.4.2.M20090107-0800.jar org.eclipse.equinox.common_3.4.0.v20080421-2006.jar org.eclipse.core.commands_3.4.0.I20080509-2000.jar
+Class-Path: androidprefs.jar resources.jar sdklib.jar sdkuilib.jar org.eclipse.jface_3.4.2.M20090107-0800.jar org.eclipse.equinox.common_3.4.0.v20080421-2006.jar org.eclipse.core.commands_3.4.0.I20080509-2000.jar
<classpathentry combineaccessrules="false" kind="src" path="/AndroidPrefs"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
<classpathentry kind="var" path="ANDROID_SRC/prebuilt/common/commons-compress/commons-compress-1.0.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/resources"/>
<classpathentry kind="output" path="bin"/>
</classpath>
LOCAL_JAR_MANIFEST := ../manifest.txt
LOCAL_JAVA_LIBRARIES := \
androidprefs \
+ resources \
commons-compress-1.0
LOCAL_MODULE := sdklib
package com.android.sdklib.internal.export;
+import com.android.resources.Density;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.internal.export.MultiApkExportHelper.ExportException;
import com.android.sdklib.internal.project.ApkSettings;
import com.android.sdklib.internal.project.ProjectProperties;
import com.android.sdklib.internal.project.ProjectProperties.PropertyType;
-import com.android.sdklib.resources.Density;
import com.android.sdklib.xml.ManifestData;
import com.android.sdklib.xml.ManifestData.SupportsScreens;
package com.android.sdklib.xml;
+import com.android.resources.Keyboard;
+import com.android.resources.Navigation;
+import com.android.resources.TouchScreen;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.io.IAbstractFile;
import com.android.sdklib.io.IAbstractFolder;
import com.android.sdklib.io.StreamException;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.TouchScreen;
import com.android.sdklib.xml.ManifestData.Activity;
import com.android.sdklib.xml.ManifestData.Instrumentation;
import com.android.sdklib.xml.ManifestData.SupportsScreens;
package com.android.sdklib.xml;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.TouchScreen;
+import com.android.resources.Keyboard;
+import com.android.resources.Navigation;
+import com.android.resources.TouchScreen;
import java.util.ArrayList;
import java.util.Set;
package com.android.sdklib.xml;
-import com.android.sdklib.resources.Keyboard;
-import com.android.sdklib.resources.Navigation;
-import com.android.sdklib.resources.TouchScreen;
+import com.android.resources.Keyboard;
+import com.android.resources.Navigation;
+import com.android.resources.TouchScreen;
import com.android.sdklib.xml.ManifestData.UsesFeature;
import com.android.sdklib.xml.ManifestData.UsesLibrary;