import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.ContentValues;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Point;
+import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
public static final String TINY_PLANET_ACTION = "com.android.camera.action.TINY_PLANET";
public static final String LAUNCH_FULLSCREEN = "launch-fullscreen";
- private ImageLoader mImageLoader = null;
private ImageShow mImageShow = null;
private View mSaveButton = null;
mEditorPlaceHolder.hide();
- mImageShow.setImageLoader(mImageLoader);
+ mImageShow.bindAsImageLoadListener();
fillFx();
fillBorders();
}
public void setupStatePanel() {
- mImageLoader.setHistoryManager(mMasterImage.getHistory());
+ MasterImage.getImage().setHistoryManager(mMasterImage.getHistory());
}
private void fillFilters() {
mEditorPlaceHolder.setContainer((FrameLayout) findViewById(R.id.editorContainer));
EditorManager.addEditors(mEditorPlaceHolder);
mEditorPlaceHolder.setOldViews(mImageViews);
- mEditorPlaceHolder.setImageLoader(mImageLoader);
+
}
private void fillEditors() {
private class LoadHighresBitmapTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
- mImageLoader.loadHighResBitmap();
+ MasterImage master = MasterImage.getImage();
+ Rect originalBounds = master.getOriginalBounds();
+ if (master.supportsHighRes()) {
+ int highresPreviewSize = master.getOriginalBitmapLarge().getWidth() * 2;
+ if (highresPreviewSize > originalBounds.width()) {
+ highresPreviewSize = originalBounds.width();
+ }
+ Bitmap originalHires = ImageLoader.loadOrientedScaledBitmap(master,
+ master.getActivity(), master.getUri(), highresPreviewSize, false,
+ master.getOrientation());
+ master.setOriginalBitmapHighres(originalHires);
+ master.warnListeners();
+ }
return true;
}
@Override
protected void onPostExecute(Boolean result) {
- Bitmap highresBitmap = mImageLoader.getOriginalBitmapHighres();
+ Bitmap highresBitmap = MasterImage.getImage().getOriginalBitmapHighres();
if (highresBitmap != null) {
FilteringPipeline pipeline = FilteringPipeline.getPipeline();
- float highResPreviewScale = (float) highresBitmap.getWidth() / (float) mImageLoader.getOriginalBounds().width();
+ float highResPreviewScale = (float) highresBitmap.getWidth()
+ / (float) MasterImage.getImage().getOriginalBounds().width();
pipeline.setHighResPreviewScaleFactor(highResPreviewScale);
}
}
@Override
protected Boolean doInBackground(Uri... params) {
- if (!mImageLoader.loadBitmap(params[0], mBitmapSize)) {
+ if (!MasterImage.getImage().loadBitmap(params[0], mBitmapSize)) {
return false;
}
- publishProgress(mImageLoader.queryLightCycle360());
+ publishProgress(ImageLoader.queryLightCycle360(MasterImage.getImage().getActivity()));
return true;
}
final View imageShow = findViewById(R.id.imageShow);
imageShow.setVisibility(View.VISIBLE);
- Bitmap largeBitmap = mImageLoader.getOriginalBitmapLarge();
+ Bitmap largeBitmap = MasterImage.getImage().getOriginalBitmapLarge();
FilteringPipeline pipeline = FilteringPipeline.getPipeline();
pipeline.setOriginal(largeBitmap);
- float previewScale = (float) largeBitmap.getWidth() / (float) mImageLoader.getOriginalBounds().width();
+ float previewScale = (float) largeBitmap.getWidth()
+ / (float) MasterImage.getImage().getOriginalBounds().width();
pipeline.setPreviewScaleFactor(previewScale);
if (!mShowingTinyPlanet) {
mCategoryFiltersAdapter.removeTinyPlanet();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setType(SharedImageProvider.MIME_TYPE);
- mSharedOutputFile = SaveCopyTask.getNewFile(this, mImageLoader.getUri());
+ mSharedOutputFile = SaveCopyTask.getNewFile(this, MasterImage.getImage().getUri());
Uri uri = Uri.withAppendedPath(SharedImageProvider.CONTENT_URI,
Uri.encode(mSharedOutputFile.getAbsolutePath()));
intent.putExtra(Intent.EXTRA_STREAM, uri);
}
FiltersManager.setResources(getResources());
if (!mLoading) {
- Bitmap largeBitmap = mImageLoader.getOriginalBitmapLarge();
+ Bitmap largeBitmap = MasterImage.getImage().getOriginalBitmapLarge();
FilteringPipeline pipeline = FilteringPipeline.getPipeline();
pipeline.setOriginal(largeBitmap);
float previewScale = (float) largeBitmap.getWidth() /
- (float) mImageLoader.getOriginalBounds().width();
+ (float) MasterImage.getImage().getOriginalBounds().width();
pipeline.setPreviewScaleFactor(previewScale);
- Bitmap highresBitmap = mImageLoader.getOriginalBitmapHighres();
+ Bitmap highresBitmap = MasterImage.getImage().getOriginalBitmapHighres();
if (highresBitmap != null) {
float highResPreviewScale = (float) highresBitmap.getWidth() /
- (float) mImageLoader.getOriginalBounds().width();
+ (float) MasterImage.getImage().getOriginalBounds().width();
pipeline.setHighResPreviewScaleFactor(highResPreviewScale);
}
pipeline.turnOnPipeline(true);
public void setDefaultPreset() {
// Default preset (original)
ImagePreset preset = new ImagePreset(); // empty
- preset.setImageLoader(mImageLoader);
-
mMasterImage.setPreset(preset, preset.getLastRepresentation(), true);
}
}
public void setupMasterImage() {
- mImageLoader = new ImageLoader(this, getApplicationContext());
HistoryManager historyManager = new HistoryManager();
StateAdapter imageStateAdapter = new StateAdapter(this, 0);
mMasterImage.setHistoryManager(historyManager);
mMasterImage.setStateAdapter(imageStateAdapter);
mMasterImage.setActivity(this);
- mMasterImage.setImageLoader(mImageLoader);
if (Runtime.getRuntime().maxMemory() > LIMIT_SUPPORTS_HIGHRES) {
mMasterImage.setSupportsHighRes(true);