mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-04-29 22:24:35 +02:00
feat(core/snapchat_plus): ad free tier
This commit is contained in:
parent
7d932f0fb4
commit
b6f4d91cac
@ -1373,6 +1373,11 @@
|
||||
"bitmoji_avatar_changes": "Notify when someone changes their Bitmoji avatar",
|
||||
"bitmoji_background_changes": "Notify when someone changes their Bitmoji background",
|
||||
"bitmoji_scene_changes": "Notify when someone changes their Bitmoji scene"
|
||||
},
|
||||
"snapchat_plus":{
|
||||
"not_subscribed": "Not Subscribed",
|
||||
"basic": "Basic",
|
||||
"ad_free": "Ad Free"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -37,7 +37,7 @@ class Global : ConfigContainer() {
|
||||
}
|
||||
|
||||
val betterLocation = container("better_location", BetterLocationConfig())
|
||||
val snapchatPlus = boolean("snapchat_plus") { requireRestart() }
|
||||
val snapchatPlus = unique("snapchat_plus", "not_subscribed", "basic", "ad_free") { requireRestart() }
|
||||
val mediaUploadQualityConfig = container("media_upload_quality", MediaUploadQualityConfig())
|
||||
val disableConfirmationDialogs = multiple("disable_confirmation_dialogs", "erase_message", "remove_friend", "block_friend", "ignore_friend", "hide_friend", "hide_conversation", "clear_conversation") { requireRestart() }
|
||||
val disableMetrics = boolean("disable_metrics") { requireRestart() }
|
||||
|
@ -13,20 +13,25 @@ class SnapchatPlus: Feature("SnapchatPlus") {
|
||||
private val expirationTimeMillis = (System.currentTimeMillis() + 15552000000L)
|
||||
|
||||
override fun init() {
|
||||
if (!context.config.global.snapchatPlus.get()) return
|
||||
val snapchatPlusTier = context.config.global.snapchatPlus.getNullable()
|
||||
|
||||
context.mappings.useMapper(PlusSubscriptionMapper::class) {
|
||||
classReference.get()?.hookConstructor(HookStage.AFTER) { param ->
|
||||
val instance = param.thisObject<Any>()
|
||||
val tier = instance.getObjectField(tierField.getAsString()!!)
|
||||
if (tier == 2) return@hookConstructor
|
||||
//subscription tier
|
||||
instance.setObjectField(tierField.getAsString()!!, 2)
|
||||
//subscription status
|
||||
instance.setObjectField(statusField.getAsString()!!, 2)
|
||||
if (snapchatPlusTier != null) {
|
||||
context.mappings.useMapper(PlusSubscriptionMapper::class) {
|
||||
classReference.get()?.hookConstructor(HookStage.AFTER) { param ->
|
||||
val instance = param.thisObject<Any>()
|
||||
//subscription tier
|
||||
instance.setObjectField(tierField.getAsString()!!, when (snapchatPlusTier) {
|
||||
"not_subscribed" -> 1
|
||||
"basic" -> 2
|
||||
"ad_free" -> 3
|
||||
else -> 2
|
||||
})
|
||||
//subscription status
|
||||
instance.setObjectField(statusField.getAsString()!!, 2)
|
||||
|
||||
instance.setObjectField(originalSubscriptionTimeMillisField.getAsString()!!, originalSubscriptionTime)
|
||||
instance.setObjectField(expirationTimeMillisField.getAsString()!!, expirationTimeMillis)
|
||||
instance.setObjectField(originalSubscriptionTimeMillisField.getAsString()!!, originalSubscriptionTime)
|
||||
instance.setObjectField(expirationTimeMillisField.getAsString()!!, expirationTimeMillis)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user