diff --git a/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/Auth.java b/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/Auth.java index 1f805192f8..334352b9c7 100644 --- a/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/Auth.java +++ b/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/Auth.java @@ -159,7 +159,6 @@ private Auth(final Context context, this.signOutRedirectUri = signOutRedirectUri; this.scopes = scopes; this.user = new AuthClient(context, this); - this.user = new AuthClient(context, this); this.user.setUserHandler(userHandler); this.userPoolId = userPoolId; this.advancedSecurityDataCollectionFlag = advancedSecurityDataCollectionFlag; @@ -655,4 +654,11 @@ public Auth setUsername(final String username) { this.user.setUsername(username); return this; } + + /** + * Release resources used by {@link Auth} + */ + public void release() { + this.user.unbindServiceConnection(); + } } diff --git a/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/AuthClient.java b/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/AuthClient.java index 0e222883a4..d9d2586b2a 100644 --- a/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/AuthClient.java +++ b/aws-android-sdk-cognitoauth/src/main/java/com/amazonaws/mobileconnectors/cognitoauth/AuthClient.java @@ -221,6 +221,15 @@ public void getTokens(final Uri uri) { getTokens(uri, userHandler); } + + /** + * Unbind {@link AuthClient#mCustomTabsServiceConnection} + */ + public void unbindServiceConnection() { + if(mCustomTabsServiceConnection != null) + context.unbindService(mCustomTabsServiceConnection); + } + /** * Internal method to exchange code for tokens. *