
com.android.ddmlib.DdmPreferences Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ddmlib Show documentation
Show all versions of ddmlib Show documentation
Library providing APIs to talk to Android devices
/*
* Copyright (C) 2007 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.ddmlib;
import com.android.ddmlib.Log.LogLevel;
/**
* Preferences for the ddm library.
* This class does not handle storing the preferences. It is merely a central point for
* applications using the ddmlib to override the default values.
* Various components of the ddmlib query this class to get their values.
* Calls to some set##()
methods will update the components using the values
* right away, while other methods will have no effect once {@link AndroidDebugBridge#init(boolean)}
* has been called.
* Check the documentation of each method.
*/
public final class DdmPreferences {
/** Default value for thread update flag upon client connection. */
public static final boolean DEFAULT_INITIAL_THREAD_UPDATE = false;
/** Default value for heap update flag upon client connection. */
public static final boolean DEFAULT_INITIAL_HEAP_UPDATE = false;
/** Default value for the selected client debug port */
public static final int DEFAULT_SELECTED_DEBUG_PORT = 8700;
/** Default value for the debug port base */
public static final int DEFAULT_DEBUG_PORT_BASE = 8600;
/** Default value for the logcat {@link LogLevel} */
public static final LogLevel DEFAULT_LOG_LEVEL = LogLevel.ERROR;
/** Default timeout values for adb connection (milliseconds) */
public static final int DEFAULT_TIMEOUT = 5000; // standard delay, in ms
/** Default profiler buffer size (megabytes) */
public static final int DEFAULT_PROFILER_BUFFER_SIZE_MB = 8;
/** Default values for the use of the ADBHOST environment variable. */
public static final boolean DEFAULT_USE_ADBHOST = false;
public static final String DEFAULT_ADBHOST_VALUE = "127.0.0.1";
private static boolean sThreadUpdate = DEFAULT_INITIAL_THREAD_UPDATE;
private static boolean sInitialHeapUpdate = DEFAULT_INITIAL_HEAP_UPDATE;
private static int sSelectedDebugPort = DEFAULT_SELECTED_DEBUG_PORT;
private static int sDebugPortBase = DEFAULT_DEBUG_PORT_BASE;
private static LogLevel sLogLevel = DEFAULT_LOG_LEVEL;
private static int sTimeOut = DEFAULT_TIMEOUT;
private static int sProfilerBufferSizeMb = DEFAULT_PROFILER_BUFFER_SIZE_MB;
private static boolean sUseAdbHost = DEFAULT_USE_ADBHOST;
private static String sAdbHostValue = DEFAULT_ADBHOST_VALUE;
/**
* Returns the initial {@link Client} flag for thread updates.
* @see #setInitialThreadUpdate(boolean)
*/
public static boolean getInitialThreadUpdate() {
return sThreadUpdate;
}
/**
* Sets the initial {@link Client} flag for thread updates.
* This change takes effect right away, for newly created {@link Client} objects.
*/
public static void setInitialThreadUpdate(boolean state) {
sThreadUpdate = state;
}
/**
* Returns the initial {@link Client} flag for heap updates.
* @see #setInitialHeapUpdate(boolean)
*/
public static boolean getInitialHeapUpdate() {
return sInitialHeapUpdate;
}
/**
* Sets the initial {@link Client} flag for heap updates.
* If true
, the {@link ClientData} will automatically be updated with
* the VM heap information whenever a GC happens.
* This change takes effect right away, for newly created {@link Client} objects.
*/
public static void setInitialHeapUpdate(boolean state) {
sInitialHeapUpdate = state;
}
/**
* Returns the debug port used by the selected {@link Client}.
*/
public static int getSelectedDebugPort() {
return sSelectedDebugPort;
}
/**
* Sets the debug port used by the selected {@link Client}.
* This change takes effect right away.
* @param port the new port to use.
*/
public static void setSelectedDebugPort(int port) {
sSelectedDebugPort = port;
MonitorThread monitorThread = MonitorThread.getInstance();
if (monitorThread != null) {
monitorThread.setDebugSelectedPort(port);
}
}
/**
* Returns the debug port used by the first {@link Client}. Following clients, will use the
* next port.
*/
public static int getDebugPortBase() {
return sDebugPortBase;
}
/**
* Sets the debug port used by the first {@link Client}.
* Once a port is used, the next Client will use port + 1. Quitting applications will
* release their debug port, and new clients will be able to reuse them.
* This must be called before {@link AndroidDebugBridge#init(boolean)}.
*/
public static void setDebugPortBase(int port) {
sDebugPortBase = port;
}
/**
* Returns the minimum {@link LogLevel} being displayed.
*/
public static LogLevel getLogLevel() {
return sLogLevel;
}
/**
* Sets the minimum {@link LogLevel} to display.
* This change takes effect right away.
*/
public static void setLogLevel(String value) {
sLogLevel = LogLevel.getByString(value);
Log.setLevel(sLogLevel);
}
/**
* Returns the timeout to be used in adb connections (milliseconds).
*/
public static int getTimeOut() {
return sTimeOut;
}
/**
* Sets the timeout value for adb connection.
* This change takes effect for newly created connections only.
* @param timeOut the timeout value (milliseconds).
*/
public static void setTimeOut(int timeOut) {
sTimeOut = timeOut;
}
/**
* Returns the profiler buffer size (megabytes).
*/
public static int getProfilerBufferSizeMb() {
return sProfilerBufferSizeMb;
}
/**
* Sets the profiler buffer size value.
* @param bufferSizeMb the buffer size (megabytes).
*/
public static void setProfilerBufferSizeMb(int bufferSizeMb) {
sProfilerBufferSizeMb = bufferSizeMb;
}
/**
* Returns a boolean indicating that the user uses or not the variable ADBHOST.
*/
public static boolean getUseAdbHost() {
return sUseAdbHost;
}
/**
* Sets the value of the boolean indicating that the user uses or not the variable ADBHOST.
* @param useAdbHost true if the user uses ADBHOST
*/
public static void setUseAdbHost(boolean useAdbHost) {
sUseAdbHost = useAdbHost;
}
/**
* Returns the value of the ADBHOST variable set by the user.
*/
public static String getAdbHostValue() {
return sAdbHostValue;
}
/**
* Sets the value of the ADBHOST variable.
* @param adbHostValue
*/
public static void setAdbHostValue(String adbHostValue) {
sAdbHostValue = adbHostValue;
}
/**
* Non accessible constructor.
*/
private DdmPreferences() {
// pass, only static methods in the class.
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy