diff options
Diffstat (limited to 'src/com/android/camera/CameraActivity.java')
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 48 |
1 files changed, 37 insertions, 11 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 8f2b04b4f..5ade3950a 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -175,6 +175,7 @@ public class CameraActivity extends Activity private Menu mActionBarMenu; private ViewGroup mUndoDeletionBar; private boolean mIsUndoingDeletion = false; + private boolean mIsEditActivityInProgress = false; private Uri[] mNfcPushUris = new Uri[1]; @@ -335,6 +336,9 @@ public class CameraActivity extends Activity @Override public void onDataFullScreenChange(int dataID, boolean full) { boolean isCameraID = isCameraPreview(dataID); + if (full && isCameraID && CameraActivity.this.hasWindowFocus()){ + updateStorageSpaceAndHint(); + } if (!isCameraID) { if (!full) { // Always show action bar in filmstrip mode @@ -397,6 +401,16 @@ public class CameraActivity extends Activity @Override public void onDataFocusChanged(final int dataID, final boolean focused) { + boolean isPreview = isCameraPreview(dataID); + boolean isFullScreen = mFilmStripView.inFullScreen(); + if (isFullScreen && isPreview && CameraActivity.this.hasWindowFocus()){ + runOnUiThread(new Runnable() { + @Override + public void run() { + updateStorageSpaceAndHint(); + } + }); + } // Delay hiding action bar if there is any user interaction if (mMainHandler.hasMessages(HIDE_ACTION_BAR)) { mMainHandler.removeMessages(HIDE_ACTION_BAR); @@ -1216,6 +1230,7 @@ public class CameraActivity extends Activity protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQ_CODE_DONT_SWITCH_TO_PREVIEW) { mResetToPreviewOnResume = false; + mIsEditActivityInProgress = false; } else { super.onActivityResult(requestCode, resultCode, data); } @@ -1263,6 +1278,14 @@ public class CameraActivity extends Activity } mLocalImagesObserver.setActivityPaused(false); mLocalVideosObserver.setActivityPaused(false); + + //This is a temporal solution to share LED resource + //as Android doesn’t have any default intent to share the state. + // if the led flash light is open, turn it off + Log.d(TAG, "send the turn off LED Flashlight the broadcast"); + Intent intent = new Intent("qualcomm.android.LEDFlashlight.appWidgetUpdate"); + intent.putExtra("camera_led", true); + sendBroadcast(intent); } @Override @@ -1305,9 +1328,7 @@ public class CameraActivity extends Activity // Prevent software keyboard or voice search from showing up. if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_MENU) { - if (event.isLongPress()) { - return true; - } + return true; } } @@ -1326,6 +1347,7 @@ public class CameraActivity extends Activity public void onBackPressed() { if (!mFilmStripView.inCameraFullscreen()) { mFilmStripView.getController().goToFirstItem(); + mCurrentModule.resizeForPreviewAspectRatio(); } else if (!mCurrentModule.onBackPressed()) { super.onBackPressed(); } @@ -1457,14 +1479,17 @@ public class CameraActivity extends Activity * Launches an ACTION_EDIT intent for the given local data item. */ public void launchEditor(LocalData data) { - Intent intent = new Intent(Intent.ACTION_EDIT) - .setDataAndType(data.getContentUri(), data.getMimeType()) - .setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - try { - startActivityForResult(intent, REQ_CODE_DONT_SWITCH_TO_PREVIEW); - } catch (ActivityNotFoundException e) { - startActivityForResult(Intent.createChooser(intent, null), - REQ_CODE_DONT_SWITCH_TO_PREVIEW); + if (!mIsEditActivityInProgress) { + Intent intent = new Intent(Intent.ACTION_EDIT) + .setDataAndType(data.getContentUri(), data.getMimeType()) + .setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + try { + startActivityForResult(intent, REQ_CODE_DONT_SWITCH_TO_PREVIEW); + } catch (ActivityNotFoundException e) { + startActivityForResult(Intent.createChooser(intent, null), + REQ_CODE_DONT_SWITCH_TO_PREVIEW); + } + mIsEditActivityInProgress = true; } } @@ -1494,6 +1519,7 @@ public class CameraActivity extends Activity module.onPauseBeforeSuper(); module.onPauseAfterSuper(); ((ViewGroup) mCameraModuleRootView).removeAllViews(); + ((ViewGroup) mCameraModuleRootView).clearDisappearingChildren(); } private void performDeletion() { |