Commit Graph

433 Commits

Author SHA1 Message Date
Xavier Ducrohet
ba9c8dcdf0 Add save/load for the user-made Layout Devices.
Also added support for mcc/mnc in the schema.

Change-Id: I8a2d23797ec57eec69dc1d7218b01cd679634068
2009-10-15 13:06:35 -07:00
Xavier Ducrohet
3cfed4b8c4 Fix device dpi handling in the Layout device parsing/UI.
Change-Id: I74fdf8c62a7b005e40e1817d9f39c59d8f99c070
2009-10-14 15:25:15 -07:00
Xavier Ducrohet
8f49a988e3 UI to manage/create custom Layout Devices.
Change-Id: Idc447b4136a6f709d7a665321af68de552ec613a
2009-10-13 18:35:13 -07:00
Xavier Ducrohet
126a19500c Add missing override.
Change-Id: Id9608b8ac9f05c3e0db92668797b2d80f0690397
2009-10-09 15:36:52 -07:00
Raphael
31d0121f68 Fix adt-tests: remove UpdaterLogicTest
Also reverts UpdaterLogic as package-private and
adds some javadoc to it.

SDK BUG 2179267

Change-Id: I19644cc4c99ac70598f3cbcfface2f19d9999931
2009-10-09 14:32:48 -07:00
Android (Google) Code Review
d00a9bcffe Merge change I3e6a5048 into eclair
* changes:
  Fix ADT tests failures:  - Separate functional tests into ones which load their own Sdk, vs ones which need to use the same one as Adt.  - Make all base test classes abstract with protected constructors.
2009-10-09 16:45:44 -04:00
Brett Chabot
126bc43dee Fix ADT tests failures:
- Separate functional tests into ones which load their own Sdk, vs ones which
need to use the same one as Adt.
 - Make all base test classes abstract with protected constructors.

BUG 2173382, 2173847
2009-10-09 12:33:22 -07:00
Raphael
8e8ad9d39f Fix continuous adt-test: UpdaterLogic is now public.
Also remove the make sdkuilib from create_tests_symlinks, since
adt-tests actually uses the one from adt.

SDK BUG 2177557

Change-Id: Ied6c54f1227ed73fb77723e016559357fc1c1ee2
2009-10-09 11:50:16 -07:00
Raphael
e3ae0fe73a Add SdkUiLib tests to adt-tests.
Also fixes the create_tests_symlink for Windows.

SDK BUG 2040986

Change-Id: I7d549c265efb9dbb5936ed7c9a7798eefee52d9b
2009-10-07 21:57:50 -07:00
Xavier Ducrohet
3f71486cbd Moved the test data to their own package.
This allows us to select the whole package for binary inclusion
in adt-test (which doesn't automatically take any non java file for
packaging)

Change-Id: Idc3d3b2f27623de1b0fccd7e01dd88948923081c
2009-10-06 12:06:46 -07:00
Xavier Ducrohet
cce979fcf5 Put kxml back in adt-test
Since adt doesn't export the package, it's just easier that way.

Change-Id: Iddb7f4660ccc0bc51374128a544975596cb051aa
2009-10-06 10:45:18 -07:00
Xavier Ducrohet
67d9bcdf5c Only create folder if not present.
Change-Id: I77673e0f43d7a00f42e2a97663bd9aed2aaf09f2
2009-10-05 20:55:13 -07:00
Xavier Ducrohet
4aab78e0b9 Add layoutlib.jar to the classpath of adt-tests
Change-Id: Iab62c8e9849873e91640484c70110660aabd4b8e
2009-10-05 20:08:31 -07:00
Xavier Ducrohet
ef6dcb646c Fix script (and build)
Change-Id: Ic1eff7843219c42867e477ad8bfbdf89167a0061
2009-10-05 19:33:35 -07:00
Xavier Ducrohet
24bf2fa3e4 Add tests from layoutlib to adt-tests
Change-Id: Ia7bac7fad90b77fe34fb4a4371d6d5945993efe9
2009-10-05 15:57:17 -07:00
Android (Google) Code Review
b6e85c0548 Merge change Ieb4e722b into eclair
* changes:
  Add sdklib tests to the adt-tests Unit tests.
