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 @@
-
+