mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-23 04:33:54 -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.ArrayList;
|
||||||
import java.util.List;
|
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;
|
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();
|
totalFilesForTransfer = fileUriList.size();
|
||||||
|
|
||||||
for(int i = 0; i < fileUriList.size(); i++) {
|
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();
|
displayTransferProgressFragment();
|
||||||
|
@ -1,25 +1,36 @@
|
|||||||
package org.kiwix.kiwixmobile.zim_manager.local_file_transfer;
|
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.
|
* Helper class, part of the local file sharing module.
|
||||||
*
|
*
|
||||||
* Defines a file-item to represent the files being transferred.
|
* Defines a file-item to represent the files being transferred.
|
||||||
* */
|
* */
|
||||||
public class FileItem {
|
public class FileItem {
|
||||||
public static final short TO_BE_SENT = -1; // File yet to be sent
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public static final short SENDING = 0; // Being sent
|
@IntDef({TO_BE_SENT, SENDING, SENT, ERROR})
|
||||||
public static final short SENT = +1; // Successfully sent
|
public @interface FileStatus {
|
||||||
public static final short ERROR = +2; // Error encountered while transferring the file
|
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 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.fileName = fileName;
|
||||||
this.fileStatus = fileStatus;
|
this.fileStatus = fileStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFileStatus(short fileStatus) {
|
public void setFileStatus(@FileStatus int fileStatus) {
|
||||||
this.fileStatus = fileStatus;
|
this.fileStatus = fileStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,7 +38,8 @@ public class FileItem {
|
|||||||
return fileName;
|
return fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getFileStatus() {
|
@FileStatus
|
||||||
|
public int getFileStatus() {
|
||||||
return fileStatus;
|
return fileStatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,8 @@ import org.kiwix.kiwixmobile.R;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
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.
|
* 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();
|
String name = fileItem.getFileName();
|
||||||
holder.fileName.setText(name);
|
holder.fileName.setText(name);
|
||||||
|
|
||||||
if(fileItem.getFileStatus() == FileItem.SENDING) {
|
if(fileItem.getFileStatus() == SENDING) {
|
||||||
holder.statusImage.setVisibility(View.GONE);
|
holder.statusImage.setVisibility(View.GONE);
|
||||||
holder.progressBar.setVisibility(View.VISIBLE);
|
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);
|
holder.progressBar.setVisibility(View.GONE);
|
||||||
|
|
||||||
switch (fileItem.getFileStatus()) {
|
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;
|
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;
|
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.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.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}.
|
* 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.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.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;
|
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
|
* A single Task is used for the entire file transfer (the server socket accepts connections as
|
||||||
* many times as the no. of files).
|
* 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";
|
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);
|
if(BuildConfig.DEBUG) Log.d(TAG, "Server: Client connected for file " + currentFile);
|
||||||
|
|
||||||
fileItemIndex = currentFile-1;
|
fileItemIndex = currentFile-1;
|
||||||
publishProgress(FileItem.SENDING);
|
publishProgress(SENDING);
|
||||||
|
|
||||||
ArrayList<FileItem> fileItems = deviceListFragment.getFileItems();
|
ArrayList<FileItem> fileItems = deviceListFragment.getFileItems();
|
||||||
String incomingFileName = fileItems.get(fileItemIndex).getFileName();
|
String incomingFileName = fileItems.get(fileItemIndex).getFileName();
|
||||||
@ -73,7 +75,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Short, Boolean> {
|
|||||||
|
|
||||||
copyToOutputStream(client.getInputStream(), new FileOutputStream(clientNoteFileLocation));
|
copyToOutputStream(client.getInputStream(), new FileOutputStream(clientNoteFileLocation));
|
||||||
|
|
||||||
publishProgress(FileItem.SENT);
|
publishProgress(SENT);
|
||||||
deviceListFragment.incrementTotalFilesSent();
|
deviceListFragment.incrementTotalFilesSent();
|
||||||
}
|
}
|
||||||
serverSocket.close();
|
serverSocket.close();
|
||||||
@ -87,8 +89,8 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Short, Boolean> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onProgressUpdate(Short... values) {
|
protected void onProgressUpdate(Integer... values) {
|
||||||
short fileStatus = values[0];
|
int fileStatus = values[0];
|
||||||
transferProgressFragment.changeStatus(fileItemIndex, fileStatus);
|
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.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.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;
|
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTransferActivity.showToast;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,7 +49,7 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Void, Boolean> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPreExecute() {
|
protected void onPreExecute() {
|
||||||
transferProgressFragment.changeStatus(fileItemIndex, FileItem.SENDING);
|
transferProgressFragment.changeStatus(fileItemIndex, SENDING);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -97,11 +98,11 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Void, Boolean> {
|
|||||||
deviceListFragment.incrementTotalFilesSent();
|
deviceListFragment.incrementTotalFilesSent();
|
||||||
|
|
||||||
if(fileSendSuccessful) {
|
if(fileSendSuccessful) {
|
||||||
transferProgressFragment.changeStatus(fileItemIndex, FileItem.SENT);
|
transferProgressFragment.changeStatus(fileItemIndex, SENT);
|
||||||
} else {
|
} else {
|
||||||
Activity activity = deviceListFragment.getActivity();
|
Activity activity = deviceListFragment.getActivity();
|
||||||
showToast(activity, activity.getString(R.string.error_sending) + " " + getFileName(deviceListFragment.getFileUriList().get(fileItemIndex)), Toast.LENGTH_SHORT);
|
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()) {
|
if(deviceListFragment.allFilesSent()) {
|
||||||
|
@ -57,7 +57,7 @@ public class TransferProgressFragment extends Fragment {
|
|||||||
if(unbinder != null) unbinder.unbind();
|
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);
|
fileItems.get(itemIndex).setFileStatus(status);
|
||||||
fileListAdapter.notifyItemChanged(itemIndex);
|
fileListAdapter.notifyItemChanged(itemIndex);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user