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
Resource with qualifiers take precedence over the ones without
even if the qualifiers are not present on the requested configuration.
Change-Id: I0d19889064e8031179ea6ee13c93a4198fe971fd
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
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
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
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
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
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
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
- 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
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
This is only supported in Eclair+, so the toggle button
is disable if the edited file is donut or before.
Change-Id: I8bf1f8a8aa3604f269cb226d788c5e1438a5ae0b
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
This will let the layoutlib know when to scale bitmaps
that are not in the native density of the rendering.
Change-Id: I08c99666460b5b5a3ed8d0aac7fa1b7c0136fd6b
New button allows to start/stop tracing. When clicking stop, DDMS downloads
the trace file and starts Traceview.
Also refactored some common parts of the HPROF and tracing handlers into a
common class. The goal is to have a default, extensible implementation
of the HPROF handler that DDMS and the plug-in can reuse. This will reduce
duplicated code.
Change-Id: Ifc48926c7f6f1c3ea49a4aa94053664be83cbb06
The action taken on successful HPROF dump can now be configured from
the plug-in preference to be either "save to disk" or "open in eclipse".
If a plug-in supporting .hprof files (such as Eclipse Memory Analyzer Tool)
is present then the file will just be opened in the tool.
"save to disk" does not convert the file, "open in eclipse" does convert
the hprof file (using hprof-conv present in the SDK)
Change-Id: Iceb347abb2af5a2979b6028c22dcbdc3bc7250ca
This allows GEP to display both the latest error and the latest
successful rendering. The error still needs an icon and the
canvas will need to be grayed or something.
Also the LayoutCanvas will directly use the ILayoutResult and we
won't need to custom EditData in UiElementNode so the correspond
method is @deprecated (but obviously still supported for GLE1.)
Change-Id: Ia3afed836755dbd84a4511eaed0782c85a383ac9