Giter Club home page Giter Club logo

onetapcompose's Issues

Version 1.0.11 not work on Android 14

Version 1.0.11 does not work on Android 14. (Tested on Samsung S23)
When you make the request to google via googleLoginState.open() nothing is shown. (The account selection dropdown does not appear.) If you press the back button, the error message (system, not from library) access request canceled by appName appears.
With version 1.0.10 everything works perfectly!

Troubles in release build

Is it possible to use this library with web clientid in release mode?
I don't understand why, but always when I try to use google authentication with web client id in the release mode, I can't get token. Working only in debug mode for me

FirebaseAuth integration

Hi!

Following this guide: https://firebase.google.com/docs/auth/android/google-signin#kotlin+ktx_4

I successfully used this library (awesome) to authenticate the user through FirebaseAuth.

As simple as:

  OneTapSignInWithGoogle(
    state = state,
    clientId = stringResource(R.string.web_client_id),
    onTokenIdReceived = { tokenId ->
      val firebaseCredential = GoogleAuthProvider.getCredential(tokenId, null)
      Firebase.auth.signInWithCredential(firebaseCredential).addOnCompleteListener { task ->
        if (task.isSuccessful) {
          onUserAuthenticated() // Firebase.auth.currentUser is already set at this point
        } else {
          // Error
        }
      }
    },
    onDialogDismissed = { message ->

    }
  )

Do you think that this could be integrated into the library? Maybe in a way that allows user to plugs the "obtain user" way.

I mean:

OneTapSignInWithGoogle(
    state = state,
    clientId = stringResource(R.string.web_client_id),
    userProvider = oneTapUserProvider(onUserObtained = { it: GoogleUser -> })
)

OneTapSignInWithGoogle(
    state = state,
    clientId = stringResource(R.string.web_client_id),
    userProvider = firebaseAuthUserProvider(onUserObtained = { it: FirebaseUser -> })
)

I could try to build up a PR for this, if you find it could be useful.

GetCredentialResponse error returned from framework

This error often appears when I try to click to log in, is there any solution, or please tell me what I should check to see what went wrong:
2024-05-05 03:29:18.685 10661-10691 CredManProvService com.example.assignment I GetCredentialResponse error returned from framework
2024-05-05 03:29:18.686 10661-10661 OneTapCompose com.example.assignment E No credentials available
2024-05-05 03:29:18.686 10661-10661 LOG com.example.assignment D No credentials available

Don't show the signin popup every time

The code works well to show the popup and get the user details. However it shows the popup every time the user opens the app, i would prefer if they don't have to do that, is it possible?

I did notice this error in the log, maybe its related?

2024-05-03 12:02:56.830 25989-26002 AuthPII com.google.android.gms.persistent E [RequestTokenManager] getToken() -> BAD_AUTHENTICATION. App: <....>, Service: oauth2:openid
ajxu: Long live credential not available.
at tzn.a(:com.google.android.gms@[email protected] (190400-608507424):1003)
at tzt.b(:com.google.android.gms@[email protected] (190400-608507424):28)
at tzr.a(:com.google.android.gms@[email protected] (190400-608507424):620)
at tsv.h(:com.google.android.gms@[email protected] (190400-608507424):3)
at yep.i(:com.google.android.gms@[email protected] (190400-608507424):19)
at yep.fL(:com.google.android.gms@[email protected] (190400-608507424):1355)
at ocn.onTransact(:com.google.android.gms@[email protected] (190400-608507424):96)
at android.os.Binder.transact(Binder.java:1341)
at bgbi.onTransact(:com.google.android.gms@[email protected] (190400-608507424):10)
at android.os.Binder.transact(Binder.java:1341)
at aynx.onTransact(:com.google.android.gms@[email protected] (190400-608507424):147)
at android.os.Binder.execTransactInternal(Binder.java:1496)
at android.os.Binder.execTransact(Binder.java:1440)

No credentials available

I placed valid client ID on this place:
clientId = "",
But after clicked the "Sign in" button all I see the errors in the Log:

2024-02-12 08:52:56.859 7937-8288 CredManProvService com.demoproject.forbeginners I GetCredentialResponse error returned from framework
2024-02-12 08:52:56.861 7937-7937 OneTapCompose com.demoproject.forbeginners E No credentials available

Could not find com.github.stevdza-san:OneTapCompose:1.0.9.

I encountered this error while trying to use OneTapCompose...

