public void onResizeResult(PduPart part, boolean append) { Context context = SlideEditorActivity.this; if (part == null) { Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getPictureString()), Toast.LENGTH_SHORT) .show(); return; } try { long messageId = ContentUris.parseId(mUri); PduPersister persister = PduPersister.getPduPersister(context); Uri newUri = persister.persistPart(part, messageId); mSlideshowEditor.changeImage(mPosition, newUri); setReplaceButtonText(R.string.replace_image); } catch (MmsException e) { notifyUser("add picture failed"); Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getPictureString()), Toast.LENGTH_SHORT) .show(); } catch (UnsupportContentTypeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.unsupported_media_format, getPictureString()), getResourcesString(R.string.select_different_media, getPictureString())); } catch (ResolutionException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.failed_to_resize_image), getResourcesString(R.string.resize_image_error_information)); } catch (ExceedMessageSizeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.exceed_message_size_limitation), getResourcesString(R.string.failed_to_add_media, getPictureString())); } }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != RESULT_OK) { return; } switch (requestCode) { case REQUEST_CODE_EDIT_TEXT: // XXX where does this come from? Action is probably not the // right place to have the text... mSlideshowEditor.changeText(mPosition, data.getAction()); break; case REQUEST_CODE_TAKE_PICTURE: Uri pictureUri = null; boolean showError = false; try { pictureUri = TempFileProvider.renameScrapFile(".jpg", Integer.toString(mPosition), this); if (pictureUri == null) { showError = true; } else { mSlideshowEditor.changeImage(mPosition, pictureUri); setReplaceButtonText(R.string.replace_image); } } catch (MmsException e) { Log.e(TAG, "add image failed", e); showError = true; } catch (UnsupportContentTypeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.unsupported_media_format, getPictureString()), getResourcesString(R.string.select_different_media, getPictureString())); } catch (ResolutionException e) { MessageUtils.resizeImageAsync( this, pictureUri, new Handler(), mResizeImageCallback, false); } catch (ExceedMessageSizeException e) { MessageUtils.resizeImageAsync( this, pictureUri, new Handler(), mResizeImageCallback, false); } if (showError) { notifyUser("add picture failed"); Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getPictureString()), Toast.LENGTH_SHORT) .show(); } break; case REQUEST_CODE_CHANGE_PICTURE: try { mSlideshowEditor.changeImage(mPosition, data.getData()); setReplaceButtonText(R.string.replace_image); } catch (MmsException e) { Log.e(TAG, "add image failed", e); notifyUser("add picture failed"); Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getPictureString()), Toast.LENGTH_SHORT) .show(); } catch (UnsupportContentTypeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.unsupported_media_format, getPictureString()), getResourcesString(R.string.select_different_media, getPictureString())); } catch (ResolutionException e) { MessageUtils.resizeImageAsync( this, data.getData(), new Handler(), mResizeImageCallback, false); } catch (ExceedMessageSizeException e) { MessageUtils.resizeImageAsync( this, data.getData(), new Handler(), mResizeImageCallback, false); } break; case REQUEST_CODE_CHANGE_MUSIC: case REQUEST_CODE_RECORD_SOUND: Uri uri; if (requestCode == REQUEST_CODE_CHANGE_MUSIC) { uri = (Uri) data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); if (Settings.System.DEFAULT_RINGTONE_URI.equals(uri)) { return; } } else { uri = data.getData(); } try { mSlideshowEditor.changeAudio(mPosition, uri); } catch (MmsException e) { Log.e(TAG, "add audio failed", e); notifyUser("add music failed"); Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getAudioString()), Toast.LENGTH_SHORT) .show(); } catch (UnsupportContentTypeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.unsupported_media_format, getAudioString()), getResourcesString(R.string.select_different_media, getAudioString())); } catch (ExceedMessageSizeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.exceed_message_size_limitation), getResourcesString(R.string.failed_to_add_media, getAudioString())); } break; case REQUEST_CODE_TAKE_VIDEO: try { Uri videoUri = TempFileProvider.renameScrapFile(".3gp", Integer.toString(mPosition), this); mSlideshowEditor.changeVideo(mPosition, videoUri); } catch (MmsException e) { notifyUser("add video failed"); Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getVideoString()), Toast.LENGTH_SHORT) .show(); } catch (UnsupportContentTypeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.unsupported_media_format, getVideoString()), getResourcesString(R.string.select_different_media, getVideoString())); } catch (ExceedMessageSizeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.exceed_message_size_limitation), getResourcesString(R.string.failed_to_add_media, getVideoString())); } break; case REQUEST_CODE_CHANGE_VIDEO: try { mSlideshowEditor.changeVideo(mPosition, data.getData()); } catch (MmsException e) { Log.e(TAG, "add video failed", e); notifyUser("add video failed"); Toast.makeText( SlideEditorActivity.this, getResourcesString(R.string.failed_to_add_media, getVideoString()), Toast.LENGTH_SHORT) .show(); } catch (UnsupportContentTypeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.unsupported_media_format, getVideoString()), getResourcesString(R.string.select_different_media, getVideoString())); } catch (ExceedMessageSizeException e) { MessageUtils.showErrorDialog( SlideEditorActivity.this, getResourcesString(R.string.exceed_message_size_limitation), getResourcesString(R.string.failed_to_add_media, getVideoString())); } break; case REQUEST_CODE_CHANGE_DURATION: mSlideshowEditor.changeDuration(mPosition, Integer.valueOf(data.getAction()) * 1000); break; } }