Skip to content

Commit 86b113a

Browse files
committed
Release 3.0.4
1 parent 2989bbc commit 86b113a

17 files changed

+70
-22
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ compile 'com.android.support:appcompat-v7:25.1.1'
6262

6363
[tracklytics](https://github.com/orhanobut/tracklytics)
6464

65+
66+
## 新书推荐
67+
神策数据出品的[《Android 全埋点解决方案》](https://item.jd.com/12574672.html)发售啦!!!
68+
69+
[![《Android 全埋点解决方案》](screenshots/android_autotrack_book.png)](https://item.jd.com/12574672.html)
70+
6571
## To Learn More
6672

6773
See our [full manual](http://www.sensorsdata.cn/manual/android_sdk.html)

aop/ext.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
project.ext {
2-
pluginVersion = '3.0.3'
2+
pluginVersion = '3.0.4'
33
Properties properties = new Properties()
44
if (project.file('local.properties').exists()) {
55
properties.load(project.file('local.properties').newDataInputStream())

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/ClassNameAnalytics.groovy

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by renqingyou on 2018/11/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin
25

36
class ClassNameAnalytics {
@@ -25,8 +28,8 @@ class ClassNameAnalytics {
2528
return isSALog || isSensorsDataAPI || isSensorsDataUtils
2629
}
2730

28-
boolean isViewPager() {
29-
return className == 'android.support.v4.view.ViewPager' || className == 'androidx.viewpager.widget.ViewPager'
31+
boolean isLeanback() {
32+
return className.startsWith("android.support.v17.leanback") || className.startsWith("androidx.leanback")
3033
}
3134

3235
boolean isAndroidGenerated() {

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/Logger.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/**Created by wangzhuozhou on 2015/08/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
13
package com.sensorsdata.analytics.android.plugin
24

35
import java.lang.reflect.Array
@@ -11,7 +13,7 @@ class Logger {
1113
* 设置是否打印日志
1214
*/
1315
static void setDebug(boolean isDebug) {
14-
this.debug = isDebug
16+
debug = isDebug
1517
}
1618

1719
static boolean isDebug() {

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsClassVisitor.groovy

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by wangzhuozhou on 2015/08/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin
25

36
import org.objectweb.asm.AnnotationVisitor
@@ -7,7 +10,7 @@ import org.objectweb.asm.MethodVisitor
710
import org.objectweb.asm.Opcodes
811
import org.objectweb.asm.Type
912

10-
class SensorsAnalyticsClassVisitor extends ClassVisitor implements Opcodes {
13+
class SensorsAnalyticsClassVisitor extends ClassVisitor {
1114
private String mClassName
1215
private String mSuperName
1316
private String[] mInterfaces
@@ -225,15 +228,6 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor implements Opcodes {
225228
}
226229
}
227230

228-
/**
229-
* 处理 ViewPager
230-
*/
231-
if (nameDesc == 'dispatchOnPageSelected(I)V' && (mClassName == 'android/support/v4/view/ViewPager' || mClassName == 'androidx/viewpager/widget/ViewPager')) {
232-
trackViewOnClick(methodVisitor, 0)
233-
isHasTracked = true
234-
return
235-
}
236-
237231
if (!pubAndNoStaticAccess) {
238232
return
239233
}
@@ -253,7 +247,10 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor implements Opcodes {
253247

254248
/**
255249
* Fragment
256-
* 目前支持 android/support/v4/app/ListFragment 和 android/support/v4/app/Fragment
250+
* 目前支持以下 Fragment 页面浏览事件:
251+
* android/app/Fragment,android/app/ListFragment, android/app/DialogFragment,
252+
* android/support/v4/app/Fragment,android/support/v4/app/ListFragment,android/support/v4/app/DialogFragment,
253+
* androidx/fragment/app/Fragment,androidx/fragment/app/ListFragment,androidx/fragment/app/DialogFragment
257254
*/
258255
if (SensorsAnalyticsUtil.isInstanceOfFragment(mSuperName)) {
259256
SensorsAnalyticsMethodCell sensorsAnalyticsMethodCell = SensorsAnalyticsHookConfig.sFragmentMethods.get(nameDesc)
@@ -288,13 +285,13 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor implements Opcodes {
288285
return
289286
}
290287

291-
if (mClassName == 'android/databinding/generated/callback/OnClickListener' && isOnClickMethod) {
288+
if (isOnClickMethod && mClassName == 'android/databinding/generated/callback/OnClickListener') {
292289
trackViewOnClick(methodVisitor, 1)
293290
isHasTracked = true
294291
return
295292
}
296293

297-
if (mClassName.startsWith('android/') || mClassName.startsWith('androidx/')) {
294+
if ((mClassName.startsWith('android/') || mClassName.startsWith('androidx/')) && !(mClassName.startsWith("android/support/v17/leanback") || mClassName.startsWith("androidx/leanback"))) {
298295
return
299296
}
300297

@@ -378,7 +375,7 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor implements Opcodes {
378375
}
379376
}
380377
//如果java version 为1.5以前的版本,则使用JSRInlinerAdapter来删除JSR,RET指令
381-
if (version <= V1_5) {
378+
if (version <= Opcodes.V1_5) {
382379
return new SensorsAnalyticsJSRAdapter(Opcodes.ASM5, sensorsAnalyticsDefaultMethodVisitor, access, name, desc, signature, exceptions)
383380
}
384381
return sensorsAnalyticsDefaultMethodVisitor

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsDefaultMethodVisitor.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by wangzhuozhou on 2015/08/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin
25

36
import org.objectweb.asm.AnnotationVisitor

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsExtension.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by wangzhuozhou on 2015/08/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin
25

36
import org.gradle.api.Action

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsHookConfig.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by wangzhuozhou on 2015/08/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin
25

36
import jdk.internal.org.objectweb.asm.Opcodes

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsJSRAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by renqingyou on 2018/12/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin;
25

36
import org.objectweb.asm.MethodVisitor;

aop/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsMethodCell.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**Created by wangzhuozhou on 2015/08/01.
2+
* Copyright © 2015-2019 Sensors Data Inc. All rights reserved. */
3+
14
package com.sensorsdata.analytics.android.plugin
25

36
class SensorsAnalyticsMethodCell {

0 commit comments

Comments
 (0)