diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/camera/AndroidCameraManagerImpl.java | 9 | ||||
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 11 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 48 | ||||
-rw-r--r-- | src/com/android/camera/PhotoUI.java | 29 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 57 | ||||
-rw-r--r-- | src/com/android/camera/VideoUI.java | 33 | ||||
-rw-r--r-- | src/com/android/camera/ui/FaceView.java | 43 | ||||
-rw-r--r-- | src/com/android/camera/ui/FilmStripView.java | 7 |
8 files changed, 176 insertions, 61 deletions
diff --git a/src/com/android/camera/AndroidCameraManagerImpl.java b/src/com/android/camera/AndroidCameraManagerImpl.java index 408bf4f55..b2d7c7681 100644 --- a/src/com/android/camera/AndroidCameraManagerImpl.java +++ b/src/com/android/camera/AndroidCameraManagerImpl.java @@ -201,7 +201,14 @@ class AndroidCameraManagerImpl implements CameraManager { try { switch (msg.what) { case OPEN_CAMERA: - mCamera = android.hardware.Camera.open(msg.arg1); + try { + mCamera = android.hardware.Camera.openLegacy(msg.arg1, + android.hardware.Camera.CAMERA_HAL_API_VERSION_1_0); + } catch (RuntimeException e) { + /* Retry with open if openLegacy fails */ + Log.v(TAG, "openLegacy failed. Using open instead"); + mCamera = android.hardware.Camera.open(msg.arg1); + } if (mCamera != null) { mParametersIsDirty = true; diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index c057ee01f..5a4012a5f 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -132,6 +132,7 @@ public class CameraSettings { private static final String KEY_QC_SUPPORTED_FACE_RECOGNITION_MODES = "face-recognition-values"; private static final String KEY_QC_SUPPORTED_DIS_MODES = "dis-values"; private static final String KEY_QC_SUPPORTED_SEE_MORE_MODES = "see-more-values"; + private static final String KEY_QC_SUPPORTED_STILL_MORE_MODES = "still-more-values"; private static final String KEY_QC_SUPPORTED_CDS_MODES = "cds-mode-values"; private static final String KEY_QC_SUPPORTED_VIDEO_CDS_MODES = "video-cds-mode-values"; private static final String KEY_QC_SUPPORTED_TNR_MODES = "tnr-mode-values"; @@ -148,6 +149,7 @@ public class CameraSettings { public static final String KEY_QC_FSSR = "FSSR"; public static final String KEY_QC_TP = "true-portrait"; public static final String KEY_QC_MULTI_TOUCH_FOCUS = "multi-touch-focus"; + public static final String KEY_QC_STILL_MORE = "still-more"; public static final String KEY_QC_FACE_RECOGNITION = "face-recognition"; public static final String KEY_QC_DIS_MODE = "dis"; public static final String KEY_QC_CDS_MODE = "cds-mode"; @@ -436,6 +438,7 @@ public class CameraSettings { str += ',' + params.get(KEY_QC_SUPPORTED_MTF_MODES); str += ',' + mContext.getString(R.string.pref_camera_advanced_feature_default); str += ',' + params.get(KEY_QC_SUPPORTED_RE_FOCUS_MODES); + str += ',' + params.get(KEY_QC_SUPPORTED_STILL_MORE_MODES); return split(str); } @@ -495,6 +498,14 @@ public class CameraSettings { return split(str); } + public static List<String> getSupportedStillMoreModes(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_STILL_MORE_MODES); + if (str == null) { + return null; + } + return split(str); + } + // Splits a comma delimited string to an ArrayList of String. // Return null if the passing string is null or the size is 0. private static ArrayList<String> split(String str) { diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index a915d0845..887982156 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1682,6 +1682,10 @@ public class PhotoModule mParameters.get(CameraSettings.KEY_QC_TP); String multiTouchFocus = mParameters.get(CameraSettings.KEY_QC_MULTI_TOUCH_FOCUS); + String stillMoreOn = mActivity.getString(R.string. + pref_camera_advanced_feature_value_stillmore_on); + String stillMore = + mParameters.get(CameraSettings.KEY_QC_STILL_MORE); String continuousShot = mParameters.get("long-shot"); @@ -1710,7 +1714,8 @@ public class PhotoModule (chromaFlash != null && chromaFlash.equals(chromaFlashOn)) || (optiZoom != null && optiZoom.equals(optiZoomOn)) || (fssr != null && fssr.equals(fssrOn)) || - (truePortrait != null && truePortrait.equals(truPortraitOn))) { + (truePortrait != null && truePortrait.equals(truPortraitOn)) || + (stillMore != null && stillMore.equals(stillMoreOn))) { mSceneMode = sceneMode = Parameters.SCENE_MODE_AUTO; flashMode = Parameters.FLASH_MODE_OFF; focusMode = Parameters.FOCUS_MODE_INFINITY; @@ -2692,7 +2697,8 @@ public class PhotoModule String optiZoom, String fssr, String truePortrait, - String multiTouchFocus) { + String multiTouchFocus, + String stillMore) { if (CameraUtil.isSupported(ubiFocus, CameraSettings.getSupportedAFBracketingModes(mParameters))) { mParameters.set(CameraSettings.KEY_QC_AF_BRACKETING, ubiFocus); @@ -2721,6 +2727,10 @@ public class PhotoModule CameraSettings.getSupportedMultiTouchFocusModes(mParameters))) { mParameters.set(CameraSettings.KEY_QC_MULTI_TOUCH_FOCUS, multiTouchFocus); } + if (CameraUtil.isSupported(stillMore, + CameraSettings.getSupportedStillMoreModes(mParameters))) { + mParameters.set(CameraSettings.KEY_QC_STILL_MORE, stillMore); + } } /** This can run on a background thread, so don't do UI updates here.*/ @@ -2968,6 +2978,8 @@ public class PhotoModule pref_camera_advanced_feature_value_trueportrait_off); String multiTouchFocusOff = mActivity.getString(R.string. pref_camera_advanced_feature_value_multi_touch_focus_off); + String stillMoreOff = mActivity.getString(R.string. + pref_camera_advanced_feature_value_stillmore_off); if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_ubifocus_on))) { @@ -2977,7 +2989,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_chromaflash_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -2986,7 +2999,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_refocus_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -2995,7 +3009,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); mRefocus = true; } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_optizoom_on))) { @@ -3005,7 +3020,8 @@ public class PhotoModule advancedFeature, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_FSSR_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3014,7 +3030,8 @@ public class PhotoModule optiZoomOff, advancedFeature, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_trueportrait_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3023,7 +3040,8 @@ public class PhotoModule optiZoomOff, fssrOff, advancedFeature, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_multi_touch_focus_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3032,6 +3050,17 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, + advancedFeature, + stillMoreOff); + } else if (advancedFeature.equals(mActivity.getString(R.string. + pref_camera_advanced_feature_value_stillmore_on))) { + qcomUpdateAdvancedFeatures(ubiFocusOff, + chromaFlashOff, + reFocusOff, + optiZoomOff, + fssrOff, + truePortraitOff, + multiTouchFocusOff, advancedFeature); } else { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3040,7 +3069,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } } // Set auto exposure parameter. diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index 354b7b2f4..3f2000cd9 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -799,15 +799,22 @@ public class PhotoUI implements PieListener, } public void showPopup(ListView popup, int level, boolean animate) { + FrameLayout.LayoutParams params; hideUI(); popup.setVisibility(View.VISIBLE); if (level == 1) { if (mMenuLayout == null) { mMenuLayout = new RotateLayout(mActivity, null); - FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, - Gravity.LEFT | Gravity.TOP); + if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { + params = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, + Gravity.LEFT | Gravity.TOP); + } else { + params = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, + Gravity.RIGHT | Gravity.TOP); + } mMenuLayout.setLayoutParams(params); ((ViewGroup) mRootView).addView(mMenuLayout); } @@ -819,10 +826,15 @@ public class PhotoUI implements PieListener, mSubMenuLayout = new RotateLayout(mActivity, null); ((ViewGroup) mRootView).addView(mSubMenuLayout); } - FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, - Gravity.LEFT | Gravity.TOP); - + if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { + params = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, + Gravity.LEFT | Gravity.TOP); + } else { + params = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, + Gravity.RIGHT | Gravity.TOP); + } int screenHeight = (mOrientation == 0 || mOrientation == 180) ? mRootView.getHeight() : mRootView.getWidth(); int height = ((ListSubMenu) popup).getPreCalculatedHeight(); @@ -1258,6 +1270,9 @@ public class PhotoUI implements PieListener, if (mCountDownView != null) mCountDownView.setOrientation(orientation); RotateTextToast.setOrientation(orientation); + if (mFaceView != null) { + mFaceView.setDisplayRotation(orientation); + } } public int getOrientation() { diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 6e3198390..17b8ce1ce 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -2063,15 +2063,6 @@ public class VideoModule implements CameraModule, } Log.d(TAG, "antiBanding value = " + mParameters.getAntibanding()); - String seeMoreMode = mPreferences.getString( - CameraSettings.KEY_SEE_MORE, - mActivity.getString(R.string.pref_camera_see_more_default)); - Log.v(TAG, "See More value =" + seeMoreMode); - if (isSupported(seeMoreMode, - CameraSettings.getSupportedSeeMoreModes(mParameters))) { - mParameters.set(CameraSettings.KEY_QC_SEE_MORE_MODE, seeMoreMode); - } - mUnsupportedHFRVideoSize = false; mUnsupportedHFRVideoCodec = false; mUnsupportedHSRVideoSize = false; @@ -2236,6 +2227,54 @@ public class VideoModule implements CameraModule, mUI.overrideSettings(CameraSettings.KEY_QC_VIDEO_TNR_MODE, video_tnr); } + String seeMoreMode = mPreferences.getString( + CameraSettings.KEY_SEE_MORE, + mActivity.getString(R.string.pref_camera_see_more_default)); + Log.v(TAG, "See More value =" + seeMoreMode); + + if (isSupported(seeMoreMode, + CameraSettings.getSupportedSeeMoreModes(mParameters))) { + if (is4KEnabled() && seeMoreMode.equals(mActivity.getString(R.string. + pref_camera_see_more_value_on))) { + /* Disable SeeMore during 4K resolution */ + mParameters.set(CameraSettings.KEY_QC_SEE_MORE_MODE, + mActivity.getString(R.string.pref_camera_see_more_value_off)); + mUI.overrideSettings(CameraSettings.KEY_SEE_MORE, + mActivity.getString(R.string.pref_camera_see_more_value_off)); + Toast.makeText(mActivity, R.string.video_quality_4k_disable_SeeMore, + Toast.LENGTH_LONG).show(); + } else { + /* Disable CDS */ + if (seeMoreMode.equals( + mActivity.getString(R.string.pref_camera_see_more_value_on)) && + video_cds.equals(mActivity.getString(R.string. + pref_camera_video_cds_value_on))) { + mParameters.set(CameraSettings.KEY_QC_VIDEO_CDS_MODE, + mActivity.getString(R.string.pref_camera_video_cds_value_off)); + mUI.overrideSettings(CameraSettings.KEY_QC_VIDEO_CDS_MODE, + mActivity.getString(R.string.pref_camera_video_cds_value_off)); + Toast.makeText(mActivity, R.string.disable_CDS_during_SeeMore, + Toast.LENGTH_LONG).show(); + } + + /* Disable TNR */ + if (seeMoreMode.equals( + mActivity.getString(R.string.pref_camera_see_more_value_on)) && + video_tnr.equals(mActivity.getString(R.string. + pref_camera_video_tnr_value_on))) { + mParameters.set(CameraSettings.KEY_QC_VIDEO_TNR_MODE, + mActivity.getString(R.string.pref_camera_video_tnr_value_off)); + mUI.overrideSettings(CameraSettings.KEY_QC_VIDEO_TNR_MODE, + mActivity.getString(R.string.pref_camera_video_tnr_value_off)); + Toast.makeText(mActivity, R.string.disable_TNR_during_SeeMore, + Toast.LENGTH_LONG).show(); + } + + /* Set SeeMore mode */ + mParameters.set(CameraSettings.KEY_QC_SEE_MORE_MODE, seeMoreMode); + } + } + // Set Video HDR. String videoHDR = mPreferences.getString( CameraSettings.KEY_VIDEO_HDR, diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index ab3a50a02..cc06e7b79 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -745,16 +745,23 @@ public class VideoUI implements PieRenderer.PieListener, } public void showPopup(ListView popup, int level, boolean animate) { + FrameLayout.LayoutParams layoutParams; hideUI(); popup.setVisibility(View.VISIBLE); if (level == 1) { if (mMenuLayout == null) { mMenuLayout = new RotateLayout(mActivity, null); - FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, - Gravity.LEFT | Gravity.TOP); - mMenuLayout.setLayoutParams(params); + if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { + layoutParams = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, + Gravity.LEFT | Gravity.TOP); + } else { + layoutParams = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT, + Gravity.RIGHT | Gravity.TOP); + } + mMenuLayout.setLayoutParams(layoutParams); ((ViewGroup) mRootView).addView(mMenuLayout); } mMenuLayout.setOrientation(mOrientation, true); @@ -769,9 +776,15 @@ public class VideoUI implements PieRenderer.PieListener, ((ViewGroup) mRootView).addView(mSubMenuLayout); } - FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( - CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, - Gravity.LEFT | Gravity.TOP); + if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) { + layoutParams = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, + Gravity.LEFT | Gravity.TOP); + } else { + layoutParams = new FrameLayout.LayoutParams( + CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT, + Gravity.RIGHT | Gravity.TOP); + } int screenHeight = (mOrientation == 0 || mOrientation == 180) ? mRootView.getHeight() : mRootView.getWidth(); @@ -780,10 +793,10 @@ public class VideoUI implements PieRenderer.PieListener, int y = Math.max(0, yBase); if (yBase + height > screenHeight) y = Math.max(0, screenHeight - height); - params.setMargins(0, y, 0, 0); - params.setMarginStart(CameraActivity.SETTING_LIST_WIDTH_1); + layoutParams.setMargins(0, y, 0, 0); + layoutParams.setMarginStart(CameraActivity.SETTING_LIST_WIDTH_1); - mSubMenuLayout.setLayoutParams(params); + mSubMenuLayout.setLayoutParams(layoutParams); mSubMenuLayout.addView(popup); mSubMenuLayout.setOrientation(mOrientation, true); } diff --git a/src/com/android/camera/ui/FaceView.java b/src/com/android/camera/ui/FaceView.java index 8013520a9..4ab74e4cf 100644 --- a/src/com/android/camera/ui/FaceView.java +++ b/src/com/android/camera/ui/FaceView.java @@ -72,6 +72,7 @@ public class FaceView extends View private static final int MSG_SWITCH_FACES = 1; private static final int SWITCH_DELAY = 70; + private int mDisplayRotation = 0; private boolean mStateSwitchPending = false; private Handler mHandler = new Handler() { @Override @@ -194,6 +195,9 @@ public class FaceView extends View mBlocked = block; } + public void setDisplayRotation(int orientation) { + mDisplayRotation = orientation; + } @Override protected void onDraw(Canvas canvas) { if (!mBlocked && (mFaces != null) && (mFaces.length > 0)) { @@ -236,8 +240,8 @@ public class FaceView extends View Log.e(TAG, "blink: (" + face.getLeftEyeBlinkDegree()+ ", " + face.getRightEyeBlinkDegree() + ")"); if (face.leftEye != null) { - if ((mDisplayOrientation == 90) || - (mDisplayOrientation == 270)) { + if ((mDisplayRotation == 0) || + (mDisplayRotation == 180)) { point[0] = face.leftEye.x; point[1] = face.leftEye.y - delta_y / 2; point[2] = face.leftEye.x; @@ -256,8 +260,8 @@ public class FaceView extends View } } if (face.rightEye != null) { - if ((mDisplayOrientation == 90) || - (mDisplayOrientation == 270)) { + if ((mDisplayRotation == 0) || + (mDisplayRotation == 180)) { point[0] = face.rightEye.x; point[1] = face.rightEye.y - delta_y / 2; point[2] = face.rightEye.x; @@ -306,8 +310,8 @@ public class FaceView extends View (-length) + 0.5); if (face.getLeftEyeBlinkDegree() < blink_threshold) { - if ((mDisplayOrientation == 90) || - (mDisplayOrientation == 270)) { + if ((mDisplayRotation == 90) || + (mDisplayRotation == 270)) { point[0] = face.leftEye.x; point[1] = face.leftEye.y; point[2] = face.leftEye.x + gazeRollX; @@ -324,8 +328,8 @@ public class FaceView extends View } if (face.getRightEyeBlinkDegree() < blink_threshold) { - if ((mDisplayOrientation == 90) || - (mDisplayOrientation == 270)) { + if ((mDisplayRotation == 90) || + (mDisplayRotation == 270)) { point[0] = face.rightEye.x; point[1] = face.rightEye.y; point[2] = face.rightEye.x + gazeRollX; @@ -347,17 +351,17 @@ public class FaceView extends View Log.e(TAG, "smile: " + face.getSmileDegree() + "," + face.getSmileScore()); if (face.getSmileDegree() < smile_threashold_no_smile) { - if ((mDisplayOrientation == 90) || - (mDisplayOrientation == 270)) { - point[0] = face.mouth.x; - point[1] = face.mouth.y - delta_y + dy; - point[2] = face.mouth.x; - point[3] = face.mouth.y + delta_y + dy; - } else { + if ((mDisplayRotation == 90) || + (mDisplayRotation == 270)) { point[0] = face.mouth.x + dx - delta_x; point[1] = face.mouth.y; - point[2] = face.mouth.x + dx + delta_x ; + point[2] = face.mouth.x + dx + delta_x; point[3] = face.mouth.y; + } else { + point[0] = face.mouth.x; + point[1] = face.mouth.y + dy - delta_y; + point[2] = face.mouth.x ; + point[3] = face.mouth.y + dy + delta_y; } Matrix faceMatrix = new Matrix(mMatrix); faceMatrix.preRotate(face.getRollDirection(), @@ -368,12 +372,7 @@ public class FaceView extends View } else if (face.getSmileDegree() < smile_threashold_small_smile) { - int rotation_mouth = mDisplayOrientation - - face.getRollDirection(); - if (0 > rotation_mouth) { - rotation_mouth = 360 + rotation_mouth; - } - + int rotation_mouth = 360 - mDisplayRotation; mRect.set(face.mouth.x-delta_x, face.mouth.y-delta_y, face.mouth.x+delta_x, face.mouth.y+delta_y); diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java index 3f1029ed1..46267a941 100644 --- a/src/com/android/camera/ui/FilmStripView.java +++ b/src/com/android/camera/ui/FilmStripView.java @@ -107,6 +107,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { private boolean mSendToMenu; private boolean mReset; private boolean mIsLoaded = false; + private boolean initialClampX = false; /** * Common interface for all images in the filmstrip. @@ -994,7 +995,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { } boolean stopScroll = false; - if (curr.getId() == 0 && mCenterX < curr.getCenterX() + if (curr.getId() == 0 && (mCenterX < curr.getCenterX() || initialClampX) && mDataIdOnUserScrolling <= 1) { // Stop at the first ViewItem. stopScroll = true; @@ -1786,7 +1787,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { if (!inFullScreen() || mController.isScrolling()) { return true; } - + initialClampX = false; if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) { mCheckToIntercept = true; mDown = MotionEvent.obtain(ev); @@ -2076,7 +2077,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { // center of the display upon a reload. mCenterX = -1; mScale = FULL_SCREEN_SCALE; - + initialClampX = true; adjustChildZOrder(); invalidate(); |