mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-23 20:54:13 -04:00
Refactor: Fix some lint errors
- Use weak reference to LocalFileTransferActivity in async tasks to prevent leaks - Add 'default' case in switch
This commit is contained in:
parent
fb4c6f80c7
commit
f8eda73ef9
@ -58,6 +58,8 @@ public class FileListAdapter extends RecyclerView.Adapter<FileListAdapter.FileVi
|
||||
case ERROR:
|
||||
holder.statusImage.setImageResource(R.drawable.ic_baseline_error_24px);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
holder.statusImage.setVisibility(View.VISIBLE);
|
||||
|
@ -5,6 +5,7 @@ import android.net.wifi.p2p.WifiP2pInfo;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
|
||||
import java.io.InputStream;
|
||||
@ -39,11 +40,11 @@ class PeerGroupHandshakeAsyncTask extends AsyncTask<Void, Void, InetAddress> {
|
||||
private static final String TAG = "PeerGrpHndshakeAsyncTsk";
|
||||
private final String HANDSHAKE_MESSAGE = "Request Kiwix File Sharing";
|
||||
|
||||
private LocalFileTransferActivity localFileTransferActivity;
|
||||
private WeakReference<LocalFileTransferActivity> weakReferenceToActivity;
|
||||
private WifiP2pInfo groupInfo;
|
||||
|
||||
public PeerGroupHandshakeAsyncTask(LocalFileTransferActivity localFileTransferActivity, WifiP2pInfo groupInfo) {
|
||||
this.localFileTransferActivity = localFileTransferActivity;
|
||||
this.weakReferenceToActivity = new WeakReference<>(localFileTransferActivity);
|
||||
this.groupInfo = groupInfo;
|
||||
}
|
||||
|
||||
@ -103,6 +104,8 @@ class PeerGroupHandshakeAsyncTask extends AsyncTask<Void, Void, InetAddress> {
|
||||
}
|
||||
|
||||
private void exchangeFileTransferMetadata(OutputStream outputStream, InputStream inputStream) {
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
|
||||
if (localFileTransferActivity.isFileSender()) {
|
||||
try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream)) {
|
||||
// Send total number of files which will be transferred
|
||||
@ -149,6 +152,7 @@ class PeerGroupHandshakeAsyncTask extends AsyncTask<Void, Void, InetAddress> {
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(InetAddress inetAddress) {
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
localFileTransferActivity.setClientAddress(inetAddress);
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
@ -34,11 +35,11 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
|
||||
private static final String TAG = "ReceiverDeviceAsyncTask";
|
||||
|
||||
private LocalFileTransferActivity localFileTransferActivity;
|
||||
private WeakReference<LocalFileTransferActivity> weakReferenceToActivity;
|
||||
private int fileItemIndex;
|
||||
|
||||
public ReceiverDeviceAsyncTask(LocalFileTransferActivity localFileTransferActivity) {
|
||||
this.localFileTransferActivity = localFileTransferActivity;
|
||||
this.weakReferenceToActivity = new WeakReference<>(localFileTransferActivity);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -46,6 +47,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
try (ServerSocket serverSocket = new ServerSocket(FILE_TRANSFER_PORT)) {
|
||||
if (BuildConfig.DEBUG) Log.d(TAG, "Server: Socket opened at " + FILE_TRANSFER_PORT);
|
||||
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
final String KIWIX_ROOT = localFileTransferActivity.getZimStorageRootPath();
|
||||
|
||||
int totalFileCount = localFileTransferActivity.getTotalFilesForTransfer();
|
||||
@ -90,6 +92,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
@Override
|
||||
protected void onProgressUpdate(Integer... values) {
|
||||
int fileStatus = values[0];
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
localFileTransferActivity.changeStatus(fileItemIndex, fileStatus);
|
||||
}
|
||||
|
||||
@ -101,6 +104,7 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
protected void onPostExecute(Boolean allFilesReceived) {
|
||||
if (BuildConfig.DEBUG) Log.d(TAG, "File transfer complete");
|
||||
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
if (allFilesReceived) {
|
||||
showToast(localFileTransferActivity, R.string.file_transfer_complete,
|
||||
Toast.LENGTH_LONG);
|
||||
|
@ -1,12 +1,12 @@
|
||||
package org.kiwix.kiwixmobile.zim_manager.local_file_transfer;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentResolver;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
@ -38,22 +38,24 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Void, Boolean> {
|
||||
|
||||
private static final String TAG = "SenderDeviceAsyncTask";
|
||||
|
||||
private LocalFileTransferActivity localFileTransferActivity;
|
||||
private WeakReference<LocalFileTransferActivity> weakReferenceToActivity;
|
||||
private int fileItemIndex;
|
||||
|
||||
public SenderDeviceAsyncTask(LocalFileTransferActivity localFileTransferActivity, int fileItemIndex) {
|
||||
this.localFileTransferActivity = localFileTransferActivity;
|
||||
this.weakReferenceToActivity = new WeakReference<>(localFileTransferActivity);
|
||||
this.fileItemIndex = fileItemIndex;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
localFileTransferActivity.changeStatus(fileItemIndex, SENDING);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(Uri... fileUris) {
|
||||
Uri fileUri = fileUris[0]; // Uri of file to be transferred
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
ContentResolver contentResolver = localFileTransferActivity.getContentResolver();
|
||||
|
||||
try (Socket socket = new Socket();
|
||||
@ -88,6 +90,7 @@ class SenderDeviceAsyncTask extends AsyncTask<Uri, Void, Boolean> {
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Boolean fileSendSuccessful) {
|
||||
final LocalFileTransferActivity localFileTransferActivity = weakReferenceToActivity.get();
|
||||
localFileTransferActivity.incrementTotalFilesSent();
|
||||
|
||||
if (fileSendSuccessful) { // Whether this task was successful in sending the file
|
||||
|
@ -22,8 +22,7 @@ import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTra
|
||||
/**
|
||||
* Helper class, part of the local file sharing module.
|
||||
*
|
||||
* Defines the Adapter for the list of wifi peer-device items displayed in {
|
||||
* DeviceListFragment}
|
||||
* Defines the Adapter for the list of wifi peer-device items displayed.
|
||||
*/
|
||||
public class WifiPeerListAdapter extends ArrayAdapter<WifiP2pDevice> {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user