feat: override camera resolution

This commit is contained in:
rhunk
2024-01-13 19:23:39 +01:00
parent 77c5abefb5
commit 1f4eb18aa8
5 changed files with 62 additions and 92 deletions

View File

@@ -1,13 +1,13 @@
package me.rhunk.snapenhance.mapper
import com.android.tools.smali.dexlib2.Opcodes
import com.android.tools.smali.dexlib2.dexbacked.DexBackedDexFile
import com.android.tools.smali.dexlib2.iface.ClassDef
import com.google.gson.JsonObject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import me.rhunk.snapenhance.mapper.impl.*
import com.android.tools.smali.dexlib2.Opcodes
import com.android.tools.smali.dexlib2.dexbacked.DexBackedDexFile
import com.android.tools.smali.dexlib2.iface.ClassDef
import java.io.BufferedInputStream
import java.io.InputStream
import java.util.zip.ZipFile
@@ -26,7 +26,6 @@ class ClassMapper(
MediaQualityLevelProviderMapper(),
OperaPageViewControllerMapper(),
PlusSubscriptionMapper(),
ScCameraSettingsMapper(),
StoryBoostStateMapper(),
FriendsFeedEventDispatcherMapper(),
CompositeConfigurationProviderMapper(),

View File

@@ -1,25 +0,0 @@
package me.rhunk.snapenhance.mapper.impl
import me.rhunk.snapenhance.mapper.AbstractClassMapper
import me.rhunk.snapenhance.mapper.ext.findConstString
import me.rhunk.snapenhance.mapper.ext.getClassName
import me.rhunk.snapenhance.mapper.ext.getStaticConstructor
import me.rhunk.snapenhance.mapper.ext.isEnum
class ScCameraSettingsMapper : AbstractClassMapper("ScCameraSettings") {
val classReference = classReference("class")
init {
mapper {
for (clazz in classes) {
val firstConstructor = clazz.directMethods.firstOrNull { it.name == "<init>" } ?: continue
if (firstConstructor.parameterTypes.size < 27) continue
val firstParameter = getClass(firstConstructor.parameterTypes[0]) ?: continue
if (!firstParameter.isEnum() || firstParameter.getStaticConstructor()?.implementation?.findConstString("CONTINUOUS_PICTURE") != true) continue
classReference.set(clazz.getClassName())
return@mapper
}
}
}
}