diff options
Diffstat (limited to 'eclipse/plugins')
13 files changed, 402 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/.classpath b/eclipse/plugins/com.android.ide.eclipse.monitor/.classpath new file mode 100644 index 0000000..2e5a9ea --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/.classpath @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry exported="true" kind="lib" path="libs/androidprefs.jar"/> + <classpathentry exported="true" kind="lib" path="libs/sdkstats.jar"/> + <classpathentry exported="true" kind="lib" path="libs/sdklib.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/.project b/eclipse/plugins/com.android.ide.eclipse.monitor/.project new file mode 100644 index 0000000..2d33f44 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>monitor-plugin</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/com.android.ide.eclipse.monitor/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8401a32 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Tue Dec 06 16:39:22 PST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..fc401eb --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: com.android.ide.eclipse.monitor;singleton:=true +Bundle-Version: 16.0.0.qualifier +Bundle-Activator: com.android.ide.eclipse.monitor.MonitorPlugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + com.android.ide.eclipse.ddms, + com.android.ide.eclipse.gldebugger, + com.android.ide.eclipse.traceview +Bundle-ActivationPolicy: lazy +Bundle-Vendor: %Bundle-Vendor +Bundle-ClassPath: libs/androidprefs.jar, + libs/sdklib.jar, + libs/sdkstats.jar, + . diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/build.properties b/eclipse/plugins/com.android.ide.eclipse.monitor/build.properties new file mode 100644 index 0000000..c3405b3 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/build.properties @@ -0,0 +1,8 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + libs/,\ + libs/sdkstats.jar,\ + libs/androidprefs.jar diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/libs/.gitignore b/eclipse/plugins/com.android.ide.eclipse.monitor/libs/.gitignore new file mode 100644 index 0000000..d392f0e --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/libs/.gitignore @@ -0,0 +1 @@ +*.jar diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product b/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product new file mode 100644 index 0000000..a58283b --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?pde version="3.5"?> + +<product name="monitor" uid="com.android.ide.eclipse.monitor.product.config" id="com.android.ide.eclipse.monitor.product" application="com.android.ide.eclipse.monitor.Application" version="0.01" useFeatures="false" includeLaunchers="true"> + + <configIni use="default"> + </configIni> + + <launcherArgs> + <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac> + </launcherArgs> + + <plugins> + <plugin id="com.android.ide.eclipse.ddms"/> + <plugin id="com.android.ide.eclipse.gldebugger"/> + <plugin id="com.android.ide.eclipse.monitor"/> + <plugin id="com.android.ide.eclipse.traceview"/> + <plugin id="com.ibm.icu"/> + <plugin id="org.eclipse.compare"/> + <plugin id="org.eclipse.compare.core"/> + <plugin id="org.eclipse.core.commands"/> + <plugin id="org.eclipse.core.contenttype"/> + <plugin id="org.eclipse.core.databinding"/> + <plugin id="org.eclipse.core.databinding.observable"/> + <plugin id="org.eclipse.core.databinding.property"/> + <plugin id="org.eclipse.core.expressions"/> + <plugin id="org.eclipse.core.filebuffers"/> + <plugin id="org.eclipse.core.filesystem"/> + <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/> + <plugin id="org.eclipse.core.jobs"/> + <plugin id="org.eclipse.core.resources"/> + <plugin id="org.eclipse.core.runtime"/> + <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> + <plugin id="org.eclipse.core.variables"/> + <plugin id="org.eclipse.debug.core"/> + <plugin id="org.eclipse.debug.ui"/> + <plugin id="org.eclipse.ecf"/> + <plugin id="org.eclipse.ecf.filetransfer"/> + <plugin id="org.eclipse.ecf.identity"/> + <plugin id="org.eclipse.ecf.provider.filetransfer"/> + <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/> + <plugin id="org.eclipse.ecf.ssl" fragment="true"/> + <plugin id="org.eclipse.equinox.app"/> + <plugin id="org.eclipse.equinox.common"/> + <plugin id="org.eclipse.equinox.p2.core"/> + <plugin id="org.eclipse.equinox.p2.engine"/> + <plugin id="org.eclipse.equinox.p2.metadata"/> + <plugin id="org.eclipse.equinox.p2.metadata.repository"/> + <plugin id="org.eclipse.equinox.p2.repository"/> + <plugin id="org.eclipse.equinox.preferences"/> + <plugin id="org.eclipse.equinox.registry"/> + <plugin id="org.eclipse.equinox.security"/> + <plugin id="org.eclipse.help"/> + <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/> + <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/> + <plugin id="org.eclipse.jdt.core"/> + <plugin id="org.eclipse.jdt.core.manipulation"/> + <plugin id="org.eclipse.jdt.debug"/> + <plugin id="org.eclipse.jdt.launching"/> + <plugin id="org.eclipse.jdt.ui"/> + <plugin id="org.eclipse.jface"/> + <plugin id="org.eclipse.jface.databinding"/> + <plugin id="org.eclipse.jface.text"/> + <plugin id="org.eclipse.ltk.core.refactoring"/> + <plugin id="org.eclipse.ltk.ui.refactoring"/> + <plugin id="org.eclipse.osgi"/> + <plugin id="org.eclipse.osgi.services"/> + <plugin id="org.eclipse.search"/> + <plugin id="org.eclipse.swt"/> + <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/> + <plugin id="org.eclipse.team.core"/> + <plugin id="org.eclipse.team.ui"/> + <plugin id="org.eclipse.text"/> + <plugin id="org.eclipse.ui"/> + <plugin id="org.eclipse.ui.console"/> + <plugin id="org.eclipse.ui.editors"/> + <plugin id="org.eclipse.ui.forms"/> + <plugin id="org.eclipse.ui.ide"/> + <plugin id="org.eclipse.ui.navigator"/> + <plugin id="org.eclipse.ui.navigator.resources"/> + <plugin id="org.eclipse.ui.views"/> + <plugin id="org.eclipse.ui.views.properties.tabbed"/> + <plugin id="org.eclipse.ui.workbench"/> + <plugin id="org.eclipse.ui.workbench.texteditor"/> + </plugins> + + +</product> diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties b/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties new file mode 100644 index 0000000..85f0ac4 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties @@ -0,0 +1,3 @@ +#Properties file for com.android.ide.eclipse.monitor +Bundle-Vendor = The Android Open Source Project +Bundle-Name = Monitor diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.xml b/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.xml new file mode 100644 index 0000000..de0a3f6 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + <extension + id="com.android.ide.eclipse.monitor.Application" + point="org.eclipse.core.runtime.applications"> + <application + cardinality="singleton-global" + thread="main" + visible="true"> + <run + class="com.android.ide.eclipse.monitor.Application"> + </run> + </application> + </extension> + <extension + id="com.android.ide.eclipse.monitor.product" + point="org.eclipse.core.runtime.products"> + <product + application="com.android.ide.eclipse.monitor.Application" + name="Android Device Monitor"> + </product> + </extension> + <extension + point="com.android.ide.eclipse.ddms.toolsLocator"> + <locator + class="com.android.ide.eclipse.monitor.ToolsLocator"> + </locator> + </extension> + <extension + id="product" + point="org.eclipse.core.runtime.products"> + <product + application="com.android.ide.eclipse.monitor.Application" + name="Android Device Monitor"> + <property + name="appName" + value="monitor"> + </property> + </product> + </extension> + +</plugin> diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/Application.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/Application.java new file mode 100644 index 0000000..f852e34 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/Application.java @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ide.eclipse.monitor; + +import org.eclipse.equinox.app.IApplication; +import org.eclipse.equinox.app.IApplicationContext; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.PlatformUI; + +public class Application implements IApplication { + public Object start(IApplicationContext context) throws Exception { + Display display = PlatformUI.createDisplay(); + try { + int returnCode = PlatformUI.createAndRunWorkbench(display, + new ApplicationWorkbenchAdvisor()); + if (returnCode == PlatformUI.RETURN_RESTART) { + return IApplication.EXIT_RESTART; + } + return IApplication.EXIT_OK; + } finally { + display.dispose(); + } + } + + public void stop() { + if (!PlatformUI.isWorkbenchRunning()) + return; + final IWorkbench workbench = PlatformUI.getWorkbench(); + final Display display = workbench.getDisplay(); + display.syncExec(new Runnable() { + public void run() { + if (!display.isDisposed()) + workbench.close(); + } + }); + } +} diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ApplicationWorkbenchAdvisor.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ApplicationWorkbenchAdvisor.java new file mode 100644 index 0000000..be75e00 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ApplicationWorkbenchAdvisor.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ide.eclipse.monitor; + +import com.android.ide.eclipse.ddms.Perspective; + +import org.eclipse.ui.application.WorkbenchAdvisor; + +public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { + @Override + public String getInitialWindowPerspectiveId() { + return Perspective.ID; + } + +} diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorPlugin.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorPlugin.java new file mode 100644 index 0000000..9449d6f --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/MonitorPlugin.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ide.eclipse.monitor; + +import com.android.sdkstats.DdmsPreferenceStore; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +public class MonitorPlugin extends AbstractUIPlugin { + public static final String PLUGIN_ID = "com.android.ide.eclipse.monitor"; //$NON-NLS-1$ + private static MonitorPlugin sPlugin; + private static final DdmsPreferenceStore sDdmsPreferenceStore = new DdmsPreferenceStore(); + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + sPlugin = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + sPlugin = null; + super.stop(context); + } + + public static MonitorPlugin getDefault() { + return sPlugin; + } + + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } + + public static DdmsPreferenceStore getDdmsPreferenceStore() { + return sDdmsPreferenceStore; + } +} diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ToolsLocator.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ToolsLocator.java new file mode 100644 index 0000000..e08352f --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ToolsLocator.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ide.eclipse.monitor; + +import com.android.ide.eclipse.ddms.IToolsLocator; +import com.android.sdklib.SdkConstants; + +public class ToolsLocator implements IToolsLocator { + public static final String PLATFORM_EXECUTABLE_EXTENSION = + (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_WINDOWS) ? + ".exe" : ""; //$NON-NLS-1$ + + public static final String PLATFORM_SCRIPT_EXTENSION = + (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_WINDOWS) ? + ".bat" : ""; //$NON-NLS-1$ + + public static final String FN_HPROF_CONV = "hprof-conv" + PLATFORM_EXECUTABLE_EXTENSION; //$NON-NLS-1$ + public static final String FN_TRACEVIEW = "traceview" + PLATFORM_SCRIPT_EXTENSION; //$NON-NLS-1$ + + public String getAdbLocation() { + return getSdkPlatformToolsFolder() + SdkConstants.FN_ADB; + } + + public String getTraceViewLocation() { + return getSdkToolsFolder() + FN_TRACEVIEW; + } + + public String getHprofConvLocation() { + return getSdkToolsFolder() + FN_HPROF_CONV; + } + + private String getSdkToolsFolder() { + return getSdkFolder() + "/tools/"; //$NON-NLS-1$ + } + + private String getSdkPlatformToolsFolder() { + return getSdkFolder() + "/platform-tools/"; //$NON-NLS-1$ + } + + private String getSdkFolder() { + // FIXME! + return MonitorPlugin.getDdmsPreferenceStore().getLastSdkPath(); + } +} |