forked from organicmaps/organicmaps
[adroid] Made purchase validation callback generic
This commit is contained in:
parent
d74618ddcb
commit
cf75e55bc6
5 changed files with 25 additions and 21 deletions
|
@ -4,8 +4,8 @@ import android.support.annotation.NonNull;
|
|||
|
||||
import com.mapswithme.maps.Framework;
|
||||
|
||||
public class AdRemovalPurchaseValidator implements PurchaseValidator,
|
||||
Framework.SubscriptionValidationListener
|
||||
class AdSubscriptionValidator implements PurchaseValidator<AdValidationCallback>,
|
||||
Framework.SubscriptionValidationListener
|
||||
{
|
||||
@Override
|
||||
public void initialize()
|
||||
|
@ -26,13 +26,13 @@ public class AdRemovalPurchaseValidator implements PurchaseValidator,
|
|||
}
|
||||
|
||||
@Override
|
||||
public void addCallback(@NonNull ValidationCallback callback)
|
||||
public void addCallback(@NonNull AdValidationCallback callback)
|
||||
{
|
||||
// Coming soon.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeCallback(@NonNull ValidationCallback callback)
|
||||
public void removeCallback(@NonNull AdValidationCallback callback)
|
||||
{
|
||||
// Coming soon.
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.mapswithme.maps.purchase;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
public interface AdValidationCallback
|
||||
{
|
||||
void onValidate(@NonNull AdValidationStatus status);
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.mapswithme.maps.purchase;
|
||||
|
||||
public enum AdValidationStatus
|
||||
{
|
||||
ACTIVE,
|
||||
NOT_ACTIVE,
|
||||
FAILURE
|
||||
}
|
|
@ -11,7 +11,7 @@ public enum Factory
|
|||
@Override
|
||||
public PurchaseValidator createPurchaseManager()
|
||||
{
|
||||
return new AdRemovalPurchaseValidator();
|
||||
return new AdSubscriptionValidator();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
|
@ -4,12 +4,12 @@ import android.support.annotation.NonNull;
|
|||
|
||||
/**
|
||||
* Represents a purchase validator. The main of purpose is to validate existing purchase and inform
|
||||
* the client code through {@link ValidationCallback#onValidate(Status)}.<br><br>
|
||||
* the client code through typed callback {@link T}.<br><br>
|
||||
* <b>Important note: </b> one validator can serve only one purchase, i.e. logical link is
|
||||
* <b>one-to-one</b>. If you need to validate different purchases you have to create different
|
||||
* implementations of this interface.
|
||||
*/
|
||||
public interface PurchaseValidator
|
||||
public interface PurchaseValidator<T>
|
||||
{
|
||||
/**
|
||||
* Initializes validator for further work.
|
||||
|
@ -31,22 +31,10 @@ public interface PurchaseValidator
|
|||
/**
|
||||
* Ads observer of validation.
|
||||
*/
|
||||
void addCallback(@NonNull ValidationCallback callback);
|
||||
void addCallback(@NonNull T callback);
|
||||
|
||||
/**
|
||||
* Removes observer of validation.
|
||||
*/
|
||||
void removeCallback(@NonNull ValidationCallback callback);
|
||||
|
||||
interface ValidationCallback
|
||||
{
|
||||
void onValidate(@NonNull Status status);
|
||||
}
|
||||
|
||||
public enum Status
|
||||
{
|
||||
ACTIVE,
|
||||
NOT_ACTIVE,
|
||||
FAILURE;
|
||||
}
|
||||
void removeCallback(@NonNull T callback);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue