fix orbot detection
This commit is contained in:
parent
2364d7c46d
commit
e455ed4f1a
|
@ -50,27 +50,29 @@
|
||||||
android:required="false" />
|
android:required="false" />
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
<package android:name="org.sufficientlysecure.keychain"/>
|
<package android:name="org.sufficientlysecure.keychain" />
|
||||||
|
<package android:name="org.torproject.android" />
|
||||||
|
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name="eu.siacs.conversations.location.request"/>
|
<action android:name="eu.siacs.conversations.location.request" />
|
||||||
</intent>
|
</intent>
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name="eu.siacs.conversations.location.show"/>
|
<action android:name="eu.siacs.conversations.location.show" />
|
||||||
</intent>
|
</intent>
|
||||||
</queries>
|
</queries>
|
||||||
|
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:fullBackupContent="@xml/backup_content"
|
|
||||||
android:appCategory="social"
|
android:appCategory="social"
|
||||||
|
android:fullBackupContent="@xml/backup_content"
|
||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:icon="@mipmap/new_launcher"
|
android:icon="@mipmap/new_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:largeHeap="true"
|
android:largeHeap="true"
|
||||||
android:networkSecurityConfig="@xml/network_security_configuration"
|
android:networkSecurityConfig="@xml/network_security_configuration"
|
||||||
android:requestLegacyExternalStorage="true"
|
|
||||||
android:preserveLegacyExternalStorage="true"
|
android:preserveLegacyExternalStorage="true"
|
||||||
|
android:requestLegacyExternalStorage="true"
|
||||||
android:theme="@style/ConversationsTheme"
|
android:theme="@style/ConversationsTheme"
|
||||||
tools:replace="android:label"
|
tools:replace="android:label"
|
||||||
tools:targetApi="q">
|
tools:targetApi="q">
|
||||||
|
|
|
@ -6,41 +6,47 @@ import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import eu.siacs.conversations.R;
|
import eu.siacs.conversations.R;
|
||||||
import me.drakeet.support.toast.ToastCompat;
|
import me.drakeet.support.toast.ToastCompat;
|
||||||
|
|
||||||
public class TorServiceUtils {
|
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 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 INSTALL_INTENT = new Intent(Intent.ACTION_VIEW, ORBOT_PLAYSTORE_URI);
|
||||||
public static final Intent LAUNCH_INTENT = new Intent(ACTION_START_TOR);
|
public static final Intent LAUNCH_INTENT = new Intent(ACTION_START_TOR);
|
||||||
|
|
||||||
public final static String ACTION_STATUS = "org.torproject.android.intent.action.STATUS";
|
public static final 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 EXTRA_STATUS = "org.torproject.android.intent.extra.STATUS";
|
||||||
|
|
||||||
public static boolean isOrbotInstalled(Context context) {
|
public static boolean isOrbotInstalled(final Context context) {
|
||||||
try {
|
try {
|
||||||
context.getPackageManager().getPackageInfo(URI_ORBOT, PackageManager.GET_ACTIVITIES);
|
context.getPackageManager().getPackageInfo(URI_ORBOT, PackageManager.GET_ACTIVITIES);
|
||||||
return true;
|
return true;
|
||||||
} catch (PackageManager.NameNotFoundException e) {
|
} catch (final PackageManager.NameNotFoundException e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void downloadOrbot(Activity activity, int requestCode) {
|
public static void downloadOrbot(Activity activity, int requestCode) {
|
||||||
try {
|
try {
|
||||||
activity.startActivityForResult(INSTALL_INTENT, requestCode);
|
activity.startActivityForResult(INSTALL_INTENT, requestCode);
|
||||||
} catch (ActivityNotFoundException e) {
|
} catch (final ActivityNotFoundException e) {
|
||||||
ToastCompat.makeText(activity, R.string.no_market_app_installed, ToastCompat.LENGTH_SHORT).show();
|
ToastCompat.makeText(
|
||||||
|
activity, R.string.no_market_app_installed, ToastCompat.LENGTH_SHORT)
|
||||||
|
.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void startOrbot(Activity activity, int requestCode) {
|
public static void startOrbot(final Activity activity, final int requestCode) {
|
||||||
activity.startActivityForResult(LAUNCH_INTENT, requestCode);
|
try {
|
||||||
|
activity.startActivityForResult(LAUNCH_INTENT, requestCode);
|
||||||
|
} catch (final ActivityNotFoundException e) {
|
||||||
|
Toast.makeText(activity, R.string.install_orbot, Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue