asantalla / ReactivePermission

Android library to request permissions using RxJava

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ReactivePermission

ReactivePermission is an Android library to request permissions using RxJava.

Current Branch Branch Bintray JCenter Build Status Codacy
RxJava1.x jcenter Build Status Codacy Badge
☑️ RxJava2.x jcenter Build Status Codacy Badge

Contents

Download

First of all, be sure you have the jcenter repository included in the build.gradle file in the root of your project.

repositories {
    jcenter()
}

Next add the gradle compile dependency to the build.gradle file of your app module.

compile 'co.develoop.reactivepermission:reactivepermission-rx2:1.0.1'

Usage

We can request permissions using the below code inside a FragmentActivity.

new ReactivePermission.Builder(this)
    .addPermission(ACCESS_FINE_LOCATION)
    .addPermission(WRITE_EXTERNAL_STORAGE)
    .subscribe(new Consumer<ReactivePermissionResults>() {

        @Override
        public void accept(@NonNull ReactivePermissionResults reactivePermissionResults) throws Exception {
            if (reactivePermissionResults.hasPermission(ACCESS_FINE_LOCATION)) {
                Toast.makeText(getApplicationContext(), "ACCESS_FINE_LOCATION GRANTED", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(getApplicationContext(), "ACCESS_FINE_LOCATION NOT GRANTED", Toast.LENGTH_LONG).show();
            }

            if (reactivePermissionResults.hasPermission(WRITE_EXTERNAL_STORAGE)) {
                Toast.makeText(getApplicationContext(), "WRITE_EXTERNAL_STORAGE GRANTED", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(getApplicationContext(), "WRITE_EXTERNAL_STORAGE NOT GRANTED", Toast.LENGTH_LONG).show();
            }
        }
    });

License

Copyright 2017 Adrián Santalla

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Android library to request permissions using RxJava

License:Apache License 2.0


Languages

Language:Java 100.0%