Configuration cache state could not be cached: field __librarySourceSets__ of task :app:mapDevDebugSourceSetPaths of type com.android.build.gradle.tasks.MapSourceSetPathsTask: error writing value of type 'org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection'

Could not resolve all files for configuration ':app:devDebugRuntimeClasspath'.
Could not find com.github.stevdza-san:OneTapCompose:1.0.9.

"Google Account not Found" when you dismiss multiple times the modal

Hi, I encountered a problem when I dismiss the account selection modal more than once. It would seem that if you click outside the modal or on the X more than 3/4 times, Android blocks you and shows you the Google account not found dialog. Clearing the cache doesn't work, and neither does deleting the app and reinstalling it.

  • Android version 13
  • App is build signed with this 2 settings: isShrinkResources = true, isMinifyEnabled = true
  • App not works also with debug apk
  • This works in my case because I have multiple accounts on list
  • I set rememberAccount = false on OneTapSignInWithGoogle (Not works also with rememberAccount = true)

SERVICE_DISABLED error when using the library

Hi!
I got an error message while trying out the lib. I have done the steps with app sha1 and web client id.
Do you by any chance know what could be wrong.

com.google.android.gms.persistent E [GoogleAccountDataServiceImpl] getToken() -> SERVICE_DISABLED. App: com.elab.testgoog, Service: oauth2:openid zpc: Service not whitelisted at ley.l(:com.google.android.gms@[email protected] (190400-509319212):57) at ovz.i(:com.google.android.gms@[email protected] (190400-509319212):2) at ovz.eo(:com.google.android.gms@[email protected] (190400-509319212):115) at gma.onTransact(:com.google.android.gms@[email protected] (190400-509319212):5) at android.os.Binder.transact(Binder.java:1200) at arzy.onTransact(:com.google.android.gms@[email protected] (190400-509319212):1) at android.os.Binder.transact(Binder.java:1200) at amdf.onTransact(:com.google.android.gms@[email protected] (190400-509319212):21) at android.os.Binder.execTransactInternal(Binder.java:1316) at android.os.Binder.execTransact(Binder.java:1280)

Date of Birth Property Missing.

What is the Issue
The user is not able to get a DOB using this solution.

What needs to be done?
We need to add new params i.e. val dateOfBirth

Why this is important?
In most of apps, we want to know the user's age and according to that, we need to perform certain actions. very important property.

OneTapCompose not Working on App Release

When I tried OneTapCompose in debug mode it ran fine. But when I build with release it always goes to onDialogDismissed.

My Code

...
            OneTapSignInWithGoogle(
                state = oneTapSignInGoogleState,
                clientId = LocalContext.current.getString(R.string.google_client_id),
                rememberAccount = false,
                onTokenIdReceived = { tokenId ->
                    authViewModel.setStateLogin("google")

                    val user: GoogleUser? = getUserFromTokenId(tokenId)
                    if (user != null) {
                        authViewModel.googleLogin(code = "android_google_code", email = user.email, name = user.fullName)
                    } else {
                        authViewModel.resetState()
                        showSnackbar(message = "Autentikasi Google Gagal. User Null", scope, snackbarHostState)
                    }
                },
                onDialogDismissed = {
                    authViewModel.resetState()
                    showSnackbar(message = "Autentikasi Google Dibatalkan", scope, snackbarHostState)
                }
            )
...

Video
https://github.com/stevdza-san/OneTapCompose/assets/45684749/b5c78e0e-b753-48e0-8431-39d2f13073c4

Image Log Error
Screenshot from 2023-12-05 11-45-06

dismiss: Developer console is not set up correctly.

Is that safe to call OneTapSignInWithGoogle on BottomBar of scaffold?

I am getting this error : dismiss: Developer console is not set up correctly.

`val state = rememberOneTapSignInState()

Scaffold(
    topBar = {},
    content = { paddingValues ->
        AuthContent(
            paddingValues,
            signInState = state.opened,
            messageBarState = MessageBarState(),
            onClick = {state.open()}
        )
    },
    bottomBar = {
        OneTapSignInWithGoogle(
            state = state,
            clientId = CONSTANTS.CLIENT_ID,
            onTokenIdReceived = { tokenId ->
                Log.d("GoogleIO", "token: $tokenId")
            },
            onDialogDismissed = { message ->
                Log.d("GoogleIO", "dismiss: $message")
            }
        )
    }`

