package com.kickstarter.libs;
import android.content.Context;
import android.support.annotation.NonNull;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.wallet.Wallet;
import com.kickstarter.libs.qualifiers.ApplicationContext;
import com.kickstarter.libs.utils.PlayServicesCapability;
public final class AndroidPayCapability {
private boolean isCapable;
public AndroidPayCapability(final boolean isCapable) {
this.isCapable = isCapable;
}
public AndroidPayCapability(final @NonNull PlayServicesCapability playServicesCapability,
final @ApplicationContext @NonNull Context applicationContext) {
if (playServicesCapability.isCapable()) {
final GoogleApiClient googleApiClient = new GoogleApiClient.Builder(applicationContext)
.addApi(Wallet.API, new Wallet.WalletOptions.Builder().build())
.build();
googleApiClient.connect();
Wallet.Payments.isReadyToPay(googleApiClient).setResultCallback(result -> {
isCapable = result.getStatus().isSuccess() && result.getValue();
googleApiClient.disconnect();
});
} else {
isCapable = false;
}
}
public boolean isCapable() {
return isCapable;
}
}