From 2471385963d3cb7e2342dcbc7049d01aa676adf8 Mon Sep 17 00:00:00 2001 From: Aditya-Sood Date: Sun, 4 Aug 2019 16:03:09 +0530 Subject: [PATCH] Increment: Add displayToast() method For async-tasks, to reduce the need for a LocalFileTransferActivity instance in them --- .../ReceiverDeviceAsyncTask.java | 10 +++------- .../SenderDeviceAsyncTask.java | 6 ++---- .../WifiDirectManager.java | 19 ++++++++++--------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/ReceiverDeviceAsyncTask.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/ReceiverDeviceAsyncTask.java index 81d889c41..a873740a1 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/ReceiverDeviceAsyncTask.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/ReceiverDeviceAsyncTask.java @@ -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 { 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 { 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(); diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/SenderDeviceAsyncTask.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/SenderDeviceAsyncTask.java index 17a3e2899..c1e6be66f 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/SenderDeviceAsyncTask.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/SenderDeviceAsyncTask.java @@ -106,11 +106,10 @@ class SenderDeviceAsyncTask extends AsyncTask { 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 { 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(); } } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/WifiDirectManager.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/WifiDirectManager.java index 355e24615..3b96ab24f 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/WifiDirectManager.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/WifiDirectManager.java @@ -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 filesForTransfer = new ArrayList<>(); private ArrayList 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);