aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/SdkToolsLocator.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/SdkToolsLocator.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/SdkToolsLocator.java116
1 files changed, 0 insertions, 116 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/SdkToolsLocator.java b/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/SdkToolsLocator.java
deleted file mode 100644
index bd8ef60cb..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.monitor/src/com/android/ide/eclipse/monitor/SdkToolsLocator.java
+++ /dev/null
@@ -1,116 +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;
-
-import com.android.SdkConstants;
-import com.android.ide.eclipse.ddms.IToolsLocator;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * {@link SdkToolsLocator} has two functions: <ul>
- * <li> It implements all the methods of {@link IToolsLocator} interface, and
- * so can be used as such. </li>
- * <li> It provides the {@link #isValidInstallation()} method to check the validity
- * of an installation. </li>
- * The only reason this class does not explicitly implement the {@link IToolsLocator} interface
- * is that it is used very early during the startup to check the validity of the installation.
- * Actually implementing that interface causes other bundles to be activated before the
- * Eclipse Platform is fully initialized, resulting in startup error.
- */
-public class SdkToolsLocator {
- 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$
-
- private final File mSdkFolder;
-
- public SdkToolsLocator(File sdkFolder) {
- mSdkFolder = sdkFolder;
- }
-
- public String getAdbLocation() {
- return new File(getSdkPlatformToolsFolder(), SdkConstants.FN_ADB).getAbsolutePath();
- }
-
- public String getTraceViewLocation() {
- return new File(getSdkToolsFolder(), FN_TRACEVIEW).getAbsolutePath();
- }
-
- public String getHprofConvLocation() {
- return new File(getSdkPlatformToolsFolder(), FN_HPROF_CONV).getAbsolutePath();
- }
-
- private String getSdkToolsFolder() {
- return new File(mSdkFolder, SdkConstants.FD_TOOLS).getAbsolutePath();
- }
-
- private String getSdkPlatformToolsFolder() {
- return new File(mSdkFolder, SdkConstants.FD_PLATFORM_TOOLS).getAbsolutePath();
- }
-
- public SdkInstallStatus isValidInstallation() {
- List<String> executables = Arrays.asList(
- getTraceViewLocation(),
- getHprofConvLocation());
-
- for (String exe : executables) {
- File f = new File(exe);
- if (!f.exists()) {
- return SdkInstallStatus.invalidInstallation(exe + " not present.");
- }
- if (!f.canExecute()) {
- return SdkInstallStatus.invalidInstallation(exe + " is not executable.");
- }
- }
-
- return SdkInstallStatus.VALID;
- }
-
- public static class SdkInstallStatus {
- private boolean mValid;
- private String mCause;
-
- private SdkInstallStatus(boolean valid, String errorMessage) {
- mValid = valid;
- mCause = errorMessage;
- }
-
- public boolean isValid() {
- return mValid;
- }
-
- public String getErrorMessage() {
- return mCause;
- }
-
- public static final SdkInstallStatus VALID = new SdkInstallStatus(true, "");
-
- public static SdkInstallStatus invalidInstallation(String errorMessage) {
- return new SdkInstallStatus(false, errorMessage);
- }
- }
-}