2009-10-05 17:45:04 -04:00
Android (Google) Code Review
6cc64cd26d Merge change I90b4c0e7 into eclair
* changes:
  Fix Eclipse sample tests.
2009-10-05 17:26:31 -04:00
Brett Chabot
071276efbd Fix Eclipse sample tests. 2009-10-05 13:39:38 -07:00
Xavier Ducrohet
b7d28abce3 Add sdklib tests to the adt-tests Unit tests.
Change-Id: Ieb4e722b1b5a29cef250e2cb5575a71e09f956c3
2009-10-05 13:01:11 -07:00
Xavier Ducrohet
98fcd41e1f Fix best match resource selection when there's only one match.
Was using the wrong index.

Change-Id: I7d761ffa553f0aeec176a4752185dde238991e5e
2009-10-05 12:15:08 -07:00
Android (Google) Code Review
1061c0c7dc Merge change I69afafa4 into eclair
* changes:
  ADT: Create project from existing sample in New Project Wizard
2009-10-02 22:52:31 -04:00
Raphael
badc593c5e ADT: Create project from existing sample in New Project Wizard
The UI workflow:
- user selects the new "Create project from existingsample" radio button
- user selects an SDK target in the NPW
- a popup is filled with all available samples

This also fixes 2 edge cases:
- when the selected sample contains a build|default.propertie that is
  a base of the currently selected SDK target, don't reset it.
- when the user manually changes the project name or the app name for
  the sample, simply empty the fields and the next selected sample
  will recompute the adequate names. Any non-empty user input is never
  overridden.

SDK BUG 2121819

Change-Id: I69afafa460b86942046ef6baca3d4c7ee7dbe97d
2009-10-02 19:47:26 -07:00
Xavier Ducrohet
90ee703e94 Fix resource resolution in the graphical layout editor.
Resource with qualifiers take precedence over the ones without
even if the qualifiers are not present on the requested configuration.

Change-Id: I0d19889064e8031179ea6ee13c93a4198fe971fd
2009-10-02 19:07:09 -07:00
Xavier Ducrohet
f073703057 Fix Android Manifest parser.
While the test is in the java package as the parser, it's in a different
plug-in and this prevents accessing package-protected methods.

Change-Id: Ib17765095e4da518d62ee65cb9e1987d0e22be6e
2009-10-01 17:23:25 -07:00
Raphael
2ace885b29 ADT Manifest Editor: Fix for uses-sdk dup that won't go away.
It was a display issue only, meaning the actual XML node was
being deleted but the Ui model was not updated properly. The
actual cause is that this is a mandatory node, and mandatory
nodes must stay as "fake nodes" in the Ui model. However
only one such node needs to stay in the hierarchy.

SDK BUG 2147112

Change-Id: I68e3d343bb95169865ad8dcad77004cbd51fafc3
2009-10-01 14:17:02 -07:00
Xavier Ducrohet
227b8768fa Load default GLE device profiles from the SDK.
Change-Id: Ife64397692912f892ec81af8237ac31914830be9
2009-09-30 23:01:19 -07:00
Xavier Ducrohet
8677a1704e Replace icon template with new style and multiple densities.
The icon in the templates of ADT was medium density only.
I added new densities (high and low), as well as updated to
the new Eclair style. Also added a version for Ant project.

Updated ADT and sdklib to deal with creating new projects
with all 3 icons.

In case of Ant project, this is done only if the icons
are present in the target platforms.

For ADT, this is done only if the project target donut
or later. Older project still have only one icon located
in drawable/

Change-Id: I77069a1e4902ef395d490526aabc40a26e33d4ca
2009-09-30 20:46:00 -07:00
Xavier Ducrohet
f0303d8d5c Add support for xdpi and ydpi in the device config for the GLE.
Change-Id: Ie905f9b586ac5f58e40e86232fbafeaacf6a0c51
2009-09-30 11:57:36 -07:00
Android (Google) Code Review
603899e5a9 Merge change I95a34d28 into eclair
* changes:
  ADT XML String Refactoring: fix refusing to edit @+id/blah.
