bandyer / bandyer-android-sdk Goto Github PK
View Code? Open in Web Editor NEWCommunication made easy!
Home Page: https://kaleyra.com/video
License: Other
Communication made easy!
Home Page: https://kaleyra.com/video
License: Other
hello,
I need 2 information. I do not know if it's right to open an issue for this, but I do not know how to contact you otherwise.
I suppose it is not possible to open a chat with more than two users. Will there be a possibility in a future version?
Is it possible for a user instead of answering a call, joining an existing room with other users who are already conversing with each other?
If so how? By BandyerSDKClient.joinUrl? I tried but I did not succeed in this. Or maybe I did something wrong, it's not clear to me how.
Hi,
referring to the wiki page about handling links
there's an instruction missing. This is the code shown in the wiki:
CallCapabilities capabilities = new CallCapabilities()
.withWhiteboard()
.withFileSharing()
.withChat()
.withScreenSharing();
CallOptions options = new CallOptions()
.withRecordingEnabled() // if the call started should be recorded
.withBackCameraAsDefault() // if the call should start with back camera
.withProximitySensorDisabled(); // if the proximity sensor should be disabled during calls
Intent intent = new BandyerIntent.Builder()
.startFromJoinCallUrl(this, joinUrl)
.withCapabilities(capabilities) // optional
.withOptions(options) // optional;
startActivity(intent);
but
new BandyerIntent.Builder()
.startFromJoinCallUrl(this, joinUrl)
.withCapabilities(capabilities) // optional
.withOptions(options)
alone returns an object of CallIntentOptions
type.
in order to use it as an intent the .build()
method should be performed:
new BandyerIntent.Builder()
.startFromJoinCallUrl(this, joinUrl)
.withCapabilities(capabilities) // optional
.withOptions(options)
.build()
Hope to have been helpful.
Have a great day!
I am using your SDK for Android and i implemented your SDK properly but once i try to connect video call it's showing error "access denied finding property vendor.camera.aux.packagelist android".
I checked with your demo app also i am facing same issue with your demo app.
And in log i got "Parcel: Reading a NULL string not supported here" this issue also.
Could you please help me to resolve this issue?
Hello! I downloaded the code and compiled. So when i try to start a chat i obtain this error:
Process: com.bandyer.demo_android_sdk, PID: 18567
java.lang.NoSuchFieldError: No field q of type I in class Lcom/bandyer/sdk_design/R$style; or its superclasses (declaration of 'com.bandyer.sdk_design.R$style' appears in /data/app/com.bandyer.demo_android_sdk-1/split_lib_slice_0_apk.apk)
at com.bandyer.android_sdk.chat.BandyerChatActivity.onCreate(BandyerChatActivity.kt:104)
this happens when i call
startActivityForResult(chatIntent, START_CHAT_CODE);
I try with Samsung galaxy S7 (android marshmallow) and Nexus 5x (android Oreo)
Thank you very much I'm waiting
Hello,
we are opening this issue because we are experiencing this kind of error in production, this is impacting an average of 250 users over 30 days, and the issue seems to be related to your SDK. Currently, we are using the latest version 3.7.3
.
We didn't find a way to reproduce this crash, it happens randomly inside the app, and seems not related to a specific OS Version:
44%
Android 13
17%
Android 10
16%
Android 11
13%
Android 12
10%
Other (3)
Could you help us to identify the problem, please? If you need other information feel free to ask.
Kind regards,
Marco
Fatal Exception: java.lang.Error: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1173)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:123)
at java.util.concurrent.FutureTask.get(FutureTask.java:193)
at com.kaleyra.collaboration_suite_utils.observer.BaseObserverCollection.execute$lambda-2(BaseObserverCollection.kt:70)
at com.kaleyra.collaboration_suite_utils.observer.BaseObserverCollection.$r8$lambda$ivt6LQJmJrPlNgu6-4HJJdsBG5I()
at com.kaleyra.collaboration_suite_utils.observer.BaseObserverCollection$$ExternalSyntheticLambda1.run(:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Hi again,
as I've mentioned in another issue I'm experiencing some issues with specifying capabilities when joining a room using the startFromJoinCallUrl method from the SDK.
I'm using the following sample code, but when I join a room I do not have those capabilities enabled (which as far as I remember have when starting a normal call with an user instead).
Here's the code:
private fun handleLink(link: String?, params: Map<String, Boolean>?): Boolean {
if (link == null) {
Log.e(TAG, "A null link is being passed to handleLink function")
return false
}
//var intentOptions = BandyerIntent.Builder().startFromJoinCallUrl(activity, link);
/*
params?.run {
val capabilities = defineCapabilities(this)
val options = defineOptions(this)
intentOptions = intentOptions
.withCapabilities(capabilities)
.withOptions(options)
}
*/
val options = CallOptions()
.withRecordingEnabled()
.withProximitySensorDisabled()
val capabilities = CallCapabilities()
.withChat()
.withFileSharing()
.withScreenSharing()
.withWhiteboard()
val intentOptions = BandyerIntent.Builder()
.startFromJoinCallUrl(activity, link)
.withOptions(options)
.withCapabilities(capabilities)
val intent = intentOptions.build();
activity.startActivity(intent)
return true
}
and the extras of the intent I'm launching:
Bundle[{CALL_WITH_SCREEN_SHARING_CAPABILITY_KEY=true, BANDYER_LAUNCHER_ACTIVITY_KEY=com.example.crispy_conferencing.MainActivity, CALL_WITH_CHAT_CAPABILITY_KEY=true, CALL_RECORDING_CAPABILITY=true, CALL_WITH_PROXIMITY_SENSOR_DISABLED=true, CALL_URL=https://sandbox.bandyer.com/connect/rest-call-handler/57bdfdc270f0fc2ae87534df60, CALL_WITH_WHITEBOARD_CAPABILITY_KEY=true, CALL_WITH_FILE_SHARING_CAPABILITY_KEY=true}]
which, with a better formatting, is:
Bundle[
{
CALL_WITH_SCREEN_SHARING_CAPABILITY_KEY=true,
BANDYER_LAUNCHER_ACTIVITY_KEY=com.example.crispy_conferencing.MainActivity,
CALL_WITH_CHAT_CAPABILITY_KEY=true,
CALL_RECORDING_CAPABILITY=true,
CALL_WITH_PROXIMITY_SENSOR_DISABLED=true,
CALL_URL=https://sandbox.bandyer.com/connect/rest-call-handler/57bdfdc270f0fc2ae87534df60,
CALL_WITH_WHITEBOARD_CAPABILITY_KEY=true,
CALL_WITH_FILE_SHARING_CAPABILITY_KEY=true
}
]
And this is the call screen from my phone:
Thank you again!
Antonello
Hi,
I'm having an issue with joining a Room via a link:
I've been using the following code to join a room.
handleLink
function is called AFTER the SDK initialization and client initialization.alias
private fun handleLink(link: String?): Boolean {
if (link == null) {
Log.e(TAG, "A null link is being passed to handleLink function")
return false
}
val intentOptions = BandyerIntent.Builder().startFromJoinCallUrl(activity, link);
val capabilities = CallCapabilities()
.withWhiteboard()
.withFileSharing()
.withChat()
.withScreenSharing()
val options = CallOptions()
.withRecordingEnabled() // if the call started should be recorded
.withBackCameraAsDefault() // if the call should start with back camera
.withProximitySensorDisabled() // if the proximity sensor should be disabled during calls
val intent = intentOptions
.withOptions(options)
.withCapabilities(capabilities)
.build();
activity.startActivity(intent)
return true
}
The problem I'm having is that the following code does not work in release mode: when I join a link with an app compiled in release mode the activity starts and immediately ends or hangs.
The only thing I got from the logcat is roughly this:
2021-03-25 16:27:51.802 1517-4386/? D/OemSceneCallBlock: isCallBlockedWithUidIntent { cmp=com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity (has extras) }, ResolveInfo{3671672 com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity m=0x0}, false
2021-03-25 16:27:51.804 1517-4386/? I/ActivityTaskManager: START u0 {cmp=com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity (has extras)} from uid 10898 pid 11947
2021-03-25 16:27:51.827 1517-1580/? I/OpMotorManagerService: notifyActivityChanged: mBackgroudPkg = com.example.crispy_conferencing mFocusPkg = com.example.crispy_conferencing mIsSplitMode = false mBackActivity = com.example.crispy_conferencing mFocusActivity = com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity
2021-03-25 16:27:51.827 1517-2664/? E/ScreenModeService: getAppToken AppWindowToken{90cbe79 token=Token{4c8df40 ActivityRecord{9e77ac3 u0 com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity t3771}}}
2021-03-25 16:27:51.827 1517-2664/? E/ScreenModeService: setRefreshRate token AppWindowToken{90cbe79 token=Token{4c8df40 ActivityRecord{9e77ac3 u0 com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity t3771}}} rate 0
2021-03-25 16:27:51.827 1517-2664/? D/OpQuickReply: setQuickReplyResumed focusedApp AppWindowToken{90cbe79 token=Token{4c8df40 ActivityRecord{9e77ac3 u0 com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity t3771}}} pkgName com.example.crispy_conferencing
2021-03-25 16:27:51.982 11947-12594/com.example.crispy_conferencing D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@fcb129e[BandyerCallSingleInstanceActivity]
2021-03-25 16:27:52.003 1517-1588/? I/===> HoustonPackage: addLaunchTimeInfo: for com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity isCold:false launchTime:196
2021-03-25 16:27:52.003 1517-1569/? I/ActivityTaskManager: Displayed com.example.crispy_conferencing/com.bandyer.android_sdk.call.BandyerCallSingleInstanceActivity: +196ms
Another thing: I'm sensing that even if the room has capabilities added (I've created the room via the rest API the call doesn't show those capabilities, at least not in debug mode. I'm unable to test it in release mode so that might be another issue which is out of this issue's scope.
The physical device I've tested on is a OnePlus 7 Pro with Android 10.
Thank you,
Antonello
I tried updating the kaleyra_iconStyle with custom icon, but it is not reflecting while call is in ongoing state.
Showing default Kaleyra logo
`<style name="KaleyraCollaborationSuiteUI.CallWatermark" parent="KaleyraCollaborationSuiteUI.DefaultCallWatermark">
@style/CallWatermark
@style/TitleWatermark
</style>
<style name="CallWatermark" parent="KaleyraCollaborationSuiteUI.CallWatermarkImageView">
<item name="android:src">@drawable/ic_launcher_vigo_life_round</item>
</style>
<style name="TitleWatermark" parent="KaleyraCollaborationSuiteUI.TextView.CallWatermark">
<item name="android:text">Vigo life</item>
</style>`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.