aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ddms/DebugPortProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ddms/DebugPortProvider.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ddms/DebugPortProvider.java165
1 files changed, 0 insertions, 165 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ddms/DebugPortProvider.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ddms/DebugPortProvider.java
deleted file mode 100644
index a2ffa042b..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/ddms/DebugPortProvider.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (C) 2012 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.ddms;
-
-import com.android.ddmlib.DebugPortManager.IDebugPortProvider;
-import com.android.ddmlib.IDevice;
-import com.android.ide.eclipse.ddms.DdmsPlugin;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * DDMS implementation of the IDebugPortProvider interface.
- * This class handles saving/loading the list of static debug port from
- * the preference store and provides the port number to the Device Monitor.
- */
-public class DebugPortProvider implements IDebugPortProvider {
-
- private static DebugPortProvider sThis = new DebugPortProvider();
-
- /** Preference name for the static port list. */
- public static final String PREFS_STATIC_PORT_LIST = "android.staticPortList"; //$NON-NLS-1$
-
- /**
- * Mapping device serial numbers to maps. The embedded maps are mapping application names to
- * debugger ports.
- */
- private Map<String, Map<String, Integer>> mMap;
-
- public static DebugPortProvider getInstance() {
- return sThis;
- }
-
- private DebugPortProvider() {
- computePortList();
- }
-
- /**
- * Returns a static debug port for the specified application running on the
- * specified {@link IDevice}.
- * @param device The device the application is running on.
- * @param appName The application name, as defined in the
- * AndroidManifest.xml package attribute.
- * @return The static debug port or {@link #NO_STATIC_PORT} if there is none setup.
- *
- * @see IDebugPortProvider#getPort(IDevice, String)
- */
- @Override
- public int getPort(IDevice device, String appName) {
- if (mMap != null) {
- Map<String, Integer> deviceMap = mMap.get(device.getSerialNumber());
- if (deviceMap != null) {
- Integer i = deviceMap.get(appName);
- if (i != null) {
- return i.intValue();
- }
- }
- }
- return IDebugPortProvider.NO_STATIC_PORT;
- }
-
- /**
- * Returns the map of Static debugger ports. The map links device serial numbers to
- * a map linking application name to debugger ports.
- */
- public Map<String, Map<String, Integer>> getPortList() {
- return mMap;
- }
-
- /**
- * Create the map member from the values contained in the Preference Store.
- */
- private void computePortList() {
- mMap = new HashMap<String, Map<String, Integer>>();
-
- // get the prefs store
- IPreferenceStore store = DdmsPlugin.getDefault().getPreferenceStore();
- String value = store.getString(PREFS_STATIC_PORT_LIST);
-
- if (value != null && value.length() > 0) {
- // format is
- // port1|port2|port3|...
- // where port# is
- // appPackageName:appPortNumber:device-serial-number
- String[] portSegments = value.split("\\|"); //$NON-NLS-1$
- for (String seg : portSegments) {
- String[] entry = seg.split(":"); //$NON-NLS-1$
-
- // backward compatibility support. if we have only 2 entry, we default
- // to the first emulator.
- String deviceName = null;
- if (entry.length == 3) {
- deviceName = entry[2];
- } else {
- deviceName = IDevice.FIRST_EMULATOR_SN;
- }
-
- // get the device map
- Map<String, Integer> deviceMap = mMap.get(deviceName);
- if (deviceMap == null) {
- deviceMap = new HashMap<String, Integer>();
- mMap.put(deviceName, deviceMap);
- }
-
- deviceMap.put(entry[0], Integer.valueOf(entry[1]));
- }
- }
- }
-
- /**
- * Sets new [device, app, port] values.
- * The values are also sync'ed in the preference store.
- * @param map The map containing the new values.
- */
- public void setPortList(Map<String, Map<String,Integer>> map) {
- // update the member map.
- mMap.clear();
- mMap.putAll(map);
-
- // create the value to store in the preference store.
- // see format definition in getPortList
- StringBuilder sb = new StringBuilder();
-
- Set<String> deviceKeys = map.keySet();
- for (String deviceKey : deviceKeys) {
- Map<String, Integer> deviceMap = map.get(deviceKey);
- if (deviceMap != null) {
- Set<String> appKeys = deviceMap.keySet();
-
- for (String appKey : appKeys) {
- Integer port = deviceMap.get(appKey);
- if (port != null) {
- sb.append(appKey).append(':').append(port.intValue()).append(':').
- append(deviceKey).append('|');
- }
- }
- }
- }
-
- String value = sb.toString();
-
- // get the prefs store.
- IPreferenceStore store = DdmsPlugin.getDefault().getPreferenceStore();
-
- // and give it the new value.
- store.setValue(PREFS_STATIC_PORT_LIST, value);
- }
-}