public static BackupResult simpleBackup(Context context, String appName) { BackupResult result = new BackupResult(); String dbName = ODKFileUtils.getBackupFolder(appName) + generateFileName(context); result.setDatabaseFileName(dbName); FileInputStream fromFile = null; FileOutputStream toFile = null; FileChannel from = null; FileChannel to = null; try { fromFile = new FileInputStream(ODKFileUtils.getCensusDbFullPath(appName)); toFile = new FileOutputStream(dbName); from = fromFile.getChannel(); to = toFile.getChannel(); from.transferTo(0, from.size(), to); result.setSuccess(true); } catch (FileNotFoundException e) { result.setSuccess(false); e.printStackTrace(); } catch (IOException e) { result.setSuccess(false); e.printStackTrace(); } finally { if (fromFile != null) { try { fromFile.close(); } catch (IOException e) { e.printStackTrace(); } } if (toFile != null) { try { toFile.close(); } catch (IOException e) { e.printStackTrace(); } } if (from != null) { try { from.close(); } catch (IOException e) { e.printStackTrace(); } } if (to != null) { try { to.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
@SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setAppName("survey"); setContentView(R.layout.place_name_dialog); mLoadButtonContainer = (RelativeLayout) findViewById(R.id.loadButtonContainer); mLoadImageButton = (ImageButton) findViewById(R.id.loadImageButton); mPurgeButtonContainer = (RelativeLayout) findViewById(R.id.prugeButtonContainer); mPurgeImageButton = (ImageButton) findViewById(R.id.purgeImageButton); mLoadPlaceTask = (LoadPlaceTask) getLastNonConfigurationInstance(); if (mLoadPlaceTask != null) { // setup dialog and upload task // showDialog(PROGRESS_DIALOG); // register this activity with the new loader task mLoadPlaceTask.setListener(PlaceListActivity.this); } else { mMessageTextView = (TextView) findViewById(R.id.messageTextView); File db_file = new File( ODKFileUtils.getPlaceNameDbFolder(getAppName()) + File.separator + PlaceNameDatabaseHelper.PLACE_NAME_DATABASE_NAME); if (db_file.exists() == false) { File csv_file = new File(ODKFileUtils.getPlaceNameCsvFile(getAppName())); if (csv_file.exists() == false) { mMessageTextView.setText( getString( R.string.unable_to_find_config_file, ODKFileUtils.getPlaceNameDbFolder(getAppName()))); disableButtons(); } } else { // Count place name list loaded in the database and prepare the // message // to display accordingly. long count = PlaceNameUtil.getCount(this); if (count == 0) { mMessageTextView.setText(R.string.load_place_list); } else if (count == 1) { mMessageTextView.setText(R.string.one_place_list); } else { /* * int resourceId = this.getResources().getIdentifier( * "many_place_list", "string", this.getPackageName()); */ mMessageTextView.setText(getString(R.string.many_place_list, String.valueOf(count))); // + this.getString(resourceId)); } } } }
@SuppressWarnings("deprecation") public void loadClickListener(View v) { File csv_file = new File(ODKFileUtils.getPlaceNameCsvFile(getAppName())); if (csv_file.exists() == true) { disableButtons(); showDialog(PROGRESS_DIALOG); mLoadPlaceTask = new LoadPlaceTask(); mLoadPlaceTask.setApplication(getApplication()); mLoadPlaceTask.setAppName(getAppName()); mLoadPlaceTask.setListener(PlaceListActivity.this); mLoadPlaceTask.execute(); } else { mMessageTextView.setText( getString( R.string.unable_to_find_config_file, ODKFileUtils.getPlaceNameCsvFile(getAppName()))); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String appName = null; String uriFragmentToMedia = null; Bundle extras = getIntent().getExtras(); if (extras != null) { appName = extras.getString(APP_NAME); uriFragmentToMedia = extras.getString(URI_FRAGMENT); } if (savedInstanceState != null) { appName = savedInstanceState.getString(APP_NAME); uriFragmentToMedia = savedInstanceState.getString(URI_FRAGMENT); } if (appName == null) { throw new IllegalArgumentException( "Expected " + APP_NAME + " key in intent bundle. Not found."); } if (uriFragmentToMedia == null) { throw new IllegalArgumentException( "Expected " + URI_FRAGMENT + " key in intent bundle. Not found."); } File f = ODKFileUtils.getAsFile(appName, uriFragmentToMedia); int del = MediaUtils.deleteImageFileFromMediaProvider(this, appName, f.getAbsolutePath()); WebLogger.getLogger(appName) .i( t, "Deleted " + del + " matching entries for " + URI_FRAGMENT + ": " + uriFragmentToMedia); Intent i = new Intent(); i.putExtra(URI_FRAGMENT, uriFragmentToMedia); i.putExtra("deleteCount", del); setResult(Activity.RESULT_OK, i); finish(); }
public static List<BackupDatabase> getAllBackups(String appName) { List<BackupDatabase> result = new ArrayList<BackupDatabase>(); File backupDir = new File(ODKFileUtils.getBackupFolder(appName)); File[] files = backupDir.listFiles(); for (File file : files) { if (file.isFile() && file.getName().endsWith(".db")) { BackupDatabase dbFile = new BackupDatabase(); dbFile.setPath(file.getPath()); dbFile.setName(file.getName()); Date lastModified = new Date(file.lastModified()); SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); String formattedDateString = formatter.format(lastModified); dbFile.setDateCreated(formattedDateString); dbFile.setLongDateCreated(file.lastModified()); result.add(dbFile); } } return result; }