Make CropImage support fullscreen extra.
b2022570. When returning from a full-screen activity to a non-full-screen one, screen jumps a little and scroll bars are partially off screen. This is a work-around to prevent the issue.
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
index 1db7862..5d53a72 100644
--- a/src/com/android/camera/Camera.java
+++ b/src/com/android/camera/Camera.java
@@ -908,6 +908,7 @@
} else {
newExtras.putBoolean("return-data", true);
}
+ newExtras.putBoolean(MediaStore.EXTRA_FULL_SCREEN, true);
Intent cropIntent = new Intent();
cropIntent.setClass(Camera.this, CropImage.class);
diff --git a/src/com/android/camera/CropImage.java b/src/com/android/camera/CropImage.java
index 118adce..32a0dff 100644
--- a/src/com/android/camera/CropImage.java
+++ b/src/com/android/camera/CropImage.java
@@ -42,6 +42,7 @@
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
+import android.view.WindowManager;
import android.widget.Toast;
import java.io.File;
@@ -124,6 +125,11 @@
mDoFaceDetection = extras.containsKey("noFaceDetection")
? !extras.getBoolean("noFaceDetection")
: true;
+
+ if (intent.getBooleanExtra(MediaStore.EXTRA_FULL_SCREEN, true)) {
+ getWindow().addFlags(
+ WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ }
}
if (mBitmap == null) {
diff --git a/src/com/android/camera/ImageGallery.java b/src/com/android/camera/ImageGallery.java
index 95b2ff8..795fcc2 100644
--- a/src/com/android/camera/ImageGallery.java
+++ b/src/com/android/camera/ImageGallery.java
@@ -296,6 +296,7 @@
if (cropValue.equals("circle")) {
newExtras.putString("circleCrop", "true");
}
+ newExtras.putBoolean(MediaStore.EXTRA_FULL_SCREEN, true);
Intent cropIntent = new Intent();
cropIntent.setData(img.fullSizeImageUri());
diff --git a/src/com/android/camera/MenuHelper.java b/src/com/android/camera/MenuHelper.java
index 6c0c58d..d475ad8 100644
--- a/src/com/android/camera/MenuHelper.java
+++ b/src/com/android/camera/MenuHelper.java
@@ -555,6 +555,7 @@
Intent cropIntent = new Intent();
cropIntent.setClass(activity, CropImage.class);
cropIntent.setData(u);
+ cropIntent.putExtra(MediaStore.EXTRA_FULL_SCREEN, true);
activity.startActivityForResult(cropIntent,
RESULT_COMMON_MENU_CROP);
}
diff --git a/src/com/android/camera/Wallpaper.java b/src/com/android/camera/Wallpaper.java
index 0b053ce..972bacf 100644
--- a/src/com/android/camera/Wallpaper.java
+++ b/src/com/android/camera/Wallpaper.java
@@ -143,6 +143,7 @@
intent.setClassName("com.android.camera",
"com.android.camera.CropImage");
intent.setData(imageToUse);
+ intent.putExtra(MediaStore.EXTRA_FULL_SCREEN, true);
formatIntent(intent);
startActivityForResult(intent, CROP_DONE);
} else {