Prepare things for file syncing

pull/14/head
Sam Bosley 12 years ago
parent 81be7a185c
commit fd25000972

@ -54,6 +54,7 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskApiDao;
import com.todoroo.astrid.data.Update;
import com.todoroo.astrid.data.User;
import com.todoroo.astrid.files.FileMetadata;
import com.todoroo.astrid.helper.ImageDiskCache;
import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.StatisticsConstants;
@ -1269,6 +1270,17 @@ public final class ActFmSyncService {
}
}
public static void taskAttachmentFromJson(JSONObject json, Metadata model) throws JSONException {
model.clearValue(FileMetadata.REMOTE_ID);
long remoteId = json.getLong("id");
if (remoteId > 0)
model.setValue(FileMetadata.REMOTE_ID, remoteId);
model.setValue(FileMetadata.URL, json.getString("url"));
model.setValue(FileMetadata.FILE_TYPE, json.getString("content_type"));
}
/** Filter out FROM */
private static String filterRepeat(String repeat) {
return repeat.replaceAll("BYDAY=;","").replaceAll(";?FROM=[^;]*", "");

@ -85,12 +85,12 @@ public class AACRecordingActivity extends Activity implements AACRecorderCallbac
public void encodingFinished() {
try {
StringBuilder filePathBuilder = new StringBuilder();
filePathBuilder.append(getExternalFilesDir(FileMetadata.AUDIO_DIRECTORY).toString())
filePathBuilder.append(getExternalFilesDir(FileMetadata.FILES_DIRECTORY).toString())
.append(File.separator)
.append(taskId)
.append("_")
.append(DateUtilities.now())
.append("_audio.mp4");
.append("_audio.m4a");
String outFile = filePathBuilder.toString();
new AACToM4A().convert(this, tempFile, outFile);

@ -1,6 +1,5 @@
package com.todoroo.astrid.files;
import com.todoroo.andlib.data.Property.IntegerProperty;
import com.todoroo.andlib.data.Property.LongProperty;
import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.utility.DateUtilities;
@ -11,29 +10,35 @@ public class FileMetadata {
/** metadata key */
public static final String METADATA_KEY = "file"; //$NON-NLS-1$
public static final String AUDIO_DIRECTORY = "audio"; //$NON-NLS-1$
public static final String FILES_DIRECTORY = "attachments"; //$NON-NLS-1$
/** Constants for file types */
public static final int FILE_TYPE_AUDIO = 0;
public static final int FILE_TYPE_IMG = 1;
public static final int FILE_TYPE_OTHER = 2;
public static final String FILE_TYPE_AUDIO = "audio/m4a"; //$NON-NLS-1$
public static final String FILE_TYPE_IMG = "image/png"; //$NON-NLS-1$
public static final StringProperty FILE_PATH = new StringProperty(Metadata.TABLE,
Metadata.VALUE1.name);
public static final IntegerProperty FILE_TYPE = new IntegerProperty(Metadata.TABLE,
public static final StringProperty FILE_TYPE = new StringProperty(Metadata.TABLE,
Metadata.VALUE2.name);
public static final LongProperty ATTACH_DATE = new LongProperty(Metadata.TABLE,
Metadata.VALUE3.name);
public static Metadata createNewFileMetadata(long taskId, String filePath, int fileType) {
public static final LongProperty REMOTE_ID = new LongProperty(Metadata.TABLE,
Metadata.VALUE4.name);
public static final StringProperty URL = new StringProperty(Metadata.TABLE,
Metadata.VALUE5.name);
public static Metadata createNewFileMetadata(long taskId, String filePath, String fileType) {
Metadata metadata = new Metadata();
metadata.setValue(Metadata.KEY, METADATA_KEY);
metadata.setValue(Metadata.TASK, taskId);
metadata.setValue(FILE_PATH, filePath);
metadata.setValue(FILE_TYPE, fileType);
metadata.setValue(REMOTE_ID, 0L);
metadata.setValue(ATTACH_DATE, DateUtilities.now());
return metadata;
}

@ -138,18 +138,16 @@ public class FilesControlSet extends PopupControlSet {
}
private void setupFileClickListener(View view, final Metadata m) {
int fileType = m.getValue(FileMetadata.FILE_TYPE);
String fileType = m.getValue(FileMetadata.FILE_TYPE);
final String filePath = m.getValue(FileMetadata.FILE_PATH);
switch(fileType) {
case FileMetadata.FILE_TYPE_AUDIO:
if (FileMetadata.FILE_TYPE_AUDIO.equals(fileType)) {
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
RecognizerApi.play(m.getValue(FileMetadata.FILE_PATH));
}
});
break;
case FileMetadata.FILE_TYPE_IMG:
} else if (FileMetadata.FILE_TYPE_IMG.equals(fileType)) {
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@ -175,7 +173,6 @@ public class FilesControlSet extends PopupControlSet {
image.show();
}
});
break;
}
}

@ -1051,7 +1051,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
return;
}
createNewFileAttachment(dst.getAbsolutePath(), FileMetadata.FILE_TYPE_OTHER);
createNewFileAttachment(dst.getAbsolutePath(), "");
}
@SuppressWarnings("nls")
@ -1077,7 +1077,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
}
}
private void createNewFileAttachment(String path, int fileType) {
private void createNewFileAttachment(String path, String fileType) {
Metadata fileMetadata = FileMetadata.createNewFileMetadata(model.getId(), path, fileType);
metadataService.save(fileMetadata);
filesControlSet.refreshMetadata();

@ -338,7 +338,7 @@ public class QuickAddBar extends LinearLayout implements RecognizerApiListener {
.append(task.getId())
.append("_")
.append(DateUtilities.now())
.append("_audio.mp4");
.append("_audio.m4a");
String filePath = filePathBuilder.toString();
System.err.println("Saving to " + filePath);
voiceRecognizer.convert(filePath);

Loading…
Cancel
Save