From c8d88ec3364218802bc48257b7766ad8f19a6e45 Mon Sep 17 00:00:00 2001
From: Guillaume Jacquart <guillaume.jacquart@hoodbrains.com>
Date: Wed, 17 Aug 2022 08:49:03 +0000
Subject: 2-Simplify sources modules tree

---
 permissionsstandalone/.gitignore                   |  1 +
 permissionsstandalone/build.gradle                 | 60 ++++++++++++++++++++++
 permissionsstandalone/consumer-rules.pro           |  0
 permissionsstandalone/proguard-rules.pro           | 21 ++++++++
 permissionsstandalone/src/main/AndroidManifest.xml | 23 +++++++++
 .../permissions/PermissionsPrivacyModule.kt        | 49 ++++++++++++++++++
 6 files changed, 154 insertions(+)
 create mode 100644 permissionsstandalone/.gitignore
 create mode 100644 permissionsstandalone/build.gradle
 create mode 100644 permissionsstandalone/consumer-rules.pro
 create mode 100644 permissionsstandalone/proguard-rules.pro
 create mode 100644 permissionsstandalone/src/main/AndroidManifest.xml
 create mode 100644 permissionsstandalone/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt

(limited to 'permissionsstandalone')

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
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
+    }
+}
-- 
cgit v1.2.1