From 833b87e9886de1dd11710e0bc39e8e00be6033e0 Mon Sep 17 00:00:00 2001 From: Thomas Bruyelle Date: Tue, 8 Mar 2016 10:57:11 +0100 Subject: [PATCH] Remove static scope to facilitate mocking --- .../rxpermissions/RxPermissions.java | 8 +- .../rxpermissions/RxPermissionsTest.java | 112 +++++++++--------- .../rxpermissions/sample/MainActivity.java | 6 +- 3 files changed, 64 insertions(+), 62 deletions(-) diff --git a/lib/src/main/java/com/tbruyelle/rxpermissions/RxPermissions.java b/lib/src/main/java/com/tbruyelle/rxpermissions/RxPermissions.java index 1118654..81436b3 100644 --- a/lib/src/main/java/com/tbruyelle/rxpermissions/RxPermissions.java +++ b/lib/src/main/java/com/tbruyelle/rxpermissions/RxPermissions.java @@ -75,11 +75,11 @@ private void log(String message) { * If one or several permissions have never been requested, invoke the related framework method * to ask the user if he allows the permissions. */ - public static Observable.Transformer ensure(final Context ctx, final String... permissions) { + public Observable.Transformer ensure(final String... permissions) { return new Observable.Transformer() { @Override public Observable call(Observable o) { - return RxPermissions.getInstance(ctx).request(o, permissions) + return request(o, permissions) // Transform Observable to Observable .buffer(permissions.length) .flatMap(new Func1, Observable>() { @@ -111,11 +111,11 @@ public Observable call(List permissions) { * If one or several permissions have never been requested, invoke the related framework method * to ask the user if he allows the permissions. */ - public static Observable.Transformer ensureEach(final Context ctx, final String... permissions) { + public Observable.Transformer ensureEach(final String... permissions) { return new Observable.Transformer() { @Override public Observable call(Observable o) { - return RxPermissions.getInstance(ctx).request(o, permissions); + return request(o, permissions); } }; } diff --git a/lib/src/test/java/com/tbruyelle/rxpermissions/RxPermissionsTest.java b/lib/src/test/java/com/tbruyelle/rxpermissions/RxPermissionsTest.java index 308a1aa..0cd041b 100644 --- a/lib/src/test/java/com/tbruyelle/rxpermissions/RxPermissionsTest.java +++ b/lib/src/test/java/com/tbruyelle/rxpermissions/RxPermissionsTest.java @@ -70,7 +70,7 @@ public void singleSubscription_preM() { String permission = Manifest.permission.READ_PHONE_STATE; when(mRxPermissions.isGranted(permission)).thenReturn(true); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub); sub.assertNoErrors(); sub.assertTerminalEvent(); @@ -86,7 +86,7 @@ public void singleSubscription_granted() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); sub.assertNoErrors(); @@ -103,7 +103,7 @@ public void singleEachSubscription_granted() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); sub.assertNoErrors(); @@ -119,7 +119,7 @@ public void singleEachSubscription_preM() { String permission = Manifest.permission.READ_PHONE_STATE; when(mRxPermissions.isGranted(permission)).thenReturn(true); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub); sub.assertNoErrors(); sub.assertTerminalEvent(); @@ -134,7 +134,7 @@ public void singleSubscription_alreadyGranted() { String permission = Manifest.permission.READ_PHONE_STATE; when(mRxPermissions.isGranted(permission)).thenReturn(true); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub); sub.assertNoErrors(); sub.assertTerminalEvent(); @@ -150,7 +150,7 @@ public void singleSubscription_denied() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_DENIED}; - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); sub.assertNoErrors(); @@ -167,7 +167,7 @@ public void singleEachSubscription_denied() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_DENIED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); sub.assertNoErrors(); @@ -183,7 +183,7 @@ public void singleSubscription_revoked() { String permission = Manifest.permission.READ_PHONE_STATE; when(mRxPermissions.isRevoked(permission)).thenReturn(true); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub); sub.assertNoErrors(); sub.assertTerminalEvent(); @@ -198,7 +198,7 @@ public void singleEachSubscription_revoked() { String permission = Manifest.permission.READ_PHONE_STATE; when(mRxPermissions.isRevoked(permission)).thenReturn(true); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub); sub.assertNoErrors(); sub.assertTerminalEvent(); @@ -215,8 +215,8 @@ public void severalSubscription() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -237,8 +237,8 @@ public void severalEachSubscription() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -259,8 +259,8 @@ public void severalMixedSubscription() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -281,7 +281,7 @@ public void singleSubscription_severalPermissions_granted() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, permissions, result); sub.assertNoErrors(); @@ -298,7 +298,7 @@ public void singleEachSubscription_severalPermissions_granted() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, permissions, result); sub.assertNoErrors(); @@ -318,7 +318,7 @@ public void singleSubscription_severalPermissions_oneDenied() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED}; - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, permissions, result); sub.assertNoErrors(); @@ -335,7 +335,7 @@ public void singleSubscription_severalPermissions_oneRevoked() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); when(mRxPermissions.isRevoked(Manifest.permission.CAMERA)).thenReturn(true); - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, new int[]{PackageManager.PERMISSION_GRANTED}); @@ -354,7 +354,7 @@ public void singleEachSubscription_severalPermissions_oneAlreadyGranted() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); when(mRxPermissions.isGranted(Manifest.permission.CAMERA)).thenReturn(true); - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, new int[]{PackageManager.PERMISSION_GRANTED}); @@ -380,7 +380,7 @@ public void singleEachSubscription_severalPermissions_oneDenied() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, permissions, result); sub.assertNoErrors(); @@ -400,7 +400,7 @@ public void singleEachSubscription_severalPermissions_oneRevoked() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); when(mRxPermissions.isRevoked(Manifest.permission.CAMERA)).thenReturn(true); - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, new int[]{PackageManager.PERMISSION_GRANTED}); @@ -423,8 +423,8 @@ public void severalSubscription_severalSamePermissions() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, permissions, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -445,8 +445,8 @@ public void severalEachSubscription_severalSamePermissions() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, permissions, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -470,8 +470,8 @@ public void severalSubscription_severalMixingPermissions_requestSeveralFirst() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, Manifest.permission.CAMERA)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(Manifest.permission.CAMERA)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, permissions, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -492,8 +492,8 @@ public void severalEachSubscription_severalMixingPermissions_requestSeveralFirst when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, Manifest.permission.CAMERA)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(Manifest.permission.CAMERA)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, permissions, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -518,8 +518,8 @@ public void severalSubscription_severalMixingPermissions_requestOnceFirst() { when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, Manifest.permission.CAMERA)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(Manifest.permission.CAMERA)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, result); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.CAMERA}, result); @@ -541,8 +541,8 @@ public void severalEachSubscription_severalMixingPermissions_requestOnceFirst() when(mRxPermissions.isGranted(Matchers.anyVararg())).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, Manifest.permission.CAMERA)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(Manifest.permission.CAMERA)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, result); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.CAMERA}, result); @@ -569,8 +569,8 @@ public void severalSubscription_severalMixingPermissions_oneDenied() { int[] resultGranted = new int[]{PackageManager.PERMISSION_GRANTED}; int[] resultDenied = new int[]{PackageManager.PERMISSION_DENIED}; - trigger().compose(RxPermissions.ensure(mCtx, Manifest.permission.CAMERA)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, permissions)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(Manifest.permission.CAMERA)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(permissions)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, resultDenied); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.CAMERA}, resultGranted); @@ -595,8 +595,8 @@ public void severalEachSubscription_severalMixingPermissions_oneDenied() { int[] resultGranted = new int[]{PackageManager.PERMISSION_GRANTED}; int[] resultDenied = new int[]{PackageManager.PERMISSION_DENIED}; - trigger().compose(RxPermissions.ensureEach(mCtx, Manifest.permission.CAMERA)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permissions)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(Manifest.permission.CAMERA)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permissions)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.READ_PHONE_STATE}, resultDenied); mRxPermissions.onRequestPermissionsResult(0, new String[]{Manifest.permission.CAMERA}, resultGranted); @@ -623,8 +623,8 @@ public void severalSubscription_afterDestroy() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub2); mRxPermissions.onDestroy(); for (TestSubscriber sub : new TestSubscriber[]{sub1, sub2}) { sub.assertNoErrors(); @@ -633,8 +633,8 @@ public void severalSubscription_afterDestroy() { sub1 = new TestSubscriber<>(); sub2 = new TestSubscriber<>(); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensure(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -655,8 +655,8 @@ public void severalEachSubscription_afterDestroy() { when(mRxPermissions.isGranted(permission)).thenReturn(false); int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub2); mRxPermissions.onDestroy(); for (TestSubscriber sub : new TestSubscriber[]{sub1, sub2}) { sub.assertNoErrors(); @@ -665,8 +665,8 @@ public void severalEachSubscription_afterDestroy() { sub1 = new TestSubscriber<>(); sub2 = new TestSubscriber<>(); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub1); - trigger().compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub2); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub1); + trigger().compose(mRxPermissions.ensureEach(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -687,7 +687,7 @@ public void singleSubscription_trigger_granted() { int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; PublishSubject trigger = PublishSubject.create(); - trigger.compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub); + trigger.compose(mRxPermissions.ensure(permission)).subscribe(sub); trigger.onNext(null); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); @@ -705,7 +705,7 @@ public void singleEachSubscription_trigger_granted() { int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; PublishSubject trigger = PublishSubject.create(); - trigger.compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub); + trigger.compose(mRxPermissions.ensureEach(permission)).subscribe(sub); trigger.onNext(null); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); @@ -724,8 +724,8 @@ public void severalSubscription_trigger_afterDestroy() { int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; PublishSubject trigger = PublishSubject.create(); - trigger.compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub1); - trigger.compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub2); + trigger.compose(mRxPermissions.ensure(permission)).subscribe(sub1); + trigger.compose(mRxPermissions.ensure(permission)).subscribe(sub2); trigger.onNext(null); mRxPermissions.onDestroy(); for (TestSubscriber sub : new TestSubscriber[]{sub1, sub2}) { @@ -736,8 +736,8 @@ public void severalSubscription_trigger_afterDestroy() { sub1 = new TestSubscriber<>(); sub2 = new TestSubscriber<>(); - trigger.compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub1); - trigger.compose(RxPermissions.ensure(mCtx, permission)).subscribe(sub2); + trigger.compose(mRxPermissions.ensure(permission)).subscribe(sub1); + trigger.compose(mRxPermissions.ensure(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); @@ -758,8 +758,8 @@ public void severalEachSubscription_trigger_afterDestroy() { int[] result = new int[]{PackageManager.PERMISSION_GRANTED}; PublishSubject trigger = PublishSubject.create(); - trigger.compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub1); - trigger.compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub2); + trigger.compose(mRxPermissions.ensureEach(permission)).subscribe(sub1); + trigger.compose(mRxPermissions.ensureEach(permission)).subscribe(sub2); trigger.onNext(null); mRxPermissions.onDestroy(); for (TestSubscriber sub : new TestSubscriber[]{sub1, sub2}) { @@ -770,8 +770,8 @@ public void severalEachSubscription_trigger_afterDestroy() { sub1 = new TestSubscriber<>(); sub2 = new TestSubscriber<>(); - trigger.compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub1); - trigger.compose(RxPermissions.ensureEach(mCtx, permission)).subscribe(sub2); + trigger.compose(mRxPermissions.ensureEach(permission)).subscribe(sub1); + trigger.compose(mRxPermissions.ensureEach(permission)).subscribe(sub2); mRxPermissions.onRequestPermissionsResult(0, new String[]{permission}, result); verify(mRxPermissions).startShadowActivity(any(String[].class)); diff --git a/sample/src/main/java/com/tbruyelle/rxpermissions/sample/MainActivity.java b/sample/src/main/java/com/tbruyelle/rxpermissions/sample/MainActivity.java index e19d248..655bcc5 100644 --- a/sample/src/main/java/com/tbruyelle/rxpermissions/sample/MainActivity.java +++ b/sample/src/main/java/com/tbruyelle/rxpermissions/sample/MainActivity.java @@ -19,17 +19,19 @@ public class MainActivity extends AppCompatActivity { private Camera mCamera; private SurfaceView mSurfaceView; + private RxPermissions mRxPermissions; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - RxPermissions.getInstance(this).setLogging(true); + mRxPermissions = RxPermissions.getInstance(this); + mRxPermissions.setLogging(true); setContentView(R.layout.act_main); mSurfaceView = (SurfaceView) findViewById(R.id.surfaceView); RxView.clicks(findViewById(R.id.enableCamera)) - .compose(RxPermissions.ensure(this, Manifest.permission.CAMERA)) + .compose(mRxPermissions.ensure(Manifest.permission.CAMERA)) .subscribe(granted -> { Log.i(TAG, " TRIGGER Received result " + granted); if (granted) {