[packages/apps/Camera2] 修改进入图片幻灯片模式时底部按钮仍然响应遥控器焦点

This commit is contained in:
Firefly
2016-01-22 17:09:11 +08:00
committed by cjp
parent 46c8fcdf7d
commit 7f16a2637c
3 changed files with 28 additions and 5 deletions

View File

@ -213,6 +213,7 @@ public class CameraActivity extends QuickActivity
private FrameLayout mAboveFilmstripControlLayout;
private FilmstripController mFilmstripController;
private boolean mFilmstripVisible;
private boolean mFilmstripBottomControlsVisible = false;
/** Whether the filmstrip fully covers the preview. */
private boolean mFilmstripCoversPreview = false;
private int mResultCodeForTesting;
@ -804,11 +805,13 @@ public class CameraActivity extends QuickActivity
mCameraAppUI.getFilmstripBottomControls().setVisible(visible);
if (visible != mActionBar.isShowing()) {
if (visible) {
mActionBar.show();
mCameraAppUI.showBottomControls();
mActionBar.show();
mCameraAppUI.showBottomControls();
mCameraAppUI.setBottomControlsFocusable(false);
mFilmstripBottomControlsVisible = false;
} else {
mActionBar.hide();
mCameraAppUI.hideBottomControls();
mCameraAppUI.hideBottomControls();
}
}
mFilmstripCoversPreview = visible;
@ -1987,16 +1990,25 @@ public class CameraActivity extends QuickActivity
return true;
}
} else {
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && !mFilmstripBottomControlsVisible) {
mFilmstripController.goToNextItem();
return true;
} else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
} else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && !mFilmstripBottomControlsVisible) {
boolean wentToPrevious = mFilmstripController.goToPreviousItem();
if (!wentToPrevious) {
// at beginning of filmstrip, hide and go back to preview
mCameraAppUI.hideFilmstrip();
mFilmstripBottomControlsVisible = false;
}
return true;
} else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
mCameraAppUI.setBottomControlsFocusable(true);
mFilmstripBottomControlsVisible = true;
return true;
} else if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
mCameraAppUI.setBottomControlsFocusable(false);
mFilmstripBottomControlsVisible = false;
return true;
}
}
return super.onKeyUp(keyCode, event);

View File

@ -1523,6 +1523,10 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener,
mFilmstripBottomControls.hide();
}
public void setBottomControlsFocusable(boolean bFocusable) {
mFilmstripBottomControls.setControlLayoutButtonFocusable(bFocusable);
}
/**
* @param listener The listener for bottom controls.
*/

View File

@ -64,6 +64,13 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
setupDeleteButton();
setupShareButton();
setupProgressUi();
setControlLayoutButtonFocusable(false);
}
public void setControlLayoutButtonFocusable(boolean bFocusable) {
mEditButton.setFocusable(bFocusable);
mShareButton.setFocusable(bFocusable);
mDeleteButton.setFocusable(bFocusable);
}
@Override