use of ve.com.abicelis.remindy.model.attachment.ImageAttachment in project Remindy by abicelis.
the class RemindyDAO method getAttachmentFromCursor.
private Attachment getAttachmentFromCursor(Cursor cursor) {
int id = cursor.getInt(cursor.getColumnIndex(RemindyContract.AttachmentTable._ID));
int reminderId = cursor.getInt(cursor.getColumnIndex(RemindyContract.AttachmentTable.COLUMN_NAME_TASK_FK.getName()));
AttachmentType attachmentType = AttachmentType.valueOf(cursor.getString(cursor.getColumnIndex(RemindyContract.AttachmentTable.COLUMN_NAME_TYPE.getName())));
String textContent = cursor.getString(cursor.getColumnIndex(RemindyContract.AttachmentTable.COLUMN_NAME_CONTENT_TEXT.getName()));
byte[] blobContent = cursor.getBlob(cursor.getColumnIndex(RemindyContract.AttachmentTable.COLUMN_NAME_CONTENT_BLOB.getName()));
switch(attachmentType) {
case AUDIO:
return new AudioAttachment(id, reminderId, textContent);
case IMAGE:
return new ImageAttachment(id, reminderId, blobContent, textContent);
case TEXT:
return new TextAttachment(id, reminderId, textContent);
case LINK:
return new LinkAttachment(id, reminderId, textContent);
case LIST:
return new ListAttachment(id, reminderId, textContent);
default:
throw new InvalidParameterException("AttachmentType is invalid. Value = " + attachmentType);
}
}
use of ve.com.abicelis.remindy.model.attachment.ImageAttachment in project Remindy by abicelis.
the class EditImageAttachmentActivity method onCreate.
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_image_attachment);
mContainer = (RelativeLayout) findViewById(R.id.activity_edit_image_attachment_container);
mImage = (ImageView) findViewById(R.id.activity_edit_image_attachment_image);
mCrop = (FloatingActionButton) findViewById(R.id.activity_edit_image_attachment_crop);
mRotate = (FloatingActionButton) findViewById(R.id.activity_edit_image_attachment_rotate);
mCamera = (FloatingActionButton) findViewById(R.id.activity_edit_image_attachment_camera);
mOk = (Button) findViewById(R.id.activity_edit_image_attachment_ok);
mCancel = (Button) findViewById(R.id.activity_edit_image_attachment_cancel);
if (savedInstanceState != null) {
//Rotated screen!
mImageAttachment = (ImageAttachment) savedInstanceState.getSerializable(IMAGE_ATTACHMENT_EXTRA);
mHolderPosition = savedInstanceState.getInt(HOLDER_POSITION_EXTRA);
mEditingExistingImageAttachment = savedInstanceState.getBoolean(EDITING_ATTACHMENT_EXTRA);
mImageBackup = ImageUtil.getBitmap(new File(FileUtil.getImageAttachmentDir(this), mImageAttachment.getImageFilename()));
if (mImageBackup == null) {
//IF image was deleted from device
mImageBackup = ImageUtil.getBitmap(mImageAttachment.getThumbnail());
saveThumbnailAsImageFile(mImageBackup);
}
mImage.setImageBitmap(mImageBackup);
} else {
if (getIntent().hasExtra(HOLDER_POSITION_EXTRA) && getIntent().hasExtra(IMAGE_ATTACHMENT_EXTRA)) {
mHolderPosition = getIntent().getIntExtra(HOLDER_POSITION_EXTRA, -1);
mImageAttachment = (ImageAttachment) getIntent().getSerializableExtra(IMAGE_ATTACHMENT_EXTRA);
if (mImageAttachment.getImageFilename() != null && !mImageAttachment.getImageFilename().isEmpty()) {
mImageBackup = ImageUtil.getBitmap(new File(FileUtil.getImageAttachmentDir(this), mImageAttachment.getImageFilename()));
if (mImageBackup == null) {
//IF image was deleted from device
mImageBackup = ImageUtil.getBitmap(mImageAttachment.getThumbnail());
saveThumbnailAsImageFile(mImageBackup);
}
mEditingExistingImageAttachment = true;
mImage.setImageBitmap(mImageBackup);
} else {
mImageAttachment = new ImageAttachment();
mImageAttachment.setImageFilename(UUID.randomUUID().toString() + IMAGE_FILE_EXTENSION);
handleShowCameraGalleryDialog();
}
} else {
BaseTransientBottomBar.BaseCallback<Snackbar> callback = new BaseTransientBottomBar.BaseCallback<Snackbar>() {
@Override
public void onDismissed(Snackbar transientBottomBar, int event) {
super.onDismissed(transientBottomBar, event);
setResult(RESULT_CANCELED);
finish();
}
};
Log.e(TAG, "Missing HOLDER_POSITION_EXTRA and/or IMAGE_ATTACHMENT_EXTRA parameters in EditImageAttachmentActivity.");
SnackbarUtil.showSnackbar(mContainer, SnackbarUtil.SnackbarType.ERROR, R.string.error_unexpected, SnackbarUtil.SnackbarDuration.LONG, callback);
finish();
}
// mImageAttachment = new ImageAttachment(new byte[0], "09ce7135-86d6-4d93-bcc5-1fbff5651d0f.jpg");
// mImageBackup = ImageUtil.getBitmap(new File(FileUtil.getImageAttachmentDir(this), mImageAttachment.getImageFilename()));
// mEditingExistingImageAttachment = true;
// mImage.setImageBitmap(mImageBackup);
}
mRotation = 0;
mCrop.setOnClickListener(this);
mRotate.setOnClickListener(this);
mCamera.setOnClickListener(this);
mOk.setOnClickListener(this);
mCancel.setOnClickListener(this);
}
use of ve.com.abicelis.remindy.model.attachment.ImageAttachment in project Remindy by abicelis.
the class TaskFragment method onClick.
@Override
public void onClick(View v) {
int id = v.getId();
mAttachmentsFabMenu.close(true);
if (!mHeadersVisible) {
fadeInHeaders();
mHeadersVisible = true;
}
switch(id) {
case R.id.fragment_task_add_list_attachment:
addAttachment(new ListAttachment());
break;
case R.id.fragment_task_add_text_attachment:
addAttachment(new TextAttachment(""));
break;
case R.id.fragment_task_add_link_attachment:
addAttachment(new LinkAttachment(""));
break;
case R.id.fragment_task_add_image_attachment:
addAttachment(new ImageAttachment());
break;
case R.id.fragment_task_add_audio_attachment:
addAttachment(new AudioAttachment());
break;
}
//Scroll to added item
if (mAdapter.getItemCount() > 0)
mRecyclerView.smoothScrollToPosition(mAdapter.getItemCount() - 1);
}
use of ve.com.abicelis.remindy.model.attachment.ImageAttachment in project Remindy by abicelis.
the class TaskDetailActivity method onClick.
@Override
public void onClick(View v) {
int id = v.getId();
mAttachmentsFabMenu.close(true);
switch(id) {
case R.id.activity_task_detail_add_list_attachment:
addAttachment(new ListAttachment());
break;
case R.id.activity_task_detail_add_text_attachment:
addAttachment(new TextAttachment(""));
break;
case R.id.activity_task_detail_add_link_attachment:
addAttachment(new LinkAttachment(""));
break;
case R.id.activity_task_detail_add_image_attachment:
addAttachment(new ImageAttachment());
break;
case R.id.activity_task_detail_add_audio_attachment:
addAttachment(new AudioAttachment());
break;
case R.id.activity_task_detail_done_button:
if (mTask.getDoneDate() == null) {
mTask.setDoneDate(CalendarUtil.getNewInstanceZeroedCalendar());
mTask.setStatus(TaskStatus.DONE);
} else {
mTask.setDoneDate(null);
mTask.setStatus((mTask.getReminderType() == ReminderType.NONE ? TaskStatus.UNPROGRAMMED : TaskStatus.PROGRAMMED));
}
mTaskDataUpdated = true;
//Force a TASK_DETAIL_RETURN_ACTION_EDITED_REMINDER state.
mOldReminderJson = "!";
setUpDoneOrOverdue();
break;
}
//Scroll to added item
if (mAdapter != null && mAdapter.getItemCount() > 0)
mRecyclerView.smoothScrollToPosition(mAdapter.getItemCount() - 1);
}
use of ve.com.abicelis.remindy.model.attachment.ImageAttachment in project Remindy by abicelis.
the class ViewImageAttachmentActivity method onActivityResult.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == EditImageAttachmentActivity.EDIT_IMAGE_ATTACHMENT_REQUEST_CODE && resultCode == RESULT_OK) {
int position = data.getIntExtra(EditImageAttachmentActivity.HOLDER_POSITION_EXTRA, -1);
ImageAttachment imageAttachment = (ImageAttachment) data.getSerializableExtra(EditImageAttachmentActivity.IMAGE_ATTACHMENT_EXTRA);
mHolderPosition = position;
mImageAttachment = imageAttachment;
mImage.setImageBitmap(ImageUtil.getBitmap(new File(FileUtil.getImageAttachmentDir(this), mImageAttachment.getImageFilename())));
}
}
Aggregations