2009-09-29 21:05:44 -04:00
Raphael
c737e421e9 ADT XML String Refactoring: fix refusing to edit @+id/blah.
It correctly only refuses to edit @string/blah now.

This CL also does a bit of refactoring; I extracted some methods
and a class to make it a bit easier to read.

BUG 2066460

Change-Id: I95a34d28d6390ab0cc075f05ea83ceec04993ae9
2009-09-29 16:43:53 -07:00
Raphael
9b8a8056d1 Add xdpi and ydpi to layout-configs XML Schema.
Also validate that whitespace around tokens is accepted.

BUG 2138329

Change-Id: Id5af7cf2b0689f05327a0cf0b17a525ceba78a12
2009-09-29 14:41:45 -07:00
Xavier Ducrohet
596f3b8d91 Fix NPE when opening new layout file.
When adding the parsing of the device XML files, I mostly tested with a
layout file already opened when Eclipse launched.

Well it turns out there's a slightly different code path when opening a file
*after* Eclipse has launched. The load of the device UI in the config
selected caused a rendering before the XML model was loaded which ended
up in an NPE in the recomputeLayout method.

Additionnally, I hadn't finalized the code for the GLE2, so this brings it
in line with the GLE1.

Change-Id: Ic86de6e91ca13793aceecb5706bc963edddb9241
2009-09-28 17:59:25 -07:00
Xavier Ducrohet
9e4715e6d9 Fix ADT to use the new sdklib API
ManifestConstants got renamed AndroidManifest but I
forgot to update ADT.

Change-Id: I60d40c63a67968c31789e91f14020c61114907ca
2009-09-28 14:32:34 -07:00
Android (Google) Code Review
7d76200234 Merge change I097b444e into eclair
* changes:
  Fix ApiDemo Layout rendering test
2009-09-28 16:49:09 -04:00
Xavier Ducrohet
8d33f4a821 Fix ApiDemo Layout rendering test
The issue came from a lack of device configuration and
missing default versions of some resources. We know use
an ADP1 configuration to choose the resources used by
the rendering.

Change-Id: I097b444e4fdc5572cfc53293a3215f1382f5d49c
2009-09-28 13:47:49 -07:00
Android (Google) Code Review
eafb009baf Merge change I663d4cb7 into eclair
* changes:
  Update the project creation (from the command line):
2009-09-28 16:33:57 -04:00
Android (Google) Code Review
c124b2ab7b Merge change Ib1b01007 into eclair
* changes:
  Parse add-on supplied layout devices.
2009-09-28 16:29:25 -04:00
Xavier Ducrohet
e6ca35d4b0 Fix ResourceQualifier tests.
Change-Id: Ib6109c1bb76dadddeef24aec3af16e178a931651
2009-09-28 12:16:16 -07:00
Xavier Ducrohet
98b9c10e63 Parse add-on supplied layout devices.
Add-ons are expected to provide a file called devices.xml in their root
folder. The XML schema for this file is
	eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/layout-configs.xsd

I slightly fixed the schema so that normal screen size use the token
"normal" instead of "medium" to match the resource qualifier.

