Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fef5b986 authored by Yuli Huang's avatar Yuli Huang
Browse files

Fix b/5287869 (and b/5369640).

Images from some app (MMS) may not have columns that PhotoEditor tries
to query, for example: the orientation. Just ignore the absent columns.

Change-Id: I1cda4e32241d9be7819453ede225388c7535c18c
parent d8ad9c0d
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -199,8 +199,6 @@
                android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.EDIT" />
                <data android:scheme="content" />
                <data android:host="media" />
                <data android:mimeType="image/*" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
+4 −1
Original line number Diff line number Diff line
@@ -126,11 +126,14 @@ public class BitmapUtils {

    private int getOrientation(Uri uri) {
        int orientation = 0;
        Cursor cursor = context.getContentResolver().query(uri, IMAGE_PROJECTION, null, null, null);
        Cursor cursor = null;
        try {
            cursor = context.getContentResolver().query(uri, IMAGE_PROJECTION, null, null, null);
            if ((cursor != null) && cursor.moveToNext()) {
                orientation = cursor.getInt(INDEX_ORIENTATION);
            }
        } catch (Exception e) {
            // Ignore error for no orientation column; just use the default orientation value 0.
        } finally {
            if (cursor != null) {
                cursor.close();
+4 −2
Original line number Diff line number Diff line
@@ -118,14 +118,16 @@ public class SaveCopyTask extends AsyncTask<Bitmap, Void, Uri> {
        double longitude = 0f;

        ContentResolver contentResolver = context.getContentResolver();
        Cursor cursor = contentResolver.query(
                sourceUri, IMAGE_PROJECTION, null, null, null);
        Cursor cursor = null;
        try {
            cursor = contentResolver.query(sourceUri, IMAGE_PROJECTION, null, null, null);
            if ((cursor != null) && cursor.moveToNext()) {
                dateTaken = cursor.getLong(INDEX_DATE_TAKEN);
                latitude = cursor.getDouble(INDEX_LATITUDE);
                longitude = cursor.getDouble(INDEX_LONGITUDE);
            }
        } catch (Exception e) {
            // Ignore error for lacking property columns from the source.
        } finally {
            if (cursor != null) {
                cursor.close();