Skip to content

Commit bc86710

Browse files
[Android, Java, Kotlin] Divide IM API in java and kotlin. (#31758)
* Divide Matter Interaction client JNI API * Remove java class name in JNI * Move to Jni layer implementation * divide java,kotlin jni function * Restyled by whitespace * Restyled by google-java-format * Restyled by clang-format * Restyled by gn * Fix static check * Chaange AsString -> Format * Add kotlin config * Fix kotlin build error * Add Kotlin Callback api * Modify interaction class * Fix from comments * Restyled by whitespace * Restyled by clang-format * Fix kotlin static error * Add to support wildcard value * Update kotlin codestyle * add null set * add header file in gn * Update from comment * Restyled by clang-format * Add err code check * Update from comments * Update from comments * Restyled by whitespace * Restyled by google-java-format * Restyled by clang-format * Update kotlin detect --------- Co-authored-by: Restyled.io <commits@restyled.io>
1 parent 8753139 commit bc86710

35 files changed

+2449
-1319
lines changed

kotlin-detect-config.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ style:
155155
- "**/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/clusterinteraction/ClusterInteractionFragment.kt"
156156
- "**/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/provisioning/EnterNetworkFragment.kt"
157157
- "**/examples/java-matter-controller/java/src/com/matter/controller/commands/common/MatterCommand.kt"
158+
- "**/src/controller/java/src/matter/controller/ReportCallbackJni.kt"
158159
- "**/src/controller/java/src/matter/onboardingpayload/Base38.kt"
159160
- "**/src/controller/java/generated/java/**/*"
160161
ForbiddenComment:
@@ -184,6 +185,9 @@ style:
184185
excludes:
185186
- "**/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/setuppayloadscanner/BarcodeFragment.kt"
186187
- "**/src/controller/java/generated/java/**/*"
188+
- "**/src/controller/java/src/matter/controller/Messages.kt"
189+
- "**/src/controller/java/src/matter/controller/model/Paths.kt"
190+
- "**/src/controller/java/src/matter/controller/ReportCallbackJni.kt"
187191
- "**/src/controller/java/src/matter/onboardingpayload/OnboardingPayload.kt"
188192
UseCheckOrError:
189193
excludes:
@@ -205,6 +209,7 @@ style:
205209
FunctionOnlyReturningConstant:
206210
excludes:
207211
- "**/src/controller/java/generated/java/**/*"
212+
- "**/src/controller/java/src/matter/controller/Messages.kt"
208213
- "**/src/controller/java/src/matter/onboardingpayload/QRCodeOnboardingPayloadGenerator.kt"
209214

210215
exceptions:
@@ -301,6 +306,8 @@ complexity:
301306
- "**/src/controller/java/src/matter/controller/MatterControllerImpl.kt"
302307
- "**/src/controller/java/src/matter/controller/CompletionListenerAdapter.kt"
303308
- "**/src/controller/java/src/matter/controller/MatterController.kt"
309+
- "**/src/controller/java/src/matter/controller/ReportCallbackJni.kt"
310+
- "**/src/controller/java/src/matter/controller/model/States.kt"
304311
- "**/src/controller/java/tests/matter/jsontlv/JsonToTlvToJsonTest.kt"
305312
- "**/src/controller/java/tests/matter/onboardingpayload/ManualCodeTest.kt"
306313
- "**/src/controller/java/tests/matter/onboardingpayload/QRCodeTest.kt"
@@ -314,12 +321,17 @@ complexity:
314321
- "**/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/clusterinteraction/ClusterDetailFragment.kt"
315322
- "**/examples/java-matter-controller/java/src/com/matter/controller/commands/common/Command.kt"
316323
- "**/src/controller/java/generated/java/**/*"
324+
- "**/src/controller/java/src/matter/controller/MatterControllerImpl.kt"
325+
- "**/src/controller/java/src/matter/controller/InvokeCallbackJni.kt"
326+
- "**/src/controller/java/src/matter/controller/ReportCallbackJni.kt"
327+
- "**/src/controller/java/src/matter/controller/model/States.kt"
317328
- "**/src/controller/java/src/matter/onboardingpayload/OnboardingPayload.kt"
318329
LongMethod:
319330
excludes:
320331
- "**/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/provisioning/AddressCommissioningFragment.kt"
321332
- "**/examples/java-matter-controller/java/src/com/matter/controller/commands/common/CommandManager.kt"
322333
- "**/src/controller/java/generated/java/**/*"
334+
- "**/src/controller/java/src/matter/controller/MatterControllerImpl.kt"
323335
- "**/src/controller/java/src/matter/onboardingpayload/Base38.kt"
324336
- "**/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt"
325337
- "**/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadParser.kt"

src/controller/java/AndroidCallbacks-JNI.cpp

+12-34
Original file line numberDiff line numberDiff line change
@@ -28,66 +28,44 @@ using namespace chip::Controller;
2828

2929
JNI_METHOD(jlong, GetConnectedDeviceCallbackJni, newCallback)(JNIEnv * env, jobject self, jobject callback)
3030
{
31-
chip::DeviceLayer::StackLock lock;
32-
GetConnectedDeviceCallback * connectedDeviceCallback = chip::Platform::New<GetConnectedDeviceCallback>(self, callback);
33-
return reinterpret_cast<jlong>(connectedDeviceCallback);
31+
return newConnectedDeviceCallback(env, self, callback);
3432
}
3533

3634
JNI_METHOD(void, GetConnectedDeviceCallbackJni, deleteCallback)(JNIEnv * env, jobject self, jlong callbackHandle)
3735
{
38-
chip::DeviceLayer::StackLock lock;
39-
GetConnectedDeviceCallback * connectedDeviceCallback = reinterpret_cast<GetConnectedDeviceCallback *>(callbackHandle);
40-
VerifyOrReturn(connectedDeviceCallback != nullptr, ChipLogError(Controller, "GetConnectedDeviceCallback handle is nullptr"));
41-
chip::Platform::Delete(connectedDeviceCallback);
36+
deleteConnectedDeviceCallback(env, self, callbackHandle);
4237
}
4338

4439
JNI_METHOD(jlong, ReportCallbackJni, newCallback)
45-
(JNIEnv * env, jobject self, jobject subscriptionEstablishedCallbackJava, jobject reportCallbackJava,
46-
jobject resubscriptionAttemptCallbackJava)
40+
(JNIEnv * env, jobject self, jobject subscriptionEstablishedCallbackJava, jobject resubscriptionAttemptCallbackJava)
4741
{
48-
chip::DeviceLayer::StackLock lock;
49-
ReportCallback * reportCallback = chip::Platform::New<ReportCallback>(self, subscriptionEstablishedCallbackJava,
50-
reportCallbackJava, resubscriptionAttemptCallbackJava);
51-
return reinterpret_cast<jlong>(reportCallback);
42+
return newReportCallback(env, self, subscriptionEstablishedCallbackJava, resubscriptionAttemptCallbackJava,
43+
"()Lchip/devicecontroller/model/NodeState;");
5244
}
5345

5446
JNI_METHOD(void, ReportCallbackJni, deleteCallback)(JNIEnv * env, jobject self, jlong callbackHandle)
5547
{
56-
chip::DeviceLayer::StackLock lock;
57-
ReportCallback * reportCallback = reinterpret_cast<ReportCallback *>(callbackHandle);
58-
VerifyOrReturn(reportCallback != nullptr, ChipLogError(Controller, "ReportCallback handle is nullptr"));
59-
chip::Platform::Delete(reportCallback);
48+
deleteReportCallback(env, self, callbackHandle);
6049
}
6150

6251
JNI_METHOD(jlong, WriteAttributesCallbackJni, newCallback)
63-
(JNIEnv * env, jobject self, jobject writeAttributesCallbackJava)
52+
(JNIEnv * env, jobject self)
6453
{
65-
chip::DeviceLayer::StackLock lock;
66-
WriteAttributesCallback * writeAttributesCallback =
67-
chip::Platform::New<WriteAttributesCallback>(self, writeAttributesCallbackJava);
68-
return reinterpret_cast<jlong>(writeAttributesCallback);
54+
return newWriteAttributesCallback(env, self);
6955
}
7056

7157
JNI_METHOD(void, WriteAttributesCallbackJni, deleteCallback)(JNIEnv * env, jobject self, jlong callbackHandle)
7258
{
73-
chip::DeviceLayer::StackLock lock;
74-
WriteAttributesCallback * writeAttributesCallback = reinterpret_cast<WriteAttributesCallback *>(callbackHandle);
75-
VerifyOrReturn(writeAttributesCallback != nullptr, ChipLogError(Controller, "WriteAttributesCallback handle is nullptr"));
76-
chip::Platform::Delete(writeAttributesCallback);
59+
deleteWriteAttributesCallback(env, self, callbackHandle);
7760
}
7861

7962
JNI_METHOD(jlong, InvokeCallbackJni, newCallback)
80-
(JNIEnv * env, jobject self, jobject invokeCallbackJava)
63+
(JNIEnv * env, jobject self)
8164
{
82-
chip::DeviceLayer::StackLock lock;
83-
InvokeCallback * invokeCallback = chip::Platform::New<InvokeCallback>(self, invokeCallbackJava);
84-
return reinterpret_cast<jlong>(invokeCallback);
65+
return newInvokeCallback(env, self);
8566
}
8667

8768
JNI_METHOD(void, InvokeCallbackJni, deleteCallback)(JNIEnv * env, jobject self, jlong callbackHandle)
8869
{
89-
chip::DeviceLayer::StackLock lock;
90-
InvokeCallback * invokeCallback = reinterpret_cast<InvokeCallback *>(callbackHandle);
91-
VerifyOrReturn(invokeCallback != nullptr, ChipLogError(Controller, "InvokeCallback handle is nullptr"));
92-
chip::Platform::Delete(invokeCallback);
70+
deleteInvokeCallback(env, self, callbackHandle);
9371
}

0 commit comments

Comments
 (0)