Skip to content

Commit a77de04

Browse files
committed
about putting though the asap engine chunk received notifications from engine to asap app.
1 parent 3a547ac commit a77de04

9 files changed

Lines changed: 78 additions & 28 deletions

File tree

app/libs/ASAP_Engine_0.5.0.jar

0 Bytes
Binary file not shown.

app/src/main/java/net/sharksystem/asap/android/ASAP.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class ASAP {
1111
public static final String USER = "user";
1212
public static final String FOLDER = "folder";
1313

14-
public static final String BROADCAST_ACTION = "net.sharksystem.asap.received";
14+
public static final String ASAP_RECEIVED_ACTION = "net.sharksystem.asap.received";
1515

1616
public static final String URI = "ASAP_MESSAGE_URI";
1717
public static final String MESSAGE_CONTENT = "ASAP_MESSAGE_CONTENT";

app/src/main/java/net/sharksystem/asap/android/ASAPBroadcastIntent.java renamed to app/src/main/java/net/sharksystem/asap/android/ASAPReceivedBroadcastIntent.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
11
package net.sharksystem.asap.android;
22

3-
import android.content.Context;
43
import android.content.Intent;
54

65
import net.sharksystem.asap.ASAPException;
7-
import net.sharksystem.asap.android.service.ASAPService;
86

9-
public class ASAPBroadcastIntent extends Intent {
7+
public class ASAPReceivedBroadcastIntent extends Intent {
108

119
private CharSequence folder;
1210
private CharSequence uri;
1311
private int era;
1412
private CharSequence user;
1513

16-
public ASAPBroadcastIntent(CharSequence user, CharSequence folderName,
17-
CharSequence uri, int eraInt) throws ASAPException {
14+
public ASAPReceivedBroadcastIntent(CharSequence user, CharSequence folderName,
15+
CharSequence uri, int eraInt) throws ASAPException {
1816
super();
1917

2018
if(folderName == null || uri == null || user == null)
2119
throw new ASAPException("parameters must no be null");
2220

23-
this.setAction(ASAP.BROADCAST_ACTION);
21+
this.setAction(ASAP.ASAP_RECEIVED_ACTION);
2422

2523
this.putExtra(ASAP.ERA, eraInt);
2624
this.putExtra(ASAP.FOLDER, folderName);
@@ -33,7 +31,7 @@ public ASAPBroadcastIntent(CharSequence user, CharSequence folderName,
3331
this.user = user;
3432
}
3533

36-
public ASAPBroadcastIntent(Intent intent) throws ASAPException {
34+
public ASAPReceivedBroadcastIntent(Intent intent) throws ASAPException {
3735
super();
3836

3937
// just parse extras

app/src/main/java/net/sharksystem/asap/android/apps/ASAPActivity.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import android.util.Log;
1616
import android.widget.Toast;
1717

18+
import net.sharksystem.asap.android.ASAP;
1819
import net.sharksystem.asap.android.ASAPServiceMethods;
1920
import net.sharksystem.asap.android.service.ASAPService;
2021
import net.sharksystem.asap.android.service2AppMessaging.ASAPServiceNotificationListener;
@@ -199,6 +200,31 @@ private void shutdownASAPServiceNotificationBroadcastReceiver() {
199200
}
200201
}
201202

203+
/////////////////////////////////////////////////////////////////////////////////////
204+
// asap received broadcast management //
205+
/////////////////////////////////////////////////////////////////////////////////////
206+
207+
// asap application handles message from asap engine
208+
private void setupASAPReceivedBroadcastReceiver() {
209+
Log.d(this.getLogStart(), "setup asap received bc receiver");
210+
IntentFilter filter = new IntentFilter();
211+
filter.addAction(ASAP.ASAP_RECEIVED_ACTION);
212+
213+
// register
214+
this.registerReceiver(this.asapApplication, filter);
215+
}
216+
217+
private void shutdownASAPReceivedBroadcastReceiver() {
218+
Log.d(this.getLogStart(), "shutdown asap received bc receiver");
219+
try {
220+
this.unregisterReceiver(this.asapApplication);
221+
}
222+
catch(RuntimeException re) {
223+
Log.d(this.getLogStart(), "problems when unregister asap received bcr - ignore"
224+
+ re.getLocalizedMessage());
225+
}
226+
}
227+
202228
/////////////////////////////////////////////////////////////////////////////////////
203229
// life cycle //
204230
/////////////////////////////////////////////////////////////////////////////////////
@@ -224,6 +250,7 @@ protected void onStart() {
224250
super.onStart();
225251
Log.d(this.getLogStart(), "onStart");
226252
this.setupASAPServiceNotificationBroadcastReceiver();
253+
this.setupASAPReceivedBroadcastReceiver();
227254
this.bindServices();
228255
// (re-)start asap broadcast request is issued whenever connection was established
229256
// see ServiceConnection below
@@ -247,6 +274,7 @@ protected void onStop() {
247274
super.onStop();
248275
Log.d(this.getLogStart(), "onStop");
249276
this.shutdownASAPServiceNotificationBroadcastReceiver();
277+
this.shutdownASAPReceivedBroadcastReceiver();
250278
this.unbindServices();
251279
// stop protocols?
252280
}

app/src/main/java/net/sharksystem/asap/android/apps/ASAPApplication.java

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,23 @@
22

33
import android.Manifest;
44
import android.app.Activity;
5+
import android.content.BroadcastReceiver;
6+
import android.content.Context;
57
import android.content.Intent;
8+
import android.content.IntentFilter;
69
import android.content.pm.PackageManager;
710
import android.support.v4.app.ActivityCompat;
811
import android.support.v4.content.ContextCompat;
912
import android.util.Log;
1013

14+
import net.sharksystem.asap.ASAPChunkReceivedListener;
1115
import net.sharksystem.asap.ASAPException;
1216
import net.sharksystem.asap.android.ASAP;
17+
import net.sharksystem.asap.android.ASAPReceivedBroadcastIntent;
1318
import net.sharksystem.asap.android.ASAPServiceCreationIntent;
1419
import net.sharksystem.asap.android.Util;
20+
import net.sharksystem.asap.android.service2AppMessaging.ASAPServiceRequestNotifyBroadcastReceiver;
21+
import net.sharksystem.asap.android.service2AppMessaging.ASAPServiceRequestNotifyIntent;
1522

1623
import java.util.ArrayList;
1724
import java.util.List;
@@ -20,7 +27,7 @@
2027
import static android.support.v4.content.PermissionChecker.PERMISSION_GRANTED;
2128
import static net.sharksystem.asap.ASAPEngineFS.DEFAULT_ROOT_FOLDER_NAME;
2229

23-
public class ASAPApplication {
30+
public class ASAPApplication extends BroadcastReceiver {
2431
private static final int MY_ASK_FOR_PERMISSIONS_REQUEST = 100;
2532
private static ASAPApplication singleton;
2633
private CharSequence asapOwner;
@@ -247,15 +254,35 @@ public boolean getBTDiscovery() {
247254
return this.btDisoveryOn;
248255
}
249256

250-
/*
251-
public void stopAll() {
252-
this.sendMessage2Service(ASAPServiceMethods.STOP_WIFI_DIRECT);
253-
this.sendMessage2Service(ASAPServiceMethods.STOP_BLUETOOTH);
254-
this.sendMessage2Service(ASAPServiceMethods.STOP_BROADCASTS);
257+
/////////////////////////////////////////////////////////////////////////////////////
258+
// asap received broadcast management //
259+
/////////////////////////////////////////////////////////////////////////////////////
255260

256-
// and kill service itself
257-
this.activity.stopService(new Intent(this.activity, ASAPService.class));
261+
@Override
262+
public void onReceive(Context context, Intent intent) {
263+
Log.d(this.getLogStart(), "received asap received from asap engine/service");
264+
265+
try {
266+
ASAPReceivedBroadcastIntent asapReceivedIntent
267+
= new ASAPReceivedBroadcastIntent(intent);
268+
269+
// call listener - that's me in that case
270+
this.chunkReceived(
271+
asapReceivedIntent.getUser().toString(),
272+
asapReceivedIntent.getUri().toString(),
273+
asapReceivedIntent.getFoldername().toString(),
274+
asapReceivedIntent.getEra());
275+
276+
} catch (ASAPException e) {
277+
Log.w(this.getLogStart(), "could not handle intent: " + e.getLocalizedMessage());
278+
279+
}
258280
}
259281

260-
*/
282+
public void chunkReceived(String sender, String uri, String foldername, int era) {
283+
Log.d(this.getLogStart(), "got chunk received message: "
284+
+ sender + " | " + uri + " | " + foldername + " | " + era);
285+
286+
Log.d(this.getLogStart(), "should inform apps about it");
287+
}
261288
}

app/src/main/java/net/sharksystem/asap/android/example/ExampleASAPBroadcastReceiver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
import net.sharksystem.asap.ASAPEngineFS;
99
import net.sharksystem.asap.ASAPException;
1010
import net.sharksystem.asap.ASAPStorage;
11-
import net.sharksystem.asap.android.ASAPBroadcastIntent;
11+
import net.sharksystem.asap.android.ASAPReceivedBroadcastIntent;
1212

1313
import java.io.IOException;
1414

1515
public class ExampleASAPBroadcastReceiver extends BroadcastReceiver {
1616
@Override
1717
public void onReceive(Context context, Intent intent) {
1818
try {
19-
ASAPBroadcastIntent aaspIntent = new ASAPBroadcastIntent(intent);
19+
ASAPReceivedBroadcastIntent aaspIntent = new ASAPReceivedBroadcastIntent(intent);
2020

2121
String text = "ASAPService notified: "
2222
+ aaspIntent.getUser() + " / "

app/src/main/java/net/sharksystem/asap/android/example/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected void onCreate(Bundle savedInstanceState) {
2929
// create broadcast receiver
3030
ExampleASAPBroadcastReceiver br = new ExampleASAPBroadcastReceiver();
3131
IntentFilter filter = new IntentFilter();
32-
filter.addAction(ASAP.BROADCAST_ACTION);
32+
filter.addAction(ASAP.ASAP_RECEIVED_ACTION);
3333
this.registerReceiver(br, filter);
3434
}
3535

app/src/main/java/net/sharksystem/asap/android/service/ASAPMessageHandler.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
package net.sharksystem.asap.android.service;
22

3-
import android.content.Intent;
43
import android.os.Bundle;
54
import android.os.Handler;
65
import android.os.Message;
76
import android.util.Log;
87

9-
import net.sharksystem.asap.ASAPEngine;
108
import net.sharksystem.asap.ASAPException;
119
import net.sharksystem.asap.ASAPOnlineMessageSender;
12-
import net.sharksystem.asap.MultiASAPEngineFS;
1310
import net.sharksystem.asap.android.ASAP;
14-
import net.sharksystem.asap.android.ASAPBroadcastIntent;
1511
import net.sharksystem.asap.android.ASAPServiceMethods;
1612

1713
import java.io.IOException;

app/src/main/java/net/sharksystem/asap/android/service/ASAPService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import net.sharksystem.asap.MultiASAPEngineFS;
1818
import net.sharksystem.asap.MultiASAPEngineFS_Impl;
1919
import net.sharksystem.asap.android.ASAP;
20-
import net.sharksystem.asap.android.ASAPBroadcastIntent;
20+
import net.sharksystem.asap.android.ASAPReceivedBroadcastIntent;
2121
import net.sharksystem.asap.android.Util;
2222
import net.sharksystem.asap.android.bluetooth.BluetoothEngine;
2323
import net.sharksystem.asap.android.wifidirect.WifiP2PEngine;
@@ -212,21 +212,22 @@ public void startBluetoothDiscovery() {
212212
//////////////////////////////////////////////////////////////////////////////////////
213213

214214
private boolean broadcastOn = false;
215-
private List<ASAPBroadcastIntent> chunkReceivedBroadcasts = new ArrayList<>();
215+
private List<ASAPReceivedBroadcastIntent> chunkReceivedBroadcasts = new ArrayList<>();
216216

217217
@Override
218218
public void chunkReceived(String sender, String uri, int era) {
219219
// issue broadcast
220-
ASAPBroadcastIntent intent = null;
220+
ASAPReceivedBroadcastIntent intent = null;
221221
try {
222-
intent = new ASAPBroadcastIntent(
222+
intent = new ASAPReceivedBroadcastIntent(
223223
sender, this.getASAPRootFolderName(), uri, era);
224224
} catch (ASAPException e) {
225225
e.printStackTrace();
226226
return;
227227
}
228228

229229
if(this.broadcastOn) {
230+
Log.d(LOGSTART, "send broadcast");
230231
this.sendBroadcast(intent);
231232
} else {
232233
// store it

0 commit comments

Comments
 (0)