Code Monkey home page Code Monkey logo

qiscus-sdk-android's People

Contributors

adicatur avatar andhikayuana avatar ariefnurputranto avatar asyrofqomaruddin avatar dewianisaist avatar evnpr avatar huseinmuhdhor avatar mmnuradityo avatar piyut avatar rymey avatar tfkbudi avatar yuanasoft avatar zetbaitsu avatar zhulmi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qiscus-sdk-android's Issues

Error: Program type already present: android.arch.lifecycle.ViewModelStore

I am getting this error after including qiscus in me existing project. I thought it was conflict of glide so I tried to exclude glide by using:
implementation ('com.qiscus.sdk:chat-core:1.2.12'){
exclude group: 'com.github.bumptech.glide', module: 'glide'
}

but still I am getting same error my current dependecies are as follow:

implementation fileTree(include: ['*.jar'], dir: 'libs')
//Chat dependencies
implementation ('com.qiscus.sdk:chat-core:1.2.12'){
exclude group: 'com.github.bumptech.glide', module: 'glide'
}
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-places:15.0.1'
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
//noinspection GradleCompatible
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.4'
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.firebase:firebase-storage:16.0.4'
implementation 'com.firebaseui:firebase-ui-database:3.1.1'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.firebase:firebase-dynamic-links:16.1.3'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'
implementation 'com.android.support:support-annotations:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.jsibbold:zoomage:1.1.0-SNAPSHOT'
implementation 'com.facebook.android:facebook-login:4.34.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'com.firebase:geofire-android:2.3.1'
implementation 'com.github.greenfrvr:hashtag-view:1.3.1'
implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0'
implementation 'me.saket:better-link-movement-method:2.2.0'
implementation 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
implementation 'com.squareup.okhttp:okhttp:2.6.0'
implementation 'com.squareup.retrofit:retrofit:1.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.3.1'
implementation 'com.squareup.okhttp3:okhttp:3.8.1'
implementation 'com.jakewharton.retrofit:retrofit1-okhttp3-client:1.0.2'

implementation 'id.zelory:compressor:2.1.0'
implementation 'joda-time:joda-time:2.10.1'

implementation('com.google.api-client:google-api-client-android:1.20.0') {
    exclude module: 'guava-jdk5'
}

can you please give me any solution for this issue?

PendingIntents attached to actions with remote inputs must be mutable

Qiscus Chat SDK (buildIn) 2.31.3

App crashed when chat notification arrived.

Error: PendingIntents attached to actions with remote inputs must be mutable

Stacktrace:
at androidx.core.app.NotificationManagerCompat.notify(NotificationManagerCompat.java:223)
at androidx.core.app.NotificationManagerCompat.notify(NotificationManagerCompat.java:205)
at com.qiscus.sdk.util.QiscusPushNotificationUtil.lambda$pushNotification$6(QiscusPushNotificationUtil.java:344)
at com.qiscus.sdk.util.-$$Lambda$QiscusPushNotificationUtil$uk81Wpi_y-UBE25yWqUnDqr9M24.run(Unknown Source:6)

Please update the buildin sdk to latest version of chat-core.

Send Video

Hi, I'm using your chat application but I don't sent video in chat.
I am trying to send video it as a file and I get error from it.

Could not find com.schinizer:rxunfurl:0.2.0

Hello everyone,

When I remove jCenter from my project, the dependencies could not found for following library:

> Could not find com.schinizer:rxunfurl:0.2.0.
    Searched in the following locations:
      - https://dl.google.com/dl/android/maven2/com/schinizer/rxunfurl/0.2.0/rxunfurl-0.2.0.pom
      - https://repo.maven.apache.org/maven2/com/schinizer/rxunfurl/0.2.0/rxunfurl-0.2.0.pom
      - https://jitpack.io/com/schinizer/rxunfurl/0.2.0/rxunfurl-0.2.0.pom
      - https://artifactory.qiscus.com/artifactory/qiscus-library-open-source/com/schinizer/rxunfurl/0.2.0/rxunfurl-0.2.0.pom
      - https://cardinalcommerceprod.jfrog.io/artifactory/android/com/schinizer/rxunfurl/0.2.0/rxunfurl-0.2.0.pom
    Required by:
        project :app > com.qiscus.sdk:chat-core:1.6.0

Support for Glide 4

I got this error every time qiscus try to show a notification. It seems like caused by the Glide ver. 4 that I'm using, since the new Glide library has a slightly different way to call their methods.

