From 59e1fc0f37be14fa8290a5be734dc5819a7e6484 Mon Sep 17 00:00:00 2001 From: Doris Liu Date: Mon, 29 Oct 2012 13:11:10 -0700 Subject: Disable save button when there's no modification Bug: 7353884 Change-Id: I1b88e8b8ab3a92aad1226c60062a17a2f4badfb9 --- src/com/android/gallery3d/app/TrimVideo.java | 25 +++++++++++----------- .../gallery3d/filtershow/FilterShowActivity.java | 9 +++++++- .../gallery3d/filtershow/imageshow/ImageShow.java | 3 +++ 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/com/android/gallery3d/app/TrimVideo.java b/src/com/android/gallery3d/app/TrimVideo.java index 38b403b10..f246ff6c7 100644 --- a/src/com/android/gallery3d/app/TrimVideo.java +++ b/src/com/android/gallery3d/app/TrimVideo.java @@ -53,6 +53,7 @@ public class TrimVideo extends Activity implements ControllerOverlay.Listener { private VideoView mVideoView; + private TextView mSaveVideoTextView; private TrimControllerOverlay mController; private Context mContext; private Uri mUri; @@ -93,13 +94,14 @@ public class TrimVideo extends Activity implements actionBar.setDisplayOptions(displayOptions, displayOptions); actionBar.setCustomView(R.layout.trim_menu); - TextView mSaveVideoTextView = (TextView) findViewById(R.id.start_trim); + mSaveVideoTextView = (TextView) findViewById(R.id.start_trim); mSaveVideoTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { trimVideo(); } }); + mSaveVideoTextView.setEnabled(false); Intent intent = getIntent(); mUri = intent.getData(); @@ -257,21 +259,18 @@ public class TrimVideo extends Activity implements return dir[0]; } - private void trimVideo() { + private boolean isModified() { int delta = mTrimEndTime - mTrimStartTime; + // Considering that we only trim at sync frame, we don't want to trim // when the time interval is too short or too close to the origin. - if (delta < 100 ) { - Toast.makeText(getApplicationContext(), - getString(R.string.trim_too_short), - Toast.LENGTH_SHORT).show(); - return; - } - if (Math.abs(mVideoView.getDuration() - delta) < 100) { - // If no change has been made, go back - onBackPressed(); - return; + if (delta < 100 || Math.abs(mVideoView.getDuration() - delta) < 100) { + return false; + } else { + return true; } + } + private void trimVideo() { // Use the default save directory if the source directory cannot be // saved. mSaveDirectory = getSaveDirectory(); @@ -410,6 +409,8 @@ public class TrimVideo extends Activity implements mTrimStartTime = start; mTrimEndTime = end; setProgress(); + // Enable save if there's modifications + mSaveVideoTextView.setEnabled(isModified()); } @Override diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index ef0415f94..94d318558 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -117,6 +117,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, private View mListGeometry = null; private View mListColors = null; private View mListFilterButtons = null; + private View mSaveButton = null; private ImageButton mFxButton = null; private ImageButton mBorderButton = null; @@ -178,7 +179,8 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(R.layout.filtershow_actionbar); - actionBar.getCustomView().setOnClickListener(new OnClickListener() { + mSaveButton = actionBar.getCustomView(); + mSaveButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { saveImage(); @@ -633,6 +635,11 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, return false; } + public void enableSave(boolean enable) { + if (mSaveButton != null) + mSaveButton.setEnabled(enable); + } + private void fillListImages(LinearLayout listFilters) { // TODO: use listview // TODO: load the filters straight from the filesystem diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index 0145c24dc..358d5b795 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -230,6 +230,7 @@ public class ImageShow extends View implements OnGestureListener, } updateSeekBar(parameter, minp, maxp); invalidate(); + mActivity.enableSave(hasModifications()); } @Override @@ -396,6 +397,7 @@ public class ImageShow extends View implements OnGestureListener, public void updateImagePresets(boolean force) { ImagePreset preset = getImagePreset(); if (preset == null) { + mActivity.enableSave(false); return; } if (force) { @@ -419,6 +421,7 @@ public class ImageShow extends View implements OnGestureListener, mFiltersOnlyImage = null; } } + mActivity.enableSave(hasModifications()); } public void requestFilteredImages() { -- cgit v1.2.3