/*
* Copyright 2014 Bevbot LLC <info@bevbot.com>
*
* This file is part of the Kegtab package from the Kegbot project. For
* more information on Kegtab or Kegbot, see <http://kegbot.org/>.
*
* Kegtab is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation, version 2.
*
* Kegtab is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with Kegtab. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kegbot.app.config;
import static org.kegbot.app.config.AppConfiguration.FALSE;
import static org.kegbot.app.config.AppConfiguration.TRUE;
/**
* Configuration items used by the application. Enum names are used as the key in a backing store.
*
* @author mike wakerly (opensource@hoho.com)
*/
enum ConfigKey {
SETUP_VERSION("0"),
LOCAL_BACKEND(FALSE),
KEGBOT_URL(""),
API_KEY(""),
USERNAME(""),
PIN(""),
REGISTRATION_ID(""),
ALLOW_REGISTRATION(TRUE),
ALLOW_MANUAL_LOGIN(TRUE),
CACHE_CREDENTIALS(TRUE),
RUN_CORE(TRUE),
ENABLE_AUTOMATIC_FLOW_START(TRUE),
USE_CAMERA(TRUE),
AUTO_TAKE_PHOTOS(TRUE),
TAKE_PHOTOS_DURING_REGISTRATION(FALSE),
TAKE_PHOTOS_DURING_POUR(TRUE),
ENABLE_CAMERA_SOUNDS(TRUE),
FLOW_MINIMUM_VOLUME_ML("10"),
FLOW_IDLE_TIMEOUT_SECONDS("90"),
FLOW_IDLE_WARNING_SECONDS("60"),
ATTRACT_MODE(TRUE),
GCM_REGISTRATION_ID(""),
GCM_REGISTRATION_APP_VERSION("0"),
LAST_CHECKIN_ATTEMPT_MILLIS(String.valueOf(Long.MIN_VALUE)),
LAST_CHECKIN_SUCCESS_MILLIS(String.valueOf(Long.MIN_VALUE)),
LAST_CHECKIN_STATUS(""),
UPDATE_REQUIRED(FALSE),
UPDATE_AVAILABLE(FALSE),
VOLUME_UNITS_METRIC(FALSE),
TEMPERATURE_UNITS_CELSIUS(FALSE),
STAY_AWAKE(TRUE),
KEEP_SCREEN_ON(TRUE),
WAKE_DURING_POUR(FALSE),
EMAIL_ADDRESS(""),
LAST_USED_KEG_SIZE(""),
NETWORK_CONTROLLER_HOST(""),
NETWORK_CONTROLLER_PORT("8321");
private final String mDefaultValue;
ConfigKey(String defaultValue) {
mDefaultValue = defaultValue;
}
/**
* Returns the key name that should be used.
*
* @return the key name
*/
String getName() {
return name();
}
String getDefault() {
return mDefaultValue;
}
}