diff options
Diffstat (limited to 'src')
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/ImageFilter.java | 33 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java | 11 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java | 11 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java | 12 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/ImageFilterTruePortrait.java | 12 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/SeeStraightActs.java | 12 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/filters/TrueScannerActs.java | 38 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java | 2 |
8 files changed, 53 insertions, 78 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilter.java b/src/com/android/gallery3d/filtershow/filters/ImageFilter.java index 1a32e46e0..4918bee86 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilter.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilter.java @@ -36,6 +36,8 @@ public abstract class ImageFilter implements Cloneable { // feedback. Remove this when filters actually work in low memory // situations. protected static Activity sActivity = null; + private static Toast sToast = null; + private String lastMsg; public static void setActivityForMemoryToasts(Activity activity) { sActivity = activity; @@ -43,21 +45,42 @@ public abstract class ImageFilter implements Cloneable { public static void resetStatics() { sActivity = null; + if (null != sToast) { + sToast.cancel(); + } + sToast = null; } - public void freeResources() {} - - public void displayLowMemoryToast() { + void showToast(String msg, int duration) { if (sActivity != null) { sActivity.runOnUiThread(new Runnable() { + @Override public void run() { - Toast.makeText(sActivity, "Memory too low for filter " + getName() + - ", please file a bug report", Toast.LENGTH_SHORT).show(); + if (sActivity != null && (!msg.equals(lastMsg) || sToast == null)) { + sToast = Toast.makeText(sActivity.getApplicationContext(), msg, duration); + lastMsg = msg; + } + if (sToast != null) { + sToast.show(); + } } }); } } + void showToast(int resID, int duration) { + if (sActivity != null) { + showToast(sActivity.getResources().getString(resID), duration); + } + } + + public void freeResources() {} + + public void displayLowMemoryToast() { + showToast("Memory too low for filter " + getName() + + ", please file a bug report", Toast.LENGTH_SHORT); + } + public void setName(String name) { mName = name; } diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java index 9d9b2b817..df34fedbe 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamFusion.java @@ -52,7 +52,6 @@ import com.android.gallery3d.filtershow.tools.DualCameraNativeEngine; public class ImageFilterDualCamFusion extends ImageFilter { private static final String TAG = ImageFilterDualCamFusion.class.getSimpleName(); - private static Toast sSegmentToast; private FilterDualCamFusionRepresentation mParameters; private Paint mPaint = new Paint(); @@ -130,15 +129,7 @@ public class ImageFilterDualCamFusion extends ImageFilter { if(result == false) { Log.e(TAG, "Imagelib API failed"); - sActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - if(sSegmentToast == null) { - sSegmentToast = Toast.makeText(sActivity, R.string.dualcam_no_segment_toast, Toast.LENGTH_SHORT); - } - sSegmentToast.show(); - } - }); + showToast(R.string.dualcam_no_segment_toast, Toast.LENGTH_SHORT); return bitmap; } else { diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java index 8d61a32c3..97712db75 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamSketch.java @@ -51,7 +51,6 @@ import com.android.gallery3d.filtershow.tools.DualCameraNativeEngine; public class ImageFilterDualCamSketch extends ImageFilter { private static final String TAG = ImageFilterDualCamSketch.class.getSimpleName(); - private static Toast sSegmentToast; private FilterDualCamSketchRepresentation mParameters; private Paint mPaint = new Paint(); @@ -122,15 +121,7 @@ public class ImageFilterDualCamSketch extends ImageFilter { if(result == false) { Log.e(TAG, "Imagelib API failed"); - sActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - if(sSegmentToast == null) { - sSegmentToast = Toast.makeText(sActivity, R.string.dualcam_no_segment_toast, Toast.LENGTH_SHORT); - } - sSegmentToast.show(); - } - }); + showToast(R.string.dualcam_no_segment_toast, Toast.LENGTH_SHORT); return bitmap; } else { mPaint.reset(); diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java index fa38b0ecb..49728f84c 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDualCamera.java @@ -51,7 +51,6 @@ import com.android.gallery3d.filtershow.tools.DualCameraNativeEngine; public class ImageFilterDualCamera extends ImageFilter { private static final String TAG = ImageFilterDualCamera.class.getSimpleName(); - private static Toast sSegmentToast; private FilterDualCamBasicRepresentation mParameters; private Paint mPaint = new Paint(); @@ -135,16 +134,7 @@ public class ImageFilterDualCamera extends ImageFilter { if(result == false) { Log.e(TAG, "Imagelib API failed"); - sActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - if(sSegmentToast == null) { - sSegmentToast = Toast.makeText(sActivity, R.string.dualcam_no_segment_toast, Toast.LENGTH_SHORT); - } - sSegmentToast.show(); - } - }); - + showToast(R.string.dualcam_no_segment_toast, Toast.LENGTH_SHORT); return bitmap; } else { diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterTruePortrait.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterTruePortrait.java index 86a2a7404..f070bfc30 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterTruePortrait.java +++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterTruePortrait.java @@ -52,7 +52,6 @@ import com.android.gallery3d.filtershow.tools.TruePortraitNativeEngine.EffectTyp public class ImageFilterTruePortrait extends ImageFilter { private static final String TAG = "ImageFilterTruePortrait"; - private static Toast sSegmentToast; private FilterRepresentation mParameters; private Paint mPaint = new Paint(); @@ -115,16 +114,7 @@ public class ImageFilterTruePortrait extends ImageFilter { if(result == false) { Log.e(TAG, "Imagelib API failed"); - sActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - if(sSegmentToast == null) { - sSegmentToast = Toast.makeText(sActivity, "No Faces Found", Toast.LENGTH_SHORT); - } - sSegmentToast.show(); - } - }); - + showToast("No Faces Found", Toast.LENGTH_SHORT); return bitmap; } else { diff --git a/src/com/android/gallery3d/filtershow/filters/SeeStraightActs.java b/src/com/android/gallery3d/filtershow/filters/SeeStraightActs.java index 047c036f7..f2eb81bc5 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/SeeStraightActs.java +++ b/src/com/android/gallery3d/filtershow/filters/SeeStraightActs.java @@ -100,22 +100,14 @@ public class SeeStraightActs extends SimpleImageFilter { return bitmap; if(!checkSize(width, height)) { - sActivity.runOnUiThread(new Runnable() { - public void run() { - Toast.makeText(sActivity, sActivity.getResources().getString(R.string.seestraight_input_image_is_small), Toast.LENGTH_SHORT).show(); - } - }); + showToast(R.string.seestraight_input_image_is_small, Toast.LENGTH_SHORT); return bitmap; } Bitmap dstBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); int[] outputRoi = processImage(width, height, bitmap, dstBitmap); if(outputRoi == null) { - sActivity.runOnUiThread(new Runnable() { - public void run() { - Toast.makeText(sActivity, sActivity.getResources().getString(R.string.seestraight_process_fail), Toast.LENGTH_SHORT).show(); - } - }); + showToast(R.string.seestraight_process_fail, Toast.LENGTH_SHORT); return bitmap; } dstBitmap = Bitmap.createBitmap(dstBitmap, outputRoi[0], outputRoi[1], outputRoi[2], outputRoi[3]); diff --git a/src/com/android/gallery3d/filtershow/filters/TrueScannerActs.java b/src/com/android/gallery3d/filtershow/filters/TrueScannerActs.java index da6e538ab..0a59a65c5 100644..100755 --- a/src/com/android/gallery3d/filtershow/filters/TrueScannerActs.java +++ b/src/com/android/gallery3d/filtershow/filters/TrueScannerActs.java @@ -103,23 +103,27 @@ public class TrueScannerActs extends SimpleImageFilter { } private void showProgressDialog() { - sActivity.runOnUiThread(new Runnable() { - public void run() { - mProgressDialog = ProgressDialog.show(sActivity,"", "Processing...", true, false); - mProgressDialog.show(); - } - }); + if (null != sActivity) { + sActivity.runOnUiThread(new Runnable() { + public void run() { + mProgressDialog = ProgressDialog.show(sActivity, "", "Processing...", true, false); + mProgressDialog.show(); + } + }); + } } private void dismissProgressDialog() { - sActivity.runOnUiThread(new Runnable() { - public void run() { - if (mProgressDialog != null && mProgressDialog.isShowing()) { - mProgressDialog.dismiss(); - mProgressDialog = null; + if (null != sActivity) { + sActivity.runOnUiThread(new Runnable() { + public void run() { + if (mProgressDialog != null && mProgressDialog.isShowing()) { + mProgressDialog.dismiss(); + mProgressDialog = null; + } } - } - }); + }); + } } @Override @@ -132,13 +136,7 @@ public class TrueScannerActs extends SimpleImageFilter { return bitmap; } if(!acquireLock(true)) { - sActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - Toast.makeText(sActivity, "Still processing the previous request... ", Toast.LENGTH_LONG).show(); - } - }); - + showToast("Still processing the previous request... ", Toast.LENGTH_LONG); return bitmap; } new Throwable().printStackTrace(); diff --git a/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java b/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java index d42834457..3948b6eea 100644..100755 --- a/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java +++ b/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java @@ -184,8 +184,8 @@ public class ProcessingService extends Service { @Override public void onDestroy() { - tearDownPipeline(); mProcessingTaskController.quit(); + tearDownPipeline(); MasterImage.setMaster(null); } |
