@@ -255,6 +255,16 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor {
255255 methodVisitor. visitVarInsn(ALOAD , 2 )
256256 methodVisitor. visitVarInsn(ASTORE , localId)
257257 localIds. add(localId)
258+ } else if (nameDesc == " onCheckedChanged(Landroid/widget/RadioGroup;I)V" && pubAndNoStaticAccess) {
259+ localIds = new ArrayList<> ()
260+ int firstLocalId = newLocal(Type . getObjectType(" android/widget/RadioGroup" ))
261+ methodVisitor. visitVarInsn(ALOAD , 1 )
262+ methodVisitor. visitVarInsn(ASTORE , firstLocalId)
263+ localIds. add(firstLocalId)
264+ int secondLocalId = newLocal(Type . INT_TYPE )
265+ methodVisitor. visitVarInsn(ILOAD , 2 )
266+ methodVisitor. visitVarInsn(ISTORE , secondLocalId)
267+ localIds. add(secondLocalId)
258268 }
259269 if (transformHelper. isHookOnMethodEnter) {
260270 handleCode()
@@ -422,6 +432,17 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor {
422432 methodVisitor. visitMethodInsn(INVOKESTATIC , SensorsAnalyticsHookConfig . SENSORS_ANALYTICS_API , " trackListView" , " (Landroid/widget/AdapterView;Landroid/view/View;I)V" , false )
423433 isHasTracked = true
424434 return
435+ } else if (mInterfaces. contains(' android/widget/RadioGroup$OnCheckedChangeListener' )
436+ && nameDesc == ' onCheckedChanged(Landroid/widget/RadioGroup;I)V' ) {
437+ SensorsAnalyticsMethodCell sensorsAnalyticsMethodCell = SensorsAnalyticsHookConfig . INTERFACE_METHODS
438+ .get(' android/widget/RadioGroup$OnCheckedChangeListeneronCheckedChanged(Landroid/widget/RadioGroup;I)V' )
439+ if (sensorsAnalyticsMethodCell != null ) {
440+ methodVisitor. visitVarInsn(ALOAD , localIds. get(0 ))
441+ methodVisitor. visitVarInsn(ILOAD , localIds. get(1 ))
442+ methodVisitor. visitMethodInsn(INVOKESTATIC , SensorsAnalyticsHookConfig . SENSORS_ANALYTICS_API , sensorsAnalyticsMethodCell. agentName, sensorsAnalyticsMethodCell. agentDesc, false )
443+ isHasTracked = true
444+ return
445+ }
425446 } else {
426447 for (interfaceName in mInterfaces) {
427448 SensorsAnalyticsMethodCell sensorsAnalyticsMethodCell = SensorsAnalyticsHookConfig . INTERFACE_METHODS . get(interfaceName + nameDesc)
0 commit comments