# tbruyelle/rxpermissions

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tbruyelle-rxpermissions).**

10,416 stars · 1,374 forks · Java · Apache-2.0 · archived

## Links

- GitHub: https://github.com/tbruyelle/RxPermissions
- awesome-repositories: https://awesome-repositories.com/repository/tbruyelle-rxpermissions.md

## Description

RxPermissions is a reactive permissions library for Android that manages runtime system permissions using RxJava observables. It serves as a wrapper for the Android runtime permission manager, converting asynchronous system requests and their results into a unified reactive stream.

The library eliminates the need for fragmented callback methods by using a hidden fragment to intercept permission request results. This allows the request and the resulting outcome to remain within a single logic flow, avoiding boilerplate callbacks in the activity.

The system supports requesting multiple permissions simultaneously, providing the ability to process outcomes as either a combined result or a detailed map of individual permissions.

## Tags

### Security & Cryptography

- [Observable Request Flows](https://awesome-repositories.com/f/security-cryptography/permission-systems/permission-request-workflows/observable-request-flows.md) — Wraps asynchronous system permission requests into a reactive stream that emits results directly to subscribing logic.
- [Permission Request Workflows](https://awesome-repositories.com/f/security-cryptography/permission-systems/permission-request-workflows.md) — Creates a unified logic flow for requesting system permissions by wrapping the process in an observable stream. ([source](https://github.com/tbruyelle/rxpermissions#readme))
- [Simultaneous Request Systems](https://awesome-repositories.com/f/security-cryptography/permission-systems/permission-request-workflows/simultaneous-request-systems.md) — Enables requesting several permissions simultaneously to receive either a combined result or a detailed list of outcomes. ([source](https://github.com/tbruyelle/rxpermissions#readme))

### Part of an Awesome List

- [RxJava Wrappers](https://awesome-repositories.com/f/awesome-lists/devtools/runtime-permissions/rxjava-wrappers.md) — Implements an RxJava-based wrapper for requesting Android runtime permissions and handling asynchronous results.
- [Multi-Permission Requestors](https://awesome-repositories.com/f/awesome-lists/security/permissions/multi-permission-requestors.md) — Supports requesting several system permissions at once and processing combined outcomes through an observable stream.
- [Result Aggregators](https://awesome-repositories.com/f/awesome-lists/security/permissions/result-aggregators.md) — Provides the ability to process multiple permission outcomes as either a combined result or a detailed map.
- [Reactive Permission Libraries](https://awesome-repositories.com/f/awesome-lists/security/reactive-permission-libraries.md) — Provides a reactive approach to managing Android system permissions that eliminates fragmented callback methods.
- [Runtime Permissions](https://awesome-repositories.com/f/awesome-lists/devtools/runtime-permissions.md) — Reactive wrapper for handling Android runtime permissions.

### Web Development

- [Callback-to-Stream Adapters](https://awesome-repositories.com/f/web-development/legacy-stream-adapters/callback-to-stream-adapters.md) — Converts the Android permission callback mechanism into an observable sequence for easier composition.

### Mobile Development

- [Fragment-Based Request Proxies](https://awesome-repositories.com/f/mobile-development/fragment-based-request-proxies.md) — Implements a hidden fragment to intercept permission results, removing boilerplate callbacks from the activity.
- [RxJava Android Bindings](https://awesome-repositories.com/f/mobile-development/rxjava-android-bindings.md) — Integrates asynchronous reactive streams into the Android activity lifecycle to manage permission request chains.
