123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 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("WiFiP2p_Host", "Received: " + receivedObj.getMethodName());
- if (receivedObj.getMethodName().equals(SYNC_INFO_REQUEST)){
- Log.i("WiFiP2p_Host", "Sending Sync Info: " + SYNC_INFO_RESPONSE);
- 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)){
- Log.i("WiFiP2p_Host", "Sending Sync Data: " + SYNC_DATA_RESPONSE);
- SyncData sdata = (SyncData) receivedObj.getObjectToSend();
- if (sdata != null && sdata instanceof SyncData){
- 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;
- }
- }
- }
- Log.i("WiFiP2p_Host", "Stop Sync Process - Performing a disconnect.");
- // DISCONNECT
- this.interrupt(true);
- return null;
- }
- }
|