re-enable direct capture

Closes #3664
// FREEBIE
This commit is contained in:
Jake McGinty
2015-07-13 17:35:34 -07:00
committed by Moxie Marlinspike
parent 47b21707be
commit 1a7ab6346f
10 changed files with 236 additions and 124 deletions

View File

@@ -20,7 +20,6 @@ import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import android.provider.ContactsContract;
@@ -30,9 +29,6 @@ import android.util.Log;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.ScaleAnimation;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Toast;
@@ -40,9 +36,9 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.ThumbnailView;
import org.thoughtcrime.securesms.crypto.MasterSecret;
import org.thoughtcrime.securesms.providers.CaptureProvider;
import org.thoughtcrime.securesms.recipients.Recipients;
import org.thoughtcrime.securesms.util.BitmapDecodingException;
import java.io.File;
import java.io.IOException;
public class AttachmentManager {
@@ -94,8 +90,7 @@ public class AttachmentManager {
}
public void cleanup() {
// if (captureUri != null) CaptureProvider.getInstance(context).delete(captureUri);
if (captureUri != null) new File(captureUri.getPath()).delete();
if (captureUri != null) CaptureProvider.getInstance(context).delete(captureUri);
captureUri = null;
}
@@ -127,19 +122,11 @@ public class AttachmentManager {
return attachmentView.getVisibility() == View.VISIBLE;
}
public SlideDeck getSlideDeck() {
return slideDeck;
}
public void setCaptureImage(MasterSecret masterSecret, Bitmap bitmap) {
try {
captureUri = CaptureProvider.getInstance(context).create(masterSecret, bitmap);
setImage(masterSecret, captureUri);
} catch (IOException | BitmapDecodingException e) {
Log.w(TAG, e);
}
}
public static void selectVideo(Activity activity, int requestCode) {
selectMediaType(activity, "video/*", requestCode);
}
@@ -161,12 +148,16 @@ public class AttachmentManager {
return captureUri;
}
public void capturePhoto(Activity activity, int requestCode) {
public void setCaptureUri(Uri captureUri) {
this.captureUri = captureUri;
}
public void capturePhoto(Activity activity, Recipients recipients, int requestCode) {
try {
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (captureIntent.resolveActivity(activity.getPackageManager()) != null) {
File captureFile = File.createTempFile(String.valueOf(System.currentTimeMillis()), ".jpg", activity.getExternalFilesDir(null));
captureUri = Uri.fromFile(captureFile);
captureUri = CaptureProvider.getInstance(context).createForExternal(recipients);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, captureUri);
activity.startActivityForResult(captureIntent, requestCode);
}