aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-12-04 21:24:53 +0100
committerChristian Schneppe <christian@pix-art.de>2018-12-04 21:24:53 +0100
commit20ff016c626a45d29164aac5d3f66027c2055fb4 (patch)
treed72067e2247884e92bd71f1d86bcf649dc0724eb /src/main/java/de/pixart/messenger/utils
parent72a6e378646f0d42cce97616bd2f01b84870049c (diff)
offer to start/install orbot for edit account screen.
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils')
-rw-r--r--src/main/java/de/pixart/messenger/utils/TorServiceUtils.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/TorServiceUtils.java b/src/main/java/de/pixart/messenger/utils/TorServiceUtils.java
new file mode 100644
index 000000000..6b4b93c78
--- /dev/null
+++ b/src/main/java/de/pixart/messenger/utils/TorServiceUtils.java
@@ -0,0 +1,43 @@
+package de.pixart.messenger.utils;
+
+import android.app.Activity;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+
+import de.pixart.messenger.R;
+import me.drakeet.support.toast.ToastCompat;
+
+public class TorServiceUtils {
+
+ private final static String URI_ORBOT = "org.torproject.android";
+ private static final Uri ORBOT_PLAYSTORE_URI = Uri.parse("market://details?id=" + URI_ORBOT);
+ private final static String ACTION_START_TOR = "org.torproject.android.START_TOR";
+
+ public static boolean isOrbotInstalled(Context context) {
+ try {
+ context.getPackageManager().getPackageInfo(URI_ORBOT, PackageManager.GET_ACTIVITIES);
+ return true;
+ } catch (PackageManager.NameNotFoundException e) {
+ return false;
+ }
+ }
+
+
+ public static void downloadOrbot(Activity activity, int requestCode) {
+ final Intent intent = new Intent(Intent.ACTION_VIEW, ORBOT_PLAYSTORE_URI);
+ try {
+ activity.startActivityForResult(intent, requestCode);
+ } catch (ActivityNotFoundException e) {
+ ToastCompat.makeText(activity, R.string.no_market_app_installed, ToastCompat.LENGTH_SHORT).show();
+ }
+ }
+
+ public static void startOrbot(Activity activity, int requestCode) {
+ final Intent launchIntent = new Intent(URI_ORBOT);
+ launchIntent.setAction(ACTION_START_TOR);
+ activity.startActivityForResult(launchIntent, requestCode);
+ }
+} \ No newline at end of file