diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2022-07-09 15:45:59 +0300 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2022-07-09 15:46:51 +0300 |
commit | e455ed4f1ae10ebb82d88d98102c7a6673c43a6f (patch) | |
tree | 41edbdf98bc299a8d39509af6ad3202b617cbffb | |
parent | 2364d7c46d39e04f81ed83ae873e56d9457fa625 (diff) |
fix orbot detection
-rw-r--r-- | src/main/AndroidManifest.xml | 12 | ||||
-rw-r--r-- | src/main/java/eu/siacs/conversations/utils/TorServiceUtils.java | 28 |
2 files changed, 24 insertions, 16 deletions
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index a3dd9822a..458c8a7f4 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -50,27 +50,29 @@ android:required="false" /> <queries> - <package android:name="org.sufficientlysecure.keychain"/> + <package android:name="org.sufficientlysecure.keychain" /> + <package android:name="org.torproject.android" /> + <intent> - <action android:name="eu.siacs.conversations.location.request"/> + <action android:name="eu.siacs.conversations.location.request" /> </intent> <intent> - <action android:name="eu.siacs.conversations.location.show"/> + <action android:name="eu.siacs.conversations.location.show" /> </intent> </queries> <application android:allowBackup="true" - android:fullBackupContent="@xml/backup_content" android:appCategory="social" + android:fullBackupContent="@xml/backup_content" android:hardwareAccelerated="true" android:icon="@mipmap/new_launcher" android:label="@string/app_name" android:largeHeap="true" android:networkSecurityConfig="@xml/network_security_configuration" - android:requestLegacyExternalStorage="true" android:preserveLegacyExternalStorage="true" + android:requestLegacyExternalStorage="true" android:theme="@style/ConversationsTheme" tools:replace="android:label" tools:targetApi="q"> diff --git a/src/main/java/eu/siacs/conversations/utils/TorServiceUtils.java b/src/main/java/eu/siacs/conversations/utils/TorServiceUtils.java index 9fc9f5082..4f0e6fc53 100644 --- a/src/main/java/eu/siacs/conversations/utils/TorServiceUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/TorServiceUtils.java @@ -6,41 +6,47 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; +import android.widget.Toast; import eu.siacs.conversations.R; import me.drakeet.support.toast.ToastCompat; public class TorServiceUtils { - private final static String URI_ORBOT = "org.torproject.android"; + private static final 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"; + private static final String ACTION_START_TOR = "org.torproject.android.START_TOR"; public static final Intent INSTALL_INTENT = new Intent(Intent.ACTION_VIEW, ORBOT_PLAYSTORE_URI); public static final Intent LAUNCH_INTENT = new Intent(ACTION_START_TOR); - public final static String ACTION_STATUS = "org.torproject.android.intent.action.STATUS"; - public final static String EXTRA_STATUS = "org.torproject.android.intent.extra.STATUS"; + public static final String ACTION_STATUS = "org.torproject.android.intent.action.STATUS"; + public static final String EXTRA_STATUS = "org.torproject.android.intent.extra.STATUS"; - public static boolean isOrbotInstalled(Context context) { + public static boolean isOrbotInstalled(final Context context) { try { context.getPackageManager().getPackageInfo(URI_ORBOT, PackageManager.GET_ACTIVITIES); return true; - } catch (PackageManager.NameNotFoundException e) { + } catch (final PackageManager.NameNotFoundException e) { return false; } } - public static void downloadOrbot(Activity activity, int requestCode) { try { activity.startActivityForResult(INSTALL_INTENT, requestCode); - } catch (ActivityNotFoundException e) { - ToastCompat.makeText(activity, R.string.no_market_app_installed, ToastCompat.LENGTH_SHORT).show(); + } catch (final ActivityNotFoundException e) { + ToastCompat.makeText( + activity, R.string.no_market_app_installed, ToastCompat.LENGTH_SHORT) + .show(); } } - public static void startOrbot(Activity activity, int requestCode) { - activity.startActivityForResult(LAUNCH_INTENT, requestCode); + public static void startOrbot(final Activity activity, final int requestCode) { + try { + activity.startActivityForResult(LAUNCH_INTENT, requestCode); + } catch (final ActivityNotFoundException e) { + Toast.makeText(activity, R.string.install_orbot, Toast.LENGTH_LONG).show(); + } } } |