|
@@ -65,6 +65,7 @@ public class WiFiP2pSyncActivity extends Activity implements AdapterView.OnItemC
|
|
|
|
|
|
private SyncClientTask clientTask;
|
|
private SyncClientTask clientTask;
|
|
private SyncHostTask hostTask;
|
|
private SyncHostTask hostTask;
|
|
|
|
+ private BackgroundTask executingTask;
|
|
private boolean isHost;
|
|
private boolean isHost;
|
|
|
|
|
|
private WiFiP2pEventHandler _wifiEventHandler = null;
|
|
private WiFiP2pEventHandler _wifiEventHandler = null;
|
|
@@ -274,12 +275,16 @@ public class WiFiP2pSyncActivity extends Activity implements AdapterView.OnItemC
|
|
public void didSucceed() {
|
|
public void didSucceed() {
|
|
Toast.makeText(this.activity, SYNCHRONIZATION_COMPLETE_MESSAGE , Toast.LENGTH_SHORT).show();
|
|
Toast.makeText(this.activity, SYNCHRONIZATION_COMPLETE_MESSAGE , Toast.LENGTH_SHORT).show();
|
|
this.activity.wifiEventHandler().disconnect();
|
|
this.activity.wifiEventHandler().disconnect();
|
|
|
|
+ this.activity.hostTask = null;
|
|
|
|
+ this.activity.clientTask = null;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void didFail() {
|
|
public void didFail() {
|
|
Toast.makeText(this.activity, SYNCHRONIZATION_FAILED_MESSAGE, Toast.LENGTH_LONG).show();
|
|
Toast.makeText(this.activity, SYNCHRONIZATION_FAILED_MESSAGE, Toast.LENGTH_LONG).show();
|
|
this.activity.wifiEventHandler().disconnect();
|
|
this.activity.wifiEventHandler().disconnect();
|
|
|
|
+ this.activity.hostTask = null;
|
|
|
|
+ this.activity.clientTask = null;
|
|
}
|
|
}
|
|
}.init(this);
|
|
}.init(this);
|
|
}
|
|
}
|
|
@@ -329,10 +334,16 @@ public class WiFiP2pSyncActivity extends Activity implements AdapterView.OnItemC
|
|
*/
|
|
*/
|
|
private void startHost()
|
|
private void startHost()
|
|
{
|
|
{
|
|
- Log.d("WiFiP2pSyncActivity", "Starting HOST Task" + ".");
|
|
+ if (this.hostTask == null){
|
|
-
|
|
+ Log.d("WiFiP2pSyncActivity", "Starting HOST Task" + ".");
|
|
- this.hostTask = new SyncHostTask(this.ownDevice, this.syncCompletionListener(), getApplicationContext());
|
|
+
|
|
- this.hostTask.execute();
|
|
+ this.hostTask = new SyncHostTask(this.ownDevice, this.syncCompletionListener(), getApplicationContext());
|
|
|
|
+ this.executingTask = this.hostTask;
|
|
|
|
+ this.hostTask.execute();
|
|
|
|
+ } else {
|
|
|
|
+ Log.d("WiFiP2pSyncActivity", "Preventing third device for any syncing" + ".");
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -341,10 +352,16 @@ public class WiFiP2pSyncActivity extends Activity implements AdapterView.OnItemC
|
|
*/
|
|
*/
|
|
private void startClient(WifiP2pInfo info)
|
|
private void startClient(WifiP2pInfo info)
|
|
{
|
|
{
|
|
- Log.d("WiFiP2pSyncActivity", "Starting CLIENT Task" + ".");
|
|
+ if (this.clientTask == null){
|
|
-
|
|
+ Log.d("WiFiP2pSyncActivity", "Starting CLIENT Task" + ".");
|
|
- this.clientTask = new SyncClientTask( info.groupOwnerAddress.getHostAddress(),this.ownDevice, this.syncCompletionListener(), getApplicationContext() );
|
|
+
|
|
- this.clientTask.execute();
|
|
+ this.clientTask = new SyncClientTask( info.groupOwnerAddress.getHostAddress(),this.ownDevice, this.syncCompletionListener(), getApplicationContext() );
|
|
|
|
+ this.executingTask = this.clientTask;
|
|
|
|
+ this.clientTask.execute();
|
|
|
|
+ } else {
|
|
|
|
+ Log.d("WiFiP2pSyncActivity", "Preventing third device for syncing" + ".");
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|