commit e6bd23a1e253824989d5b643543700d3cc8f1c26 Author: n8fr8 nathan@freitas.net 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"