1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.example.android.system.runtimepermissions.extensions 17 18 import android.content.pm.PackageManager 19 import android.support.v4.app.ActivityCompat 20 import android.support.v7.app.AppCompatActivity 21 22 fun AppCompatActivity.isPermissionGranted(permission: String) = 23 ActivityCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED 24 25 fun AppCompatActivity.shouldShowPermissionRationale(permission: String) = 26 ActivityCompat.shouldShowRequestPermissionRationale(this, permission) 27 28 fun AppCompatActivity.requestPermission(permission: String, requestId: Int) = 29 ActivityCompat.requestPermissions(this, arrayOf(permission), requestId) 30 31 fun AppCompatActivity.batchRequestPermissions(permissions: Array<String>, requestId: Int) = 32 ActivityCompat.requestPermissions(this, permissions, requestId)