diff options
author | Sascha Haeberling <haeberling@google.com> | 2013-08-08 11:27:09 -0700 |
---|---|---|
committer | Sascha Haeberling <haeberling@google.com> | 2013-08-08 18:31:53 -0700 |
commit | 723bf81990245a07739146ac10357703c9839de1 (patch) | |
tree | 0c86a8a133077db5191907a760d5f4b3ab441b77 /src/com/android/camera/ShutterButton.java | |
parent | a6b80cccafe0a4c2de575ec69d1960c3c0d88062 (diff) | |
download | android_packages_apps_Gallery2-723bf81990245a07739146ac10357703c9839de1.tar.gz android_packages_apps_Gallery2-723bf81990245a07739146ac10357703c9839de1.tar.bz2 android_packages_apps_Gallery2-723bf81990245a07739146ac10357703c9839de1.zip |
Remove Camera from Gallery2.
Change-Id: I89adebffcacd1269217d7bd8c630c2f78886f590
Diffstat (limited to 'src/com/android/camera/ShutterButton.java')
-rwxr-xr-x | src/com/android/camera/ShutterButton.java | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/src/com/android/camera/ShutterButton.java b/src/com/android/camera/ShutterButton.java deleted file mode 100755 index a1bbb1a0d..000000000 --- a/src/com/android/camera/ShutterButton.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.camera; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.view.View; -import android.widget.ImageView; - -/** - * A button designed to be used for the on-screen shutter button. - * It's currently an {@code ImageView} that can call a delegate when the - * pressed state changes. - */ -public class ShutterButton extends ImageView { - - private boolean mTouchEnabled = true; - - /** - * A callback to be invoked when a ShutterButton's pressed state changes. - */ - public interface OnShutterButtonListener { - /** - * Called when a ShutterButton has been pressed. - * - * @param pressed The ShutterButton that was pressed. - */ - void onShutterButtonFocus(boolean pressed); - void onShutterButtonClick(); - } - - private OnShutterButtonListener mListener; - private boolean mOldPressed; - - public ShutterButton(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public void setOnShutterButtonListener(OnShutterButtonListener listener) { - mListener = listener; - } - - @Override - public boolean dispatchTouchEvent(MotionEvent m) { - if (mTouchEnabled) { - return super.dispatchTouchEvent(m); - } else { - return false; - } - } - - public void enableTouch(boolean enable) { - mTouchEnabled = enable; - } - - /** - * Hook into the drawable state changing to get changes to isPressed -- the - * onPressed listener doesn't always get called when the pressed state - * changes. - */ - @Override - protected void drawableStateChanged() { - super.drawableStateChanged(); - final boolean pressed = isPressed(); - if (pressed != mOldPressed) { - if (!pressed) { - // When pressing the physical camera button the sequence of - // events is: - // focus pressed, optional camera pressed, focus released. - // We want to emulate this sequence of events with the shutter - // button. When clicking using a trackball button, the view - // system changes the drawable state before posting click - // notification, so the sequence of events is: - // pressed(true), optional click, pressed(false) - // When clicking using touch events, the view system changes the - // drawable state after posting click notification, so the - // sequence of events is: - // pressed(true), pressed(false), optional click - // Since we're emulating the physical camera button, we want to - // have the same order of events. So we want the optional click - // callback to be delivered before the pressed(false) callback. - // - // To do this, we delay the posting of the pressed(false) event - // slightly by pushing it on the event queue. This moves it - // after the optional click notification, so our client always - // sees events in this sequence: - // pressed(true), optional click, pressed(false) - post(new Runnable() { - @Override - public void run() { - callShutterButtonFocus(pressed); - } - }); - } else { - callShutterButtonFocus(pressed); - } - mOldPressed = pressed; - } - } - - private void callShutterButtonFocus(boolean pressed) { - if (mListener != null) { - mListener.onShutterButtonFocus(pressed); - } - } - - @Override - public boolean performClick() { - boolean result = super.performClick(); - if (mListener != null && getVisibility() == View.VISIBLE) { - mListener.onShutterButtonClick(); - } - return result; - } -} |