mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-22 03:54:18 -04:00
Increment: Use type-annotation for file status constants
This commit is contained in:
parent
1e74176c85
commit
0c14330003
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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<FileListAdapter.FileVi
|
||||
String name = fileItem.getFileName();
|
||||
holder.fileName.setText(name);
|
||||
|
||||
if(fileItem.getFileStatus() == FileItem.SENDING) {
|
||||
if(fileItem.getFileStatus() == SENDING) {
|
||||
holder.statusImage.setVisibility(View.GONE);
|
||||
holder.progressBar.setVisibility(View.VISIBLE);
|
||||
|
||||
} else if(fileItem.getFileStatus() != FileItem.TO_BE_SENT){ // Icon for TO_BE_SENT is assigned by default in the item layout
|
||||
} else if(fileItem.getFileStatus() != TO_BE_SENT){ // Icon for TO_BE_SENT is assigned by default in the item layout
|
||||
holder.progressBar.setVisibility(View.GONE);
|
||||
|
||||
switch (fileItem.getFileStatus()) {
|
||||
case FileItem.SENT : holder.statusImage.setImageResource(R.drawable.ic_baseline_check_24px);
|
||||
case SENT : holder.statusImage.setImageResource(R.drawable.ic_baseline_check_24px);
|
||||
break;
|
||||
case FileItem.ERROR: holder.statusImage.setImageResource(R.drawable.ic_baseline_error_24px);
|
||||
case ERROR: holder.statusImage.setImageResource(R.drawable.ic_baseline_error_24px);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ import java.util.ArrayList;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.DeviceListFragment.PEER_HANDSHAKE_PORT;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.DeviceListFragment.getFileName;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.TO_BE_SENT;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.TO_BE_SENT;
|
||||
|
||||
/**
|
||||
* Helper class for the local file sharing module, used in {@link DeviceListFragment}.
|
||||
|
@ -16,6 +16,8 @@ import java.util.ArrayList;
|
||||
|
||||
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.copyToOutputStream;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.SENDING;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.SENT;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTransferActivity.showToast;
|
||||
|
||||
/**
|
||||
@ -28,7 +30,7 @@ import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTra
|
||||
* A single Task is used for the entire file transfer (the server socket accepts connections as
|
||||
* many times as the no. of files).
|
||||
* */
|
||||
class ReceiverDeviceAsyncTask extends AsyncTask<Void, Short, Boolean> {
|
||||
class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
|
||||
private static final String TAG = "ReceiverDeviceAsyncTask";
|
||||
|
||||
@ -56,7 +58,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Short, Boolean> {
|
||||
if(BuildConfig.DEBUG) Log.d(TAG, "Server: Client connected for file " + currentFile);
|
||||
|
||||
fileItemIndex = currentFile-1;
|
||||
publishProgress(FileItem.SENDING);
|
||||
publishProgress(SENDING);
|
||||
|
||||
ArrayList<FileItem> fileItems = deviceListFragment.getFileItems();
|
||||
String incomingFileName = fileItems.get(fileItemIndex).getFileName();
|
||||
@ -73,7 +75,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Short, Boolean> {
|
||||
|
||||
copyToOutputStream(client.getInputStream(), new FileOutputStream(clientNoteFileLocation));
|
||||
|
||||
publishProgress(FileItem.SENT);
|
||||
publishProgress(SENT);
|
||||
deviceListFragment.incrementTotalFilesSent();
|
||||
}
|
||||
serverSocket.close();
|
||||
@ -87,8 +89,8 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Short, Boolean> {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onProgressUpdate(Short... values) {
|
||||
short fileStatus = values[0];
|
||||
protected void onProgressUpdate(Integer... values) {
|
||||
int fileStatus = values[0];
|
||||
transferProgressFragment.changeStatus(fileItemIndex, fileStatus);
|
||||
}
|
||||
|
||||
|
@ -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<Uri, Void, Boolean> {
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
transferProgressFragment.changeStatus(fileItemIndex, FileItem.SENDING);
|
||||
transferProgressFragment.changeStatus(fileItemIndex, SENDING);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -97,11 +98,11 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Void, Boolean> {
|
||||
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()) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user