12d4581faa6438941e65a9dc83213be34c6ca970 |
|
13-Sep-2012 |
Tor Norbye <tnorbye@google.com> |
Constants refactoring. This changeset moves most constants into the SdkConstants class, and gets rid of AndroidConstants and LintConstants. It also migrates all non-ADT specific constants from AdtConstants into SdkConstants. It furthermore moves various other constants (such as those in XmlUtils and ValuesDescriptors) into the constants class. It also fixes the modifier order to be the canonical modifier order (JLS 8.x). Finally, it removes redundancy and combines various constant aliases such that we don't have both NAME_ATTR and ATTR_NAME pointing to "name", etc. Change-Id: Ifd1755016f62ce2dd80e5c76130d6de4b0e32161
|
81cefe2a26dd6db8a878e30874d12cdcbff0e83b |
|
11-Aug-2012 |
Xavier Ducrohet <xav@android.com> |
More refactoring. Move stuff out of sdklib into common and ide_common. Remove androidprefs and move the one class into common. Change-Id: I71d126a13cf2ba413692e29616f4968a37d7b33a
|
e9db0a86e766f52a9cef38f7ad05a32185f0f953 |
|
22-Jun-2012 |
Tor Norbye <tnorbye@google.com> |
Project template tweaks Fix code which derives a project name from an application name such that it skips invalid project name characters. For example, the application name can be "I/O", but the project name should default to just "IO". Second, fix the validator code such that when it is validating a template parameter constraint of "class", it validates it as a class name, not a package name (so you cannot enter dots for example). Third, replace the default project template icons with the standard app icons (for when you disable Create Custom Launcher Icons). Fourth, tweak the templates such that you don't have unused imports when you create an activity without navigation, and remove unused padding dimension resources. Change-Id: I524608bb6347b4275338ec935e8de56bf3184c23
|
7dd444ea0125e50a5e88604afb6de43e80b7c270 |
|
08-May-2012 |
Tor Norbye <tnorbye@google.com> |
New Template Wizard support This changeset adds several new templates, to create a new project, a new activity, a new custom view, etc. More importantly, it contains support for these wizards (and the corresponding code generation) to be driven by templates. A wizard contains metadata which provides a name, description and icon for the template, as well as a list of parameters, along with type and constraint metadata for those parameters. When a wizard is created for this template, it automatically adds UI elements to input the parameters and to validate the input. Parameters can also specify their default values as templated expressions using the other variables on the page, so in the New Blank Activity wizard for example, editing the activity name automatically updates the suggested layout name, by repeatedly evaluating a template expression to compute a layout name from an activity name. There's a recipe file for each template which states what actions to take to create the template. In addition to obviously copying resources (such as icons and jar files) and instantiating templates (to rewrite text using variables and FreeMarker logic), it can also merge XML contents (to for example insert activity registration metadata into the manifest file, or add string definitions to the strings.xml file), and it can cause files to be opened when the template is created. Tne new wizards also use JFace's decorator support to provide help and to mark text fields that contain errors, when one or more of the page fields do not validate, as well as to show tip text along the bottom of the page. One example of this is that it explains what a "package name" is when the package field has focus. This changeset also contains a "Template Development Wizard" which lets you point to a local directory containing a template definition, and run a test wizard from there. This is useful for developing, debugging and testing templates. Change-Id: I08e7d2464a1ef00d09517f0154c42681249a7ff6
|
ab36f4e7488358dea4ab6b54ee2b7bef3da0232b |
|
21-Dec-2011 |
Tor Norbye <tnorbye@google.com> |
Update SDK codebase to JDK 6 This changeset makes the SDK codebase compile with source=1.6 (which means it also requires JDK 6). This means that methods implementing an interface requires @Override's. It also means we can start using APIs like the ArrayDeque class and methods like String#isEmpty(). This changeset looks big but the change is trivial: it's basically adding @Override in all the places that need it, along with some other automatic Eclipse cleanup in certain files (such as reordering imports where they were incorrectly ordered (because older versions of Eclipse didn't always handle inner classes right)), as well as cleaning up trailing whitespace and removing some $NON-NLS-1$ markers on lines where there aren't any string literals anymore. This changeset also sets the source and target JDK level to 6 in the Eclipse compiler .settings file, and synchronizes this file to all the other Eclipse SDK projects. Change-Id: I6a9585aa44c3dee9a5c00739ab22fbdbcb9f8275
|
2e9be3365117d1ece3989cce4bb7ef0421df7343 |
|
08-Sep-2011 |
Tor Norbye <tnorbye@google.com> |
New Project Wizard overhaul This changeset splits the New Project Wizard into multiple logical wizards (a separate one for samples, testing and plain projects), and each wizard contains multiple pages - such as a separate page for SDK selection, a separate page for Sample selection, a separate page for Test target selection, and so on. In addition, sample projects are now copied into the workspace itself such that they can be modified and deleted without affecting the mater copy in the SDK install directory. Samples can also be accessed from a new separate entry in the New wizard. The SWT code is now maintained with WindowBuilder. Most of the code in NewProjectWizard was related to actually building the projects, and this code is preserved in the new NewProjectCreator class which is used by unit tests etc such that we don't need to create a stub wizard and stub wizard page anymore. Change-Id: I64872722e320a109870403d25fdf051270b526ed
|