@@ -167,25 +167,25 @@ val unlockPremiumPatch = bytecodePatch(
167
167
// Overwrite the context menu items list with a filtered version which does not include items which are
168
168
// Premium ads.
169
169
if (oldContextMenuViewModelAddItemFingerprint.matchOrNull(contextMenuViewModelClassDef) == null ) {
170
- val contextMenuItemInterfaceClassDef = browsePodcastsContextMenuItemClassFingerprint
171
- .originalClassDef
172
- .interfaces
173
- .firstOrNull()
174
- ?.let { interfaceName -> classes.find { it.type == interfaceName } }
175
- ? : throw PatchException (" Could not find context menu item interface." )
176
-
177
- val contextMenuItemInterfaceName = contextMenuItemInterfaceClassDef.type
178
-
179
- val contextMenuItemViewModelClassName = getViewModelFingerprint
180
- .matchOrNull(contextMenuItemInterfaceClassDef)
181
- ?.originalMethod
182
- ?.returnType
183
- ? : throw PatchException (" Could not find context menu item view model class." )
184
-
185
170
// Replace the placeholder context menu item interface name and the return value of getViewModel to the
186
171
// minified names used at runtime. The instructions need to match the original names so we can call the
187
172
// method in the extension.
188
173
extensionFilterContextMenuItemsFingerprint.method.apply {
174
+ val contextMenuItemInterfaceClassDef = browsePodcastsContextMenuItemClassFingerprint
175
+ .originalClassDef
176
+ .interfaces
177
+ .firstOrNull()
178
+ ?.let { interfaceName -> classes.find { it.type == interfaceName } }
179
+ ? : throw PatchException (" Could not find context menu item interface." )
180
+
181
+ val contextMenuItemInterfaceName = contextMenuItemInterfaceClassDef.type
182
+
183
+ val contextMenuItemViewModelClassName = getViewModelFingerprint
184
+ .matchOrNull(contextMenuItemInterfaceClassDef)
185
+ ?.originalMethod
186
+ ?.returnType
187
+ ? : throw PatchException (" Could not find context menu item view model class." )
188
+
189
189
val castContextMenuItemStubIndex = indexOfFirstInstructionOrThrow {
190
190
getReference<TypeReference >()?.type == CONTEXT_MENU_ITEM_PLACEHOLDER_CLASS_NAME
191
191
}
@@ -208,16 +208,18 @@ val unlockPremiumPatch = bytecodePatch(
208
208
)
209
209
}
210
210
211
- val filterContextMenuItemsDescriptor =
212
- " $EXTENSION_CLASS_DESCRIPTOR ->filterContextMenuItems(Ljava/util/List;)Ljava/util/List;"
211
+ contextMenuViewModelConstructorFingerprint.match(contextMenuViewModelClassDef).method.apply {
212
+ val filterContextMenuItemsDescriptor =
213
+ " $EXTENSION_CLASS_DESCRIPTOR ->filterContextMenuItems(Ljava/util/List;)Ljava/util/List;"
213
214
214
- contextMenuViewModelConstructorFingerprint.match(contextMenuViewModelClassDef).method.addInstructions(
215
- 0 ,
216
- """
217
- invoke-static { p3 }, $filterContextMenuItemsDescriptor
218
- move-result-object p3
219
- """
220
- )
215
+ addInstructions(
216
+ 0 ,
217
+ """
218
+ invoke-static { p3 }, $filterContextMenuItemsDescriptor
219
+ move-result-object p3
220
+ """
221
+ )
222
+ }
221
223
}
222
224
223
225
0 commit comments