This commit is contained in:
Yamozha
2021-04-02 02:24:13 +03:00
parent c23950b545
commit 7256d79e2c
31493 changed files with 3036630 additions and 0 deletions

View File

@ -0,0 +1,81 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven'
group = 'org.unimodules'
version = '5.4.0'
buildscript {
// Simple helper that allows the root project to override versions declared by this library.
ext.safeExtGet = { prop, fallback ->
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet("kotlinVersion", "1.3.50")}")
}
}
//Upload android library to maven with javadoc and android sources
configurations {
deployerJars
}
//Creating sources with comments
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
//Put the androidSources and javadoc to the artifacts
artifacts {
archives androidSourcesJar
}
uploadArchives {
repositories {
mavenDeployer {
configuration = configurations.deployerJars
repository(url: mavenLocal().url)
}
}
}
android {
compileSdkVersion safeExtGet("compileSdkVersion", 29)
defaultConfig {
minSdkVersion safeExtGet("minSdkVersion", 21)
targetSdkVersion safeExtGet("targetSdkVersion", 29)
versionCode 14
versionName "5.4.0"
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
}
repositories {
mavenCentral()
}
if (new File(rootProject.projectDir.parentFile, 'package.json').exists()) {
apply from: project(":unimodules-core").file("../unimodules-core.gradle")
} else {
throw new GradleException(
"'unimodules-core.gradle' was not found in the usual React Native dependency location. " +
"This package can only be used in such projects. Are you sure you've installed the dependencies properly?")
}
dependencies {
unimodule "unimodules-core"
api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet("kotlinVersion", "1.3.50")}"
}

View File

@ -0,0 +1,5 @@
<manifest package="org.unimodules.interfaces.permissions">
</manifest>

View File

@ -0,0 +1,38 @@
package org.unimodules.interfaces.permissions;
import org.unimodules.core.Promise;
public interface Permissions {
static void getPermissionsWithPermissionsManager(Permissions permissionsManager, final Promise promise, String... permissions) {
if (permissionsManager == null) {
promise.reject("E_NO_PERMISSIONS", "Permissions module is null. Are you sure all the installed Expo modules are properly linked?");
return;
}
permissionsManager.getPermissionsWithPromise(promise, permissions);
}
static void askForPermissionsWithPermissionsManager(Permissions permissionsManager, final Promise promise, String... permissions) {
if (permissionsManager == null) {
promise.reject("E_NO_PERMISSIONS", "Permissions module is null. Are you sure all the installed Expo modules are properly linked?");
return;
}
permissionsManager.askForPermissionsWithPromise(promise, permissions);
}
void getPermissionsWithPromise(final Promise promise, String... permissions);
void getPermissions(final PermissionsResponseListener response, String... permissions);
void askForPermissionsWithPromise(final Promise promise, String... permissions);
void askForPermissions(final PermissionsResponseListener response, String... permissions);
boolean hasGrantedPermissions(String... permissions);
/**
* Checks whether given permission is present in AndroidManifest or not.
*/
boolean isPermissionPresentInManifest(String permission);
}

View File

@ -0,0 +1,16 @@
package org.unimodules.interfaces.permissions
data class PermissionsResponse(val status: PermissionsStatus,
val canAskAgain: Boolean = true) {
companion object {
const val STATUS_KEY = "status"
const val GRANTED_KEY = "granted"
const val EXPIRES_KEY = "expires"
const val CAN_ASK_AGAIN_KEY = "canAskAgain"
const val SCOPE_KEY = "scope"
const val PERMISSION_EXPIRES_NEVER = "never"
const val SCOPE_IN_USE = "whenInUse"
const val SCOPE_ALWAYS = "always"
const val SCOPE_NONE = "none"
}
}

View File

@ -0,0 +1,10 @@
package org.unimodules.interfaces.permissions;
import java.util.Map;
@FunctionalInterface
public interface PermissionsResponseListener {
void onResult(Map<String, PermissionsResponse> result);
}

View File

@ -0,0 +1,17 @@
package org.unimodules.interfaces.permissions;
public enum PermissionsStatus {
GRANTED("granted"),
UNDETERMINED("undetermined"),
DENIED("denied");
private String status;
PermissionsStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
}