/** * Copyright (c) 2012 Todoroo Inc * * See the file "LICENSE" for the full license governing this code. */ package com.todoroo.astrid.backup; import java.io.File; import android.os.Environment; import edu.umd.cs.findbugs.annotations.CheckForNull; /** * Constants for backup XML attributes and nodes. * * @author Tim Su <tim@todoroo.com> * */ @SuppressWarnings("nls") public class BackupConstants { // Do NOT edit the constants in this file! You will break compatibility with old backups // --- general xml /** Tag containing Astrid backup data */ public static final String ASTRID_TAG = "astrid"; /** Attribute indicating application version */ public static final String ASTRID_ATTR_VERSION = "version"; /** Attribute indicating backup file format */ public static final String ASTRID_ATTR_FORMAT = "format"; // --- format 2 /** Tag containing a task */ public static final String TASK_TAG = "task"; /** Tag containing a metadata item */ public static final String METADATA_TAG = "metadata"; // --- format 1 public static final String TAG_TAG = "tag"; public static final String TAG_ATTR_NAME = "name"; public static final String ALERT_TAG = "alert"; public static final String ALERT_ATTR_DATE = "date"; public static final String SYNC_TAG = "sync"; public static final String SYNC_ATTR_SERVICE = "service"; public static final String SYNC_ATTR_REMOTE_ID = "remote_id"; // --- general public static final String XML_ENCODING = "utf-8"; public static final String ASTRID_DIR = "/astrid"; public static final String EXPORT_FILE_NAME = "user.%s.xml"; public static final String BACKUP_FILE_NAME = "auto.%s.xml"; public static final String UPGRADE_FILE_NAME = "upgradefrom.%s.xml"; // --- methods /** * @return export directory for tasks, or null if no SD card */ @CheckForNull public static File defaultExportDirectory() { String storageState = Environment.getExternalStorageState(); if (storageState.equals(Environment.MEDIA_MOUNTED)) { String path = Environment.getExternalStorageDirectory().getAbsolutePath(); path = path + ASTRID_DIR; return new File(path); } return null; } }