|
52 | 52 |
|
53 | 53 | import processing.android.AppComponent; |
54 | 54 | import processing.android.ServiceEngine; |
| 55 | +import processing.android.PermissionRequestor; |
55 | 56 |
|
56 | 57 | /** |
57 | 58 | * Base surface for Android2D and OpenGL renderers. |
58 | 59 | * It includes the standard rendering loop. |
59 | 60 | */ |
60 | 61 | public class PSurfaceNone implements PSurface, PConstants { |
61 | | - private static final String KEY_RESULT_RECEIVER = "resultReceiver"; |
62 | | - private static final String KEY_PERMISSIONS = "permissions"; |
63 | | - private static final String KEY_GRANT_RESULTS = "grantResults"; |
64 | | - private static final String KEY_REQUEST_CODE = "requestCode"; |
65 | | - |
66 | 62 | protected PApplet sketch; |
67 | 63 | protected PGraphics graphics; |
68 | 64 | protected AppComponent component; |
@@ -539,41 +535,19 @@ public void requestPermissions(String[] permissions) { |
539 | 535 | ResultReceiver resultReceiver = new ResultReceiver(new Handler(Looper.getMainLooper())) { |
540 | 536 | @Override |
541 | 537 | protected void onReceiveResult (int resultCode, Bundle resultData) { |
542 | | - String[] outPermissions = resultData.getStringArray(KEY_PERMISSIONS); |
543 | | - int[] grantResults = resultData.getIntArray(KEY_GRANT_RESULTS); |
| 538 | + String[] outPermissions = resultData.getStringArray(PermissionRequestor.KEY_PERMISSIONS); |
| 539 | + int[] grantResults = resultData.getIntArray(PermissionRequestor.KEY_GRANT_RESULTS); |
544 | 540 | eng.onRequestPermissionsResult(resultCode, outPermissions, grantResults); |
545 | 541 | } |
546 | 542 | }; |
547 | | - final Intent permIntent = new Intent(getContext(), PermissionRequestActivity.class); |
548 | | - permIntent.putExtra(KEY_RESULT_RECEIVER, resultReceiver); |
549 | | - permIntent.putExtra(KEY_PERMISSIONS, permissions); |
550 | | - permIntent.putExtra(KEY_REQUEST_CODE, REQUEST_PERMISSIONS); |
| 543 | + final Intent permIntent = new Intent(getContext(), PermissionRequestor.class); |
| 544 | + permIntent.putExtra(PermissionRequestor.KEY_RESULT_RECEIVER, resultReceiver); |
| 545 | + permIntent.putExtra(PermissionRequestor.KEY_PERMISSIONS, permissions); |
| 546 | + permIntent.putExtra(PermissionRequestor.KEY_REQUEST_CODE, REQUEST_PERMISSIONS); |
551 | 547 | // Show the dialog requesting the permissions |
552 | 548 | permIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
553 | 549 |
|
554 | 550 | startActivity(permIntent); |
555 | 551 | } |
556 | 552 | } |
557 | | - |
558 | | - public static class PermissionRequestActivity extends Activity { |
559 | | - ResultReceiver resultReceiver; |
560 | | - String[] permissions; |
561 | | - int requestCode; |
562 | | - @Override |
563 | | - protected void onStart() { |
564 | | - super.onStart(); |
565 | | - resultReceiver = this.getIntent().getParcelableExtra(KEY_RESULT_RECEIVER); |
566 | | - permissions = this.getIntent().getStringArrayExtra(KEY_PERMISSIONS); |
567 | | - requestCode = this.getIntent().getIntExtra(KEY_REQUEST_CODE, 0); |
568 | | - ActivityCompat.requestPermissions(this, permissions, requestCode); |
569 | | - } |
570 | | - @Override |
571 | | - public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { |
572 | | - Bundle resultData = new Bundle(); |
573 | | - resultData.putStringArray(KEY_PERMISSIONS, permissions); |
574 | | - resultData.putIntArray(KEY_GRANT_RESULTS, grantResults); |
575 | | - resultReceiver.send(requestCode, resultData); |
576 | | - finish(); |
577 | | - } |
578 | | - } |
579 | 553 | } |
0 commit comments