From 0c143300030415e96cf41c08142a478ee00acd5b Mon Sep 17 00:00:00 2001 From: Aditya-Sood Date: Thu, 11 Jul 2019 21:59:07 +0530 Subject: [PATCH] Increment: Use type-annotation for file status constants --- .../DeviceListFragment.java | 3 +- .../local_file_transfer/FileItem.java | 28 +++++++++++++------ .../local_file_transfer/FileListAdapter.java | 10 ++++--- .../PeerGroupHandshakeAsyncTask.java | 2 +- .../ReceiverDeviceAsyncTask.java | 12 ++++---- .../SenderDeviceAsyncTask.java | 7 +++-- .../TransferProgressFragment.java | 2 +- 7 files changed, 41 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java index e865dd253..567209899 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java @@ -38,6 +38,7 @@ import java.net.InetAddress; import java.util.ArrayList; import java.util.List; +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; /** @@ -101,7 +102,7 @@ public class DeviceListFragment extends ListFragment implements WifiP2pManager.P totalFilesForTransfer = fileUriList.size(); for(int i = 0; i < fileUriList.size(); i++) { - filesToSend.add(new FileItem(getFileName(fileUriList.get(i)), FileItem.TO_BE_SENT)); + filesToSend.add(new FileItem(getFileName(fileUriList.get(i)), TO_BE_SENT)); } displayTransferProgressFragment(); diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileItem.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileItem.java index 8f7d9bd26..137aecd2b 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileItem.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileItem.java @@ -1,25 +1,36 @@ package org.kiwix.kiwixmobile.zim_manager.local_file_transfer; +import androidx.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.*; + /** * Helper class, part of the local file sharing module. * * Defines a file-item to represent the files being transferred. * */ public class FileItem { - public static final short TO_BE_SENT = -1; // File yet to be sent - public static final short SENDING = 0; // Being sent - public static final short SENT = +1; // Successfully sent - public static final short ERROR = +2; // Error encountered while transferring the file + @Retention(RetentionPolicy.SOURCE) + @IntDef({TO_BE_SENT, SENDING, SENT, ERROR}) + public @interface FileStatus { + int TO_BE_SENT = -1; // File yet to be sent + int SENDING = 0; // Being sent + int SENT = +1; // Successfully sent + int ERROR = +2; // Error encountered while transferring the file + } private String fileName; - private short fileStatus; + private int fileStatus; - public FileItem(String fileName, short fileStatus) { + public FileItem(String fileName, @FileStatus int fileStatus) { this.fileName = fileName; this.fileStatus = fileStatus; } - public void setFileStatus(short fileStatus) { + public void setFileStatus(@FileStatus int fileStatus) { this.fileStatus = fileStatus; } @@ -27,7 +38,8 @@ public class FileItem { return fileName; } - public short getFileStatus() { + @FileStatus + public int getFileStatus() { return fileStatus; } } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileListAdapter.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileListAdapter.java index 5bcb4c8a8..98d771f20 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileListAdapter.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/FileListAdapter.java @@ -15,6 +15,8 @@ import org.kiwix.kiwixmobile.R; import java.util.ArrayList; +import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.*; + /** * Helper class, part of the local file sharing module. * @@ -43,17 +45,17 @@ public class FileListAdapter extends RecyclerView.Adapter { +class ReceiverDeviceAsyncTask extends AsyncTask { private static final String TAG = "ReceiverDeviceAsyncTask"; @@ -56,7 +58,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask { if(BuildConfig.DEBUG) Log.d(TAG, "Server: Client connected for file " + currentFile); fileItemIndex = currentFile-1; - publishProgress(FileItem.SENDING); + publishProgress(SENDING); ArrayList fileItems = deviceListFragment.getFileItems(); String incomingFileName = fileItems.get(fileItemIndex).getFileName(); @@ -73,7 +75,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask { copyToOutputStream(client.getInputStream(), new FileOutputStream(clientNoteFileLocation)); - publishProgress(FileItem.SENT); + publishProgress(SENT); deviceListFragment.incrementTotalFilesSent(); } serverSocket.close(); @@ -87,8 +89,8 @@ class ReceiverDeviceAsyncTask extends AsyncTask { } @Override - protected void onProgressUpdate(Short... values) { - short fileStatus = values[0]; + protected void onProgressUpdate(Integer... values) { + int fileStatus = values[0]; transferProgressFragment.changeStatus(fileItemIndex, fileStatus); } 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 5b622abb2..bfe6c400e 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 @@ -18,6 +18,7 @@ import java.net.Socket; import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.DeviceListFragment.FILE_TRANSFER_PORT; import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.DeviceListFragment.getFileName; +import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.*; import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTransferActivity.showToast; /** @@ -48,7 +49,7 @@ class SenderDeviceAsyncTask extends AsyncTask { @Override protected void onPreExecute() { - transferProgressFragment.changeStatus(fileItemIndex, FileItem.SENDING); + transferProgressFragment.changeStatus(fileItemIndex, SENDING); } @Override @@ -97,11 +98,11 @@ class SenderDeviceAsyncTask extends AsyncTask { deviceListFragment.incrementTotalFilesSent(); if(fileSendSuccessful) { - transferProgressFragment.changeStatus(fileItemIndex, FileItem.SENT); + transferProgressFragment.changeStatus(fileItemIndex, SENT); } else { Activity activity = deviceListFragment.getActivity(); showToast(activity, activity.getString(R.string.error_sending) + " " + getFileName(deviceListFragment.getFileUriList().get(fileItemIndex)), Toast.LENGTH_SHORT); - transferProgressFragment.changeStatus(fileItemIndex, FileItem.ERROR); + transferProgressFragment.changeStatus(fileItemIndex, ERROR); } if(deviceListFragment.allFilesSent()) { diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/TransferProgressFragment.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/TransferProgressFragment.java index 68a6fed31..cab7302cb 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/TransferProgressFragment.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/TransferProgressFragment.java @@ -57,7 +57,7 @@ public class TransferProgressFragment extends Fragment { if(unbinder != null) unbinder.unbind(); } - public void changeStatus(int itemIndex, short status) { + public void changeStatus(int itemIndex, @FileItem.FileStatus int status) { fileItems.get(itemIndex).setFileStatus(status); fileListAdapter.notifyItemChanged(itemIndex); }