blob: b9b8fa6553a4d4dd21c6d8e56c1c98445971c08b [file] [log] [blame]
/*
* Copyright (C) 2015 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.tools.idea.sdk.remote.internal.sources;
import com.android.sdklib.repository.IDescription;
/**
* The category of a given {@link SdkSource} (which represents a download site).
*/
public enum SdkSourceCategory implements IDescription {
/**
* The default canonical and official Android repository.
*/
ANDROID_REPO("Android Repository", true),
/**
* Repositories contributed by the SDK_UPDATER_URLS env var,
* only used for local debugging.
*/
GETENV_REPOS("Custom Repositories", false),
/**
* All third-party add-ons fetched from the Android repository.
*/
ADDONS_3RD_PARTY("Third party Add-ons", true),
/**
* All add-ons contributed locally by the user via the "Add Add-on Site" button.
*/
USER_ADDONS("User Add-ons", false),
/**
* Add-ons contributed by the SDK_UPDATER_USER_URLS env var,
* only used for local debugging.
*/
GETENV_ADDONS("Custom Add-ons", false);
private final String mUiName;
private final boolean mAlwaysDisplay;
private SdkSourceCategory(String uiName, boolean alwaysDisplay) {
mUiName = uiName;
mAlwaysDisplay = alwaysDisplay;
}
/**
* Returns the UI-visible name of the category. Displayed in the available package tree.
* Cannot be null nor empty.
*/
public String getUiName() {
return mUiName;
}
/**
* True if this category must always be displayed by the available package tree, even
* if empty.
* When false, the category must not be displayed when empty.
*/
public boolean getAlwaysDisplay() {
return mAlwaysDisplay;
}
@Override
public String getLongDescription() {
return getUiName();
}
@Override
public String getShortDescription() {
return getUiName();
}
}