X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=android%2Fxscreensaver%2Fsrc%2Forg%2Fjwz%2Fxscreensaver%2Fjwxyz.java;h=a22a26d40c9ed708f604c4a333a05405f1c39d79;hp=8ca6af40588b0fcbb8e8affa8d826f48aa0036d8;hb=refs%2Fheads%2Fmaster;hpb=78add6e627ee5f10e1fa6f3852602ea5066eee5a diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java b/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java index 8ca6af40..a22a26d4 100644 --- a/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java +++ b/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java @@ -57,6 +57,11 @@ import android.media.ExifInterface; import org.jwz.xscreensaver.TTFAnalyzer; import android.util.Log; import android.view.Surface; +import android.Manifest; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; +import android.os.Build; +import android.content.pm.PackageManager; public class jwxyz implements GestureDetector.OnGestureListener, @@ -100,6 +105,8 @@ public class jwxyz public final static int FONT_FACE = 1; public final static int FONT_RANDOM = 2; + public final static int MY_REQ_READ_EXTERNAL_STORAGE = 271828; + private long nativeRunningHackPtr; private String hack; @@ -627,6 +634,38 @@ public class jwxyz } + boolean havePermission(String permission) { + + if (Build.VERSION.SDK_INT < 16) { + return true; + } + + if (permissionGranted(permission)) { + return true; + } + + return false; + } + + + private boolean permissionGranted(String permission) { + boolean check = ContextCompat.checkSelfPermission(app, permission) == + PackageManager.PERMISSION_GRANTED; + return check; + } + + public Object[] checkThenLoadRandomImage (int target_width, int target_height, + boolean rotate_p) { + // RES introduced in API 16 + String permission = Manifest.permission.READ_EXTERNAL_STORAGE; + + if (havePermission(permission)) { + return loadRandomImage(target_width,target_height,rotate_p); + } else { + return null; + } + } + public Object[] loadRandomImage (int target_width, int target_height, boolean rotate_p) {