package moe.yuuta.workmode.gpl import android.annotation.SuppressLint import android.content.Context import android.provider.Settings import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.OnLifecycleEvent import moe.yuuta.gplicense.AESObfuscator import moe.yuuta.gplicense.LicenseChecker import moe.yuuta.gplicense.LicenseCheckerCallback import moe.yuuta.gplicense.ServerManagedPolicy import moe.yuuta.workmode.BuildConfig // #Anti-Crack // Google Play Licenser class GPL( private val context: Context, private val lifecycle: Lifecycle, private val callback: LicenseCheckerCallback ) : LifecycleObserver { private val SALT = byteArrayOf( -90, 83, 80, -91, -37, -57, 74, -69, 52, 89, -9, -5, -77, -71, -36, -79, -11, 37, -69, 88 ) private lateinit var instance: LicenseChecker @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) fun start() { @SuppressLint("HardwareIds") val android_id = Settings.Secure.getString(context.contentResolver, Settings.Secure.ANDROID_ID) instance = LicenseChecker( context, ServerManagedPolicy(context, AESObfuscator(SALT, BuildConfig.APPLICATION_ID, android_id)), BuildConfig.GOOGLE_PLAY_LICENSING_KEY ) instance.checkAccess(callback) } @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) fun destroy() { if (::instance.isInitialized) { instance.onDestroy() } } }