/*
* Copyright 2011-2012 the original author or authors.
*
* This program 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, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
*/
package piuk.blockchain.android;
import java.io.File;
import java.math.BigInteger;
import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import android.text.format.DateUtils;
import com.google.bitcoin.core.NetworkParameters;
import com.google.bitcoin.core.Utils;
import com.google.bitcoin.params.MainNetParams;
import piuk.blockchain.android.R;
/**
* @author Andreas Schildbach
*/
public class Constants {
public static final boolean TEST = false; // replace protected
public static final NetworkParameters NETWORK_PARAMETERS = TEST ? NetworkParameters
.testNet() : MainNetParams.get();
public static final String WALLET_FILENAME_PROTOBUF = "wallet-protobuf";
public static final String PREFS_KEY_BEST_CHAIN_HEIGHT_EVER = "best_chain_height_ever";
public static final String EARLIEST_KEY_TIME = "earliest_key_time";
public static final long REBROADCAST_TIME = 60000;
public static final String BLOCKCHAIN_DOMAIN = "blockchain.info";
static final String WALLET_FILENAME = "wallet.aes.json";
static final String MULTIADDR_FILENAME = "multiaddr.cache.json";
public static final long BLOCKCHAIN_UPTODATE_THRESHOLD_MS = DateUtils.HOUR_IN_MILLIS;
public static final String CHECKPOINTS_FILENAME = "checkpoints";
static final String EXCEPTION_LOG = "exception.log";
static final boolean isAmazon = false;
public static final String SENDER_ID = "789483738880";
public static final String DISPLAY_MESSAGE_ACTION = "piuk.blockchain.android.DISPLAY_MESSAGE";
public static final String TITLE = "title";
public static final String BODY = "body";
public final static long MultiAddrTimeThreshold = 10000; // 10 seconds
public final static long NetworkErrorDisplayThreshold = 60000; // 60 seconds
public final static long COIN = 100000000;
public static final File EXTERNAL_WALLET_BACKUP_DIR = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
private static final String WALLET_KEY_BACKUP_BASE58_PROD = "key-backup-base58";
private static final String WALLET_KEY_BACKUP_BASE58_TEST = "key-backup-base58-testnet";
public static final String WALLET_KEY_BACKUP_BASE58 = Constants.TEST ? WALLET_KEY_BACKUP_BASE58_TEST
: WALLET_KEY_BACKUP_BASE58_PROD;
private static final int WALLET_MODE_PROD = Context.MODE_PRIVATE;
private static final int WALLET_MODE_TEST = Context.MODE_WORLD_READABLE
| Context.MODE_WORLD_WRITEABLE;
public static final int WALLET_MODE = Constants.TEST ? WALLET_MODE_TEST
: WALLET_MODE_PROD;
private static final String WALLET_KEY_BACKUP_SNAPSHOT_PROD = "key-backup-snapshot";
private static final String WALLET_KEY_BACKUP_SNAPSHOT_TEST = "key-backup-snapshot-testnet";
public static final String WALLET_KEY_BACKUP_SNAPSHOT = Constants.TEST ? WALLET_KEY_BACKUP_SNAPSHOT_TEST
: WALLET_KEY_BACKUP_SNAPSHOT_PROD;
private static final String BLOCKCHAIN_SNAPSHOT_FILENAME_PROD = "blockchain-snapshot.jpg";
private static final String BLOCKCHAIN_SNAPSHOT_FILENAME_TEST = "blockchain-snapshot-testnet.jpg";
public static final String BLOCKCHAIN_SNAPSHOT_FILENAME = Constants.TEST ? BLOCKCHAIN_SNAPSHOT_FILENAME_TEST
: BLOCKCHAIN_SNAPSHOT_FILENAME_PROD;
private static final String BLOCKCHAIN_FILENAME_PROD = "blockchain";
private static final String BLOCKCHAIN_FILENAME_TEST = "blockchain-testnet";
public static final String BLOCKCHAIN_FILENAME = TEST ? BLOCKCHAIN_FILENAME_TEST
: BLOCKCHAIN_FILENAME_PROD;
public static final String PEER_DISCOVERY_IRC_CHANNEL_PROD = "#bitcoin";
public static final String PEER_DISCOVERY_IRC_CHANNEL_TEST = "#bitcoinTEST";
private static final String PACKAGE_NAME_PROD = "piuk.blockchain.android";
private static final String PACKAGE_NAME_TEST = "piuk.blockchain.android"
+ '_' + "test"; // replace protected
public static final String PACKAGE_NAME = TEST ? PACKAGE_NAME_TEST
: PACKAGE_NAME_PROD;
public static final int APP_ICON_RESID = R.drawable.app_icon;
public static final String MIMETYPE_TRANSACTION = "application/x-btctx";
public static final int MAX_CONNECTED_PEERS = 6;
public static final String USER_AGENT = "Blockchain";
public static final String DEFAULT_EXCHANGE_CURRENCY = "USD";
public static final int WALLET_OPERATION_STACK_SIZE = 256 * 1024;
public static final int BLOCKCHAIN_DOWNLOAD_THRESHOLD_MS = 5000;
public static final int BLOCKCHAIN_STATE_BROADCAST_THROTTLE_MS = 1500;
public static final int BLOCKCHAIN_UPTODATE_THRESHOLD_HOURS = 1;
public static final int SHUTDOWN_REMOVE_NOTIFICATION_DELAY = 2000;
public static final String CURRENCY_CODE_BITCOIN = "BTC";
public static final String THIN_SPACE = "\u2009";
public static final String CURRENCY_PLUS_SIGN = "+" + THIN_SPACE;
public static final String CURRENCY_MINUS_SIGN = "-" + THIN_SPACE;
public static final int ADDRESS_FORMAT_LINE_SIZE = 12;
public static final String DISCLAIMER = "http://"+Constants.BLOCKCHAIN_DOMAIN+"/disclaimer";
public static final String PRIVACY_POLICY = "http://"+Constants.BLOCKCHAIN_DOMAIN+"/privacy";
public static final String LICENSE_URL = "http://www.gnu.org/licenses/gpl-3.0.txt";
public static final String SOURCE_URL = "https://github.com/blockchain/My-Wallet-Android/";
public static final String CREDITS_BITCOINJ_URL = "http://code.google.com/p/bitcoinj/";
public static final String CREDITS_ZXING_URL = "http://code.google.com/p/zxing/";
public static final String CREDITS_BITCON_WALLET_ANDROID = "http://code.google.com/p/bitcoin-wallet/";
public static final String AUTHOR_TWITTER_URL = "http://twitter.com/android_bitcoin";
public static final String AUTHOR_GOOGLEPLUS_URL = "https://profiles.google.com/andreas.schildbach";
public static final String MARKET_APP_URL = "market://details?id=%s";
public static final String WEBMARKET_APP_URL = isAmazon ? "http://www.amazon.com/gp/mas/dl/android?p=%s"
: "https://play.google.com/store/apps/details?id=%s";
public static final Intent INTENT_QR_SCANNER = new Intent(
"com.google.zxing.client.android.SCAN").putExtra("SCAN_MODE",
"QR_CODE_MODE");
public static final String PACKAGE_NAME_ZXING = "com.google.zxing.client.android";
public static final String PREFS_KEY = "general";
public static final String PREFS_KEY_LAST_VERSION = "last_version";
public static final String PREFS_KEY_AUTOSYNC = "autosync";
public static final String PREFS_KEY_SELECTED_ADDRESS = "selected_address";
public static final String PREFS_KEY_EXCHANGE_CURRENCY = "exchange_currency";
public static final String PREFS_KEY_TRUSTED_PEER = "trusted_peer";
public static final String PREFS_KEY_INITIATE_RESET = "initiate_reset";
public static final BigInteger FEE_THRESHOLD_MIN = Utils
.toNanoCoins("0.01");
}