Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
866832b
[Android] Expose IDataViewer as public Java API
Sep 11, 2026
65d01fa
Address review feedback on the Java IDataViewer API
Sep 21, 2026
77b1725
Fix data race in JavaDataViewerProxy::GetCurrentEndpoint
Sep 21, 2026
8e97566
Merge branch 'main' into user/kdhawaniya/android-idataviewer-api
bmehta001 Sep 22, 2026
3ce40e5
Merge branch 'main' into user/kdhawaniya/android-idataviewer-api
bmehta001 Sep 25, 2026
a3604e4
Release the data viewer collection lock before dispatching
Sep 28, 2026
d42ddb3
Clear the pending exception when the packet allocation fails
Sep 28, 2026
dbb9728
Guard the new Android logging calls with HAVE_MAT_LOGGING
Sep 28, 2026
c7ad116
Compare data viewer names by value when unregistering
Sep 28, 2026
7682ae2
Evaluate viewer transmission state outside the data viewer lock
Sep 28, 2026
e724319
Gate data viewer dispatch per viewer and release viewers on teardown
Sep 29, 2026
4ce01f2
Document the data viewer callback contract
Sep 30, 2026
afc6fe9
Do not let the viewer snapshot allocate out of a noexcept path
Sep 30, 2026
574737a
Assert that unregistering does not wait for an in-flight callback
Sep 30, 2026
71d4b68
Reject a torn-down manager and keep allocations off the noexcept JNI …
Sep 30, 2026
a7cf5d0
Fix a double free in the proxy guard and guard six more JNI entry points
Sep 30, 2026
40a868a
Add JavaDataViewerProxy.cpp to the Soong build
Sep 30, 2026
a552641
Keep the LogManager handle live across flushAndTeardown
Oct 1, 2026
e71f6c8
Close viewer registration once the viewers are released
Oct 1, 2026
860c4ca
[Android] Export consumer ProGuard rules from the Soong build
Oct 1, 2026
db835d0
ci: re-trigger CI to clear flaky iOS simulator job
Oct 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion Android.bp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ cc_library_shared {
"lib/http/HttpClientManager.cpp",
"lib/http/HttpRequestEncoder.cpp",
"lib/http/HttpResponseDecoder.cpp",
"lib/jni/JavaDataViewerProxy.cpp",
"lib/jni/JniConvertors.cpp",
"lib/jni/LogManager_jni.cpp",
"lib/jni/Logger_jni.cpp",
Expand Down Expand Up @@ -115,5 +116,14 @@ android_library {
"-Aroom.schemaLocation=lib/android_build/maesdk/schemas",
"-Aroom.incremental=true",
"-Aroom.expandProjection=true"
]
],
// Soong equivalent of the consumerProguardFiles entry in maesdk/build.gradle. IDataViewer
// implementations are reached only through JNI GetMethodID, so R8 in a consuming app would
// otherwise be free to rename or strip receiveData/getName and break viewer registration.
// export_proguard_flags_files is what propagates the rules to consumers; without it they
// would apply only to this module.
optimize: {
proguard_flags_files: ["lib/android_build/maesdk/consumer-rules.pro"],
export_proguard_flags_files: true
}
}
1 change: 1 addition & 0 deletions lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ endif()

if(MATSDK_BUILD_JNI_WRAPPER)
list(APPEND SRCS
jni/JavaDataViewerProxy.cpp
jni/JniConvertors.cpp
jni/LogManager_jni.cpp
jni/Logger_jni.cpp
Expand Down
Loading
Loading