diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/HierarchyViewerPlugin.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/HierarchyViewerPlugin.java | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/HierarchyViewerPlugin.java b/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/HierarchyViewerPlugin.java deleted file mode 100644 index d4a64d008..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/src/com/android/ide/eclipse/hierarchyviewer/HierarchyViewerPlugin.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (C) 2010 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.hierarchyviewer; - -import com.android.ddmlib.AndroidDebugBridge; -import com.android.ddmlib.AndroidDebugBridge.IDebugBridgeChangeListener; -import com.android.ddmlib.Log; -import com.android.ddmlib.Log.ILogOutput; -import com.android.ddmlib.Log.LogLevel; -import com.android.hierarchyviewerlib.HierarchyViewerDirector; - -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.console.ConsolePlugin; -import org.eclipse.ui.console.IConsole; -import org.eclipse.ui.console.MessageConsole; -import org.eclipse.ui.console.MessageConsoleStream; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -import java.util.Calendar; - -/** - * The activator class controls the plug-in life cycle - */ -public class HierarchyViewerPlugin extends AbstractUIPlugin { - - public static final String PLUGIN_ID = "com.android.ide.eclipse.hierarchyviewer"; //$NON-NLS-1$ - - public static final String ADB_LOCATION = PLUGIN_ID + ".adb"; //$NON-NLS-1$ - - // The shared instance - private static HierarchyViewerPlugin sPlugin; - - private Color mRedColor; - - /** - * The constructor - */ - public HierarchyViewerPlugin() { - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - sPlugin = this; - - - // set the consoles. - final MessageConsole messageConsole = new MessageConsole("Hierarchy Viewer", null); //$NON-NLS-1$ - ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { - messageConsole - }); - - final MessageConsoleStream consoleStream = messageConsole.newMessageStream(); - final MessageConsoleStream errorConsoleStream = messageConsole.newMessageStream(); - mRedColor = new Color(Display.getDefault(), 0xFF, 0x00, 0x00); - - // because this can be run, in some cases, by a non UI thread, and - // because - // changing the console properties update the UI, we need to make this - // change - // in the UI thread. - Display.getDefault().asyncExec(new Runnable() { - @Override - public void run() { - errorConsoleStream.setColor(mRedColor); - } - }); - - // set up the ddms log to use the ddms console. - Log.setLogOutput(new ILogOutput() { - @Override - public void printLog(LogLevel logLevel, String tag, String message) { - if (logLevel.getPriority() >= LogLevel.ERROR.getPriority()) { - printToStream(errorConsoleStream, tag, message); - ConsolePlugin.getDefault().getConsoleManager().showConsoleView(messageConsole); - } else { - printToStream(consoleStream, tag, message); - } - } - - @Override - public void printAndPromptLog(final LogLevel logLevel, final String tag, - final String message) { - printLog(logLevel, tag, message); - // dialog box only run in UI thread.. - Display.getDefault().asyncExec(new Runnable() { - @Override - public void run() { - Shell shell = Display.getDefault().getActiveShell(); - if (logLevel == LogLevel.ERROR) { - MessageDialog.openError(shell, tag, message); - } else { - MessageDialog.openWarning(shell, tag, message); - } - } - }); - } - - }); - - final HierarchyViewerDirector director = HierarchyViewerPluginDirector.createDirector(); - director.startListenForDevices(); - - // make the director receive change in ADB. - AndroidDebugBridge.addDebugBridgeChangeListener(new IDebugBridgeChangeListener() { - @Override - public void bridgeChanged(AndroidDebugBridge bridge) { - director.acquireBridge(bridge); - } - }); - - // get the current ADB if any - director.acquireBridge(AndroidDebugBridge.getBridge()); - - // populate the UI with current devices (if any) in a thread - new Thread() { - @Override - public void run() { - director.populateDeviceSelectionModel(); - } - }.start(); - } - - /* - * (non-Javadoc) - * @see - * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext - * ) - */ - @Override - public void stop(BundleContext context) throws Exception { - sPlugin = null; - super.stop(context); - - mRedColor.dispose(); - - HierarchyViewerDirector director = HierarchyViewerDirector.getDirector(); - director.stopListenForDevices(); - director.stopDebugBridge(); - director.terminate(); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static HierarchyViewerPlugin getPlugin() { - return sPlugin; - } - - /** - * Prints a message, associated with a project to the specified stream - * - * @param stream The stream to write to - * @param tag The tag associated to the message. Can be null - * @param message The message to print. - */ - private static synchronized void printToStream(MessageConsoleStream stream, String tag, - String message) { - String dateTag = getMessageTag(tag); - - stream.print(dateTag); - stream.println(message); - } - - /** - * Creates a string containing the current date/time, and the tag - * - * @param tag The tag associated to the message. Can be null - * @return The dateTag - */ - private static String getMessageTag(String tag) { - Calendar c = Calendar.getInstance(); - - if (tag == null) { - return String.format("[%1$tF %1$tT]", c); //$NON-NLS-1$ - } - - return String.format("[%1$tF %1$tT - %2$s]", c, tag); //$NON-NLS-1$ - } -} |