|
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