[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [orbot/master] more UI updates and small improvements
commit e6bd23a1e253824989d5b643543700d3cc8f1c26
Author: n8fr8 <nathan@xxxxxxxxxxx>
Date: Mon Dec 11 15:02:05 2017 -0500
more UI updates and small improvements
---
.../org/torproject/android/OrbotMainActivity.java | 267 ++++++++++++---------
.../torproject/android/ui/AppManagerActivity.java | 29 ++-
.../torproject/android/ui/PromoAppsActivity.java | 216 -----------------
.../main/res/drawable-xhdpi/ic_action_settings.png | Bin 716 -> 0 bytes
.../res/drawable-xhdpi/ic_autorenew_black_36dp.png | Bin 682 -> 0 bytes
.../drawable-xhdpi/ic_filter_none_black_36dp.png | Bin 252 -> 0 bytes
app/src/main/res/drawable-xhdpi/ic_launcher.png | Bin 5964 -> 0 bytes
.../ic_playlist_add_check_black_36dp.png | Bin 236 -> 0 bytes
.../main/res/drawable-xhdpi/ic_stat_notifyerr.png | Bin 1796 -> 0 bytes
app/src/main/res/drawable-xhdpi/ic_stat_tor.png | Bin 1161 -> 0 bytes
.../main/res/drawable-xhdpi/ic_stat_tor_xfer.png | Bin 1378 -> 0 bytes
app/src/main/res/drawable-xxxhdpi/inverse.png | Bin 1027 -> 0 bytes
app/src/main/res/drawable/classyfabric.png | Bin 8856 -> 0 bytes
.../ic_autorenew_black_36dp.png | Bin
app/src/main/res/drawable/ic_chatsecure.png | Bin 4013 -> 0 bytes
app/src/main/res/drawable/ic_duckduckgo.png | Bin 5042 -> 0 bytes
app/src/main/res/drawable/ic_twitter.png | Bin 2797 -> 0 bytes
app/src/main/res/drawable/icon_martus.png | Bin 6763 -> 0 bytes
app/src/main/res/drawable/icon_orfox.png | Bin 7617 -> 0 bytes
app/src/main/res/drawable/icon_story_maker.png | Bin 4290 -> 0 bytes
app/src/main/res/drawable/tilebg.xml | 4 -
.../layout-v21/layout_notification_expanded.xml | 124 ----------
app/src/main/res/layout/layout_main.xml | 52 +++-
.../res/layout/layout_notification_expanded.xml | 40 +--
app/src/main/res/layout/layout_promo_apps.xml | 115 ---------
app/src/main/res/menu/orbot_apps.xml | 30 +++
app/src/main/res/values/strings.xml | 5 +-
.../org/torproject/android/service/TorService.java | 12 +-
.../org/torproject/android/service/util/Prefs.java | 2 +-
.../res/drawable-hdpi/ic_autorenew_black_36dp.png | Bin 0 -> 546 bytes
.../drawable-mdpi/ic_action_settings.png | Bin
.../drawable-mdpi/ic_autorenew_black_36dp.png | Bin
.../drawable-mdpi/ic_filter_none_black_36dp.png | Bin
.../drawable-mdpi}/drawable-mdpi/ic_launcher.png | Bin
.../ic_playlist_add_check_black_36dp.png | Bin
.../drawable-mdpi/ic_stat_notifyerr.png | Bin
.../drawable-mdpi}/drawable-mdpi/ic_stat_tor.png | Bin
.../drawable-mdpi/ic_stat_tor_xfer.png | Bin
.../res/drawable-mdpi}/drawable-mdpi/inverse.png | Bin
.../drawable-xxhdpi/ic_autorenew_black_36dp.png | Bin
.../drawable-xxhdpi/ic_filter_none_black_36dp.png | Bin
.../drawable-xxhdpi/ic_launcher.png | Bin
.../ic_playlist_add_check_black_36dp.png | Bin
.../drawable-xxhdpi/ic_stat_tor.png | Bin
.../drawable-xxhdpi/ic_stat_tor_xfer.png | Bin
.../drawable-xxhdpi/drawable-xxhdpi}/inverse.png | Bin
.../drawable-xxxhdpi/ic_autorenew_black_36dp.png | Bin
.../drawable-xxxhdpi/ic_filter_none_black_36dp.png | Bin
.../drawable-xxxhdpi/ic_launcher.png | Bin
.../ic_playlist_add_check_black_36dp.png | Bin
.../drawable-xxxhdpi/ic_stat_tor.png | Bin
.../drawable-xxxhdpi/ic_stat_tor_xfer.png | Bin
.../drawable-xxxhdpi/drawable-xxxhdpi}/inverse.png | Bin
.../res/layout/layout_notification_expanded.xml | 28 +--
54 files changed, 283 insertions(+), 641 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 1b006ae6..de9b4285 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -23,8 +23,6 @@ import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.settings.SettingsPreferences;
import org.torproject.android.ui.AppManagerActivity;
-import org.torproject.android.ui.ImageProgressView;
-import org.torproject.android.ui.PromoAppsActivity;
import org.torproject.android.ui.Rotate3dAnimation;
import org.torproject.android.ui.hiddenservices.ClientCookiesActivity;
import org.torproject.android.ui.hiddenservices.HiddenServicesActivity;
@@ -34,6 +32,7 @@ import org.torproject.android.ui.hiddenservices.providers.HSContentProvider;
import org.torproject.android.vpn.VPNEnableActivity;
import android.annotation.SuppressLint;
+import android.app.ActionBar;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.AlertDialog;
@@ -57,10 +56,8 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
-import android.support.design.widget.Snackbar;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.SwitchCompat;
import android.support.v7.widget.Toolbar;
@@ -85,6 +82,8 @@ import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CompoundButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
@@ -102,7 +101,7 @@ public class OrbotMainActivity extends AppCompatActivity
/* Useful UI bits */
private TextView lblStatus = null; //the main text display widget
- private ImageProgressView imgStatus = null; //the main touchable image for activating Orbot
+ private ImageView imgStatus = null; //the main touchable image for activating Orbot
private TextView downloadText = null;
private TextView uploadText = null;
@@ -116,8 +115,7 @@ public class OrbotMainActivity extends AppCompatActivity
private Spinner spnCountries = null;
private DrawerLayout mDrawer;
- private ActionBarDrawerToggle mDrawerToggle;
-
+
/* Some tracking bits */
private String torStatus = null; //latest status reported from the tor service
private Intent lastStatusIntent; // the last ACTION_STATUS Intent received
@@ -265,20 +263,7 @@ public class OrbotMainActivity extends AppCompatActivity
setSupportActionBar(toolbar);
mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- /**
- mDrawerToggle = new ActionBarDrawerToggle(
- this, mDrawer,
- toolbar,
- R.string.btn_okay, R.string.btn_cancel
- );**/
-
-
- //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- //getSupportActionBar().setHomeButtonEnabled(true);
-
- //mDrawer.setDrawerListener(mDrawerToggle);
- //mDrawerToggle.syncState();
-
+
mTxtOrbotLog = (TextView)findViewById(R.id.orbotLog);
lblStatus = (TextView)findViewById(R.id.lblStatus);
@@ -289,7 +274,7 @@ public class OrbotMainActivity extends AppCompatActivity
}
});
- imgStatus = (ImageProgressView)findViewById(R.id.imgStatus);
+ imgStatus = (ImageView)findViewById(R.id.imgStatus);
imgStatus.setOnLongClickListener(this);
imgStatus.setOnTouchListener(this);
@@ -352,21 +337,7 @@ public class OrbotMainActivity extends AppCompatActivity
}
});
- if (PermissionManager.isLollipopOrHigher()) {
-
- findViewById(R.id.btnApps).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
-
- startActivityForResult(new Intent(OrbotMainActivity.this, AppManagerActivity.class), REQUEST_VPN_APPS_SELECT);
- }
- });
- }
- else
- {
- findViewById(R.id.btnApps).setVisibility(View.GONE);
- }
}
@@ -483,18 +454,11 @@ public class OrbotMainActivity extends AppCompatActivity
Intent intent = new Intent(OrbotMainActivity.this, SettingsPreferences.class);
startActivityForResult(intent, REQUEST_SETTINGS);
}
- /**
- else if (item.getItemId() == R.id.menu_promo_apps)
- {
- startActivity(new Intent(OrbotMainActivity.this, PromoAppsActivity.class));
-
- }*/
else if (item.getItemId() == R.id.menu_exit)
{
//exit app
doExit();
-
}
else if (item.getItemId() == R.id.menu_about)
{
@@ -611,14 +575,6 @@ public class OrbotMainActivity extends AppCompatActivity
}
}
- private void doTorCheck ()
- {
-
- openBrowser(URL_TOR_CHECK,false);
-
-
- }
-
private void refreshVPNApps ()
{
stopVpnService();
@@ -854,11 +810,28 @@ public class OrbotMainActivity extends AppCompatActivity
/*
* Launch the system activity for Uri viewing with the provided url
*/
- private void openBrowser(final String browserLaunchUrl,boolean forceExternal)
+ private void openBrowser(final String browserLaunchUrl,boolean forceExternal, String pkgId)
{
- boolean isBrowserInstalled = appInstalledOrNot(TorServiceConstants.BROWSER_APP_USERNAME);
+ boolean isBrowserInstalled = appInstalledOrNot(TorServiceConstants.BROWSER_APP_USERNAME);
- if (isBrowserInstalled)
+ if (pkgId != null)
+ {
+ if (pkgId.equals(TorServiceConstants.BROWSER_APP_USERNAME))
+ startIntent(pkgId,Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl));
+ else
+ {
+ if (!Prefs.useVpn())
+ {
+ Toast.makeText(this, R.string.please_enable_vpn, Toast.LENGTH_LONG).show();
+
+ }
+ else
+ {
+ startIntent(pkgId,Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl));
+ }
+ }
+ }
+ else if (isBrowserInstalled)
{
startIntent(TorServiceConstants.BROWSER_APP_USERNAME,Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl));
}
@@ -867,53 +840,37 @@ public class OrbotMainActivity extends AppCompatActivity
//use the system browser since VPN is on
startIntent(null,Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl));
}
- else
- {
- AlertDialog aDialog = new AlertDialog.Builder(OrbotMainActivity.this)
- .setTitle(R.string.install_apps_)
- .setMessage(R.string.it_doesn_t_seem_like_you_have_orweb_installed_want_help_with_that_or_should_we_just_open_the_browser_)
- .setPositiveButton(R.string.install_orweb, new Dialog.OnClickListener ()
- {
+
+ }
- @Override
- public void onClick(DialogInterface dialog, int which) {
+ private void promptInstallOrfox ()
+ {
+ AlertDialog aDialog = new AlertDialog.Builder(OrbotMainActivity.this)
+ .setTitle(R.string.install_apps_)
+ .setMessage(R.string.it_doesn_t_seem_like_you_have_orweb_installed_want_help_with_that_or_should_we_just_open_the_browser_)
+ .setPositiveButton(R.string.install_orweb, new Dialog.OnClickListener ()
+ {
- //prompt to install Orweb
- //Intent intent = new Intent(OrbotMainActivity.this,PromoAppsActivity.class);
- //startActivity(intent);
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
- startActivity(PromoAppsActivity.getInstallIntent(TorServiceConstants.BROWSER_APP_USERNAME,OrbotMainActivity.this));
+ // startActivity(PromoAppsActivity.getInstallIntent(TorServiceConstants.BROWSER_APP_USERNAME,OrbotMainActivity.this));
- }
-
- })
- .setNeutralButton(R.string.apps_mode, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // enableVPN(true);
- mBtnVPN.setChecked(true);
- }
- })
- .setNegativeButton(R.string.standard_browser, new Dialog.OnClickListener ()
- {
+ }
- @Override
- public void onClick(DialogInterface dialog, int which) {
- startIntent(null,Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl));
-
- }
-
- })
- .show();
-
- }
-
- }
-
-
-
-
+ })
+ .setNegativeButton(R.string.btn_cancel, new Dialog.OnClickListener ()
+ {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+ }
+
+ })
+ .show();
+ }
private void startIntent (String pkg, String action, Uri data)
{
@@ -963,7 +920,6 @@ public class OrbotMainActivity extends AppCompatActivity
if (request == REQUEST_SETTINGS && response == RESULT_OK)
{
OrbotApp.forceChangeLanguage(this);
-
}
else if (request == REQUEST_VPN)
{
@@ -973,12 +929,12 @@ public class OrbotMainActivity extends AppCompatActivity
else
{
Prefs.putUseVpn(false);
-
}
}
else if (request == REQUEST_VPN_APPS_SELECT)
{
- if (response == RESULT_OK)
+ if (response == RESULT_OK &&
+ torStatus == TorServiceConstants.STATUS_ON)
refreshVPNApps();
}
@@ -1123,7 +1079,7 @@ public class OrbotMainActivity extends AppCompatActivity
@Override
public void onClick(DialogInterface dialog, int which) {
- openBrowser(URL_TOR_BRIDGES + type,true);
+ openBrowser(URL_TOR_BRIDGES + type,true, null);
}
@@ -1195,8 +1151,9 @@ public class OrbotMainActivity extends AppCompatActivity
Prefs.disableTransparentProxying();
}
-
- }
+ addAppShortcuts();
+
+ }
AlertDialog aDialog = null;
@@ -1276,17 +1233,7 @@ public class OrbotMainActivity extends AppCompatActivity
showAlert(getString(R.string.status_activated),
getString(R.string.connect_first_time), true);
}
- else
- {
- Snackbar sb = Snackbar.make(findViewById(R.id.frameMain),getString(R.string.status_activated),Snackbar.LENGTH_LONG);
- sb.setAction(R.string.menu_browse, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- doTorCheck();
- }
- });
- sb.show();
- }
+
if (autoStartFromIntent)
{
@@ -1515,6 +1462,100 @@ public class OrbotMainActivity extends AppCompatActivity
return false;
}
}
-
+
+ private void addAppShortcuts ()
+ {
+ LinearLayout llBoxShortcuts = (LinearLayout)findViewById(R.id.boxAppShortcuts);
+
+ findViewById(R.id.row_apps).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivityForResult(new Intent(OrbotMainActivity.this, AppManagerActivity.class), REQUEST_VPN_APPS_SELECT);
+ }
+ });
+
+ if (!PermissionManager.isLollipopOrHigher()) {
+ llBoxShortcuts.setVisibility(View.GONE);
+ }
+ else
+ {
+ PackageManager pMgr = getPackageManager();
+
+ ArrayList<String> pkgIds = new ArrayList<>();
+
+ String tordAppString = mPrefs.getString(PREFS_KEY_TORIFIED, "");
+ StringTokenizer st = new StringTokenizer(tordAppString,"|");
+ while (st.hasMoreTokens())
+ pkgIds.add(st.nextToken());
+
+ llBoxShortcuts.removeAllViews();
+
+ //first add Orfox shortcut
+ try {
+ String pkgId = "info.guardianproject.orfox";
+
+ ImageView iv = new ImageView(this);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+ params.setMargins(3, 3, 3, 3);
+ iv.setLayoutParams(params);
+ iv.setImageDrawable(pMgr.getApplicationIcon(pkgId));
+ llBoxShortcuts.addView(iv);
+ iv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (!appInstalledOrNot(TorServiceConstants.BROWSER_APP_USERNAME))
+ promptInstallOrfox();
+ else
+ openBrowser(URL_TOR_CHECK,false, TorServiceConstants.BROWSER_APP_USERNAME);
+
+ }
+ });
+ }
+ catch (Exception e)
+ {
+ //package not installed?
+ }
+
+ for (final String pkgId : pkgIds)
+ {
+ try {
+ ImageView iv = new ImageView(this);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+ params.setMargins(3, 3, 3, 3);
+ iv.setLayoutParams(params);
+ iv.setImageDrawable(pMgr.getApplicationIcon(pkgId));
+ llBoxShortcuts.addView(iv);
+ iv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ openBrowser(URL_TOR_CHECK,false, pkgId);
+
+ }
+ });
+ }
+ catch (Exception e)
+ {
+ //package not installed?
+ }
+ }
+
+ //now add app edit/add shortcut
+ ImageView iv = new ImageView(this);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+ params.setMargins(3, 3, 3, 3);
+ iv.setLayoutParams(params);
+ iv.setImageDrawable(getResources().getDrawable(android.R.drawable.ic_input_add));
+ llBoxShortcuts.addView(iv);
+ iv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivityForResult(new Intent(OrbotMainActivity.this, AppManagerActivity.class), REQUEST_VPN_APPS_SELECT);
+
+
+ }
+ });
+ }
+
+ }
}
diff --git a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
index 0acef3e7..62971fbf 100644
--- a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
@@ -11,6 +11,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
+import org.torproject.android.BuildConfig;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.R;
import org.torproject.android.service.util.TorServiceUtils;
@@ -29,6 +30,7 @@ import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.Menu;
+import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
@@ -60,6 +62,20 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
}
+ /*
+ * Create the UI Options Menu (non-Javadoc)
+ * @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
+ */
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ super.onCreateOptionsMenu(menu);
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.orbot_apps, menu);
+
+ return true;
+ }
+
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home)
@@ -67,6 +83,12 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
finish();
return true;
}
+ else if (item.getItemId() == R.id.menu_apps_refresh)
+ {
+ mApps = null;
+ reloadApps();
+ return true;
+ }
return super.onOptionsItemSelected(item);
}
@@ -76,7 +98,10 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
super.onResume();
listApps = (GridView) findViewById(R.id.applistview);
mPrefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
+ reloadApps();
+ }
+ private void reloadApps () {
new AsyncTask<Void, Void, Void>() {
private ProgressDialog dialog;
@@ -105,7 +130,9 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
private void loadApps (SharedPreferences prefs)
{
- mApps = getApps(getApplicationContext(), prefs);
+ if (mApps == null)
+ mApps = getApps(getApplicationContext(), prefs);
+
Collections.sort(mApps,new Comparator<TorifiedApp>() {
public int compare(TorifiedApp o1, TorifiedApp o2) {
if (o1.isTorified() == o2.isTorified()) return o1.getName().compareTo(o2.getName());
diff --git a/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java b/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java
deleted file mode 100644
index 2fdf2df2..00000000
--- a/app/src/main/java/org/torproject/android/ui/PromoAppsActivity.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package org.torproject.android.ui;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ResolveInfo;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-
-import org.torproject.android.service.OrbotConstants;
-import org.torproject.android.R;
-import org.torproject.android.service.TorServiceConstants;
-
-import java.util.List;
-
-public class PromoAppsActivity extends Activity implements OrbotConstants {
-
- final static String MARKET_URI = "market://details?id=";
- final static String FDROID_APP_URI = "https://f-droid.org/repository/browse/?fdid=";
- final static String PLAY_APP_URI = "https://play.google.com/store/apps/details?id=";
- final static String FDROID_URI = "https://f-droid.org/repository/browse/?fdfilter=info.guardianproject";
- final static String PLAY_URI = "https://play.google.com/store/apps/developer?id=The+Guardian+Project";
-
- private final static String FDROID_PACKAGE_NAME = "org.fdroid.fdroid";
- private final static String PLAY_PACKAGE_NAME = "com.android.vending";
-
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- }
-
- @Override
- protected void onStart() {
-
- super.onStart();
- setContentView(R.layout.layout_promo_apps);
-
- stepFive();
-
- }
-
- @Override
- protected void onResume() {
- super.onResume();
-
-
- }
-
- void stepFive(){
-
-
- String title = getString(R.string.wizard_tips_title);
-
- setTitle(title);
-
- Button btnLink = (Button)findViewById(R.id.WizardRootButtonInstallGibberbot);
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
- finish();
- startActivity(getInstallIntent("info.guardianproject.otr.app.im",PromoAppsActivity.this));
-
- }
- });
-
- btnLink = (Button)findViewById(R.id.WizardRootButtonInstallOrweb);
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
- finish();
- startActivity(getInstallIntent(TorServiceConstants.BROWSER_APP_USERNAME,PromoAppsActivity.this));
-
- }
- });
-
- btnLink = (Button)findViewById(R.id.WizardRootButtonInstallDuckgo);
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
-
- finish();
- startActivity(getInstallIntent("com.duckduckgo.mobile.android",PromoAppsActivity.this));
-
- }
- });
-
- btnLink = (Button)findViewById(R.id.WizardRootButtonInstallTwitter);
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
-
- String url = getString(R.string.twitter_setup_url);
- finish();
- startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
-
- }
- });
-
- btnLink = (Button)findViewById(R.id.WizardRootButtonInstallStoryMaker);
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
- finish();
- startActivity(getInstallIntent("info.guardianproject.mrapp",PromoAppsActivity.this));
-
- }
- });
-
- btnLink = (Button)findViewById(R.id.WizardRootButtonInstallMartus);
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
- finish();
- startActivity(getInstallIntent("org.martus.android",PromoAppsActivity.this));
-
- }
- });
-
- btnLink = (Button)findViewById(R.id.WizardRootButtonGooglePlay);
- PackageManager pm = getPackageManager();
- final Intent intent = new Intent(Intent.ACTION_VIEW);
- // change text and icon based on which app store is installed (or not)
- try {
- if (isAppInstalled(pm, FDROID_PACKAGE_NAME)) {
- Drawable icon = pm.getApplicationIcon(FDROID_PACKAGE_NAME);
- btnLink.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
- btnLink.setText(R.string.wizard_tips_fdroid);
- intent.setPackage(FDROID_PACKAGE_NAME);
- intent.setData(Uri.parse(FDROID_URI));
- } else if (isAppInstalled(pm, PLAY_PACKAGE_NAME)) {
- Drawable icon = pm.getApplicationIcon(PLAY_PACKAGE_NAME);
- btnLink.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
- btnLink.setText(R.string.wizard_tips_play);
- intent.setPackage(PLAY_PACKAGE_NAME);
- intent.setData(Uri.parse(PLAY_URI));
- }
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- btnLink.setText(R.string.wizard_tips_fdroid_org);
- intent.setData(Uri.parse(FDROID_URI));
- }
-
- btnLink.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View view) {
- startActivity(intent);
- }
- });
-
- Button next = ((Button)findViewById(R.id.btnWizard2));
- next.setOnClickListener(new View.OnClickListener() {
-
- public void onClick(View v) {
- finish();
- }
- });
-
- }
-
- public static boolean isAppInstalled(PackageManager pm, String packageName) {
- try {
- pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
- return true;
- } catch (PackageManager.NameNotFoundException e) {
- return false;
- }
- }
-
- public static Intent getInstallIntent(String packageName, Context context) {
- final Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setData(Uri.parse(MARKET_URI + packageName));
-
- PackageManager pm = context.getPackageManager();
- List<ResolveInfo> resInfos = pm.queryIntentActivities(intent, 0);
-
- String foundPackageName = null;
- for (ResolveInfo r : resInfos) {
- Log.i(TAG, "market: " + r.activityInfo.packageName);
- if (TextUtils.equals(r.activityInfo.packageName, FDROID_PACKAGE_NAME)
- || TextUtils.equals(r.activityInfo.packageName, PLAY_PACKAGE_NAME)) {
- foundPackageName = r.activityInfo.packageName;
- break;
- }
- }
-
- if (foundPackageName == null) {
- intent.setData(Uri.parse(FDROID_APP_URI + packageName));
- } else {
- intent.setPackage(foundPackageName);
- }
- return intent;
- }
-}
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_settings.png b/app/src/main/res/drawable-xhdpi/ic_action_settings.png
deleted file mode 100644
index f2572c84..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_action_settings.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_autorenew_black_36dp.png b/app/src/main/res/drawable-xhdpi/ic_autorenew_black_36dp.png
deleted file mode 100644
index 910746ec..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_autorenew_black_36dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_filter_none_black_36dp.png b/app/src/main/res/drawable-xhdpi/ic_filter_none_black_36dp.png
deleted file mode 100644
index 4c6e5007..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_filter_none_black_36dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher.png b/app/src/main/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644
index 13ee02bc..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_black_36dp.png b/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_black_36dp.png
deleted file mode 100644
index ac03e19a..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_black_36dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_stat_notifyerr.png b/app/src/main/res/drawable-xhdpi/ic_stat_notifyerr.png
deleted file mode 100644
index f48e8e83..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_stat_notifyerr.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_stat_tor.png b/app/src/main/res/drawable-xhdpi/ic_stat_tor.png
deleted file mode 100644
index 11254d2b..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_stat_tor.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_stat_tor_xfer.png b/app/src/main/res/drawable-xhdpi/ic_stat_tor_xfer.png
deleted file mode 100644
index 522d6530..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_stat_tor_xfer.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxxhdpi/inverse.png b/app/src/main/res/drawable-xxxhdpi/inverse.png
deleted file mode 100644
index 65eff2c7..00000000
Binary files a/app/src/main/res/drawable-xxxhdpi/inverse.png and /dev/null differ
diff --git a/app/src/main/res/drawable/classyfabric.png b/app/src/main/res/drawable/classyfabric.png
deleted file mode 100644
index ca3d2679..00000000
Binary files a/app/src/main/res/drawable/classyfabric.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_autorenew_black_36dp.png b/app/src/main/res/drawable/ic_autorenew_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_autorenew_black_36dp.png
rename to app/src/main/res/drawable/ic_autorenew_black_36dp.png
diff --git a/app/src/main/res/drawable/ic_chatsecure.png b/app/src/main/res/drawable/ic_chatsecure.png
deleted file mode 100644
index aaddd883..00000000
Binary files a/app/src/main/res/drawable/ic_chatsecure.png and /dev/null differ
diff --git a/app/src/main/res/drawable/ic_duckduckgo.png b/app/src/main/res/drawable/ic_duckduckgo.png
deleted file mode 100644
index 696dcd6e..00000000
Binary files a/app/src/main/res/drawable/ic_duckduckgo.png and /dev/null differ
diff --git a/app/src/main/res/drawable/ic_twitter.png b/app/src/main/res/drawable/ic_twitter.png
deleted file mode 100644
index 1e61c0a2..00000000
Binary files a/app/src/main/res/drawable/ic_twitter.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_martus.png b/app/src/main/res/drawable/icon_martus.png
deleted file mode 100644
index e72db19c..00000000
Binary files a/app/src/main/res/drawable/icon_martus.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_orfox.png b/app/src/main/res/drawable/icon_orfox.png
deleted file mode 100644
index 57ed1f0f..00000000
Binary files a/app/src/main/res/drawable/icon_orfox.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_story_maker.png b/app/src/main/res/drawable/icon_story_maker.png
deleted file mode 100644
index 9c54ca56..00000000
Binary files a/app/src/main/res/drawable/icon_story_maker.png and /dev/null differ
diff --git a/app/src/main/res/drawable/tilebg.xml b/app/src/main/res/drawable/tilebg.xml
deleted file mode 100644
index 6f0d2a3d..00000000
--- a/app/src/main/res/drawable/tilebg.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/classyfabric"
- android:tileMode="repeat" />
\ No newline at end of file
diff --git a/app/src/main/res/layout-v21/layout_notification_expanded.xml b/app/src/main/res/layout-v21/layout_notification_expanded.xml
deleted file mode 100644
index 71770d02..00000000
--- a/app/src/main/res/layout-v21/layout_notification_expanded.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:internal="http://schemas.android.com/apk/prv/res/android"
- android:id="@+id/status_bar_latest_event_content"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="#545454"
- >
- <ImageView android:id="@+id/icon"
- android:layout_width="@dimen/notification_large_icon_width"
- android:layout_height="@dimen/notification_large_icon_height"
- android:scaleType="center"
- />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="fill_vertical"
- android:layout_marginStart="@dimen/notification_large_icon_width"
- android:minHeight="@dimen/notification_large_icon_height"
- android:orientation="vertical"
- android:paddingEnd="8dp"
- android:paddingTop="2dp"
- android:paddingBottom="2dp"
- android:gravity="top"
- >
- <LinearLayout
- android:id="@+id/line1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="6dp"
- android:layout_marginStart="8dp"
- android:orientation="horizontal"
- >
- <TextView android:id="@+id/title"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:layout_weight="1"
- android:textStyle="bold"
- android:textAppearance="@style/NotificationTitle"
- />
-
- </LinearLayout>
- <LinearLayout
- android:id="@+id/line3"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_marginStart="8dp"
- >
- <TextView android:id="@+id/text"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_gravity="center"
- android:singleLine="true"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:textAppearance="@style/NotificationTitle"
- />
- <TextView android:id="@+id/info"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:layout_weight="0"
- android:singleLine="true"
- android:gravity="center"
- android:paddingStart="8dp"
- android:textAppearance="@style/NotificationTitle"
- />
- <ImageView android:id="@+id/right_icon"
- android:layout_width="16dp"
- android:layout_height="16dp"
- android:layout_gravity="center"
- android:layout_weight="0"
- android:layout_marginStart="8dp"
- android:scaleType="centerInside"
- android:visibility="gone"
- />
- <!--
- <ImageButton
- android:id="@+id/_tor_notificationBT"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:src="@drawable/nav_refresh" />
- -->
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:orientation="horizontal"
- android:background="#999999"
- android:layout_marginTop="3dp"
- android:layout_marginBottom="3dp"
-
- />
- <TextView android:id="@+id/text2"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="-2dp"
- android:layout_marginBottom="-2dp"
- android:layout_marginStart="8dp"
- android:fadingEdge="horizontal"
- android:textColor="#cdcdcd"
- />
- </LinearLayout>
-</FrameLayout>
diff --git a/app/src/main/res/layout/layout_main.xml b/app/src/main/res/layout/layout_main.xml
index 535efa7a..97fb8196 100644
--- a/app/src/main/res/layout/layout_main.xml
+++ b/app/src/main/res/layout/layout_main.xml
@@ -19,12 +19,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
>
-
+ <ScrollView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/content_frame"
-
>
<FrameLayout
@@ -42,19 +43,19 @@
android:id="@+id/pulsator"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:paddingTop="20dp"
app:pulse_count="4"
app:pulse_duration="2000"
app:pulse_repeat="0"
app:pulse_color="@color/dark_green"
app:pulse_startFromScratch="false"
app:pulse_interpolator="Linear">
- <org.torproject.android.ui.ImageProgressView
+ <ImageView
android:id="@+id/imgStatus"
android:layout_width="match_parent"
android:layout_height="225dp"
android:padding="0dp"
android:layout_margin="0dp"
- android:layout_marginTop="20dp"
android:src="@drawable/toroff" />
</pl.bclogic.pulsator4droid.library.PulsatorLayout>
@@ -65,6 +66,7 @@
android:text="@string/menu_start"
android:layout_gravity="center"
android:background="@android:color/transparent"
+ android:layout_marginTop="10dp"
/>
</FrameLayout>
@@ -98,18 +100,19 @@
android:layout_gravity="center"
android:orientation="vertical"
android:layout_width="170dp"
- android:layout_height="100dp"
+ android:layout_height="50dp"
android:background="#11CCCCCC"
android:layout_margin="3dp"
android:layout_weight="1"
>
+ <!--
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Region"
android:layout_margin="12dp"
- />
+ />-->
<Spinner
android:id="@+id/spinnerCountry"
android:layout_width="165dp"
@@ -126,7 +129,7 @@
android:layout_gravity="center"
android:orientation="vertical"
android:layout_width="170dp"
- android:layout_height="100dp"
+ android:layout_height="50dp"
android:background="#11CCCCCC"
android:layout_margin="3dp"
android:layout_weight="1"
@@ -142,6 +145,7 @@
app:switchPadding="9dp"
/>
+ <!--
<Button
android:id="@+id/btnApps"
android:layout_width="wrap_content"
@@ -151,7 +155,7 @@
android:maxLines="1"
android:layout_gravity="center"
- />
+ />-->
</LinearLayout>
</LinearLayout>
@@ -269,11 +273,41 @@
android:gravity="center_vertical"
/>
</LinearLayout>
+ <LinearLayout
+ android:id="@+id/row_apps"
+ android:gravity="center_horizontal"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="80dp"
+ android:background="#55CCCCCC"
+ android:layout_margin="3dp"
+ android:layout_weight="1"
+ android:layout_below="@+id/row_bridges"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:fontFamily="sans-serif-light"
+ android:text="App Shortcuts"
+ android:layout_margin="3dp"
+ android:lines="1"
+ />
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:id="@+id/boxAppShortcuts"
+ android:gravity="center"
+ android:padding="3dp"
+ >
+ </LinearLayout>
+ </LinearLayout>
</RelativeLayout>
-
+ </ScrollView>
<LinearLayout
diff --git a/app/src/main/res/layout/layout_notification_expanded.xml b/app/src/main/res/layout/layout_notification_expanded.xml
index 9f72beb1..aab1d6de 100644
--- a/app/src/main/res/layout/layout_notification_expanded.xml
+++ b/app/src/main/res/layout/layout_notification_expanded.xml
@@ -29,10 +29,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="fill_vertical"
+ android:layout_marginStart="@dimen/notification_large_icon_width"
android:layout_marginLeft="@dimen/notification_large_icon_width"
+
android:minHeight="@dimen/notification_large_icon_height"
android:orientation="vertical"
- android:paddingLeft="8dp"
+ android:paddingEnd="8dp"
+ android:paddingRight="8dp"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:gravity="top"
@@ -42,6 +45,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="6dp"
+ android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:orientation="horizontal"
>
@@ -53,7 +57,6 @@
android:fadingEdge="horizontal"
android:layout_weight="1"
android:textStyle="bold"
- android:textAppearance="@style/NotificationTitle"
/>
</LinearLayout>
@@ -62,6 +65,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
+ android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
>
<TextView android:id="@+id/text"
@@ -72,7 +76,6 @@
android:singleLine="true"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
- android:textAppearance="@style/NotificationText"
/>
<TextView android:id="@+id/info"
android:layout_width="wrap_content"
@@ -81,40 +84,21 @@
android:layout_weight="0"
android:singleLine="true"
android:gravity="center"
+ android:paddingStart="8dp"
android:paddingLeft="8dp"
- android:textAppearance="@style/NotificationText"
- />
- <ImageView android:id="@+id/right_icon"
- android:layout_width="16dp"
- android:layout_height="16dp"
- android:layout_gravity="center"
- android:layout_weight="0"
- android:layout_marginLeft="8dp"
- android:scaleType="centerInside"
- android:visibility="gone"
/>
- <!--
<ImageButton
- android:id="@+id/_tor_notificationBT"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:src="@drawable/nav_refresh" />
- -->
+ android:id="@+id/action_refresh"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:src="@drawable/ic_autorenew_black_36dp" />
</LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:orientation="horizontal"
- android:background="#999999"
- android:layout_marginTop="3dp"
- android:layout_marginBottom="3dp"
-
- />
<TextView android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-2dp"
android:layout_marginBottom="-2dp"
+ android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:fadingEdge="horizontal"
/>
diff --git a/app/src/main/res/layout/layout_promo_apps.xml b/app/src/main/res/layout/layout_promo_apps.xml
deleted file mode 100644
index 00c1f6fe..00000000
--- a/app/src/main/res/layout/layout_promo_apps.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
-
-
-<TableLayout android:id="@+id/TableLayout01" android:stretchColumns="*" android:layout_height="fill_parent" android:layout_width="wrap_content">
-
-<TableRow android:layout_margin="10dip" android:id="@+id/TableRow01" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="fill_parent">
-
-
- <ScrollView android:id="@+id/helpscrollview"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_span="3">
-
-<LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="#575757"
- android:orientation="vertical"
- android:paddingRight="20dip" >
-
- <TextView
- android:id="@+id/WizardTextBody1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.31"
- android:padding="20dip"
- android:text="@string/wizard_tips_msg"
- android:textColor="#ffffff"
- android:textSize="8pt" >
- </TextView>
-
- <Button
- android:id="@+id/WizardRootButtonInstallOrweb"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/icon_orfox"
- android:text="@string/wizard_tips_orweb" />
-
- <Button
- android:id="@+id/WizardRootButtonInstallGibberbot"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/ic_chatsecure"
- android:text="@string/wizard_tips_gibberbot" />
-
-
- <Button
- android:id="@+id/WizardRootButtonInstallDuckgo"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/ic_duckduckgo"
- android:text="@string/wizard_tips_duckgo" />
-
- <Button
- android:id="@+id/WizardRootButtonInstallTwitter"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/ic_twitter"
- android:text="@string/wizard_tips_twitter" />
-
- <Button
- android:id="@+id/WizardRootButtonInstallStoryMaker"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/icon_story_maker"
- android:text="@string/wizard_tips_story_maker" />
-
- <Button
- android:id="@+id/WizardRootButtonInstallMartus"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/icon_martus"
- android:text="@string/wizard_tips_martus" />
-
- <Button
- android:id="@+id/WizardRootButtonGooglePlay"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginTop="10px"
- android:drawableLeft="@drawable/ic_play"
- android:text="@string/wizard_tips_fdroid_org" />
-
-
-</LinearLayout>
-
- </ScrollView>
-
-</TableRow>
-<TableRow android:background="#000000" android:layout_marginTop="10dip" android:paddingTop="10dip" android:id="@+id/TableRow02" android:textColor="#00ff00" android:layout_width="fill_parent" android:layout_height="30px">
- <!-- <Button android:text="@string/btn_back" android:id="@+id/btnWizard1" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button> -->
- <Button android:text="@string/btn_okay" android:id="@+id/btnWizard2" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button>
-</TableRow>
-</TableLayout>
-</LinearLayout>
-
-
diff --git a/app/src/main/res/menu/orbot_apps.xml b/app/src/main/res/menu/orbot_apps.xml
new file mode 100644
index 00000000..12bcbc3c
--- /dev/null
+++ b/app/src/main/res/menu/orbot_apps.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2008 Esmertec AG.
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:yourapp="http://schemas.android.com/apk/res-auto"
+ >
+
+ <item android:id="@+id/menu_apps_refresh"
+ android:title=""
+ android:icon="@drawable/ic_autorenew_black_36dp"
+ yourapp:showAsAction="always"
+ />
+
+</menu>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 94b9a303..68ceadeb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -256,8 +256,8 @@
<string name="permission_manage_tor_label">Manage Tor</string>
<string name="permission_manage_tor_description">Enable this app to control the Tor service</string>
- <string name="it_doesn_t_seem_like_you_have_orweb_installed_want_help_with_that_or_should_we_just_open_the_browser_">It doesn\'t seem like you have Orfox installed. Want help with that, or should we just open the browser?</string>
- <string name="install_apps_">Install apps?</string>
+ <string name="it_doesn_t_seem_like_you_have_orweb_installed_want_help_with_that_or_should_we_just_open_the_browser_">Orbot works best with Orfox Browser. Install now?</string>
+ <string name="install_apps_">Install browser?</string>
<string name="no_network_connectivity_putting_tor_to_sleep_">No network connectivity. Putting Tor to sleepâ?¦</string>
<string name="network_connectivity_is_good_waking_tor_up_">Network connectivity is good. Waking Tor upâ?¦</string>
<string name="updating_settings_in_tor_service">updating settings in Tor service</string>
@@ -388,4 +388,5 @@
<string name="pref_connection_padding_summary">Always enables connection padding to defend against some forms of traffic analysis. Default: auto</string>
<string name="pref_reduced_connection_padding">Reduced connection padding</string>
<string name="pref_reduced_connection_padding_summary">Closes relay connections sooner and sends less padding packets to reduce data and battery usage</string>
+ <string name="please_enable_vpn">Please activate the VPN mode to enable apps to use Tor</string>
</resources>
diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorService.java b/orbotservice/src/main/java/org/torproject/android/service/TorService.java
index 077cc702..4898b006 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorService.java
@@ -268,15 +268,13 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
yesReceive.setAction("Restart");
PendingIntent pendingIntentYes = PendingIntent.getBroadcast(this, 12345, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT);
mNotifyBuilder.addAction(R.drawable.ic_stat_tor_off, "Restart", pendingIntentYes);
-
-
//Maybe intent
+ **/
+
Intent maybeReceive = new Intent();
maybeReceive.setAction("Identity");
PendingIntent pendingIntentMaybe = PendingIntent.getBroadcast(this, 12345, maybeReceive, PendingIntent.FLAG_UPDATE_CURRENT);
mNotifyBuilder.addAction(R.drawable.ic_stat_tor_xfer, "New Identity", pendingIntentMaybe);
- **/
-
}
}
@@ -344,6 +342,12 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
expandedView.setTextViewText(R.id.title, getString(R.string.app_name));
expandedView.setImageViewResource(R.id.icon, icon);
+
+ Intent intentRefresh = new Intent();
+ intentRefresh.setAction("Identity");
+ PendingIntent pendingIntentMaybe = PendingIntent.getBroadcast(this, 12345, intentRefresh, PendingIntent.FLAG_UPDATE_CURRENT);
+ expandedView.setOnClickFillInIntent(R.id.action_refresh,intentRefresh);
+
mNotification.bigContentView = expandedView;
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java b/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java
index 5bfaf7c4..bd5c3d6f 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java
@@ -109,7 +109,7 @@ public class Prefs {
}
public static boolean useVpn() {
- return prefs.getBoolean(PREF_USE_VPN, false);
+ return prefs.getBoolean(PREF_USE_VPN, true);
}
public static void putUseVpn(boolean value) {
diff --git a/orbotservice/src/main/res/drawable-hdpi/ic_autorenew_black_36dp.png b/orbotservice/src/main/res/drawable-hdpi/ic_autorenew_black_36dp.png
new file mode 100644
index 00000000..6ae7ac8a
Binary files /dev/null and b/orbotservice/src/main/res/drawable-hdpi/ic_autorenew_black_36dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_settings.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_action_settings.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_action_settings.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_action_settings.png
diff --git a/app/src/main/res/drawable-mdpi/ic_autorenew_black_36dp.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_autorenew_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_autorenew_black_36dp.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_autorenew_black_36dp.png
diff --git a/app/src/main/res/drawable-mdpi/ic_filter_none_black_36dp.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_filter_none_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_filter_none_black_36dp.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_filter_none_black_36dp.png
diff --git a/app/src/main/res/drawable-mdpi/ic_launcher.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_launcher.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_launcher.png
diff --git a/app/src/main/res/drawable-mdpi/ic_playlist_add_check_black_36dp.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_playlist_add_check_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_playlist_add_check_black_36dp.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_playlist_add_check_black_36dp.png
diff --git a/app/src/main/res/drawable-mdpi/ic_stat_notifyerr.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_stat_notifyerr.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_stat_notifyerr.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_stat_notifyerr.png
diff --git a/app/src/main/res/drawable-mdpi/ic_stat_tor.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_stat_tor.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_stat_tor.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_stat_tor.png
diff --git a/app/src/main/res/drawable-mdpi/ic_stat_tor_xfer.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_stat_tor_xfer.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_stat_tor_xfer.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/ic_stat_tor_xfer.png
diff --git a/app/src/main/res/drawable-mdpi/inverse.png b/orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/inverse.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/inverse.png
rename to orbotservice/src/main/res/drawable-mdpi/drawable-mdpi/inverse.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_autorenew_black_36dp.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_autorenew_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_autorenew_black_36dp.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_autorenew_black_36dp.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_filter_none_black_36dp.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_filter_none_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_filter_none_black_36dp.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_filter_none_black_36dp.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_launcher.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_launcher.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_black_36dp.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_playlist_add_check_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_black_36dp.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_playlist_add_check_black_36dp.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_stat_tor.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_stat_tor.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_stat_tor.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_stat_tor.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_stat_tor_xfer.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_stat_tor_xfer.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_stat_tor_xfer.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/ic_stat_tor_xfer.png
diff --git a/app/src/main/res/drawable-xhdpi/inverse.png b/orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/inverse.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/inverse.png
rename to orbotservice/src/main/res/drawable-xxhdpi/drawable-xxhdpi/inverse.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_autorenew_black_36dp.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_autorenew_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_autorenew_black_36dp.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_autorenew_black_36dp.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_filter_none_black_36dp.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_filter_none_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_filter_none_black_36dp.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_filter_none_black_36dp.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_launcher.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_launcher.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_black_36dp.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_playlist_add_check_black_36dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_black_36dp.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_playlist_add_check_black_36dp.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_stat_tor.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_stat_tor.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_stat_tor.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_stat_tor.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_stat_tor_xfer.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_stat_tor_xfer.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_stat_tor_xfer.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/ic_stat_tor_xfer.png
diff --git a/app/src/main/res/drawable-xxhdpi/inverse.png b/orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/inverse.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/inverse.png
rename to orbotservice/src/main/res/drawable-xxxhdpi/drawable-xxxhdpi/inverse.png
diff --git a/orbotservice/src/main/res/layout/layout_notification_expanded.xml b/orbotservice/src/main/res/layout/layout_notification_expanded.xml
index 395998b1..aab1d6de 100644
--- a/orbotservice/src/main/res/layout/layout_notification_expanded.xml
+++ b/orbotservice/src/main/res/layout/layout_notification_expanded.xml
@@ -87,32 +87,12 @@
android:paddingStart="8dp"
android:paddingLeft="8dp"
/>
- <ImageView android:id="@+id/right_icon"
- android:layout_width="16dp"
- android:layout_height="16dp"
- android:layout_gravity="center"
- android:layout_weight="0"
- android:layout_marginLeft="8dp"
- android:scaleType="centerInside"
- android:visibility="gone"
- />
- <!--
<ImageButton
- android:id="@+id/_tor_notificationBT"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:src="@drawable/nav_refresh" />
- -->
+ android:id="@+id/action_refresh"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:src="@drawable/ic_autorenew_black_36dp" />
</LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:orientation="horizontal"
- android:background="#999999"
- android:layout_marginTop="3dp"
- android:layout_marginBottom="3dp"
-
- />
<TextView android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits