Increment: Add displayToast() method

For async-tasks, to reduce the need for a LocalFileTransferActivity instance in them
This commit is contained in:
Aditya-Sood 2019-08-04 16:03:09 +05:30
parent 451472ff82
commit 2471385963
3 changed files with 15 additions and 20 deletions

View File

@ -20,7 +20,6 @@ import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.Fil
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.SENT;
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.WifiDirectManager.FILE_TRANSFER_PORT;
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.WifiDirectManager.copyToOutputStream;
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTransferActivity.showToast;
/**
* Helper class for the local file sharing module.
@ -103,9 +102,8 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
int fileStatus = values[1];
wifiDirectManager.changeStatus(fileIndex, fileStatus);
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
if(fileStatus == ERROR) {
showToast(localFileTransferActivity, localFileTransferActivity.getString(R.string.error_transferring, incomingFileName), Toast.LENGTH_SHORT);
wifiDirectManager.displayToast(R.string.error_transferring, incomingFileName, Toast.LENGTH_SHORT);
}
}
@ -119,11 +117,9 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
if (allFilesReceived) {
showToast(localFileTransferActivity, R.string.file_transfer_complete,
Toast.LENGTH_LONG);
wifiDirectManager.displayToast(R.string.file_transfer_complete, Toast.LENGTH_LONG);
} else {
showToast(localFileTransferActivity, R.string.error_during_transfer,
Toast.LENGTH_LONG);
wifiDirectManager.displayToast(R.string.error_during_transfer, Toast.LENGTH_LONG);
}
localFileTransferActivity.finish();

View File

@ -106,11 +106,10 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Integer, Boolean> {
protected void onProgressUpdate(Integer... values) {
int fileIndex = values[0];
int fileStatus = values[1];
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
wifiDirectManager.changeStatus(fileIndex, fileStatus);
if(fileStatus == ERROR) {
showToast(localFileTransferActivity, localFileTransferActivity.getString(R.string.error_transferring, getFileName(wifiDirectManager.getFileUriArrayList().get(fileItemIndex))), Toast.LENGTH_SHORT);
wifiDirectManager.displayToast(R.string.error_transferring, getFileName(wifiDirectManager.getFileUriArrayList().get(fileItemIndex)), Toast.LENGTH_SHORT);
}
}
@ -123,8 +122,7 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Integer, Boolean> {
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
if (wifiDirectManager.allFilesSent()) {
showToast(localFileTransferActivity, R.string.file_transfer_complete,
Toast.LENGTH_SHORT);
wifiDirectManager.displayToast(R.string.file_transfer_complete, Toast.LENGTH_SHORT);
localFileTransferActivity.finish();
}
}

View File

@ -29,7 +29,6 @@ import org.kiwix.kiwixmobile.utils.KiwixDialog;
import org.kiwix.kiwixmobile.utils.SharedPreferenceUtil;
import static android.os.Looper.getMainLooper;
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.TO_BE_SENT;
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTransferActivity.showToast;
@ -42,7 +41,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
private static final String TAG = "WifiDirectManager";
public static int FILE_TRANSFER_PORT = 8008;
@NonNull LocalFileTransferActivity activity;
private @NonNull LocalFileTransferActivity activity;
private SharedPreferenceUtil sharedPreferenceUtil;
private AlertDialogShower alertDialogShower;
@ -66,7 +65,6 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
private SenderDeviceAsyncTask senderDeviceAsyncTaskArray;
private ReceiverDeviceAsyncTask receiverDeviceAsyncTask;
private boolean isFileTransferInProgress = false;
private InetAddress selectedPeerDeviceInetAddress;
private InetAddress fileReceiverDeviceAddress; // IP address of the file receiving device
@ -75,7 +73,7 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
private ArrayList<FileItem> filesForTransfer = new ArrayList<>();
private ArrayList<Uri> fileUriArrayList; // For sender device, stores uris of the files
public boolean isFileSender = false; // Whether the device is the file sender or not
private boolean isFileSender = false; // Whether the device is the file sender or not
public WifiDirectManager(@NonNull LocalFileTransferActivity activity) {
this.activity = activity;
@ -93,9 +91,6 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
if(isFileSender) {
this.totalFilesForTransfer = fileUriArrayList.size();
/*for (int i = 0; i < fileUriArrayList.size(); i++) {
filesForTransfer.add(new FileItem(getFileName(fileUriArrayList.get(i)), TO_BE_SENT));
}*/
}
manager = (WifiP2pManager) activity.getSystemService(Context.WIFI_P2P_SERVICE);
@ -328,8 +323,6 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
}
private void startFileTransfer() {
isFileTransferInProgress = true;
if (isGroupFormed() && !isFileSender) {
((Callbacks) activity).onFilesForTransferAvailable(filesForTransfer);
@ -445,6 +438,14 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
return fileUriString.substring(fileUriString.lastIndexOf('/') + 1);
}
public void displayToast(int stringResourceId, @NonNull String templateValue, int duration) {
showToast(activity, activity.getString(stringResourceId, templateValue), duration);
}
public void displayToast(int stringResourceId, int duration) {
showToast(activity, stringResourceId, duration);
}
public interface Callbacks {
void onUserDeviceDetailsAvailable(@Nullable WifiP2pDevice userDevice);