aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java160
1 files changed, 0 insertions, 160 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java
deleted file mode 100644
index c0aa95201..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
-Orlib is distributed under this license (aka the 3-clause BSD license)
-
- Copyright (c) 2009-2010, Nathan Freitas, The Guardian Project
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following disclaimer
- in the documentation and/or other materials provided with the
- distribution.
-
- * Neither the names of the copyright owners nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-package org.sufficientlysecure.keychain.util.orbot;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.net.Uri;
-
-import org.sufficientlysecure.keychain.R;
-
-/**
- * This class has been taken from the NetCipher library
- * https://github.com/guardianproject/NetCipher
- */
-public class OrbotHelper {
-
- private final static int REQUEST_CODE_STATUS = 100;
-
- public final static String ORBOT_PACKAGE_NAME = "org.torproject.android";
- public final static String TOR_BIN_PATH = "/data/data/org.torproject.android/app_bin/tor";
-
- public final static String ACTION_START_TOR = "org.torproject.android.START_TOR";
- public final static String ACTION_REQUEST_HS = "org.torproject.android.REQUEST_HS_PORT";
- public final static int HS_REQUEST_CODE = 9999;
-
- private Context mContext = null;
-
- public OrbotHelper(Context context)
- {
- mContext = context;
- }
-
- public boolean isOrbotRunning()
- {
- int procId = TorServiceUtils.findProcessId(TOR_BIN_PATH);
-
- return (procId != -1);
- }
-
- public boolean isOrbotInstalled()
- {
- return isAppInstalled(ORBOT_PACKAGE_NAME);
- }
-
- private boolean isAppInstalled(String uri) {
- PackageManager pm = mContext.getPackageManager();
- boolean installed = false;
- try {
- pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
- installed = true;
- } catch (PackageManager.NameNotFoundException e) {
- installed = false;
- }
- return installed;
- }
-
- public void promptToInstall(Activity activity)
- {
- String uriMarket = activity.getString(R.string.market_orbot);
- // show dialog - install from market, f-droid or direct APK
- showDownloadDialog(activity, activity.getString(R.string.install_orbot_),
- activity.getString(R.string.you_must_have_orbot),
- activity.getString(R.string.orbot_yes), activity.getString(R.string.orbot_no), uriMarket);
- }
-
- private static AlertDialog showDownloadDialog(final Activity activity,
- CharSequence stringTitle, CharSequence stringMessage, CharSequence stringButtonYes,
- CharSequence stringButtonNo, final String uriString) {
- AlertDialog.Builder downloadDialog = new AlertDialog.Builder(activity);
- downloadDialog.setTitle(stringTitle);
- downloadDialog.setMessage(stringMessage);
- downloadDialog.setPositiveButton(stringButtonYes, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- Uri uri = Uri.parse(uriString);
- Intent intent = new Intent(Intent.ACTION_VIEW, uri);
- activity.startActivity(intent);
- }
- });
- downloadDialog.setNegativeButton(stringButtonNo, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- }
- });
- return downloadDialog.show();
- }
-
- public void requestOrbotStart(final Activity activity)
- {
-
- AlertDialog.Builder downloadDialog = new AlertDialog.Builder(activity);
- downloadDialog.setTitle(R.string.start_orbot_);
- downloadDialog
- .setMessage(R.string.orbot_doesn_t_appear_to_be_running_would_you_like_to_start_it_up_and_connect_to_tor_);
- downloadDialog.setPositiveButton(R.string.orbot_yes, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- activity.startActivityForResult(getOrbotStartIntent(), 1);
- }
- });
- downloadDialog.setNegativeButton(R.string.orbot_no, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- }
- });
- downloadDialog.show();
-
- }
-
- public void requestHiddenServiceOnPort(Activity activity, int port)
- {
- Intent intent = new Intent(ACTION_REQUEST_HS);
- intent.setPackage(ORBOT_PACKAGE_NAME);
- intent.putExtra("hs_port", port);
-
- activity.startActivityForResult(intent, HS_REQUEST_CODE);
- }
-
- public static Intent getOrbotStartIntent() {
- Intent intent = new Intent(ACTION_START_TOR);
- intent.setPackage(ORBOT_PACKAGE_NAME);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- return intent;
- }
-}