diff --git a/ebc_enclave_messaging b/ebc_enclave_messaging
index 9b0f55007d93bbe13e48f2750d0b887c880a8add..9d89587c13406c3fd4a52ac1f6b3067ccc3405c8 160000
--- a/ebc_enclave_messaging
+++ b/ebc_enclave_messaging
@@ -1 +1 @@
-Subproject commit 9b0f55007d93bbe13e48f2750d0b887c880a8add
+Subproject commit 9d89587c13406c3fd4a52ac1f6b3067ccc3405c8
diff --git a/ebclibrary/build.gradle b/ebclibrary/build.gradle
index 9d5fc0ae64412b96bc322d1cb5bbcbf26fb99935..dd9bf6fc9e96b8635dd0553ef994f42a3e4b456c 100644
--- a/ebclibrary/build.gradle
+++ b/ebclibrary/build.gradle
@@ -55,6 +55,7 @@ dependencies {
//implementation fileTree(include: ['*.jar'], dir: '../ebcutils/build/libs')
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:support-v4:26.1.0'
+ implementation 'com.android.support:design:26.1.0'
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
diff --git a/ebclibrary/src/main/AndroidManifest.xml b/ebclibrary/src/main/AndroidManifest.xml
index ba2ea2b9fa2a33ec7279f6b846818530a7c53539..dd30e1a4918040935fea2cb6a052a1c7e3141f38 100644
--- a/ebclibrary/src/main/AndroidManifest.xml
+++ b/ebclibrary/src/main/AndroidManifest.xml
@@ -14,8 +14,6 @@
-
-
@@ -35,6 +33,7 @@
android:exported="true"
android:readPermission="READPERM"
android:writePermission="WRITEPERM" />
+
\ No newline at end of file
diff --git a/ebclibrary/src/main/java/org/mpisws/encounters/EncounterBasedCommunication.java b/ebclibrary/src/main/java/org/mpisws/encounters/EncounterBasedCommunication.java
index 768f763161344903339c2384aea9fdc05e671213..5ccd60b1b346b8f013d8a1678ac9a62ea46fdd17 100644
--- a/ebclibrary/src/main/java/org/mpisws/encounters/EncounterBasedCommunication.java
+++ b/ebclibrary/src/main/java/org/mpisws/encounters/EncounterBasedCommunication.java
@@ -195,9 +195,7 @@ public class EncounterBasedCommunication {
* @param context The calling application context
*/
public void initialize(Context context, int configResId) {
- // so we can connect to jni code to do stuff
SDDR_Native.c_mallocRadio();
-
Preferences preferences = new Preferences(context);
GlobalObjectRegistry.addObject(preferences);
diff --git a/ebclibrary/src/main/java/org/mpisws/encounters/dbplatform/ContentProviderBase.java b/ebclibrary/src/main/java/org/mpisws/encounters/dbplatform/ContentProviderBase.java
index 038186c67c39bd9ae534c656e66d5d3c16be0e0a..ea1e43f18bb644a16cad49e88193df03f0f49897 100644
--- a/ebclibrary/src/main/java/org/mpisws/encounters/dbplatform/ContentProviderBase.java
+++ b/ebclibrary/src/main/java/org/mpisws/encounters/dbplatform/ContentProviderBase.java
@@ -10,11 +10,13 @@ import android.content.UriMatcher;
import android.database.Cursor;
import android.database.SQLException;
import android.net.Uri;
+import android.util.Log;
import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteOpenHelper;
import org.mpisws.database.DBModel;
+import org.mpisws.embeddedsocial.ESClient;
import org.mpisws.helpers.ESCredentials;
import org.mpisws.helpers.GlobalObjectRegistry;
import org.mpisws.encounters.encounterhistory.EncounterHistoryAPM;
@@ -22,6 +24,7 @@ import org.mpisws.encounters.encounterhistory.EncounterHistoryAPM;
import java.util.ArrayList;
public abstract class ContentProviderBase extends ContentProvider {
+ private final String TAG = ContentProviderBase.class.getSimpleName();
private final UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH);
protected SQLiteOpenHelper dbHelper;
@@ -119,6 +122,7 @@ public abstract class ContentProviderBase extends ContentProvider {
@Override
public synchronized int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
if (GlobalObjectRegistry.getObject(ESCredentials.class) == null) return -1;
+ Log.d(TAG, "User handle is " + GlobalObjectRegistry.getObject(ESCredentials.class).getUserHandle());
final SQLiteDatabase db = dbHelper.getWritableDatabase(GlobalObjectRegistry.getObject(ESCredentials.class).getUserHandle());
final MatchType matchType = codeToModel(matcher.match(uri));
final String realselection = matchType.isRow() ? addPKIDConditionToWhereClause(selection, uri.getLastPathSegment()) : selection;
diff --git a/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationCore.java b/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationCore.java
index ede9ffc96b7b4a2c79a2d36bbc75da30bd4e1145..dc931cf5de9cfdc171f0bfa734e2f737f15fb244 100644
--- a/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationCore.java
+++ b/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationCore.java
@@ -15,9 +15,12 @@ import android.util.Log;
import org.apache.commons.lang3.tuple.Pair;
import org.mpisws.embeddedsocial.ESClient;
+import org.mpisws.encounters.lib.Preferences;
+import org.mpisws.helpers.GlobalObjectRegistry;
import org.mpisws.helpers.Identifier;
import org.mpisws.encounters.encounterhistory.bridges.EncounterEntriesBridge;
import org.mpisws.encounters.encounterhistory.events.EncounterConfirmEvent;
+import org.mpisws.helpers.Utils;
import java.util.HashMap;
import java.util.Map;
@@ -57,6 +60,9 @@ public class EncounterFormationCore implements Runnable {
private void initialize() {
Looper.prepare();
+ if (SDDR_Native.c_RadioPtr <= 0) {
+ SDDR_Native.c_mallocRadio();
+ }
Log.v(TAG, "Initialize SDDRCore on thread " + Thread.currentThread().getName());
this.bluetoothManager = (BluetoothManager) mService.getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
@@ -68,6 +74,17 @@ public class EncounterFormationCore implements Runnable {
changeEpochTime = System.currentTimeMillis() + CHANGE_EPOCH_TIME;
encounterConfirmationAndEpochLinking = new EncounterConfirmationAndEpochLinking(mService);
+
+ // deal with login credentials here
+ Preferences preferences;
+ if ((preferences = GlobalObjectRegistry.getObject(Preferences.class)) == null) {
+ preferences = new Preferences(mService);
+ GlobalObjectRegistry.addObject(preferences);
+ }
+ // try to get ES Credentials
+ Log.d(TAG, "UserHandle, Auth: " + preferences.getUserHandle() + ", " + preferences.getAuthorizationToken());
+ ESClient.getInstance().setESCredentials(preferences.getUserHandle(), preferences.getAuthorizationToken());
+
new EncounterEntriesBridge(mService).finalizeOldEncounters();
}
@@ -79,7 +96,8 @@ public class EncounterFormationCore implements Runnable {
}
public void stop() {
- //SDDR_Native.c_freeRadio();
+ if (SDDR_Native.c_RadioPtr > 0)
+ SDDR_Native.c_freeRadio();
mAdvertiser.stopAdvertising();
mScannerProcessor.stopScanning();
}
diff --git a/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationService.java b/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationService.java
index 5f20a6b1c3eadb9492e13f812c7e6bec5d03ad70..e294982b2f4fe1ddb62c5d4bfe089c20e5b9eeb4 100644
--- a/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationService.java
+++ b/ebclibrary/src/main/java/org/mpisws/encounters/encounterformation/EncounterFormationService.java
@@ -1,9 +1,6 @@
package org.mpisws.encounters.encounterformation;
import android.Manifest;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
import android.app.Service;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothManager;
@@ -15,13 +12,6 @@ import android.support.v4.app.ActivityCompat;
import android.util.Log;
import android.widget.Toast;
-import org.mpisws.encounters.R;
-import org.mpisws.helpers.ESCredentials;
-import org.mpisws.helpers.GlobalObjectRegistry;
-
-import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.support.v4.app.NotificationCompat.PRIORITY_LOW;
-
/**
* Created by tslilyai on 10/27/17.
*/
@@ -74,30 +64,12 @@ public class EncounterFormationService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startID) {
- /*if (GlobalObjectRegistry.getObject(ESCredentials.class) == null ||
- GlobalObjectRegistry.getObject(ESCredentials.class).getUserHandle() == null) {
- Intent dialogIntent = new Intent(this, Login.class);
- dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(dialogIntent);
- }*/
-
if (intent == null) {
return START_STICKY;
}
if (intent.getExtras().containsKey("@string.start_sddr_service")) {
check_and_start_core();
- Intent notificationIntent = new Intent(this, getApplicationContext().getClass());
- PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
-
- Notification notification = new Notification.Builder(this, DEFAULT_CHANNEL_ID)
- .setContentTitle("EbC")
- .setContentText("Forming encounters")
- .setSmallIcon(R.drawable.ic_ebc_formation)
- .setContentIntent(pendingIntent)
- .setTicker("EbCTicker?")
- .build();
- startForeground(FOREGROUND_SERVICE_ON, notification);
return START_STICKY;
}
diff --git a/ebclibrary/src/main/java/org/mpisws/encounters/encounterhistory/bridges/EncounterEntriesBridge.java b/ebclibrary/src/main/java/org/mpisws/encounters/encounterhistory/bridges/EncounterEntriesBridge.java
index 8e709ef7463fd49b7f06dd7f6c56406ab79df4f6..8ac97ab0bfdf172d08ace5e7ee54308128edf7c8 100644
--- a/ebclibrary/src/main/java/org/mpisws/encounters/encounterhistory/bridges/EncounterEntriesBridge.java
+++ b/ebclibrary/src/main/java/org/mpisws/encounters/encounterhistory/bridges/EncounterEntriesBridge.java
@@ -184,7 +184,7 @@ public class EncounterEntriesBridge extends AbstractEncountersBridge ? OR "
+ PEncounterEntries.Columns.timestampEnd + " = -1)"
+ " AND " + PEncounterEntries.Columns.sharedSecret + " IS NOT NULL";
- String sortOrder = PEncounterEntries.Columns.timestampStart + " ASC";
+ String sortOrder = PEncounterEntries.Columns.timestampEnd + " ASC";
final Cursor cursor = context.getContentResolver().query(EncounterHistoryAPM.getContentURI(EncounterHistoryAPM.encounterEntries),
null, whereClause, selectionArgs, sortOrder);
List locs = new ArrayList();
diff --git a/ebclibrary/src/main/java/org/mpisws/encounters/lib/Preferences.java b/ebclibrary/src/main/java/org/mpisws/encounters/lib/Preferences.java
index 42f61a9beb3bb29502cf89ce3d6c727bfe3ef2c7..f4e5afbbec0304ab4e6a307d1ec8177116949d3b 100644
--- a/ebclibrary/src/main/java/org/mpisws/encounters/lib/Preferences.java
+++ b/ebclibrary/src/main/java/org/mpisws/encounters/lib/Preferences.java
@@ -16,11 +16,9 @@ import org.mpisws.helpers.GlobalObjectRegistry;
public class Preferences {
private static final String PREF_FILE_NAME = "com.microsoft.embeddedsocial.pref";
- private static final String INSTANCE_ID = "instance_id";
private static final String USER_HANDLE = "userhandle";
private static final String AUTHORIZATION = "authorization";
private static final String encEntryDBTimestamp = "encEntrys";
- private static final String locationDBTimestamp = "locations";
private static final String ebCKey = "ebCKey";
private static final String latestReadMessageCursor = "lrmc";
diff --git a/ebclibrary/src/main/res/drawable-hdpi/ic_action_stat_reply.png b/ebclibrary/src/main/res/drawable-hdpi/ic_action_stat_reply.png
deleted file mode 100644
index 835d96fc6c3354801c672e6ccfd3661774618b95..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-hdpi/ic_action_stat_reply.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-hdpi/ic_action_stat_share.png b/ebclibrary/src/main/res/drawable-hdpi/ic_action_stat_share.png
deleted file mode 100644
index c329f58daae65d1f35d2959a5c2cac0a0cc7d218..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-hdpi/ic_action_stat_share.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-hdpi/ic_ebc_formation.png b/ebclibrary/src/main/res/drawable-hdpi/ic_ebc_formation.png
deleted file mode 100644
index d2cbb747279ea3b6a96393436082e952e839a88c..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-hdpi/ic_ebc_formation.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-mdpi/ic_action_stat_reply.png b/ebclibrary/src/main/res/drawable-mdpi/ic_action_stat_reply.png
deleted file mode 100644
index 9e344659eedcf226ea91afe4846a69827357435d..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-mdpi/ic_action_stat_reply.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-mdpi/ic_action_stat_share.png b/ebclibrary/src/main/res/drawable-mdpi/ic_action_stat_share.png
deleted file mode 100644
index 056deb57b92875e9361c4ee2a769023e55aec274..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-mdpi/ic_action_stat_share.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-mdpi/ic_ebc_formation.png b/ebclibrary/src/main/res/drawable-mdpi/ic_ebc_formation.png
deleted file mode 100644
index be0035f5c1001fb2b84f44fa736b32e2eead73d7..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-mdpi/ic_ebc_formation.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-nodpi/example_picture.png b/ebclibrary/src/main/res/drawable-nodpi/example_picture.png
deleted file mode 100644
index e0627f532897da9f078e79c32ae6d7d5792803a4..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-nodpi/example_picture.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-xhdpi/ic_action_stat_reply.png b/ebclibrary/src/main/res/drawable-xhdpi/ic_action_stat_reply.png
deleted file mode 100644
index 4cc854ab8001c0bd06aeaafd49467d157a1a9995..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-xhdpi/ic_action_stat_reply.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-xhdpi/ic_action_stat_share.png b/ebclibrary/src/main/res/drawable-xhdpi/ic_action_stat_share.png
deleted file mode 100644
index 15549b04eff0aaf80ecd4f5989785bd8bcb1d5fa..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-xhdpi/ic_action_stat_share.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-xhdpi/ic_ebc_formation.png b/ebclibrary/src/main/res/drawable-xhdpi/ic_ebc_formation.png
deleted file mode 100644
index 03d62697fdb83472776d96a2931d06639d0b6c79..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-xhdpi/ic_ebc_formation.png and /dev/null differ
diff --git a/ebclibrary/src/main/res/drawable-xxhdpi/ic_ebc_formation.png b/ebclibrary/src/main/res/drawable-xxhdpi/ic_ebc_formation.png
deleted file mode 100644
index bcd06f8bd579c02673480137d08f492cab131c56..0000000000000000000000000000000000000000
Binary files a/ebclibrary/src/main/res/drawable-xxhdpi/ic_ebc_formation.png and /dev/null differ