12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package de.tudarmstadt.informatik.hostage.sync.wifi_direct.sync_tasks;
- import android.content.Context;
- import android.util.Log;
- import de.tudarmstadt.informatik.hostage.logging.SyncData;
- import de.tudarmstadt.informatik.hostage.logging.SyncInfo;
- import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
- import de.tudarmstadt.informatik.hostage.sync.Synchronizer;
- import de.tudarmstadt.informatik.hostage.sync.wifi_direct.WiFiP2pSerializableObject;
- import de.tudarmstadt.informatik.hostage.sync.wifi_direct.WiFiP2pServerTask;
- /**
- * Created by Julien on 14.01.2015.
- */
- public class SyncHostTask extends WiFiP2pServerTask {
- public static final String SYNC_INFO_REQUEST = "sync_info_request";
- public static final String SYNC_INFO_RESPONSE = "sync_info_response";
- public static final String SYNC_DATA_REQUEST = "sync_data_request";
- public static final String SYNC_DATA_RESPONSE = "sync_data_response";
- private HostageDBOpenHelper mdbh;
- private Synchronizer synchronizer;
- private SyncInfo receivedInfo;
- public SyncHostTask(BackgroundTaskCompletionListener l , Context context) {
- super(l);
- mdbh = new HostageDBOpenHelper(context);
- synchronizer = new Synchronizer(mdbh);
- }
- @Override
- public WiFiP2pSerializableObject handleReceivedObject(WiFiP2pSerializableObject receivedObj){
- if (receivedObj != null) {
- Log.i("WiFi Direct Host", "Received: " + receivedObj.getMethodName());
- if (receivedObj.getMethodName().equals(SYNC_INFO_REQUEST)){
- this.receivedInfo = (SyncInfo) receivedObj.getObjectToSend();
- SyncInfo response = synchronizer.getSyncInfo();
- WiFiP2pSerializableObject syncObj = new WiFiP2pSerializableObject();
- syncObj.setObjectToSend(response);
- syncObj.setMethodName(SYNC_INFO_RESPONSE);
- return syncObj;
- }
- if (receivedObj.getMethodName().equals(SYNC_DATA_REQUEST)){
- SyncData sdata = (SyncData) receivedObj.getObjectToSend();
- if (sdata != null && sdata.getClass().isInstance(SyncData.class)){
- synchronizer.updateFromSyncData(sdata);
- }
- if (this.receivedInfo != null){
- SyncData response = synchronizer.getSyncData(this.receivedInfo);
- WiFiP2pSerializableObject syncObj = new WiFiP2pSerializableObject();
- syncObj.setObjectToSend(response);
- syncObj.setMethodName(SYNC_DATA_RESPONSE);
- return syncObj;
- }
- }
- }
- // DISCONNECT
- this.interrupt(true);
- return null;
- }
- }
|