package be.mygod.vpnhotspot import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.ViewStub import android.widget.ArrayAdapter import android.widget.Button import android.widget.Spinner import androidx.annotation.StringRes import androidx.appcompat.app.AlertDialog import androidx.core.net.toUri import androidx.core.os.bundleOf import androidx.fragment.app.DialogFragment import com.android.billingclient.api.* import com.crashlytics.android.Crashlytics /** * Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/java/org/sufficientlysecure/donations/DonationsFragment.java */ class EBegFragment : DialogFragment(), PurchasesUpdatedListener, BillingClientStateListener, SkuDetailsResponseListener, ConsumeResponseListener { companion object { private const val TAG = "EBegFragment" private const val KEY_TITLE = "title" private const val KEY_MESSAGE = "message" } class MessageDialogFragment : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?) = AlertDialog.Builder(requireContext()).apply { val arguments = arguments!! setTitle(arguments.getInt(KEY_TITLE, 0)) setMessage(arguments.getInt(KEY_MESSAGE, 0)) setNeutralButton(R.string.donations__button_close, null) }.create() } private lateinit var billingClient: BillingClient private lateinit var googleSpinner: Spinner private var skus: MutableList? = null set(value) { field = value googleSpinner.apply { val adapter = ArrayAdapter(context ?: return, android.R.layout.simple_spinner_item, value?.map { it.price } ?: listOf("…")) adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) setAdapter(adapter) } } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = inflater.inflate(R.layout.fragment_ebeg, container, false) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) googleSpinner = view.findViewById(R.id.donations__google_android_market_spinner) onBillingServiceDisconnected() view.findViewById