openmobilehub / omh-storage

omh-storage
Apache License 2.0
7 stars 2 forks source link

Compatibility issue with OMH Auth v2.0.0 #164

Open VishnuSanal opened 2 months ago

VishnuSanal commented 2 months ago

whilst initializing OmhStorageClient, the object to be passed in OmhStorageProvider#Builder#provideStorageClient was of type com.omh.android.auth.api.OmhAuthClient. but, https://github.com/openmobilehub/android-omh-auth/ provides com.openmobilehub.android.auth.core.OmhAuthClient.

I even tried creating a migrator on my own (code attached below). but, that doesn't work either.

I am getting the following error:

stacktrace ``` java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amaze.filemanager.debug/com.amaze.filemanager.ui.activities.MainActivity}: com.omh.android.storage.api.domain.model.OmhStorageException$InvalidCredentialsException: A non-recoverable sign in failure occurred at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3917) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4062) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2567) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loopOnce(Looper.java:242) at android.os.Looper.loop(Looper.java:362) at android.app.ActivityThread.main(ActivityThread.java:8448) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:992) Caused by: com.omh.android.storage.api.domain.model.OmhStorageException$InvalidCredentialsException: A non-recoverable sign in failure occurred at com.omh.android.storage.api.drive.gms.OmhGmsStorageClientImpl.getRepository(OmhGmsStorageClientImpl.kt:43) at com.omh.android.storage.api.OmhStorageClient.listFiles(OmhStorageClient.kt:63) at com.amaze.filemanager.ui.activities.MainActivity.onCreate(MainActivity.java:390) at android.app.Activity.performCreate(Activity.java:8732) at android.app.Activity.performCreate(Activity.java:8710) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1456) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3899) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4062)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2567)  at android.os.Handler.dispatchMessage(Handler.java:111)  at android.os.Looper.loopOnce(Looper.java:242)  at android.os.Looper.loop(Looper.java:362)  at android.app.ActivityThread.main(ActivityThread.java:8448)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:992) ```

upon doing

OMHClientHelper.getGoogleStorageClient(this)
        .listFiles("/")
        .addOnSuccess(
            result -> {
              Log.i("vishnu", "onCreate: " + result);
            })
        .addOnFailure(Throwable::printStackTrace)
        .execute();

which seems to arise from a type error authClient.getCredentials() as? GoogleAccountCredential on OmhGmsStorageClientImpl.kt:43

any workaround for this?

full code: https://github.com/TeamAmaze/AmazeFileManager/compare/omh-integration...omh-storage-integration

TranceLove commented 2 months ago

Following @VishnuSanal 's enquiry, omh-storage should also be updated to android-omh-auth 2.0.0 code.

I'm also trying to update omh-storage's own code to use android-omh-auth too, but I'm getting a problem with regards to OmhStorageTaskImpl.

Previously, OmhStorageTaskImpl extends OmhTask

But as of now, the same code is at BaseOmhTask instead

where similar abstraction at OmhStorageTaskImpl can be seen at OmhTask too.

Wondered how should I change the code here?

dzuluaga commented 2 months ago

@TranceLove can you try using android-omh-storage instead? I invited you yesterday to this repo. You should have access to it as part of the Early Access Program (EAP). Let me know if you have questions.

CC - @itsme291

dzuluaga commented 2 months ago

Please keep us posted on your progress. Thx