Skip to content

Commit e5cb016

Browse files
authored
fix(Android): Update Android code (#220)
1 parent 1a1a4a7 commit e5cb016

File tree

6 files changed

+38
-22
lines changed

6 files changed

+38
-22
lines changed

android/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ buildscript {
99
}
1010

1111
dependencies {
12-
classpath("com.android.tools.build:gradle:4.2.2")
12+
classpath 'com.android.tools.build:gradle:7.1.3'
1313
}
1414
}
1515
}
@@ -21,7 +21,7 @@ def safeExtGet(prop, fallback) {
2121
}
2222

2323
android {
24-
compileSdkVersion safeExtGet('compileSdkVersion', 28)
24+
compileSdkVersion safeExtGet('compileSdkVersion', 31)
2525

2626
compileOptions {
2727
sourceCompatibility JavaVersion.VERSION_1_8
@@ -30,7 +30,7 @@ android {
3030

3131
defaultConfig {
3232
minSdkVersion safeExtGet('minSdkVersion', 16)
33-
targetSdkVersion safeExtGet('targetSdkVersion', 28)
33+
targetSdkVersion safeExtGet('targetSdkVersion', 31)
3434
}
3535
lintOptions{
3636
abortOnError false
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.tradle.react;
2+
3+
public enum UdpErrorCodes {
4+
5+
clientNotFound,
6+
7+
socketAlreadyBoundError,
8+
9+
sendError,
10+
11+
setBroadcast,
12+
}

android/src/main/java/com/tradle/react/UdpErrorUtil.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,22 @@
77

88
package com.tradle.react;
99

10-
import javax.annotation.Nullable;
11-
1210
import com.facebook.react.bridge.Arguments;
1311
import com.facebook.react.bridge.WritableMap;
1412

13+
import javax.annotation.Nonnull;
14+
1515
/**
1616
* Helper class for udp errors.
1717
*/
1818
public class UdpErrorUtil {
1919
/**
2020
* Create Error object to be passed back to the JS callback.
2121
*/
22-
/* package */ static WritableMap getError(@Nullable String key, String errorMessage) {
23-
WritableMap errorMap = Arguments.createMap();
22+
/* package */ static WritableMap getError(@Nonnull String key, String errorMessage) {
23+
final WritableMap errorMap = Arguments.createMap();
24+
errorMap.putString("key", key);
2425
errorMap.putString("message", errorMessage);
25-
if (key != null) {
26-
errorMap.putString("key", key);
27-
}
2826
return errorMap;
2927
}
3028
}

android/src/main/java/com/tradle/react/UdpSocketClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.tradle.react;
22

3-
import androidx.annotation.Nullable;
43
import android.util.Base64;
54

65
import com.facebook.react.bridge.Callback;
@@ -17,10 +16,11 @@
1716
import java.util.concurrent.ConcurrentHashMap;
1817
import java.util.concurrent.ExecutorService;
1918
import java.util.concurrent.Executors;
20-
import java.util.concurrent.Future;
2119

2220
import static com.tradle.react.UdpSenderTask.OnDataSentListener;
2321

22+
import javax.annotation.Nullable;
23+
2424
/**
2525
* Client class that wraps a sender and a receiver for UDP data.
2626
*/
@@ -225,7 +225,7 @@ public void onDataSentError(UdpSenderTask task, String error) {
225225
}
226226

227227
if (callback != null) {
228-
callback.invoke(UdpErrorUtil.getError(null, error));
228+
callback.invoke(UdpErrorUtil.getError(UdpErrorCodes.sendError.name(), error));
229229
}
230230
}
231231

android/src/main/java/com/tradle/react/UdpSockets.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import android.content.Context;
44
import android.net.wifi.WifiManager;
55

6-
import androidx.annotation.NonNull;
7-
import androidx.annotation.Nullable;
8-
96
import android.util.SparseArray;
107

118
import com.facebook.common.logging.FLog;
@@ -25,6 +22,9 @@
2522
import java.util.concurrent.ExecutorService;
2623
import java.util.concurrent.Executors;
2724

25+
import javax.annotation.Nonnull;
26+
import javax.annotation.Nullable;
27+
2828
/**
2929
* The NativeModule in charge of storing active {@link UdpSocketClient}s, and acting as an api layer.
3030
*/
@@ -41,7 +41,7 @@ public UdpSockets(ReactApplicationContext reactContext) {
4141
super(reactContext);
4242
}
4343

44-
@NonNull
44+
@Nonnull
4545
@Override
4646
public String getName() {
4747
return TAG;
@@ -74,7 +74,7 @@ private UdpSocketClient findClient(final Integer cId, final Callback callback) {
7474
if (callback == null) {
7575
FLog.e(TAG, "missing callback parameter.");
7676
} else {
77-
callback.invoke(UdpErrorUtil.getError(null, "no client found with id " + cId), null);
77+
callback.invoke(UdpErrorUtil.getError(UdpErrorCodes.clientNotFound.name(), "no client found with id " + cId), null);
7878
}
7979
}
8080

@@ -123,7 +123,7 @@ public void run() {
123123
callback.invoke(null, result);
124124
} catch (Exception e) {
125125
// Socket is already bound or a problem occurred during binding
126-
callback.invoke(UdpErrorUtil.getError(null, e.getMessage()));
126+
callback.invoke(UdpErrorUtil.getError(UdpErrorCodes.socketAlreadyBoundError.name(), e.getMessage()));
127127
}
128128
}
129129
}));
@@ -221,7 +221,7 @@ public void run() {
221221
try {
222222
client.send(base64String, port, address, callback);
223223
} catch (Exception exception) {
224-
callback.invoke((UdpErrorUtil.getError(null, exception.getMessage())));
224+
callback.invoke((UdpErrorUtil.getError(UdpErrorCodes.sendError.name(), exception.getMessage())));
225225
}
226226
}
227227
}));
@@ -268,7 +268,7 @@ public void run() {
268268
client.setBroadcast(flag);
269269
callback.invoke();
270270
} catch (SocketException e) {
271-
callback.invoke(UdpErrorUtil.getError(null, e.getMessage()));
271+
callback.invoke(UdpErrorUtil.getError(UdpErrorCodes.setBroadcast.name(), e.getMessage()));
272272
}
273273
}
274274
}));

android/src/main/java/com/tradle/react/UdpSocketsModule.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package com.tradle.react;
99

1010
import com.facebook.react.ReactPackage;
11+
import com.facebook.react.bridge.JavaScriptModule;
1112
import com.facebook.react.bridge.NativeModule;
1213
import com.facebook.react.bridge.ReactApplicationContext;
1314
import com.facebook.react.uimanager.ViewManager;
@@ -22,13 +23,18 @@ public final class UdpSocketsModule implements ReactPackage {
2223
@Override
2324
public List<NativeModule> createNativeModules(
2425
ReactApplicationContext reactContext) {
25-
List<NativeModule> modules = new ArrayList<NativeModule>();
26+
List<NativeModule> modules = new ArrayList<>();
2627

2728
modules.add(new UdpSockets(reactContext));
2829

2930
return modules;
3031
}
3132

33+
@Override
34+
public List<Class<? extends JavaScriptModule>> createJSModules() {
35+
return Collections.emptyList();
36+
}
37+
3238
@Override
3339
public List<ViewManager> createViewManagers(
3440
ReactApplicationContext reactContext) {

0 commit comments

Comments
 (0)