Only "Dialog Closed" Debug Message Shown

I've connected it as directed (although probably still have something wrong somewhere).

I've moved to a real device because of the "Google Account Not Found"

But when I try to sign-in I get the prompt and click "Continue As " button I only get a "Dialog Closed" message.

Looking at your code is there someway to get more detailed information about why the "Dialog Closed" message is showing? Is there anymore information that could be surfaced for debugging?

Switching user accounts?

Once I logged in with an account it didn't show any other email lists, if I have 2 email IDs on my mobile initially it shows to select which account but after logging in with one email it always logins only with that email forever even reinstalling the app

logout

how to trigger logout after user is logged in?

androidx.credentials.exceptions.Credential Exception:

When attempting to close the sign-in popup menu, I encountered the following error message.

androidx.credentials.exceptions.Credential Exception: During bigin sign in, failure response from one tap: 16: Caller has been temporarily blocked due to too many canceled sign-in prompts.

[BeginSignInOperation] Operation failed.

[BeginSignInOperation] Operation failed.
getting Google Account not Found,
First time it worked fine but after that i am not able to signin again, dialog not showing even if i am using on real device.

[BUG]: After I update the library, it throws me this error

FAILURE: Build completed with 8 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.github.stevdza-san:OneTapCompose:1.0.5.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/github/stevdza-san/OneTapCompose/1.0.5/OneTapCompose-1.0.5.pom
       - https://repo.maven.apache.org/maven2/com/github/stevdza-san/OneTapCompose/1.0.5/OneTapCompose-1.0.5.pom
       - https://jitpack.io/com/github/stevdza-san/OneTapCompose/1.0.5/OneTapCompose-1.0.5.pom
     Required by:
         project :app

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:checkDebugAarMetadata'.
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:417)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:339)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1524)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$3700(DefaultConfiguration.java:159)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$DefaultResolutionHost.rethrowFailure(DefaultConfiguration.java:2174)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitContents(DefaultConfiguration.java:1496)
	at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:375)
	at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:119)
	at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:64)
	at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:89)
	at org.gradle.api.internal.file.DefaultFileCollectionFactory$ResolvingFileCollection.visitChildren(DefaultFileCollectionFactory.java:333)
	at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:119)
	at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:375)
	at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:119)
	at org.gradle.api.internal.tasks.PropertyFileCollection.visitChildren(PropertyFileCollection.java:48)
	at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:119)
	at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:375)
	at org.gradle.internal.fingerprint.impl.DefaultFileCollectionSnapshotter.snapshot(DefaultFileCollectionSnapshotter.java:51)
	at org.gradle.internal.execution.fingerprint.impl.DefaultInputFingerprinter$InputCollectingVisitor.visitInputFileProperty(DefaultInputFingerprinter.java:131)
	at org.gradle.api.internal.tasks.execution.TaskExecution.visitRegularInputs(TaskExecution.java:322)
	at org.gradle.internal.execution.fingerprint.impl.DefaultInputFingerprinter.fingerprintInputProperties(DefaultInputFingerprinter.java:61)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.captureExecutionStateWithOutputs(CaptureStateBeforeExecutionStep.java:193)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.lambda$captureExecutionState$1(CaptureStateBeforeExecutionStep.java:141)
	at org.gradle.internal.execution.steps.BuildOperationStep$1.call(BuildOperationStep.java:37)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.internal.execution.steps.BuildOperationStep.operation(BuildOperationStep.java:34)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.captureExecutionState(CaptureStateBeforeExecutionStep.java:130)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.lambda$execute$0(CaptureStateBeforeExecutionStep.java:75)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:75)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
	at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
	at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
	at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
	at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
	at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
	at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
	at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
	at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
	at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
	at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
	at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
	at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
	at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:417)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:339)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.github.stevdza-san:OneTapCompose:1.0.5.
Searched in the following locations:
  - https://dl.google.com/dl/android/maven2/com/github/stevdza-san/OneTapCompose/1.0.5/OneTapCompose-1.0.5.pom
  - https://repo.maven.apache.org/maven2/com/github/stevdza-san/OneTapCompose/1.0.5/OneTapCompose-1.0.5.pom
  - https://jitpack.io/com/github/stevdza-san/OneTapCompose/1.0.5/OneTapCompose-1.0.5.pom
Required by:
    project :app

==============================================================================

BUG

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.