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
This uses the (new in cupcake) VM command through JDWP.
Older VMs are detected through the (also new) 'FEAT' command that notifies
which features the VM supports.
The hprof file is right now saved in /sdcard. Due to donut+ apps not having
the SD Card permission by default, we may need to change this in the (near)
future.
Upon completion of the dump by the VM, DDMS will give the user a file selector
to choose a place to save the file on the host machine.
Future improvements: run (our own) hat, or hprof-conv and a standard hprof
tool (Eclipse MAT integration for instance). This should be configurable
by the user.
Change-Id: I33696b0263e3d0788ad5d90cedf3cd17393d2f9b
This CL represents the base for the new "Graphical Editor Part".
First, GLE2 has been renamed in GraphicalEditorPart. That's the
final name, I swear I won't change it again (until next month that is.)
The editor part has 3 composites: the top ConfigConfiguration
(same as usual, reused as-is), a new PaletteComposite and a new
LayoutCanavas. This last one displays the rendering image and
will deal with interactivity.
The LayoutCanvas is actually stacked with a label which displays
the rendering error. After a rendering, either the error or the
canvas is visible, depending on the success of the operation.
That would make it easier to have a different mechanism, for example
the error could be next to the last known rendering, they don't
have to be mutually exclusive.
It is worth noting that GraphicalEditorPart is 95% similar to
the GLE1, reusing all the glue code that we had to handle
layout requestes, refresh requests, sdk/framework load listeners,
configuration and file input changes, etc.
Both PaletteComposite and LayoutCanvas are currently embryonic
at best, just to make sure the editor part is structured correctly.
Change-Id: I36c2ae4d85a68e68a349adc63a718f06375e12c5
Resource filters are used when generating additional APK containing only
specific resources.
The previous UI allowed for any type of filters, but we are moving to a
simpler way with fixed filters.
The first one is the density. Selecting the filter will generate 4 APKs per
application: default (all resources), hdpi (only hdpi/nodpi and default
resources), mdpi, ldpi.
This is just based on Eclipse static analysis of potential null pointers.
It doesn't mean we were ever going to have any NPE there.
Change-Id: I2a326048d2eb6afff7598f9300f48e35495ff3c2
This adds a @since GLE1 to all classes involved in the current GLE
and a @since GLE2 to the new classes. The idea is that both classes
are going to be mixed in the same packages and it will help later
to remove the old GLE by just searching for this specific tag.
The alternative would be to move the classes in a sub-package
layout.gle1 vs layout.gle2, but that seems unecessary.
Change-Id: I577cd81819db4c6e0209ebbd910a393fc2182619
This refactors the GLE base class into an interface, to make it
possible to not depend on GEF at all.
The GLE2 editor part displays and does nothing. It's just an empty shell.
To enable, setenv USE_GLE2 to anything. Unset to remove it.
Change-Id: I7a95b4a1a5a8ddf5a3f18acf7a04b1f9b3439655
Merge commit 'c7d0cec7e83d5194c35e88b17d3acc937fa87511' into eclair
* commit 'c7d0cec7e83d5194c35e88b17d3acc937fa87511':
Fix broken XML generated during "Extract string"
Merge commit 'f07bd569c361969e64aaebd9da1ddab15d86d425' into eclair
* commit 'f07bd569c361969e64aaebd9da1ddab15d86d425':
Codename in minsdkversion for release platform shows 'null' in error string
Merge commit '49ac0f9df009ace5175267ad60be51114ee19817' into eclair
* commit '49ac0f9df009ace5175267ad60be51114ee19817':
Make sure that the android pref folder is always present when queried.
Merge commit '0d223cab6aa4912cfba11a9ccf8f2fcb7bb3218e' into eclair
* commit '0d223cab6aa4912cfba11a9ccf8f2fcb7bb3218e':
Add support for the new qualifier in the config selector.
Merge commit '0cef5c4666b9c77161421c8a52b7dddff42f12da' into eclair
* commit '0cef5c4666b9c77161421c8a52b7dddff42f12da':
Add a functional test that renders all the layouts of ApiDemos
Merge commit '2f8d7a9fffe7e6c01900a4c59a8567e8ca00264f' into eclair
* commit '2f8d7a9fffe7e6c01900a4c59a8567e8ca00264f':
Also display error on empty minSdkVersion for preview targets.
Merge commit '0edddddd14708ccf1c98081edd09d3b9783ba08b'
* commit '0edddddd14708ccf1c98081edd09d3b9783ba08b':
Add internal support for screen size/ratio, and version qualifiers.
Merge commit '19f8d10daba4108833550c934f97a7ba2d21cd5a'
* commit '19f8d10daba4108833550c934f97a7ba2d21cd5a':
Make the res qualifiers aware of the project target to handle differnt behavior.