first stab at android.

This commit is contained in:
Bryce Covert
2017-09-21 07:28:40 -07:00
parent e02542270e
commit 74a7c8cd06

View File

@@ -0,0 +1,22 @@
(ns advent.android
(:import [com.android.billingclient.api PurchasesUpdatedListener PurchaseHistoryResponseListener Purchase$PurchasesResult])
(:require [clojure.core.async :as a]))
(def purchase-chan (a/chan))
(def listener
(reify PurchasesUpdatedListener
(onPurchasesUpdated [this response-code purchases]
(println response-code purchases)
(let [result (and purchases (> (.size purchases) 0))]
(reset! @(resolve 'advent.core/has-purchased?) (if result true false))
(a/go (a/>! purchase-chan (if result true false)))))) )
(def history-listener
(reify PurchaseHistoryResponseListener
(onPurchaseHistoryResponse [this purchases-result]
(println "got history")
(let [result (and purchases-result (.getPurchasesList purchases-result) (> (.size (.getPurchasesList purchases-result)) 0))]
(reset! @(resolve 'advent.core/has-purchased?) (if result true false))
(a/go (a/>! purchase-chan (if result true false)))))) )