From 53b5dfbe16676a314d5929592a118169a61b4085 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Wed, 22 Nov 2017 19:08:00 +0100 Subject: refactore phone helper to ignore security exception --- .../de/pixart/messenger/utils/PhoneHelper.java | 63 +++++++++++----------- 1 file changed, 30 insertions(+), 33 deletions(-) (limited to 'src/main/java/de/pixart/messenger/utils/PhoneHelper.java') diff --git a/src/main/java/de/pixart/messenger/utils/PhoneHelper.java b/src/main/java/de/pixart/messenger/utils/PhoneHelper.java index cdc51f729..a8c53f699 100644 --- a/src/main/java/de/pixart/messenger/utils/PhoneHelper.java +++ b/src/main/java/de/pixart/messenger/utils/PhoneHelper.java @@ -82,45 +82,24 @@ public class PhoneHelper { } } - private static class NotThrowCursorLoader extends CursorLoader { - - public NotThrowCursorLoader(Context c, Uri u, String[] p, String s, String[] sa, String so) { - super(c, u, p, s, sa, so); - } - - @Override - public Cursor loadInBackground() { - - try { - return (super.loadInBackground()); - } catch (Throwable e) { - return (null); - } + public static Uri getProfilePictureUri(Context context) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context.checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { + return null; } - } - - public static Uri getSelfiUri(Context context) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M - && context.checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { + final String[] projection = new String[]{Profile._ID, Profile.PHOTO_URI}; + final Cursor cursor; + try { + cursor = context.getContentResolver().query(Profile.CONTENT_URI, projection, null, null, null); + } catch (SecurityException e) { return null; } - String[] mProjection = new String[]{Profile._ID, Profile.PHOTO_URI}; - Cursor mProfileCursor = context.getContentResolver().query( - Profile.CONTENT_URI, mProjection, null, null, null); - - if (mProfileCursor == null || mProfileCursor.getCount() == 0) { + if (cursor == null) { return null; - } else { - mProfileCursor.moveToFirst(); - String uri = mProfileCursor.getString(1); - mProfileCursor.close(); - if (uri == null) { - return null; - } else { - return Uri.parse(uri); - } } + final String uri = cursor.moveToFirst() ? cursor.getString(1) : null; + cursor.close(); + return uri == null ? null : Uri.parse(uri); } public static String getVersionName(Context context) { @@ -136,6 +115,24 @@ public class PhoneHelper { } } + private static class NotThrowCursorLoader extends CursorLoader { + + private NotThrowCursorLoader(Context c, Uri u, String[] p, String s, String[] sa, String so) { + super(c, u, p, s, sa, so); + } + + @Override + public Cursor loadInBackground() { + + try { + return (super.loadInBackground()); + } catch (Throwable e) { + return (null); + } + } + + } + public static String getOSVersion(Context context) { return "Android/" + android.os.Build.MODEL + "/" + android.os.Build.VERSION.RELEASE; } -- cgit v1.2.3