diff options
Diffstat (limited to 'permissionsstandalone')
-rw-r--r-- | permissionsstandalone/.gitignore | 1 | ||||
-rw-r--r-- | permissionsstandalone/build.gradle | 60 | ||||
-rw-r--r-- | permissionsstandalone/consumer-rules.pro | 0 | ||||
-rw-r--r-- | permissionsstandalone/proguard-rules.pro | 21 | ||||
-rw-r--r-- | permissionsstandalone/src/main/AndroidManifest.xml | 23 | ||||
-rw-r--r-- | permissionsstandalone/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt | 49 |
6 files changed, 154 insertions, 0 deletions
diff --git a/permissionsstandalone/.gitignore b/permissionsstandalone/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/permissionsstandalone/.gitignore @@ -0,0 +1 @@ +/build
\ No newline at end of file diff --git a/permissionsstandalone/build.gradle b/permissionsstandalone/build.gradle new file mode 100644 index 0000000..aadb84f --- /dev/null +++ b/permissionsstandalone/build.gradle @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2022 E FOUNDATION + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +plugins { + id 'com.android.library' + id 'org.jetbrains.kotlin.android' +} + +android { + compileSdkVersion buildConfig.compileSdk + + defaultConfig { + minSdkVersion buildConfig.minSdk + targetSdkVersion buildConfig.targetSdk + + consumerProguardFiles "consumer-rules.pro" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } +} + +dependencies { + implementation( + Libs.Kotlin.stdlib, + Libs.AndroidX.coreKtx, + Libs.Coroutines.core + ) + + implementation project(':api') + + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +}
\ No newline at end of file diff --git a/permissionsstandalone/consumer-rules.pro b/permissionsstandalone/consumer-rules.pro new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/permissionsstandalone/consumer-rules.pro diff --git a/permissionsstandalone/proguard-rules.pro b/permissionsstandalone/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/permissionsstandalone/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile
\ No newline at end of file diff --git a/permissionsstandalone/src/main/AndroidManifest.xml b/permissionsstandalone/src/main/AndroidManifest.xml new file mode 100644 index 0000000..662ea44 --- /dev/null +++ b/permissionsstandalone/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2022 E FOUNDATION + ~ + ~ This program is free software: you can redistribute it and/or modify + ~ it under the terms of the GNU General Public License as published by + ~ the Free Software Foundation, either version 3 of the License, or + ~ (at your option) any later version. + ~ + ~ This program is distributed in the hope that it will be useful, + ~ but WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ~ GNU General Public License for more details. + ~ + ~ You should have received a copy of the GNU General Public License + ~ along with this program. If not, see <https://www.gnu.org/licenses/>. + --> + +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="foundation.e.privacymodules.permissionsstandalone" + > + +</manifest>
\ No newline at end of file diff --git a/permissionsstandalone/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt b/permissionsstandalone/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt new file mode 100644 index 0000000..d32cada --- /dev/null +++ b/permissionsstandalone/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2022 E FOUNDATION + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +package foundation.e.privacymodules.permissions + +import android.content.Context +import android.os.Build +import android.provider.Settings +import foundation.e.privacymodules.permissions.data.AppOpModes +import foundation.e.privacymodules.permissions.data.ApplicationDescription + +/** + * Implements [IPermissionsPrivacyModule] using only API authorized on the PlayStore. + */ +class PermissionsPrivacyModule(context: Context): APermissionsPrivacyModule(context) { + /** + * @see IPermissionsPrivacyModule.toggleDangerousPermission + * Return an ManualAction to go toggle manually the permission in the ap page of the settings. + */ + override fun toggleDangerousPermission( + appDesc: ApplicationDescription, + permissionName: String, + grant: Boolean): Boolean = false + + + override fun setAppOpMode( + appDesc: ApplicationDescription, + appOpPermissionName: String, + status: AppOpModes + ): Boolean = false + + override fun setVpnPackageAuthorization(packageName: String): Boolean { + return false + } +} |