public abstract class RequirementCase<T>
extends java.lang.Object
Library provides a subclass for easier interaction with Android Permissions, see: PermissionCase
Changed in 1.1.0: added type parameter to indicate `target` of this requirement case
meetsRequirement()
,
startResolution()
,
PermissionCase
Constructor and Description |
---|
RequirementCase() |
Modifier and Type | Method and Description |
---|---|
protected android.app.Activity |
activity() |
protected android.content.Context |
appContext() |
void |
attach(EventDispatcher<T> dispatcher,
ru.noties.requirements.RequirementCase.Callback callback) |
protected boolean |
checkSelfPermission(java.lang.String permission) |
protected void |
deliverResult(boolean result)
Call this method after resolution has finished (in whatever case: success or cancellation)
|
protected void |
deliverResult(boolean result,
Payload payload)
Call this method after resolution has finished (in whatever case: success or cancellation)
|
void |
detach() |
abstract boolean |
meetsRequirement()
Synchronous method to check if requirement is satisfied
|
boolean |
onActivityResult(int requestCode,
int resultCode,
android.content.Intent data)
Please override this method if your
RequirementCase need to receive `onActivityResult` event |
boolean |
onRequestPermissionsResult(int requestCode,
java.lang.String[] permissions,
int[] grantResults)
Please override this method if your
RequirementCase need to receive `onRequestPermissionsResult` event |
protected void |
requestPermission(java.lang.String permission,
int requestCode) |
protected boolean |
shouldShowRequestPermissionRationale(java.lang.String permission) |
protected void |
startActivityForResult(android.content.Intent intent,
int requestCode) |
abstract void |
startResolution()
Starts requirement resolution process.
|
protected T |
target() |
public abstract boolean meetsRequirement()
public abstract void startResolution()
meetsRequirement()
returns falsepublic final void attach(EventDispatcher<T> dispatcher, ru.noties.requirements.RequirementCase.Callback callback)
public final void detach()
public boolean onActivityResult(int requestCode, int resultCode, android.content.Intent data)
RequirementCase
need to receive `onActivityResult` eventpublic boolean onRequestPermissionsResult(int requestCode, java.lang.String[] permissions, int[] grantResults)
RequirementCase
need to receive `onRequestPermissionsResult` eventprotected android.content.Context appContext()
protected android.app.Activity activity()
protected T target()
EventDispatcher.target()
protected void deliverResult(boolean result)
result
- true for success, false for failureprotected void deliverResult(boolean result, Payload payload)
result
- true for success, false for failurepayload
- Payload
to identify _error_ state. Please note that it will be ignored in case of success resultprotected void startActivityForResult(android.content.Intent intent, int requestCode)
protected void requestPermission(java.lang.String permission, int requestCode)
protected boolean checkSelfPermission(java.lang.String permission)
protected boolean shouldShowRequestPermissionRationale(java.lang.String permission)