diff --git a/briar-android/AndroidManifest.xml b/briar-android/AndroidManifest.xml index f6f22fe2f..47ac4ecc8 100644 --- a/briar-android/AndroidManifest.xml +++ b/briar-android/AndroidManifest.xml @@ -6,7 +6,7 @@ diff --git a/briar-android/project.properties b/briar-android/project.properties index 3409f0811..00cf62bac 100644 --- a/briar-android/project.properties +++ b/briar-android/project.properties @@ -11,4 +11,4 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-20 +target=android-22 diff --git a/briar-android/src/org/briarproject/android/CrashReportActivity.java b/briar-android/src/org/briarproject/android/CrashReportActivity.java index 9d8520a87..3bc3c810d 100644 --- a/briar-android/src/org/briarproject/android/CrashReportActivity.java +++ b/briar-android/src/org/briarproject/android/CrashReportActivity.java @@ -154,10 +154,12 @@ public class CrashReportActivity extends Activity implements OnClickListener { progress.setVisibility(VISIBLE); new AsyncTask>() { + @Override protected Map doInBackground(Void... args) { return getStatusMap(); } + @Override protected void onPostExecute(Map result) { Context ctx = CrashReportActivity.this; int pad = LayoutUtils.getPadding(ctx); @@ -179,6 +181,7 @@ public class CrashReportActivity extends Activity implements OnClickListener { // FIXME: Load strings from resources if we're keeping this activity @SuppressLint("NewApi") + @SuppressWarnings("deprecation") private Map getStatusMap() { Map statusMap = new LinkedHashMap(); @@ -199,7 +202,17 @@ public class CrashReportActivity extends Activity implements OnClickListener { statusMap.put("Android version:", release + " (" + sdk + ")"); // CPU architecture - statusMap.put("Architecture:", Build.CPU_ABI); + String arch = null; + if(Build.VERSION.SDK_INT >= 21) { + for(String abi : Build.SUPPORTED_ABIS) { + if(arch == null) arch = abi; + else arch = arch + ", " + abi; + } + } else { + if(Build.CPU_ABI2 == null) arch = Build.CPU_ABI; + else arch = Build.CPU_ABI + ", " + Build.CPU_ABI2; + } + statusMap.put("Architecture:", arch); // System memory Object o = getSystemService(ACTIVITY_SERVICE); @@ -392,10 +405,12 @@ public class CrashReportActivity extends Activity implements OnClickListener { private void share() { new AsyncTask>() { + @Override protected Map doInBackground(Void... args) { return getStatusMap(); } + @Override protected void onPostExecute(Map result) { try { File shared = Environment.getExternalStorageDirectory(); diff --git a/briar-android/src/org/briarproject/android/TestingActivity.java b/briar-android/src/org/briarproject/android/TestingActivity.java index 80f0d8fd7..1a0acb6bd 100644 --- a/briar-android/src/org/briarproject/android/TestingActivity.java +++ b/briar-android/src/org/briarproject/android/TestingActivity.java @@ -165,10 +165,12 @@ public class TestingActivity extends BriarActivity implements OnClickListener { progress.setVisibility(VISIBLE); new AsyncTask>() { + @Override protected Map doInBackground(Void... args) { return getStatusMap(); } + @Override protected void onPostExecute(Map result) { int pad = LayoutUtils.getPadding(TestingActivity.this); for(Entry e : result.entrySet()) { @@ -190,6 +192,7 @@ public class TestingActivity extends BriarActivity implements OnClickListener { // FIXME: Load strings from resources if we're keeping this activity @SuppressLint("NewApi") + @SuppressWarnings("deprecation") private Map getStatusMap() { Map statusMap = new LinkedHashMap(); @@ -210,7 +213,17 @@ public class TestingActivity extends BriarActivity implements OnClickListener { statusMap.put("Android version:", release + " (" + sdk + ")"); // CPU architecture - statusMap.put("Architecture:", Build.CPU_ABI); + String arch = null; + if(Build.VERSION.SDK_INT >= 21) { + for(String abi : Build.SUPPORTED_ABIS) { + if(arch == null) arch = abi; + else arch = arch + ", " + abi; + } + } else { + if(Build.CPU_ABI2 == null) arch = Build.CPU_ABI; + else arch = Build.CPU_ABI + ", " + Build.CPU_ABI2; + } + statusMap.put("Architecture:", arch); // System memory Object o = getSystemService(ACTIVITY_SERVICE); @@ -452,10 +465,12 @@ public class TestingActivity extends BriarActivity implements OnClickListener { private void share() { new AsyncTask>() { + @Override protected Map doInBackground(Void... args) { return getStatusMap(); } + @Override protected void onPostExecute(Map result) { try { File shared = Environment.getExternalStorageDirectory(); diff --git a/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java b/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java index 4861ba6b7..fb9c6231b 100644 --- a/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java +++ b/briar-android/src/org/briarproject/plugins/tor/TorPluginFactory.java @@ -1,5 +1,7 @@ package org.briarproject.plugins.tor; +import java.util.ArrayList; +import java.util.List; import java.util.concurrent.Executor; import java.util.logging.Logger; @@ -9,6 +11,7 @@ import org.briarproject.api.plugins.duplex.DuplexPluginCallback; import org.briarproject.api.plugins.duplex.DuplexPluginFactory; import org.briarproject.api.system.LocationUtils; +import android.annotation.SuppressLint; import android.content.Context; import android.os.Build; @@ -36,9 +39,20 @@ public class TorPluginFactory implements DuplexPluginFactory { return TorPlugin.ID; } + @SuppressLint("NewApi") + @SuppressWarnings("deprecation") public DuplexPlugin createPlugin(DuplexPluginCallback callback) { // Check that we have a Tor binary for this architecture - if(!Build.CPU_ABI.startsWith("armeabi")) { + List abis = new ArrayList(); + if(Build.VERSION.SDK_INT >= 21) { + for(String abi : Build.SUPPORTED_ABIS) abis.add(abi); + } else { + abis.add(Build.CPU_ABI); + if(Build.CPU_ABI2 != null) abis.add(Build.CPU_ABI2); + } + boolean supported = false; + for(String abi : abis) if(abi.startsWith("armeabi")) supported = true; + if(!supported) { LOG.info("Tor is not supported on this architecture"); return null; } diff --git a/briar-api/.classpath b/briar-api/.classpath index 16b578bbf..326b310d1 100644 --- a/briar-api/.classpath +++ b/briar-api/.classpath @@ -2,6 +2,6 @@ - + diff --git a/briar-core/.classpath b/briar-core/.classpath index 69798ae31..e0c63bebb 100644 --- a/briar-core/.classpath +++ b/briar-core/.classpath @@ -4,9 +4,9 @@ - + diff --git a/briar-desktop/.classpath b/briar-desktop/.classpath index 705cf492b..c156924c0 100644 --- a/briar-desktop/.classpath +++ b/briar-desktop/.classpath @@ -10,6 +10,6 @@ - + diff --git a/briar-tests/.classpath b/briar-tests/.classpath index 2ddcafa08..a0463e8a6 100644 --- a/briar-tests/.classpath +++ b/briar-tests/.classpath @@ -11,7 +11,7 @@ - +