FATAL EXCEPTION: main
Process: com.dokterchat.expert, PID: 3736
java.lang.NoSuchMethodError: No virtual method load(Ljava/lang/String;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' appears in /data/app/com.xxx.xxx-1/base.apk:classes55.dex)
at com.qiscus.sdk.util.QiscusPushNotificationUtil.loadAvatar(QiscusPushNotificationUtil.java:117)
at com.qiscus.sdk.util.QiscusPushNotificationUtil.lambda$showPushNotification$1(QiscusPushNotificationUtil.java:108)
at com.qiscus.sdk.util.QiscusPushNotificationUtil$$Lambda$2.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

java.lang.NoClassDefFoundError: com.vanniktech.emoji.one.EmojiOneProvider Against Android API 19 (4.4.2)

I encountered the following error as I tested version 2.8.0 against Android API 19 - 4.4.2. (com.qiscus.sdk:chat:2.8.0)

This error occurs at line:
Qiscus.init(this, "MY_APP_ID");

Error Log:
FATAL EXCEPTION: main Process: com.smartapplications.smartapp, PID: 27042 java.lang.NoClassDefFoundError: com.vanniktech.emoji.one.EmojiOneProvider at com.qiscus.sdk.Qiscus.initWithCustomServer(Qiscus.java:138) at com.qiscus.sdk.Qiscus.init(Qiscus.java:98) at com.smartapplications.smartapp.SmartApp.onCreate(SmartApp.java:37) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4582) at android.app.ActivityThread.access$1500(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5333) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method)

Can't resolve Firebase 11.0.2 Dependencies

With release 2.7.2 and 2.8.0 (What I've used), on Gradle Build, the gradle errors:

Failed to resolve: com.google.firebase:firebase-core:11.0.2
Failed to resolve: com.google.firebase:firebase-messaging:11.0.2

See attached file - Text file representation of my application's (Qiscus Sample App) build.gradle file.

build_gradle.txt

I've also used release 1.19.0 and didn't encounter this issue.

NullPointerException at QiscusSyncJobService.java:143

I meet this issue for a long time, even after upgrade to the latest qiscusCore version 1.3.30
qiscus crash
crash info
I've looked at the SDK source code and saw this line got crashed:
private void stopSync() { if (timer != null) { timer.cancel(); timer.purge(); timer = null; } }
The stopSync only got called in log out and onDestroy service.
In fact, this release note should fix that issue https://github.com/qiscus/qiscus-sdk-android/releases/tag/1.3.20 but I'm using 1.3.30 and it still occurred.

What will be the backend ?

Hi , Its an interesting lib , Thanks . But i have a doubt , Where will be the chat data are stored . Can i use my own server as back-end ? . Hope to hear from you soon

Force close on notification click

Hello, I just try to create a simple app using qiscus.

When I click on the new chat notification, the app always force closed. The logcat says that the app did not call the setuser method, although it did call the setuser method. Besides, how could the app receive a notification if the setuser method is not called yet ?

I use sdk ver 2.7.2
error happened in android 6 and 7

Following is the error log. Thank you in advance.

FATAL EXCEPTION: main
Process: com.mahasadhu.testchat, PID: 3860
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mahasadhu.testchat/com.qiscus.sdk.ui.QiscusChatActivity}: java.lang.RuntimeException: Please set Qiscus user before start the chatting!
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.RuntimeException: Please set Qiscus user before start the chatting!
at com.qiscus.sdk.Qiscus.checkUserSetup(Qiscus.java:425)
at com.qiscus.sdk.Qiscus.getQiscusAccount(Qiscus.java:224)
at com.qiscus.sdk.ui.QiscusChatActivity.onViewReady(QiscusChatActivity.java:87)
at com.qiscus.sdk.ui.QiscusBaseChatActivity.onCreate(QiscusBaseChatActivity.java:85)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6077) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 

Glide 4 Conflict

Hi qiscus!

i have issue about glide library.. my app is crashes when load image from qiscus.. is there any solution from that issue ?? i used glide 4.

Thank You!

Upload old chat-core releases to artifactory.qiscus.com

I am getting the following error when trying to install chat-core:1.3.2

> Could not GET 'https://dl.bintray.com/qiscustech/maven/com/qiscus/sdk/chat-core/1.3.2/chat-core-1.3.2.pom';. Received status code 403 from server: Forbidden

Bintray was official deprecated as per the official announcement https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

In this commit you have moved away from Bintray to Artifactory
7847a5e

The current documentation shows this snippet:

allprojects { 
    repositories {  
         maven { url "https://artifactory.qiscus.com/artifactory/qiscus-library-open-source" } 
    } 
}

However, this URL https://artifactory.qiscus.com/artifactory/qiscus-library-open-source/com/qiscus/sdk/chat-core/ has no releases before 1.3.27. Could you please upload the old releases?

Screen Shot 2021-05-06 at 14 11 58

