diff options
| author | Xavier Ducrohet <xav@android.com> | 2009-09-30 23:01:19 -0700 |
|---|---|---|
| committer | Xavier Ducrohet <xav@android.com> | 2009-09-30 23:01:19 -0700 |
| commit | 227b8768fa8accff8a9e3555351af05d41ad7840 (patch) | |
| tree | 000416dfd95fe51c95d48c139cfd26caffdac32f /tools | |
| parent | 69940e9babbdf06c3a9942c4fbdd507479c847c9 (diff) | |
| download | android_development-227b8768fa8accff8a9e3555351af05d41ad7840.tar.gz android_development-227b8768fa8accff8a9e3555351af05d41ad7840.tar.bz2 android_development-227b8768fa8accff8a9e3555351af05d41ad7840.zip | |
Load default GLE device profiles from the SDK.
Change-Id: Ife64397692912f892ec81af8237ac31914830be9
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java | 93 | ||||
| -rw-r--r-- | tools/scripts/devices.xml | 62 |
2 files changed, 75 insertions, 80 deletions
diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java index 960636e45..9fd90feb0 100644 --- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java @@ -19,24 +19,6 @@ package com.android.ide.eclipse.adt.internal.sdk; import com.android.ddmlib.IDevice; import com.android.ide.eclipse.adt.AdtPlugin; import com.android.ide.eclipse.adt.internal.project.AndroidClasspathContainerInitializer; -import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration; -import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier; -import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier; -import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier; -import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenDimensionQualifier; -import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier; -import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenRatioQualifier; -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.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier.KeyboardState; -import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier.NavigationMethod; -import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier.Density; -import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier.ScreenOrientation; -import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenRatioQualifier.ScreenRatio; -import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier.ScreenSize; -import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier.TextInputMethod; -import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier.TouchScreenType; import com.android.ide.eclipse.adt.internal.resources.manager.ResourceMonitor; import com.android.ide.eclipse.adt.internal.resources.manager.ResourceMonitor.IProjectListener; import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData.LayoutBridge; @@ -469,8 +451,8 @@ public class Sdk implements IProjectListener { mDocBaseUrl = getDocumentationBaseUrl(mManager.getLocation() + SdkConstants.OS_SDK_DOCS_FOLDER); - // create some built-in layout devices - createDefaultLayoutDevices(); + // load the built-in layout devices + loadDefaultLayoutDevices(); } /** @@ -668,66 +650,17 @@ public class Sdk implements IProjectListener { /** * Creates some built-it layout devices. */ - private void createDefaultLayoutDevices() { - DeviceConfiguration adp1 = new DeviceConfiguration("ADP1"); - adp1.setXDpi(180.6f); - adp1.setYDpi(182.f); - mLayoutDevices.add(adp1); - // default config - FolderConfiguration defConfig = new FolderConfiguration(); - defConfig.addQualifier(new ScreenSizeQualifier(ScreenSize.NORMAL)); - defConfig.addQualifier(new ScreenRatioQualifier(ScreenRatio.NOTLONG)); - defConfig.addQualifier(new PixelDensityQualifier(Density.MEDIUM)); - defConfig.addQualifier(new TouchScreenQualifier(TouchScreenType.FINGER)); - defConfig.addQualifier(new KeyboardStateQualifier(KeyboardState.SOFT)); - defConfig.addQualifier(new TextInputMethodQualifier(TextInputMethod.QWERTY)); - defConfig.addQualifier(new NavigationMethodQualifier(NavigationMethod.TRACKBALL)); - defConfig.addQualifier(new ScreenDimensionQualifier(480, 320)); - - // specific configs - FolderConfiguration closedPort = new FolderConfiguration(); - closedPort.set(defConfig); - closedPort.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.PORTRAIT)); - adp1.addConfig("Portrait, closed", closedPort); - - FolderConfiguration closedLand = new FolderConfiguration(); - closedLand.set(defConfig); - closedLand.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.LANDSCAPE)); - adp1.addConfig("Landscape, closed", closedLand); - - FolderConfiguration opened = new FolderConfiguration(); - opened.set(defConfig); - opened.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.LANDSCAPE)); - opened.addQualifier(new KeyboardStateQualifier(KeyboardState.EXPOSED)); - adp1.addConfig("Landscape, opened", opened); - - DeviceConfiguration ion = new DeviceConfiguration("Ion"); - ion.setXDpi(180.6f); - ion.setYDpi(182.f); - mLayoutDevices.add(ion); - // default config - defConfig = new FolderConfiguration(); - defConfig.addQualifier(new ScreenSizeQualifier(ScreenSize.NORMAL)); - defConfig.addQualifier(new ScreenRatioQualifier(ScreenRatio.NOTLONG)); - defConfig.addQualifier(new PixelDensityQualifier(Density.MEDIUM)); - defConfig.addQualifier(new TouchScreenQualifier(TouchScreenType.FINGER)); - defConfig.addQualifier(new KeyboardStateQualifier(KeyboardState.EXPOSED)); - defConfig.addQualifier(new TextInputMethodQualifier(TextInputMethod.NOKEY)); - defConfig.addQualifier(new NavigationMethodQualifier(NavigationMethod.TRACKBALL)); - defConfig.addQualifier(new ScreenDimensionQualifier(480, 320)); - - // specific configs - FolderConfiguration landscape = new FolderConfiguration(); - landscape.set(defConfig); - landscape.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.LANDSCAPE)); - ion.addConfig("Landscape", landscape); - - FolderConfiguration portrait = new FolderConfiguration(); - portrait.set(defConfig); - portrait.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.PORTRAIT)); - ion.addConfig("Portrait", portrait); + private void loadDefaultLayoutDevices() { + SAXParserFactory parserFactory = SAXParserFactory.newInstance(); + parserFactory.setNamespaceAware(true); + + File toolsFolder = new File(mManager.getLocation(), SdkConstants.OS_SDK_TOOLS_LIB_FOLDER); + if (toolsFolder.isDirectory()) { + File deviceXml = new File(toolsFolder, SdkConstants.FN_DEVICES_XML); + if (deviceXml.isFile()) { + parseLayoutDevices(parserFactory, deviceXml); + } + } } } - - diff --git a/tools/scripts/devices.xml b/tools/scripts/devices.xml new file mode 100644 index 000000000..e600a199a --- /dev/null +++ b/tools/scripts/devices.xml @@ -0,0 +1,62 @@ +<?xml version="1.0"?> +<d:layout-configs + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:d="http://schemas.android.com/sdk/android/layout-configs/1"> + + <d:device name="ADP1"> + <d:default> + <d:screen-size>normal</d:screen-size> + <d:screen-ratio>notlong</d:screen-ratio> + <d:screen-orientation>port</d:screen-orientation> + <d:pixel-density>mdpi</d:pixel-density> + <d:touch-type>finger</d:touch-type> + <d:text-input-method>qwerty</d:text-input-method> + <d:nav-method>trackball</d:nav-method> + <d:screen-dimension> + <d:size>320</d:size> + <d:size>480</d:size> + </d:screen-dimension> + <d:xdpi>180.6</d:xdpi> + <d:ydpi>182</d:ydpi> + </d:default> + + <d:config name="Portrait"> + <d:keyboard-state>keyssoft</d:keyboard-state> + <d:screen-orientation>port</d:screen-orientation> + </d:config> + <d:config name="Landscape, closed"> + <d:keyboard-state>keyssoft</d:keyboard-state> + <d:screen-orientation>land</d:screen-orientation> + </d:config> + <d:config name="Landscape, open"> + <d:keyboard-state>keysexposed</d:keyboard-state> + <d:screen-orientation>land</d:screen-orientation> + </d:config> + </d:device> + + <d:device name="Ion"> + <d:default> + <d:screen-size>normal</d:screen-size> + <d:screen-ratio>notlong</d:screen-ratio> + <d:screen-orientation>port</d:screen-orientation> + <d:pixel-density>mdpi</d:pixel-density> + <d:touch-type>finger</d:touch-type> + <d:keyboard-state>keyssoft</d:keyboard-state> + <d:text-input-method>nokeys</d:text-input-method> + <d:nav-method>trackball</d:nav-method> + <d:screen-dimension> + <d:size>320</d:size> + <d:size>480</d:size> + </d:screen-dimension> + <d:xdpi>180.6</d:xdpi> + <d:ydpi>182</d:ydpi> + </d:default> + + <d:config name="Portrait"> + <d:screen-orientation>port</d:screen-orientation> + </d:config> + <d:config name="Landscape"> + <d:screen-orientation>land</d:screen-orientation> + </d:config> + </d:device> +</d:layout-configs> |