To round up the feature, the following changes are included:
- getEnum in the resource qualifier enum has been made public. There's no
sense in keeping it private and it'll help with people possibly using
valueOf which behaves differently (case sensitive so
ScreenSize.valueOf("normal") fails, while getEnum on the same string succeed.
- Updated the device configuration UI to deal with missing list of
devices while the SDK loads.

Change-Id: Ib1b01007d2ae7fd6398172c3549b2686c33d48be
2009-09-27 21:54:09 -07:00
Xavier Ducrohet
c51d184216 Update the project creation (from the command line):
- Make the distinction between the activity class name, manifest entry,
  fully-qualified name, and tested activity for the template place-holders.
  Test activity names now directly contain the full name (including the
  "Test" prefix) instead of the template adding it.
  This is required by the new 'create test-project'

- New action: create test-project
  This requires a path to the main project. It reads the package, activity
  name and target from the main project.
  The activity is read from the manifest and can be in a more complex form
  than previously expected (for instance .subpackage.MyClass, instead of
  simply MyClass). This is what required the re-work the activity related
  template place holders.
  Options:
   -m --main Location path of the project to test, relative to the new
             project [required]
   -n --name Project name
   -p --path Location path of the new project [required]

   Example: for 2 projects MyProject and MyTests located in the same folder,
            calling from their parent folder.

     android create test-project -p MyTests -m ../MyProject

- build.properties now only gets application.package for older targets
  as the new one get it directly from XPath

- Remove AndroidXPathFactory from the anttasks project as it was already
  in sdklib which is a dependency.

- Removed IntelliJ templates for the SDK. We haven't supported them for
  a while, and now that IntelliJ has built-in support for Android, it's
  not that useful anymore.

While there is the command line parameters for 'update test-project'
it's not yet implemented.

Change-Id: I663d4cb7f439bb2abfe866f893e58f4d13aff975
2009-09-27 18:08:00 -07:00
Raphael
48f27946d5 XML Schema for layout configurations.
The only changes to the original XML sample:
- the root element is called "layout-configs" (plural for container).

- the <default> and <config> elements must be defined in that order:
 - 0..1 of <default>
   folowed by
 - 1..n of <config>
It's invalid for the <device> node to be empty.

default/config are defined by a <xsd:sequence>, which imposes the
strict ordering. At first I used an <xsd:choice> which does not
impose any ordering but then it becomes possible to define an
empty <device> element. I'd rather live with the strict ordering
(which also makes sense anyway) and enforce non-empty <device>
elements in the schema.

BUG 2138329

Change-Id: I581afb1d72825ae79df00d81c74c80a2a18680ad
2009-09-27 16:44:45 -07:00
Android (Google) Code Review
b936faf6e6 Merge change 26773 into eclair
* changes:
  Disable clipping toggle when not supported.
2009-09-24 02:35:11 -04:00
Android (Google) Code Review
b9b298782a Merge change 26740 into eclair
* changes:
  Add warning on mismatch minSdkVersion.
2009-09-24 02:34:55 -04:00
Xavier Ducrohet
0d3e110b36 Disable clipping toggle when not supported.
This is only supported in Eclair+, so the toggle button
is disable if the edited file is donut or before.

Change-Id: I8bf1f8a8aa3604f269cb226d788c5e1438a5ae0b
2009-09-23 20:40:36 -07:00
Xavier Ducrohet
d0306ecd58 Add warning on mismatch minSdkVersion.
This is for both Ant and ADT.
For Ant, also added a check for non-integer values when the platform
is not a preview.

BUG:2118374

Change-Id: Ic8ec533d66a31d9e4b51c9c38b5eaab97bca7414
2009-09-23 20:38:33 -07:00
Android (Google) Code Review
61676a4061 Merge change 26540 into eclair
* changes:
  Make the Density enum use the int value from the api Density enum.
2009-09-23 23:34:38 -04:00
Xavier Ducrohet
019685753e Hide APK split UI (not ready yet)
Change-Id: I2ace823139710e836c72cc323427024b54384e38
2009-09-23 18:22:49 -07:00
Xavier Ducrohet
252ad3146a Make the Density enum use the int value from the api Density enum.
Change-Id: I13cace9a3fd7d17171ebe1e8b98c31adfa8509dc
2009-09-23 15:11:32 -07:00
Xavier Ducrohet
c29e58952e Fix possible NPE in DDMS plugin init.
Change-Id: Ie1649b319948514473e11c27b4ad126ffe2d40ef
2009-09-22 20:37:24 -07:00
Xavier Ducrohet
350187ab93 Create Density based resource values when needed.
This will let the layoutlib know when to scale bitmaps
that are not in the native density of the rendering.

Change-Id: I08c99666460b5b5a3ed8d0aac7fa1b7c0136fd6b
2009-09-22 19:51:52 -07:00