Database

It would have been best if you could provide option for own database instead of yours

Back button on chat view

untitled

I wonder if i'm the only one but I seem to click everytime next to the back button, giving me the feel like the app is not responsive.

Insecure Storage of Sensitive Data

Hi Team,

During testing of an application we came to know that they are storing qiscus.cfg.xml files through which some of keys are been disclosed.

In Line #1005 It is also mentioned:
LocalDataManager() {
sharedPreferences = QiscusCore.getApps().getSharedPreferences("qiscus.cfg", Context.MODE_PRIVATE);
gson = new Gson();
token = isLogged() ? getAccountInfo().getToken() : "";

Isn't it a security threat ?
As an attacker can steal the qiscus authorization tokens from here.

QiscusApi.getInstance().getChatRoom(roomId) returns nothing

I got no return value from running QiscusApi.getInstance().getChatRoom(roomId). Below is the code that I used.

QiscusApi.getInstance()
                .getChatRoom(id)
                .subscribeOn(Schedulers.io())
                .doOnNext(chatRoom -> QiscusCore.getDataStore().addOrUpdate(chatRoom))
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(onSuccess::call, onError::call);

java.lang.ExceptionInInitializerError

Error is encountered in built and generated signed APKs (Issue doesn't occur on debug mode or when running App from Android Studio without generating an APK) on:
Qiscus.init(this, "MY_APP_ID");
Encountered problem in releases:

  • 1.19.1

  • 2.7.2

  • 2.8.0

There's not so much documentation on this error relating to Qiscus. When above initialization line of code is commented out, issue isn't encountered.
Error:
08-14 16:06:11.808 29922-29922/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.smartapplications.smartapp, PID: 29922 java.lang.ExceptionInInitializerError at com.qiscus.sdk.o.<init>(Unknown Source) at com.qiscus.sdk.a.b(Unknown Source) at com.qiscus.sdk.a.a(Unknown Source) at com.smartapplications.smartapp.SmartApp.onCreate(Unknown Source) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1018) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4994) at android.app.ActivityThread.-wrap1(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1549) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) Caused by: java.lang.RuntimeException: Missing type parameter. at com.google.a.c.a.a(Unknown Source) at com.google.a.c.a.<init>(Unknown Source) at com.google.a.l.<init>(Unknown Source) at com.google.a.k.<clinit>(Unknown Source) at com.qiscus.sdk.o.<init>(Unknown Source)  at com.qiscus.sdk.a.b(Unknown Source)  at com.qiscus.sdk.a.a(Unknown Source)  at com.smartapplications.smartapp.SmartApp.onCreate(Unknown Source)  at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1018)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4994)  at android.app.ActivityThread.-wrap1(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1549)  at android.os.Handler.dispatchMessage(Handler.java:111)  at android.os.Looper.loop(Looper.java:207)  at android.app.ActivityThread.main(ActivityThread.java:5763)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 

Attached is a text file with the log:
ExceptionInInitializerError.txt

My Application Class onCreate() code:


public class SmartApp extends Application {

    public static final String TAG = SmartApp.class.getSimpleName();

    private RequestQueue mRequestQueue;
    private ImageLoader mImageLoader;

    private static SmartApp mInstance;

    @Override
    public void onCreate() {
        super.onCreate();

        Qiscus.init(this, "********"); //  APP_ID hidden

        mInstance = this;

        AppLocker.getInstance().enableAppLock(this);

        codeToEnableBootCompleteReceiver();
    }
. . . . . .
}

Disable extra chat feature

Is it possible to disable extra feature such as send file entirely? So when a new chatroom is created there's no Request permissions dialog.

Crash Possibility : java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs

JobInfo jobInfo = new JobInfo.Builder(qiscusAccount.getId() + randomValue, componentName)

Qiscus SDK is creating new job ids whenever this service is called this will add new jobs every time in the job queue which will lead to this possible crash.

https://samebug.io/exceptions/2449713/java.lang.IllegalStateException/apps-may-not-schedule-more-than-100

Usage of Numeric IDs while creating a chat room

Description:
It has been observed that the application is using numeric IDs while creating a chat room. Benefitting this , if the application is vulnerable to improper authorization vulnerabilities then an attacker can quickly gather the data related to users by enumerating the numeric IDs

Recommendation for our side:
Use UUDI’s instead of numeric ID’s while creating the room.

Upgrade to RxJava 2.0

Please upgrade your RxJava version. Because it's too obsolete to use RxJava 1 today.
Thank you!

New logo

Hi, I am a graphic designer, I want to help others in graphic design.

After I reviewed your project, you have no logo on this project. Therefore I want to contribute to this project by creating a new logo / icon. what do you think?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.