summaryrefslogtreecommitdiff
path: root/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2020-11-09 15:37:31 +0100
committercyBerta <cyberta@riseup.net>2020-11-09 15:37:31 +0100
commitf8daccffc061e2f05f6605913c19d4aa807eaddb (patch)
treea9789cd103807debb302d838dc5aef81fc2a4bb6 /app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java
parent9510a267ac90d74fc47977958a67b4e0bd0b5708 (diff)
initial auto-update implementation: introducing fatweb flavor, pgpverify go library and bitmask core library, basic update mechanism
Diffstat (limited to 'app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java')
-rw-r--r--app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java b/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java
new file mode 100644
index 00000000..756a3b99
--- /dev/null
+++ b/app/src/fatweb/java/se.leap.bitmaskclient/appUpdate/FileProviderUtil.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2020 LEAP Encryption Access Project and contributers
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+package se.leap.bitmaskclient.appUpdate;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.Build;
+import androidx.annotation.NonNull;
+import androidx.core.content.FileProvider;
+
+import java.io.File;
+
+import se.leap.bitmaskclient.BuildConfig;
+
+/**
+ * From Signal
+ */
+
+public class FileProviderUtil {
+
+ private static final String AUTHORITY = BuildConfig.APPLICATION_ID +".fileprovider";
+
+ public static Uri getUriFor(@NonNull Context context, @NonNull File file) {
+ if (Build.VERSION.SDK_INT >= 24) return FileProvider.getUriForFile(context, AUTHORITY, file);
+ else return Uri.fromFile(file);
+ }
+
+ public static boolean isAuthority(@NonNull Uri uri) {
+ return AUTHORITY.equals(uri.getAuthority());
+ }
+
+ public static boolean delete(@NonNull Context context, @NonNull Uri uri) {
+ if (AUTHORITY.equals(uri.getAuthority())) {
+ return context.getContentResolver().delete(uri, null, null) > 0;
+ }
+ return new File(uri.getPath()).delete();
+ }
+}