mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-23 12:42:56 -04:00
Reformat LocalFileTransfer sub-package
This commit is contained in:
parent
bdf979d973
commit
a17db838ff
@ -1,15 +1,15 @@
|
||||
package org.kiwix.kiwixmobile.zim_manager.local_file_transfer;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import androidx.annotation.IntDef;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.*;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.ERROR;
|
||||
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.FileItem.FileStatus.TO_BE_SENT;
|
||||
|
||||
/**
|
||||
* Helper class, part of the local file sharing module.
|
||||
|
@ -6,17 +6,17 @@ import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import java.util.ArrayList;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.*;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.ERROR;
|
||||
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.FileItem.FileStatus.TO_BE_SENT;
|
||||
|
||||
/**
|
||||
* Helper class, part of the local file sharing module.
|
||||
|
@ -6,7 +6,6 @@ import android.content.Intent;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.wifi.p2p.WifiP2pDevice;
|
||||
import android.net.wifi.p2p.WifiP2pManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
@ -30,7 +29,8 @@ public class KiwixWifiP2pBroadcastReceiver extends BroadcastReceiver {
|
||||
switch (intent.getAction()) {
|
||||
case WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION: {
|
||||
int wifiP2pState = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
|
||||
p2pEventListener.onWifiP2pStateChanged((wifiP2pState == WifiP2pManager.WIFI_P2P_STATE_ENABLED));
|
||||
p2pEventListener.onWifiP2pStateChanged(
|
||||
(wifiP2pState == WifiP2pManager.WIFI_P2P_STATE_ENABLED));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -51,7 +51,8 @@ public class KiwixWifiP2pBroadcastReceiver extends BroadcastReceiver {
|
||||
break;
|
||||
}
|
||||
|
||||
default: break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,20 +20,20 @@ import android.widget.ListView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnItemClick;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.inject.Inject;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import org.kiwix.kiwixmobile.KiwixApplication;
|
||||
@ -42,10 +42,6 @@ import org.kiwix.kiwixmobile.utils.AlertDialogShower;
|
||||
import org.kiwix.kiwixmobile.utils.KiwixDialog;
|
||||
import org.kiwix.kiwixmobile.utils.SharedPreferenceUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.WifiDirectManager.getDeviceStatus;
|
||||
|
||||
/**
|
||||
@ -96,7 +92,8 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
||||
.activity(this)
|
||||
.build()
|
||||
.inject(this);
|
||||
setTheme(sharedPreferenceUtil.nightMode() ? R.style.Theme_AppCompat_DayNight_NoActionBar : R.style.AppTheme);
|
||||
setTheme(sharedPreferenceUtil.nightMode() ? R.style.Theme_AppCompat_DayNight_NoActionBar
|
||||
: R.style.AppTheme);
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_local_file_transfer);
|
||||
ButterKnife.bind(this);
|
||||
@ -178,7 +175,8 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserDeviceDetailsAvailable(@Nullable WifiP2pDevice userDevice) { // Update UI with user device's details
|
||||
public void onUserDeviceDetailsAvailable(@Nullable WifiP2pDevice userDevice) {
|
||||
// Update UI with user device's details
|
||||
if (userDevice != null) {
|
||||
deviceName.setText(userDevice.deviceName);
|
||||
Log.d(TAG, getDeviceStatus(userDevice.status));
|
||||
@ -238,21 +236,23 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
||||
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
|
||||
== PackageManager.PERMISSION_DENIED) {
|
||||
|
||||
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {
|
||||
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
|
||||
Manifest.permission.ACCESS_COARSE_LOCATION)) {
|
||||
alertDialogShower.show(KiwixDialog.LocationPermissionRationale.INSTANCE,
|
||||
new Function0<Unit>() {
|
||||
@Override public Unit invoke() {
|
||||
ActivityCompat.requestPermissions(LocalFileTransferActivity.this, new String[] { Manifest.permission.ACCESS_COARSE_LOCATION },
|
||||
ActivityCompat.requestPermissions(LocalFileTransferActivity.this,
|
||||
new String[] { Manifest.permission.ACCESS_COARSE_LOCATION },
|
||||
PERMISSION_REQUEST_CODE_COARSE_LOCATION);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.ACCESS_COARSE_LOCATION },
|
||||
ActivityCompat.requestPermissions(this,
|
||||
new String[] { Manifest.permission.ACCESS_COARSE_LOCATION },
|
||||
PERMISSION_REQUEST_CODE_COARSE_LOCATION);
|
||||
}
|
||||
return false;
|
||||
|
||||
} else {
|
||||
return true; // Control reaches here: Either permission granted at install time, or at the time of request
|
||||
}
|
||||
@ -262,21 +262,23 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
||||
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
||||
== PackageManager.PERMISSION_DENIED) {
|
||||
|
||||
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
alertDialogShower.show(KiwixDialog.StoragePermissionRationale.INSTANCE,
|
||||
new Function0<Unit>() {
|
||||
@Override public Unit invoke() {
|
||||
ActivityCompat.requestPermissions(LocalFileTransferActivity.this, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE },
|
||||
ActivityCompat.requestPermissions(LocalFileTransferActivity.this,
|
||||
new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE },
|
||||
PERMISSION_REQUEST_CODE_STORAGE_WRITE_ACCESS);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE },
|
||||
ActivityCompat.requestPermissions(this,
|
||||
new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE },
|
||||
PERMISSION_REQUEST_CODE_STORAGE_WRITE_ACCESS);
|
||||
}
|
||||
return false;
|
||||
|
||||
} else {
|
||||
return true; // Control reaches here: Either permission granted at install time, or at the time of request
|
||||
}
|
||||
@ -314,7 +316,8 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
||||
}
|
||||
|
||||
private boolean isLocationServiceEnabled() {
|
||||
return (isProviderEnabled(LocationManager.GPS_PROVIDER) || isProviderEnabled(LocationManager.NETWORK_PROVIDER));
|
||||
return (isProviderEnabled(LocationManager.GPS_PROVIDER)
|
||||
|| isProviderEnabled(LocationManager.NETWORK_PROVIDER));
|
||||
}
|
||||
|
||||
private boolean isProviderEnabled(String locationProvider) {
|
||||
@ -328,7 +331,8 @@ public class LocalFileTransferActivity extends AppCompatActivity implements
|
||||
}
|
||||
}
|
||||
|
||||
default: return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,7 @@
|
||||
package org.kiwix.kiwixmobile.zim_manager.local_file_transfer;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
@ -15,9 +11,7 @@ import java.net.InetSocketAddress;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
|
||||
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.WifiDirectManager.getFileName;
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
|
||||
/**
|
||||
* Helper class for the local file sharing module.
|
||||
@ -76,7 +70,8 @@ class PeerGroupHandshakeAsyncTask extends AsyncTask<Void, Void, InetAddress> {
|
||||
} else if (wifiDirectManager.isGroupFormed() && !isCancelled()) { //&& !groupInfo.isGroupOwner
|
||||
try (Socket client = new Socket()) {
|
||||
client.setReuseAddress(true);
|
||||
client.connect((new InetSocketAddress(wifiDirectManager.getGroupOwnerAddress().getHostAddress(),
|
||||
client.connect(
|
||||
(new InetSocketAddress(wifiDirectManager.getGroupOwnerAddress().getHostAddress(),
|
||||
PEER_HANDSHAKE_PORT)), 15000);
|
||||
|
||||
ObjectOutputStream objectOutputStream = new ObjectOutputStream(client.getOutputStream());
|
||||
|
@ -3,16 +3,14 @@ package org.kiwix.kiwixmobile.zim_manager.local_file_transfer;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.ERROR;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.SENDING;
|
||||
@ -75,7 +73,6 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
|
||||
copyToOutputStream(client.getInputStream(), new FileOutputStream(clientNoteFileLocation));
|
||||
publishProgress(fileItemIndex, SENT);
|
||||
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, e.getMessage());
|
||||
result = false;
|
||||
@ -86,7 +83,6 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
}
|
||||
|
||||
return (!isCancelled() && result);
|
||||
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, e.getMessage());
|
||||
return false; // Returned when an error was encountered during transfer
|
||||
@ -100,7 +96,8 @@ class ReceiverDeviceAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
||||
wifiDirectManager.changeStatus(fileIndex, fileStatus);
|
||||
|
||||
if (fileStatus == ERROR) {
|
||||
wifiDirectManager.displayToast(R.string.error_transferring, incomingFileName, Toast.LENGTH_SHORT);
|
||||
wifiDirectManager.displayToast(R.string.error_transferring, incomingFileName,
|
||||
Toast.LENGTH_SHORT);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,16 +3,16 @@ package org.kiwix.kiwixmobile.zim_manager.local_file_transfer;
|
||||
import android.content.ContentResolver;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.Socket;
|
||||
import org.kiwix.kiwixmobile.BuildConfig;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.*;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.ERROR;
|
||||
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.WifiDirectManager.FILE_TRANSFER_PORT;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.WifiDirectManager.copyToOutputStream;
|
||||
|
||||
@ -35,7 +35,8 @@ class SenderDeviceAsyncTask extends AsyncTask<FileItem, Integer, Boolean> {
|
||||
private WifiDirectManager wifiDirectManager;
|
||||
private ContentResolver contentResolver;
|
||||
|
||||
public SenderDeviceAsyncTask(WifiDirectManager wifiDirectManager, LocalFileTransferActivity localFileTransferActivity) {
|
||||
public SenderDeviceAsyncTask(WifiDirectManager wifiDirectManager,
|
||||
LocalFileTransferActivity localFileTransferActivity) {
|
||||
this.wifiDirectManager = wifiDirectManager;
|
||||
this.contentResolver = localFileTransferActivity.getContentResolver();
|
||||
}
|
||||
@ -74,7 +75,6 @@ class SenderDeviceAsyncTask extends AsyncTask<FileItem, Integer, Boolean> {
|
||||
if (BuildConfig.DEBUG) Log.d(TAG, "Sender: Data written");
|
||||
|
||||
publishProgress(fileItemIndex, SENT);
|
||||
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, e.getMessage());
|
||||
e.printStackTrace();
|
||||
|
@ -4,7 +4,6 @@ import android.app.Activity;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.IntentFilter;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
import android.net.wifi.WpsInfo;
|
||||
import android.net.wifi.p2p.WifiP2pConfig;
|
||||
@ -36,11 +35,12 @@ import static android.os.Looper.getMainLooper;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.FileItem.FileStatus.ERROR;
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.LocalFileTransferActivity.showToast;
|
||||
|
||||
|
||||
/**
|
||||
* Manager for the Wifi-P2p API, used in the local file transfer module
|
||||
* */
|
||||
public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2pManager.PeerListListener, WifiP2pManager.ConnectionInfoListener,
|
||||
*/
|
||||
public class WifiDirectManager
|
||||
implements WifiP2pManager.ChannelListener, WifiP2pManager.PeerListListener,
|
||||
WifiP2pManager.ConnectionInfoListener,
|
||||
KiwixWifiP2pBroadcastReceiver.P2pEventListener {
|
||||
|
||||
private static final String TAG = "WifiDirectManager";
|
||||
@ -81,7 +81,8 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
||||
private boolean hasSenderStartedConnection = false;
|
||||
|
||||
@Inject
|
||||
public WifiDirectManager(@NonNull Activity activity, @NonNull SharedPreferenceUtil sharedPreferenceUtil,
|
||||
public WifiDirectManager(@NonNull Activity activity,
|
||||
@NonNull SharedPreferenceUtil sharedPreferenceUtil,
|
||||
@NonNull AlertDialogShower alertDialogShower) {
|
||||
this.activity = (LocalFileTransferActivity) activity;
|
||||
this.callbacks = (Callbacks) activity;
|
||||
@ -301,9 +302,8 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
||||
return fileReceiverDeviceAddress;
|
||||
}
|
||||
|
||||
public static void copyToOutputStream(@NonNull InputStream inputStream, @NonNull
|
||||
OutputStream outputStream)
|
||||
throws IOException {
|
||||
public static void copyToOutputStream(@NonNull InputStream inputStream,
|
||||
@NonNull OutputStream outputStream) throws IOException {
|
||||
byte[] bufferForBytes = new byte[1024];
|
||||
int bytesRead;
|
||||
|
||||
@ -345,7 +345,6 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
||||
}
|
||||
senderDeviceAsyncTask = new SenderDeviceAsyncTask(this, activity);
|
||||
senderDeviceAsyncTask.execute(filesForTransfer.toArray(new FileItem[0]));
|
||||
|
||||
} else {
|
||||
callbacks.onFilesForTransferAvailable(filesForTransfer);
|
||||
|
||||
@ -360,7 +359,8 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
||||
callbacks.onFileStatusChanged(itemIndex);
|
||||
|
||||
if (status == ERROR) {
|
||||
displayToast(R.string.error_transferring, filesForTransfer.get(itemIndex).getFileName(), Toast.LENGTH_SHORT);
|
||||
displayToast(R.string.error_transferring, filesForTransfer.get(itemIndex).getFileName(),
|
||||
Toast.LENGTH_SHORT);
|
||||
}
|
||||
}
|
||||
|
||||
@ -407,7 +407,6 @@ public class WifiDirectManager implements WifiP2pManager.ChannelListener, WifiP2
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public @NonNull String getErrorMessage(int reason) {
|
||||
switch (reason) {
|
||||
case WifiP2pManager.ERROR:
|
||||
|
@ -13,9 +13,8 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
import java.util.List;
|
||||
import org.kiwix.kiwixmobile.R;
|
||||
|
||||
import static org.kiwix.kiwixmobile.zim_manager.local_file_transfer.WifiDirectManager.getDeviceStatus;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user