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

Commit 2c4a56af authored by Johan Alfven's avatar Johan Alfven Committed by Johan Redestig
Browse files

Make sure OutOfMemoryError is handled by WallpaperManager

Make sure exception OutOfMemoryError is handled when calling
BitmapFactory.decodeFileDescriptor and BitmapFactory.decodeStream
to avoid crash in the system server.

Change-Id: I954a6388d1225dab86d2617ab0602154b2a7f493
parent 75a2ae93
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -235,8 +235,13 @@ public class WallpaperManager {
                    if (width <= 0 || height <= 0) {
                        // Degenerate case: no size requested, just load
                        // bitmap as-is.
                        Bitmap bm = BitmapFactory.decodeFileDescriptor(
                        Bitmap bm = null;
                        try {
                            bm = BitmapFactory.decodeFileDescriptor(
                                   fd.getFileDescriptor(), null, null);
                        } catch (OutOfMemoryError e) {
                            Log.w(TAG, "Can't decode file", e);
                        }
                        try {
                            fd.close();
                        } catch (IOException e) {
@@ -277,7 +282,12 @@ public class WallpaperManager {
                    if (width <= 0 || height <= 0) {
                        // Degenerate case: no size requested, just load
                        // bitmap as-is.
                        Bitmap bm = BitmapFactory.decodeStream(is, null, null);
                        Bitmap bm = null;
                        try {
                            bm = BitmapFactory.decodeStream(is, null, null);
                        } catch (OutOfMemoryError e) {
                            Log.w(TAG, "Can't decode stream", e);
                        }
                        try {
                            is.close();
                        } catch (IOException e) {