mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-24 05:04:50 -04:00
Refactor WifiDirectManager
- Use displayToast() instead of showToast() within WDM (per DRY principle) - Add onFileTransferAsyncTaskComplete() method for async-tasks to inform WDM post their completion - Add `wereAllFilesTransferred` status variable
This commit is contained in:
parent
39afa4b830
commit
2d20ac07eb
@ -247,7 +247,7 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFileTransferComplete() {
|
public void onFileTransferComplete(boolean wereAllFilesTransferred) {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,15 +109,8 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Boolean allFilesReceived) {
|
protected void onPostExecute(Boolean wereAllFilesTransferred) {
|
||||||
if (BuildConfig.DEBUG) Log.d(TAG, "File transfer complete");
|
if (BuildConfig.DEBUG) Log.d(TAG, "ReceiverDeviceAsyncTask complete");
|
||||||
|
wifiDirectManager.onFileTransferAsyncTaskComplete(wereAllFilesTransferred);
|
||||||
if (allFilesReceived) {
|
|
||||||
wifiDirectManager.displayToast(R.string.file_transfer_complete, Toast.LENGTH_LONG);
|
|
||||||
} else {
|
|
||||||
wifiDirectManager.displayToast(R.string.error_during_transfer, Toast.LENGTH_LONG);
|
|
||||||
}
|
|
||||||
|
|
||||||
wifiDirectManager.onFileTransferAsyncTaskComplete();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,10 +113,8 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Integer, Boolean> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Boolean fileSendSuccessful) {
|
protected void onPostExecute(Boolean wereAllFilesTransferred) {
|
||||||
if (wifiDirectManager.allFilesSent()) {
|
if (BuildConfig.DEBUG) Log.d(TAG, "SenderDeviceAsyncTask complete");
|
||||||
wifiDirectManager.displayToast(R.string.file_transfer_complete, Toast.LENGTH_SHORT);
|
wifiDirectManager.onFileTransferAsyncTaskComplete(wereAllFilesTransferred);
|
||||||
}
|
|
||||||
wifiDirectManager.onFileTransferAsyncTaskComplete();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,17 +118,14 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
manager.discoverPeers(channel, new WifiP2pManager.ActionListener() {
|
manager.discoverPeers(channel, new WifiP2pManager.ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess() {
|
public void onSuccess() {
|
||||||
showToast(activity, R.string.discovery_initiated,
|
displayToast(R.string.discovery_initiated, Toast.LENGTH_SHORT);
|
||||||
Toast.LENGTH_SHORT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(int reason) {
|
public void onFailure(int reason) {
|
||||||
String errorMessage = getErrorMessage(reason);
|
String errorMessage = getErrorMessage(reason);
|
||||||
Log.d(TAG, activity.getString(R.string.discovery_failed) + ": " + errorMessage);
|
Log.d(TAG, activity.getString(R.string.discovery_failed) + ": " + errorMessage);
|
||||||
showToast(activity,
|
displayToast(R.string.discovery_failed, Toast.LENGTH_SHORT);
|
||||||
activity.getString(R.string.discovery_failed),
|
|
||||||
Toast.LENGTH_SHORT);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -138,7 +135,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
this.wifiP2pEnabled = wifiP2pEnabled;
|
this.wifiP2pEnabled = wifiP2pEnabled;
|
||||||
|
|
||||||
if(wifiP2pEnabled == false) {
|
if(wifiP2pEnabled == false) {
|
||||||
showToast(activity, R.string.discovery_needs_wifi, Toast.LENGTH_SHORT);
|
displayToast(R.string.discovery_needs_wifi, Toast.LENGTH_SHORT);
|
||||||
((Callbacks) activity).clearListOfAvailablePeers();
|
((Callbacks) activity).clearListOfAvailablePeers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -171,7 +168,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
retryChannel = true;
|
retryChannel = true;
|
||||||
manager.initialize(activity, getMainLooper(), this);
|
manager.initialize(activity, getMainLooper(), this);
|
||||||
} else {
|
} else {
|
||||||
showToast(activity, R.string.severe_loss_error, Toast.LENGTH_LONG);
|
displayToast(R.string.severe_loss_error, Toast.LENGTH_LONG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,7 +211,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
@Override public Unit invoke() {
|
@Override public Unit invoke() {
|
||||||
((Callbacks) activity).onSenderStartedConnection();
|
((Callbacks) activity).onSenderStartedConnection();
|
||||||
connect();
|
connect();
|
||||||
showToast(activity, R.string.performing_handshake, Toast.LENGTH_LONG);
|
displayToast(R.string.performing_handshake, Toast.LENGTH_LONG);
|
||||||
return Unit.INSTANCE;
|
return Unit.INSTANCE;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -239,8 +236,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
public void onFailure(int reason) {
|
public void onFailure(int reason) {
|
||||||
String errorMessage = getErrorMessage(reason);
|
String errorMessage = getErrorMessage(reason);
|
||||||
Log.d(TAG, activity.getString(R.string.connection_failed) + ": " + errorMessage);
|
Log.d(TAG, activity.getString(R.string.connection_failed) + ": " + errorMessage);
|
||||||
showToast(activity, activity.getString(R.string.connection_failed),
|
displayToast(R.string.connection_failed, Toast.LENGTH_LONG);
|
||||||
Toast.LENGTH_LONG);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -312,8 +308,8 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
public void setClientAddress(@Nullable InetAddress clientAddress) {
|
public void setClientAddress(@Nullable InetAddress clientAddress) {
|
||||||
if (clientAddress == null) {
|
if (clientAddress == null) {
|
||||||
// null is returned only in case of a failed handshake
|
// null is returned only in case of a failed handshake
|
||||||
showToast(activity, R.string.device_not_cooperating, Toast.LENGTH_LONG);
|
displayToast(R.string.device_not_cooperating, Toast.LENGTH_LONG);
|
||||||
activity.finish();
|
((Callbacks) activity).onFileTransferComplete(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -336,7 +332,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
fileReceiverDeviceAddress =
|
fileReceiverDeviceAddress =
|
||||||
(isGroupOwner()) ? selectedPeerDeviceInetAddress : getGroupOwnerAddress();
|
(isGroupOwner()) ? selectedPeerDeviceInetAddress : getGroupOwnerAddress();
|
||||||
|
|
||||||
showToast(activity, R.string.preparing_files, Toast.LENGTH_LONG);
|
displayToast(R.string.preparing_files, Toast.LENGTH_LONG);
|
||||||
senderDeviceAsyncTaskArray = new SenderDeviceAsyncTask(this, activity);
|
senderDeviceAsyncTaskArray = new SenderDeviceAsyncTask(this, activity);
|
||||||
senderDeviceAsyncTaskArray.execute(fileUriArrayList.toArray(new Uri[0]));
|
senderDeviceAsyncTaskArray.execute(fileUriArrayList.toArray(new Uri[0]));
|
||||||
}
|
}
|
||||||
@ -443,8 +439,13 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
showToast(activity, stringResourceId, duration);
|
showToast(activity, stringResourceId, duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onFileTransferAsyncTaskComplete() {
|
public void onFileTransferAsyncTaskComplete(boolean wereAllFilesTransferred) {
|
||||||
((Callbacks) activity).onFileTransferComplete();
|
if (wereAllFilesTransferred) {
|
||||||
|
displayToast(R.string.file_transfer_complete, Toast.LENGTH_LONG);
|
||||||
|
} else {
|
||||||
|
displayToast(R.string.error_during_transfer, Toast.LENGTH_LONG);
|
||||||
|
}
|
||||||
|
((Callbacks) activity).onFileTransferComplete(wereAllFilesTransferred);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Callbacks {
|
public interface Callbacks {
|
||||||
@ -460,6 +461,6 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
|||||||
|
|
||||||
void onFileStatusChanged(int itemIndex);
|
void onFileStatusChanged(int itemIndex);
|
||||||
|
|
||||||
void onFileTransferComplete();
|
void onFileTransferComplete(boolean wereAllFilesTransferred);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user