package org.mariotaku.twidere.activity.premium import android.content.Context import android.content.Intent import org.mariotaku.twidere.activity.BaseActivity import org.mariotaku.twidere.constant.IntentConstants import org.mariotaku.twidere.model.premium.PurchaseResult /** * Created by mariotaku on 2017/1/8. */ abstract class AbsExtraFeaturePurchaseActivity : BaseActivity() { protected val requestingFeature: String? get() = intent.getStringExtra(EXTRA_REQUESTING_FEATURE) protected fun finishWithError(code: Int) { setResult(code) finish() } protected fun finishWithResult(result: PurchaseResult) { setResult(RESULT_OK, Intent().putExtra(EXTRA_PURCHASE_RESULT, result)) finish() } companion object { const val RESULT_SERVICE_UNAVAILABLE = 1 const val RESULT_INTERNAL_ERROR = 6 const val RESULT_NOT_PURCHASED = 8 const val EXTRA_PURCHASE_RESULT = "purchase_result" const val EXTRA_REQUESTING_FEATURE = "requesting_feature" const val ACTION_RESTORE_PURCHASE = "${IntentConstants.INTENT_PACKAGE_PREFIX}RESTORE_PURCHASE" @JvmStatic fun purchaseIntent(context: Context, cls: Class, feature: String): Intent { val intent = Intent(context, cls) intent.putExtra(EXTRA_REQUESTING_FEATURE, feature) return intent } @JvmStatic fun restorePurchaseIntent(context: Context, cls: Class, feature: String): Intent { val intent = Intent(context, cls) intent.action = ACTION_RESTORE_PURCHASE intent.putExtra(EXTRA_REQUESTING_FEATURE, feature) return intent } } }