# RequestPermissionCallable

Summary:[Nested Classes](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#nestedclasses)\|[Ctors](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#pubctors)\|[Methods](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#pubmethods)\|[Protected Methods](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#promethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#)  

# RequestPermissionCallable

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public


abstract
class
RequestPermissionCallable
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object.html)`


``


implements

`[Callable](https://developer.android.com/reference/java/util/concurrent/Callable.html)`<`[RequestPermissionCallable.Result](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable.Result)`>


`

|---|------------------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||
| ↳ | android.support.test.runner.permission.RequestPermissionCallable |

<br />

*** ** * ** ***

Base class for runtime permission[Callable](https://developer.android.com/reference/java/util/concurrent/Callable.html)s.

Note: This class is visible only for testing. Please do not use it directly.

## Summary

|                                                                                      ### Nested classes                                                                                      ||
|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` enum` | [RequestPermissionCallable.Result](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable.Result) Result of a permission request. |

|                                                                                                                                                                                                                                                                                   ### Public constructors                                                                                                                                                                                                                                                                                   ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[RequestPermissionCallable](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#RequestPermissionCallable(android.support.test.runner.permission.ShellCommand, android.content.Context, java.lang.String))`(`[ShellCommand](https://developer.android.com/reference/android/support/test/runner/permission/ShellCommand)` shellCommand, `[Context](https://developer.android.com/reference/android/content/Context.html)` targetContext, `[String](https://developer.android.com/reference/java/lang/String.html)` permission) ` |

|                                                                                                             ### Public methods                                                                                                             ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` boolean` | ` `[equals](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object.html)` o) ` |
| ` int`     | ` `[hashCode](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#hashCode())`() `                                                                                        |

|                                                                                                                             ### Protected methods                                                                                                                             ||
|----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[String](https://developer.android.com/reference/java/lang/String.html)                                     | ` `[getPermission](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#getPermission())`() `             |
| ` `[ShellCommand](https://developer.android.com/reference/android/support/test/runner/permission/ShellCommand) | ` `[getShellCommand](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#getShellCommand())`() `         |
| ` boolean`                                                                                                     | ` `[isPermissionGranted](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#isPermissionGranted())`() ` |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#)From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object.html)` ` |-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object.html)          | ` clone() `                                                                                | | ` boolean`                                                                          | ` equals(`[Object](https://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` void`                                                                             | ` finalize() `                                                                             | | ` final `[Class](https://developer.android.com/reference/java/lang/Class.html)`<?>` | ` getClass() `                                                                             | | ` int`                                                                              | ` hashCode() `                                                                             | | ` final void`                                                                       | ` notify() `                                                                               | | ` final void`                                                                       | ` notifyAll() `                                                                            | | ` `[String](https://developer.android.com/reference/java/lang/String.html)          | ` toString() `                                                                             | | ` final void`                                                                       | ` wait(long arg0, int arg1) `                                                              | | ` final void`                                                                       | ` wait(long arg0) `                                                                        | | ` final void`                                                                       | ` wait() `                                                                                 | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable#)From interface` `[java.util.concurrent.Callable](https://developer.android.com/reference/java/util/concurrent/Callable.html)` ` |-----------------------------------------------------------------------------------------------------------------------------------------------------------------|------------| | ` abstract `[RequestPermissionCallable.Result](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable.Result) | ` call() ` | ||

## Public constructors

### RequestPermissionCallable

```
RequestPermissionCallable (ShellCommand shellCommand, 
                Context targetContext, 
                String permission)
```

<br />

<br />

|               Parameters               ||
|-----------------|-----------------------|
| `shellCommand`  | `ShellCommand` <br /> |
| `targetContext` | `Context` <br />      |
| `permission`    | `String` <br />       |

## Public methods

### equals

```
boolean equals (Object o)
```

<br />

<br />

|      Parameters      ||
|-----|-----------------|
| `o` | `Object` <br /> |

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### hashCode

```
int hashCode ()
```

<br />

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

## Protected methods

### getPermission

```
String getPermission ()
```

<br />

<br />

|                                     Returns                                     ||
|-------------------------------------------------------------------------|--------|
| [String](https://developer.android.com/reference/java/lang/String.html) | <br /> |

### getShellCommand

```
ShellCommand getShellCommand ()
```

<br />

<br />

|                                                       Returns                                                       ||
|-------------------------------------------------------------------------------------------------------------|--------|
| [ShellCommand](https://developer.android.com/reference/android/support/test/runner/permission/ShellCommand) | <br /> |

### isPermissionGranted

```
boolean isPermissionGranted ()
```

<br />

<br />

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

-

  ## Classes

  - [PermissionRequester](https://developer.android.com/reference/android/support/test/runner/permission/PermissionRequester)
  - [RequestPermissionCallable](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable)
  - [ShellCommand](https://developer.android.com/reference/android/support/test/runner/permission/ShellCommand)
-

  ## Enums

  - [RequestPermissionCallable.Result](https://developer.android.com/reference/android/support/test/runner/permission/RequestPermissionCallable.Result)