|
|
|
@ -1,10 +1,13 @@
|
|
|
|
|
package com.todoroo.astrid.files;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
|
|
import android.app.Activity;
|
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
|
import android.view.Gravity;
|
|
|
|
|
import android.view.LayoutInflater;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.view.View.OnClickListener;
|
|
|
|
|
import android.widget.LinearLayout;
|
|
|
|
@ -18,6 +21,7 @@ import com.todoroo.andlib.service.Autowired;
|
|
|
|
|
import com.todoroo.andlib.service.DependencyInjectionService;
|
|
|
|
|
import com.todoroo.andlib.sql.Query;
|
|
|
|
|
import com.todoroo.andlib.utility.DateUtilities;
|
|
|
|
|
import com.todoroo.andlib.utility.DialogUtilities;
|
|
|
|
|
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
|
|
|
|
|
import com.todoroo.astrid.data.Metadata;
|
|
|
|
|
import com.todoroo.astrid.data.Task;
|
|
|
|
@ -31,6 +35,7 @@ public class FilesControlSet extends PopupControlSet {
|
|
|
|
|
|
|
|
|
|
private final ArrayList<Metadata> files = new ArrayList<Metadata>();
|
|
|
|
|
private final LinearLayout fileList;
|
|
|
|
|
private final LayoutInflater inflater;
|
|
|
|
|
|
|
|
|
|
public FilesControlSet(Activity activity, int viewLayout, int displayViewLayout, int title) {
|
|
|
|
|
super(activity, viewLayout, displayViewLayout, title);
|
|
|
|
@ -38,16 +43,18 @@ public class FilesControlSet extends PopupControlSet {
|
|
|
|
|
|
|
|
|
|
displayText.setText(activity.getString(R.string.TEA_control_files));
|
|
|
|
|
fileList = (LinearLayout) getDisplayView().findViewById(R.id.files_list);
|
|
|
|
|
inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void refreshDisplayView() {
|
|
|
|
|
fileList.removeAllViews();
|
|
|
|
|
for (final Metadata m : files) {
|
|
|
|
|
TextView textView = new TextView(activity);
|
|
|
|
|
View fileRow = inflater.inflate(R.layout.file_row, null);
|
|
|
|
|
|
|
|
|
|
TextView textView = (TextView) fileRow.findViewById(R.id.file_text);
|
|
|
|
|
String name = parseName(m);
|
|
|
|
|
textView.setText(name);
|
|
|
|
|
textView.setTextAppearance(activity, R.style.TextAppearance_EditRowDisplay);
|
|
|
|
|
if (m.getValue(FileMetadata.FILE_TYPE) == FileMetadata.FILE_TYPE_AUDIO) {
|
|
|
|
|
textView.setOnClickListener(new OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
@ -57,9 +64,28 @@ public class FilesControlSet extends PopupControlSet {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
View clearFile = fileRow.findViewById(R.id.remove_file);
|
|
|
|
|
clearFile.setOnClickListener(new OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
DialogUtilities.okCancelDialog(activity, "Are you sure? Cannont be undone",
|
|
|
|
|
new DialogInterface.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(DialogInterface dialog, int which) {
|
|
|
|
|
File f = new File(m.getValue(FileMetadata.FILE_PATH));
|
|
|
|
|
if (f.delete()) {
|
|
|
|
|
metadataService.delete(m);
|
|
|
|
|
files.remove(m);
|
|
|
|
|
refreshDisplayView();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}, null);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
|
|
|
|
|
lp.gravity = Gravity.RIGHT;
|
|
|
|
|
fileList.addView(textView, lp);
|
|
|
|
|
fileList.addView(fileRow, lp);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|