summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/drawable/comparison.xml35
-rw-r--r--res/drawable/ic_video_snapshot.xml2
-rw-r--r--res/drawable/ic_video_snapshot_padding_pressed.xml38
-rw-r--r--res/drawable/ic_video_snapshot_pressed.xml43
-rw-r--r--res/drawable/ic_video_snapshot_selector.xml36
-rw-r--r--res/layout/filtershow_activity.xml2
-rw-r--r--res/values/styles.xml9
-rw-r--r--src/com/android/gallery3d/app/AlbumPage.java3
-rw-r--r--src/com/android/gallery3d/app/GestureControllerOverlay.java2
-rw-r--r--src/com/android/gallery3d/app/MovieControllerOverlayNew.java2
-rw-r--r--src/com/android/gallery3d/app/TrimTimeBar.java17
-rw-r--r--src/com/android/gallery3d/app/TrimVideo.java4
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java7
14 files changed, 180 insertions, 22 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6a9f1ae97..72a239b3d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -66,6 +66,7 @@
<uses-library android:name="org.apache.http.legacy" android:required="false" />
<activity android:name="com.android.gallery3d.app.MovieActivity"
android:label="@string/movie_view_label"
+ android:theme="@style/Theme.MovieActivity"
android:configChanges="orientation|keyboardHidden|screenSize|keyboard">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@@ -262,6 +263,7 @@
</activity>
<activity android:name="com.android.gallery3d.app.TrimVideo"
android:label="@string/trim_label"
+ android:theme="@style/Theme.MovieActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
<intent-filter android:label="@string/crop_label">
<action android:name="com.android.camera.action.TRIM" />
diff --git a/res/drawable/comparison.xml b/res/drawable/comparison.xml
new file mode 100644
index 000000000..36c5331ea
--- /dev/null
+++ b/res/drawable/comparison.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016, The Linux Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true" android:drawable="@drawable/comparison_after" />
+ <item android:drawable="@drawable/comparison_before" />
+</selector>
+
diff --git a/res/drawable/ic_video_snapshot.xml b/res/drawable/ic_video_snapshot.xml
index df5b00f5e..a0d7f45e6 100644
--- a/res/drawable/ic_video_snapshot.xml
+++ b/res/drawable/ic_video_snapshot.xml
@@ -35,7 +35,7 @@
android:viewportWidth="108.0">
<path
android:fillColor="#FF000000"
- android:fillAlpha="0.30"
+ android:fillAlpha="0.50"
android:pathData="M54,54m-54,0a54,54 0,1 1,108 0a54,54 0,1 1,-108 0"/>
<path
android:fillColor="#FFFFFFFF"
diff --git a/res/drawable/ic_video_snapshot_padding_pressed.xml b/res/drawable/ic_video_snapshot_padding_pressed.xml
new file mode 100644
index 000000000..a66444db5
--- /dev/null
+++ b/res/drawable/ic_video_snapshot_padding_pressed.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016, The Linux Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<inset
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawable="@drawable/ic_video_snapshot_pressed"
+ android:insetTop="12dp"
+ android:insetRight="12dp"
+ android:insetBottom="12dp"
+ android:insetLeft="12dp"/>
+
diff --git a/res/drawable/ic_video_snapshot_pressed.xml b/res/drawable/ic_video_snapshot_pressed.xml
new file mode 100644
index 000000000..da65406cf
--- /dev/null
+++ b/res/drawable/ic_video_snapshot_pressed.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016, The Linux Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="36dp"
+ android:width="36dp"
+ android:viewportHeight="108.0"
+ android:viewportWidth="108.0">
+ <path
+ android:fillColor="#FF000000"
+ android:fillAlpha="0.26"
+ android:pathData="M54,54m-54,0a54,54 0,1 1,108 0a54,54 0,1 1,-108 0"/>
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="M42,36h6v-6h-6V36zM30,72h6v-6h-6V72zM72,30h-6v6h6V30zM60,30h-6v6h6V30zM72,42h-6v6h6V42zM30,60h6v-6h-6V60zM72,66V54h-6v12H54v6h12v10h6V72h10v-6H72zM42,72h6v-6h-6V72zM30,48h6v-6h-6V48zM30,36h6v-6h-6V36z"/>
+</vector>
diff --git a/res/drawable/ic_video_snapshot_selector.xml b/res/drawable/ic_video_snapshot_selector.xml
new file mode 100644
index 000000000..22846e05b
--- /dev/null
+++ b/res/drawable/ic_video_snapshot_selector.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016, The Linux Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@drawable/ic_video_snapshot_padding_pressed"
+ android:state_pressed="true" />
+ <item android:drawable="@drawable/ic_video_snapshot_padding" />
+</selector>
+
diff --git a/res/layout/filtershow_activity.xml b/res/layout/filtershow_activity.xml
index 2a7ea6d33..1c58e1209 100644
--- a/res/layout/filtershow_activity.xml
+++ b/res/layout/filtershow_activity.xml
@@ -54,7 +54,7 @@
android:layout_marginRight="@dimen/compare_margin_right"
android:layout_marginTop="@dimen/compare_margin_top"
android:background="@android:color/transparent"
- android:src="@drawable/comparison_before"
+ android:src="@drawable/comparison"
android:visibility="visible" />
</RelativeLayout>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 02a79df5f..dc4b9ae7d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -41,6 +41,8 @@
<style name="FilterShowToolbar" parent="@android:style/Widget.Toolbar">
<item name="android:contentInsetStart">0dp</item>
</style>
+ <style name="Theme.MovieActivity" parent="android:Theme.DeviceDefault.Light.DarkActionBar">
+ </style>
<style name="Theme.Crop" parent="Theme.GalleryBase">
<item name="android:displayOptions"></item>
<item name="android:windowContentOverlay">@null</item>
@@ -339,13 +341,14 @@
<style name="ToolbarPopUpTheme" parent="android:Theme.Material.Light" />
<!-- Styles -->
- <style name="MyOverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
+ <style name="MyOverFlow" parent="@android:style/Widget.DeviceDefault.ActionButton">
<item name="android:src">@drawable/multiselect_more</item>
</style>
- <style name="WhiteOverflow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
+ <style name="WhiteOverflow" parent="@android:style/Widget.DeviceDefault.ActionButton">
<item name="android:src">@drawable/more</item>
</style>
- <style name="FilterShowActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
+ <style name="FilterShowActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar">
<item name="android:background">@color/edit_actionbar_background</item>
+ <item name="android:contentInsetStart">0dp</item>
</style>
</resources>
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java
index 05cc1f8a1..0ff76e751 100644
--- a/src/com/android/gallery3d/app/AlbumPage.java
+++ b/src/com/android/gallery3d/app/AlbumPage.java
@@ -529,9 +529,6 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
super.onPause();
mIsActive = false;
- if (mSelectionManager.inSelectionMode()) {
- mSelectionManager.leaveSelectionMode();
- }
mAlbumView.setSlotFilter(null);
mActionModeHandler.pause();
mAlbumDataAdapter.pause();
diff --git a/src/com/android/gallery3d/app/GestureControllerOverlay.java b/src/com/android/gallery3d/app/GestureControllerOverlay.java
index fee9b3ab5..c7f497d16 100644
--- a/src/com/android/gallery3d/app/GestureControllerOverlay.java
+++ b/src/com/android/gallery3d/app/GestureControllerOverlay.java
@@ -49,7 +49,7 @@ public class GestureControllerOverlay extends FrameLayout implements
ControllerOverlay, GestureController.GestureControlListener {
private GestureController mGestureController;
- private static final int MAX_VIDEO_STEP_TIME = 2 * 60 * 1000;
+ private static final int MAX_VIDEO_STEP_TIME = 60 * 1000;
private static final int MAX_BRIGHTNESS = 100;
private float mStartBrightness = -1.0f;
diff --git a/src/com/android/gallery3d/app/MovieControllerOverlayNew.java b/src/com/android/gallery3d/app/MovieControllerOverlayNew.java
index 824f8a469..6b32c142a 100644
--- a/src/com/android/gallery3d/app/MovieControllerOverlayNew.java
+++ b/src/com/android/gallery3d/app/MovieControllerOverlayNew.java
@@ -164,7 +164,7 @@ public class MovieControllerOverlayNew extends MovieControllerOverlay {
LayoutParams wrapContent =
new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
mVideoSnapshotButton = new ImageView(context);
- mVideoSnapshotButton.setImageResource(R.drawable.ic_video_snapshot_padding);
+ mVideoSnapshotButton.setImageResource(R.drawable.ic_video_snapshot_selector);
mVideoSnapshotButton.setScaleType(ImageView.ScaleType.CENTER);
mVideoSnapshotButton.setFocusable(true);
mVideoSnapshotButton.setClickable(true);
diff --git a/src/com/android/gallery3d/app/TrimTimeBar.java b/src/com/android/gallery3d/app/TrimTimeBar.java
index 06e8741bb..6fea3d690 100644
--- a/src/com/android/gallery3d/app/TrimTimeBar.java
+++ b/src/com/android/gallery3d/app/TrimTimeBar.java
@@ -83,11 +83,11 @@ public class TrimTimeBar extends TimeBar {
}
private int trimStartScrubberTipOffset() {
- return mTrimStartScrubber.getWidth() * 3 / 4;
+ return mTrimStartScrubber.getWidth();
}
private int trimEndScrubberTipOffset() {
- return mTrimEndScrubber.getWidth() / 4;
+ return 0;
}
// Based on all the time info (current, total, trimStart, trimEnd), we
@@ -153,9 +153,10 @@ public class TrimTimeBar extends TimeBar {
}
private boolean inScrubber(float x, float y, int startX, int startY, Bitmap scrubber) {
- int scrubberRight = startX + scrubber.getWidth();
- int scrubberBottom = startY + scrubber.getHeight();
- return startX < x && x < scrubberRight && startY < y && y < scrubberBottom;
+ int scrubberRight = startX + scrubber.getWidth() * 2;
+ int scrubberBottom = startY + scrubber.getHeight() * 2;
+ return startX - mScrubberPadding < x && x < scrubberRight + mScrubberPadding
+ && startY - mScrubberPadding < y && y < scrubberBottom + mScrubberPadding;
}
private int clampScrubber(int scrubberLeft, int offset, int lowerBound, int upperBound) {
@@ -182,12 +183,12 @@ public class TrimTimeBar extends TimeBar {
}
margin = mLayoutExt.getProgressMargin(margin);
int progressY = (h + mScrubberPadding) / 2;
- mTrimStartScrubberTop = progressY;
- mTrimEndScrubberTop = progressY;
mScrubberTop = progressY - mScrubber.getHeight() / 2 + 1;
mProgressBar.set(
mTimeBarMargin + margin, progressY,
w - mTimeBarMargin - margin, progressY + 6);
+ mTrimStartScrubberTop = progressY + mProgressBar.height();
+ mTrimEndScrubberTop = progressY + mProgressBar.height();
}
update();
}
@@ -341,6 +342,6 @@ public class TrimTimeBar extends TimeBar {
break;
}
}
- return false;
+ return true;
}
}
diff --git a/src/com/android/gallery3d/app/TrimVideo.java b/src/com/android/gallery3d/app/TrimVideo.java
index d2d6cd336..ec85de234 100644
--- a/src/com/android/gallery3d/app/TrimVideo.java
+++ b/src/com/android/gallery3d/app/TrimVideo.java
@@ -122,7 +122,7 @@ public class TrimVideo extends Activity implements
trimVideo();
}
});
- mSaveVideoTextView.setEnabled(false);
+ mSaveVideoTextView.setVisibility(View.GONE);
Intent intent = getIntent();
mUri = intent.getData();
@@ -232,7 +232,7 @@ public class TrimVideo extends Activity implements
}
mController.setTimes(mVideoPosition, duration, mTrimStartTime, mTrimEndTime);
// Enable save if there's modifications
- mSaveVideoTextView.setEnabled(isModified());
+ mSaveVideoTextView.setVisibility(isModified() ? View.VISIBLE : View.GONE);
return mVideoPosition;
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
index cec45f15f..d83c0ad75 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
@@ -29,6 +29,7 @@ import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.MotionEvent;
+import org.codeaurora.gallery.R;
import com.android.gallery3d.filtershow.crop.CropDrawingUtils;
import com.android.gallery3d.filtershow.editors.EditorStraighten;
import com.android.gallery3d.filtershow.filters.FilterCropRepresentation;
@@ -257,9 +258,11 @@ public class ImageStraighten extends ImageShow {
int viewWidth = canvas.getWidth();
int viewHeight = canvas.getHeight();
+ int panelHeight = getContext().getResources().getDimensionPixelOffset(
+ R.dimen.category_actionbar_panel_height);
// Get matrix for drawing bitmap
Matrix m = GeometryMathUtils.getFullGeometryToScreenMatrix(mDrawHolder, imageWidth,
- imageHeight, viewWidth, viewHeight);
+ imageHeight, viewWidth, viewHeight - panelHeight);
mPaint.reset();
mPaint.setAntiAlias(true);
mPaint.setFilterBitmap(true);
@@ -270,7 +273,7 @@ public class ImageStraighten extends ImageShow {
mPaint.setStrokeWidth(2);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
updateCurrentCrop(m, mDrawHolder, mDrawRect, imageWidth,
- imageHeight, viewWidth, viewHeight);
+ imageHeight, viewWidth, viewHeight - panelHeight);
if (mFirstDrawSinceUp) {
mPriorCropAtUp.set(mCrop);
mLocalRep.setStraighten(mAngle);