Merge 友盟SDK升级 into yinyou_develop
This commit is contained in:
@@ -183,6 +183,10 @@ android {
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
accompany {
|
||||
dimension 'default'
|
||||
@@ -202,9 +206,7 @@ dependencies {
|
||||
|
||||
api 'androidx.multidex:multidex:2.0.1'
|
||||
|
||||
debugApi "com.squareup.leakcanary:leakcanary-android:1.6.3"
|
||||
releaseApi "com.squareup.leakcanary:leakcanary-android-no-op:1.6.3"
|
||||
stagingApi "com.squareup.leakcanary:leakcanary-android-no-op:1.6.3"
|
||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
|
||||
|
||||
api "com.orhanobut:dialogplus:1.11@aar"
|
||||
|
||||
|
56
app/proguard-rules.pro
vendored
56
app/proguard-rules.pro
vendored
@@ -386,3 +386,59 @@
|
||||
-keep class com.yuxiaor.flutter.g_faraday.** { *; }
|
||||
-keep class net.sqlcipher.** { *; }
|
||||
|
||||
# Alipay
|
||||
-keep class com.alipay.android.app.IAlixPay{*;}
|
||||
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
|
||||
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
|
||||
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
|
||||
-keep class com.alipay.sdk.app.PayTask{ public *;}
|
||||
-keep class com.alipay.sdk.app.AuthTask{ public *;}
|
||||
-keep class com.alipay.sdk.app.H5PayCallback {
|
||||
<fields>;
|
||||
<methods>;
|
||||
}
|
||||
-dontwarn android.net.**
|
||||
-keep class android.net.SSLCertificateSocketFactory{*;}
|
||||
-keep class com.alipay.android.phone.mrpc.core.** { *; }
|
||||
-keep class com.alipay.apmobilesecuritysdk.** { *; }
|
||||
-keep class com.alipay.mobile.framework.service.annotation.** { *; }
|
||||
-keep class com.alipay.mobilesecuritysdk.face.** { *; }
|
||||
-keep class com.alipay.tscenter.biz.rpc.** { *; }
|
||||
-keep class org.json.alipay.** { *; }
|
||||
-keep class com.alipay.tscenter.** { *; }
|
||||
-keep class com.ta.utdid2.** { *;}
|
||||
-keep class com.ut.device.** { *;}
|
||||
|
||||
# umeng-app
|
||||
-dontwarn com.umeng.**
|
||||
-keep class com.umeng.**
|
||||
-keep class com.umeng.** {*;}
|
||||
-keepclassmembers class * {
|
||||
public <init> (org.json.JSONObject);
|
||||
}
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
#腾讯崩溃收集
|
||||
-dontwarn com.tencent.bugly.**
|
||||
-keep public class com.tencent.bugly.**{*;}
|
||||
|
||||
# 易盾
|
||||
-keep class com.netease.mobsec.**{*;}
|
||||
|
||||
# linkedme
|
||||
-keep class com.microquation.linkedme.android.** { *; }
|
||||
|
||||
# 数美天网
|
||||
-keep class com.ishumei.dfp.SMSDK { *; }
|
||||
|
||||
-dontwarn com.alibaba.**
|
||||
-dontwarn com.taobao.**
|
||||
-dontwarn com.google.**
|
||||
-dontwarn edu.umd.cs.**
|
||||
-dontwarn org.apache.**
|
||||
-dontwarn com.amap.**
|
||||
|
||||
|
||||
|
@@ -15,7 +15,6 @@
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!-- 手机状态 -->
|
||||
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
||||
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
|
||||
|
||||
<!-- Required -->
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
@@ -20,11 +20,9 @@ import androidx.multidex.MultiDex;
|
||||
|
||||
import com.alibaba.security.biometrics.activity.ALBiometricsActivity;
|
||||
import com.alibaba.security.biometrics.activity.ALBiometricsDialogActivity;
|
||||
import com.alibaba.security.biometrics.activity.BaseBioNavigatorActivity;
|
||||
import com.alibaba.security.realidentity.RPVerify;
|
||||
import com.alibaba.security.realidentity.activity.RPTakePhotoActivity;
|
||||
import com.alibaba.security.realidentity.activity.RPWebViewActivity;
|
||||
import com.baidu.mobstat.StatService;
|
||||
import com.bumptech.glide.request.target.ViewTarget;
|
||||
import com.coorchice.library.utils.LogUtils;
|
||||
import com.huawei.hms.support.common.ActivityMgr;
|
||||
@@ -54,19 +52,14 @@ import com.scwang.smartrefresh.header.MaterialHeader;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
|
||||
import com.soundcloud.android.crop.CropImageActivity;
|
||||
import com.squareup.leakcanary.LeakCanary;
|
||||
import com.squareup.leakcanary.RefWatcher;
|
||||
import com.tencent.bugly.Bugly;
|
||||
import com.tencent.bugly.beta.Beta;
|
||||
import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.umeng.commonsdk.UMConfigure;
|
||||
import com.yizhuan.erban.BuildConfig;
|
||||
import com.yizhuan.erban.MainActivity;
|
||||
import com.yizhuan.erban.MiddleActivity;
|
||||
import com.yizhuan.erban.NimMiddleActivity;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.flutter.ChannelConstants;
|
||||
import com.yizhuan.erban.flutter.XplanFlutterBoostCallback;
|
||||
import com.yizhuan.erban.flutter.XplanFlutterBoostDelegate;
|
||||
import com.yizhuan.erban.module_hall.HallDataManager;
|
||||
@@ -119,14 +112,10 @@ import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.flutter.plugin.common.MethodChannel;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.plugins.RxJavaPlugins;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import io.realm.Realm;
|
||||
import io.realm.RealmConfiguration;
|
||||
import me.jessyan.autosize.AutoSizeConfig;
|
||||
import me.jessyan.autosize.external.ExternalAdaptManager;
|
||||
|
||||
import static com.yizhuan.xchat_android_constants.XChatConstants.HW_APP_ID;
|
||||
import static com.yizhuan.xchat_android_constants.XChatConstants.HW_CERTIFICATE_NAME;
|
||||
@@ -151,19 +140,9 @@ import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUS
|
||||
public class XChatApplication extends Application {
|
||||
public static final String TAG = "XChatApplication";
|
||||
private static XChatApplication instance;
|
||||
private RefWatcher mRefWatcher;
|
||||
|
||||
private static String oaid;
|
||||
private static boolean isSupportOaid = false;
|
||||
private static int errorCode;
|
||||
|
||||
public static String getOaid() {
|
||||
return oaid;
|
||||
}
|
||||
|
||||
// public static String getErrorCode() {
|
||||
// return String.valueOf(errorCode);
|
||||
// }
|
||||
public static boolean isSupportOaid() {
|
||||
return isSupportOaid;
|
||||
}
|
||||
@@ -174,7 +153,6 @@ public class XChatApplication extends Application {
|
||||
|
||||
public static void setIsSupportOaid(boolean isSupportOaid, int ErrorCode) {
|
||||
XChatApplication.isSupportOaid = isSupportOaid;
|
||||
XChatApplication.errorCode = ErrorCode;
|
||||
}
|
||||
|
||||
public static XChatApplication instance() {
|
||||
@@ -338,13 +316,7 @@ public class XChatApplication extends Application {
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
super.attachBaseContext(base);
|
||||
// you must install multiDex whatever tinker is installed!
|
||||
MultiDex.install(base);
|
||||
// try{
|
||||
// JLibrary.InitEntry(base);
|
||||
// }catch (Exception e){
|
||||
//
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
@@ -716,8 +688,6 @@ public class XChatApplication extends Application {
|
||||
|
||||
initRxNet(BasicConfig.INSTANCE.getAppContext(), UriProvider.JAVA_WEB_URL);
|
||||
|
||||
//内存泄漏监控
|
||||
setupLeakCanary();
|
||||
ConnectiveChangedReceiver.getInstance().init(this.getApplicationContext());
|
||||
/**
|
||||
* 使用到realm 数据库,这里配置数据库 这里必须先于模块初始化前进行初始化配置
|
||||
@@ -731,8 +701,6 @@ public class XChatApplication extends Application {
|
||||
|
||||
|
||||
LogUtil.i(TAG, channel);
|
||||
// initBaiduStatistic(channel); 百度统计
|
||||
initUmengAppStatistic(channel);
|
||||
//APP启动埋点
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_APP_LAUNCH, "应用启动");
|
||||
|
||||
@@ -782,29 +750,6 @@ public class XChatApplication extends Application {
|
||||
|
||||
}
|
||||
|
||||
private void initBaiduStatistic(String channel) {
|
||||
// 百度统计初始化
|
||||
StatService.setAppKey(Constants.BAIDU_APPKEY);
|
||||
StatService.setAppChannel(this.getApplicationContext(), channel, true);
|
||||
StatService.setOn(this.getApplicationContext(), StatService.EXCEPTION_LOG);
|
||||
StatService.setSessionTimeOut(30);
|
||||
StatService.setDebugOn(isDebug());
|
||||
}
|
||||
|
||||
private void initUmengAppStatistic(String channel) {
|
||||
// 友盟统计初始化
|
||||
UMConfigure.init(this.getApplicationContext(), XChatConstants.UMENG_APP_KEY,
|
||||
channel, UMConfigure.DEVICE_TYPE_PHONE, null);
|
||||
// 选用MANUAL页面采集模式
|
||||
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.MANUAL);
|
||||
// 支持在子进程中统计自定义事件
|
||||
UMConfigure.setProcessEvent(true);
|
||||
// 日志加密
|
||||
UMConfigure.setEncryptEnabled(true);
|
||||
// 集成测试
|
||||
UMConfigure.setLogEnabled(isRealDebug());
|
||||
}
|
||||
|
||||
private void initNimUIKit() {
|
||||
// 初始化
|
||||
NimUIKit.init(this);
|
||||
@@ -826,18 +771,6 @@ public class XChatApplication extends Application {
|
||||
}
|
||||
}
|
||||
|
||||
private void setupLeakCanary() {
|
||||
if (!BasicConfig.INSTANCE.isDebuggable()) {
|
||||
return;
|
||||
}
|
||||
if (LeakCanary.isInAnalyzerProcess(this)) {
|
||||
// This process is dedicated to LeakCanary for heap analysis.
|
||||
// You should not init your app in this process.
|
||||
return;
|
||||
}
|
||||
// enabledStrictMode();
|
||||
mRefWatcher = LeakCanary.install(this);
|
||||
}
|
||||
|
||||
private static void enabledStrictMode() {
|
||||
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
|
||||
@@ -862,10 +795,6 @@ public class XChatApplication extends Application {
|
||||
);
|
||||
}
|
||||
|
||||
public static RefWatcher getRefWatcher(Context context) {
|
||||
return instance().mRefWatcher;
|
||||
}
|
||||
|
||||
/**
|
||||
* debug 环境 受到实验室模式影响
|
||||
*/
|
||||
|
@@ -347,9 +347,6 @@ public abstract class BaseActivity extends RxAppCompatActivity
|
||||
|
||||
/* ImageLoadUtils.clearMemory(this);*/
|
||||
|
||||
if (XChatApplication.isDebug()) {
|
||||
XChatApplication.getRefWatcher(this).watch(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -150,9 +150,6 @@ public abstract class BaseFragment extends RxFragment implements KeyEvent.Callba
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (BasicConfig.INSTANCE.isDebuggable()) {
|
||||
XChatApplication.getRefWatcher(getActivity()).watch(this);
|
||||
}
|
||||
}
|
||||
|
||||
public int getRootLayoutId() {
|
||||
|
@@ -10,6 +10,7 @@ import android.text.TextUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -32,7 +33,7 @@ import io.reactivex.functions.BiConsumer;
|
||||
|
||||
public abstract class BaseLoginAct extends BaseActivity {
|
||||
|
||||
protected TextView tvProtocol;
|
||||
protected CheckBox tvProtocol;
|
||||
protected TextView wxLogin;
|
||||
protected TextView qqLogin;
|
||||
protected TextView tvLoginQuickPass;
|
||||
|
@@ -14,8 +14,12 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
import com.idlefish.flutterboost.FlutterBoost;
|
||||
import com.idlefish.flutterboost.containers.FlutterBoostFragment;
|
||||
import com.microquation.linkedme.android.LinkedME;
|
||||
import com.mob.MobSDK;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.umeng.commonsdk.UMConfigure;
|
||||
import com.yizhuan.erban.BuildConfig;
|
||||
import com.yizhuan.erban.MainActivity;
|
||||
import com.yizhuan.erban.NimMiddleActivity;
|
||||
import com.yizhuan.erban.R;
|
||||
@@ -24,9 +28,11 @@ import com.yizhuan.erban.databinding.ActivitySplashBinding;
|
||||
import com.yizhuan.erban.flutter.RouterConstants;
|
||||
import com.yizhuan.erban.other.SplashBitmapTransformation;
|
||||
import com.yizhuan.erban.other.dialog.PrivacyAgreementDialog;
|
||||
import com.yizhuan.xchat_android_constants.XChatConstants;
|
||||
import com.yizhuan.xchat_android_core.initial.InitialModel;
|
||||
import com.yizhuan.xchat_android_core.initial.SplashComponent;
|
||||
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
/**
|
||||
* @author xiaoyu
|
||||
@@ -44,7 +50,6 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
NimMiddleActivity.delayOpenCommunity = true;
|
||||
LinkedME.getInstance().setImmediate(true);
|
||||
//修复 https://blog.csdn.net/u011153817/article/details/77335255
|
||||
// https://blog.csdn.net/zhangcanyan/article/details/52777265 这样的启动异常问题.
|
||||
if (!isTaskRoot()) {
|
||||
@@ -100,10 +105,28 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener
|
||||
privacyAgreementDialog.setOnCallBack(this);
|
||||
privacyAgreementDialog.show();
|
||||
} else {
|
||||
initOtherSDK(BasicConfig.INSTANCE.getChannel());
|
||||
showSplash();
|
||||
}
|
||||
}
|
||||
|
||||
private void initOtherSDK(String channel) {
|
||||
LinkedME.getInstance().setImmediate(true);
|
||||
MobSDK.submitPolicyGrantResult(true, null);
|
||||
// 友盟统计初始化
|
||||
UMConfigure.init(this.getApplicationContext(), XChatConstants.UMENG_APP_KEY,
|
||||
channel, UMConfigure.DEVICE_TYPE_PHONE, null);
|
||||
// 选用MANUAL页面采集模式
|
||||
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.MANUAL);
|
||||
// 支持在子进程中统计自定义事件
|
||||
UMConfigure.setProcessEvent(true);
|
||||
// 日志加密
|
||||
UMConfigure.setEncryptEnabled(true);
|
||||
// 集成测试
|
||||
UMConfigure.setLogEnabled(BuildConfig.DEBUG);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void showSplash() {
|
||||
// 不过期的,并且已经下载出来图片的闪屏页数据
|
||||
@@ -192,6 +215,7 @@ public class SplashActivity extends BaseActivity implements View.OnClickListener
|
||||
public void onFinish(boolean isConfirm) {
|
||||
if (isConfirm) {
|
||||
SharedPreferenceUtils.put(SHOW_PRIVACY_AGREEMENT, false);
|
||||
initOtherSDK(BasicConfig.INSTANCE.getChannel());
|
||||
showSplash();
|
||||
} else {
|
||||
onBackPressed();
|
||||
|
@@ -41,6 +41,7 @@ public class PrivacyAgreementDialog extends Dialog implements View.OnClickListen
|
||||
setContentView(R.layout.dialog_privacy_agreement);
|
||||
|
||||
findViewById(R.id.tv_confirm).setOnClickListener(this);
|
||||
findViewById(R.id.btn_cancel).setOnClickListener(this);
|
||||
|
||||
TextView tvDesc = findViewById(R.id.tv_desc);
|
||||
String privacyAgreementTip = getContext().getString(R.string.tip_privacy_agreement);
|
||||
|
@@ -1,95 +0,0 @@
|
||||
package com.yizhuan.erban.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.bun.miitmdid.core.ErrorCode;
|
||||
import com.bun.miitmdid.core.MdidSdkHelper;
|
||||
import com.bun.supplier.IIdentifierListener;
|
||||
import com.bun.supplier.IdSupplier;
|
||||
import com.yizhuan.erban.application.XChatApplication;
|
||||
|
||||
/**
|
||||
* Created by zheng on 2019/8/22.
|
||||
*/
|
||||
|
||||
public class MiitHelper implements IIdentifierListener {
|
||||
|
||||
private AppIdsUpdater _listener;
|
||||
|
||||
public MiitHelper(AppIdsUpdater callback) {
|
||||
_listener = callback;
|
||||
}
|
||||
|
||||
|
||||
public void getDeviceIds(Context cxt) {
|
||||
long timeb = System.currentTimeMillis();
|
||||
int nres = CallFromReflect(cxt);
|
||||
// int nres=DirectCall(cxt);
|
||||
long timee = System.currentTimeMillis();
|
||||
long offset = timee - timeb;
|
||||
if (nres == ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT) {//1008612 不支持的设备
|
||||
XChatApplication.setIsSupportOaid(false, nres);
|
||||
} else if (nres == ErrorCode.INIT_ERROR_LOAD_CONFIGFILE) {//1008613 加载配置文件出错
|
||||
XChatApplication.setIsSupportOaid(false, nres);
|
||||
} else if (nres == ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT) {//1008611 不支持的设备厂商
|
||||
XChatApplication.setIsSupportOaid(false, nres);
|
||||
} else if (nres == ErrorCode.INIT_ERROR_RESULT_DELAY) {//1008614 获取接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程
|
||||
//TODO 这种情况,还不清楚怎么解决呢。暂且先返false
|
||||
XChatApplication.setIsSupportOaid(false, nres);
|
||||
} else if (nres == ErrorCode.INIT_HELPER_CALL_ERROR) {//1008615 反射调用出错
|
||||
XChatApplication.setIsSupportOaid(false, nres);
|
||||
}
|
||||
Log.d(getClass().getSimpleName(), "return value: " + String.valueOf(nres));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 通过反射调用,解决android 9以后的类加载升级,导至找不到so中的方法
|
||||
*
|
||||
* */
|
||||
private int CallFromReflect(Context cxt) {
|
||||
return MdidSdkHelper.InitSdk(cxt, true, this);
|
||||
}
|
||||
|
||||
/*
|
||||
* 直接java调用,如果这样调用,在android 9以前没有题,在android 9以后会抛找不到so方法的异常
|
||||
* 解决办法是和JLibrary.InitEntry(cxt),分开调用,比如在A类中调用JLibrary.InitEntry(cxt),在B类中调用MdidSdk的方法
|
||||
* A和B不能存在直接和间接依赖关系,否则也会报错
|
||||
*
|
||||
* */
|
||||
// private int DirectCall(Context cxt) {
|
||||
// MdidSdk sdk = new MdidSdk();
|
||||
// return sdk.InitSdk(cxt, this);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void OnSupport(boolean isSupport, IdSupplier _supplier) {
|
||||
if(_supplier==null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
String oaid=_supplier.getOAID();
|
||||
String vaid=_supplier.getVAID();
|
||||
String aaid=_supplier.getAAID();
|
||||
StringBuilder builder=new StringBuilder();
|
||||
// builder.append("support: ").append(isSupport?"true":"false").append("\n");
|
||||
// builder.append("OAID: ").append(oaid).append("\n");
|
||||
// builder.append("VAID: ").append(vaid).append("\n");
|
||||
// builder.append("AAID: ").append(aaid).append("\n");
|
||||
if(_listener!=null){
|
||||
_listener.OnIdsAvalid(oaid);
|
||||
}
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public interface AppIdsUpdater {
|
||||
void OnIdsAvalid(@NonNull String ids);
|
||||
}
|
||||
|
||||
}
|
@@ -1,36 +0,0 @@
|
||||
package com.yizhuan.erban.utils;
|
||||
|
||||
import com.yizhuan.erban.application.XChatApplication;
|
||||
|
||||
/**
|
||||
* @author: hgb
|
||||
* @createTime: 2019/9/27
|
||||
* @description:
|
||||
* @changed by:
|
||||
*/
|
||||
public class OAIDUtil {
|
||||
|
||||
|
||||
/**
|
||||
* 获取唯一标识idfa
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
/**
|
||||
* 获取Oaid
|
||||
*
|
||||
* @return oaid或错误码
|
||||
*/
|
||||
public static String getOaid() {
|
||||
String idfa;
|
||||
if (XChatApplication.isSupportOaid()) {
|
||||
idfa = XChatApplication.getOaid();
|
||||
} else {
|
||||
idfa = null;
|
||||
// idfa = "获取失败,ErrorCode: " + XChatApplication.getErrorCode();
|
||||
}
|
||||
return idfa;
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -25,7 +25,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="音游私政策"
|
||||
android:text="音游隐私政策"
|
||||
android:textColor="#ff1b1b1b"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
@@ -62,7 +62,6 @@
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/common_btn_bg"
|
||||
android:gravity="center"
|
||||
android:minHeight="50dp"
|
||||
@@ -70,4 +69,16 @@
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_cancel"
|
||||
android:layout_width="105dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:text="不同意"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="15sp" />
|
||||
|
||||
</LinearLayout>
|
@@ -20,8 +20,9 @@
|
||||
<string name="hint_login_password_2">请输入密码</string>
|
||||
<string name="text_login_to_register">立即注册</string>
|
||||
<string name="text_login_forget_password">忘记密码</string>
|
||||
<string name="text_login_protocol">登录即代表您同意%s与%s</string>
|
||||
<string name="text_login_protocol">同意%s与%s</string>
|
||||
<string name="text_login_protocol_2">注册即代表同意 %s</string>
|
||||
<string name="text_login_protocol_3">阅读并同意%s与\n%s方可登录</string>
|
||||
<string name="text_how_to_set_pwd">未设置兔兔密码的用户记得前往\n兔兔设置密码哦 %s</string>
|
||||
<string name="text_bind_and_login">登录并绑定</string>
|
||||
<string name="text_reset_password_now">立即重置</string>
|
||||
|
@@ -0,0 +1,88 @@
|
||||
package com.yizhuan.erban.quick_pass;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseDialog;
|
||||
import com.yizhuan.erban.common.widget.OriginalDrawStatusClickSpan;
|
||||
import com.yizhuan.erban.databinding.DialogProtocolBinding;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
|
||||
public class ProtocolDialog extends BaseDialog<DialogProtocolBinding> {
|
||||
|
||||
public static ProtocolDialog newInstance() {
|
||||
return new ProtocolDialog();
|
||||
}
|
||||
|
||||
private View.OnClickListener onClickListener;
|
||||
|
||||
public void setOnClickListener(View.OnClickListener onClickListener) {
|
||||
this.onClickListener = onClickListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
setProtocol();
|
||||
getBinding().btnCancel.setOnClickListener(v -> {
|
||||
if (onClickListener != null){
|
||||
onClickListener.onClick(v);
|
||||
}
|
||||
dismissAllowingStateLoss();
|
||||
});
|
||||
getBinding().btnOk.setOnClickListener(v -> {
|
||||
if (onClickListener != null){
|
||||
onClickListener.onClick(v);
|
||||
}
|
||||
dismissAllowingStateLoss();
|
||||
});
|
||||
}
|
||||
|
||||
protected void setProtocol() {
|
||||
Context context = requireContext();
|
||||
|
||||
String privacyAgreementTip = context.getString(R.string.tip_privacy_agreement);
|
||||
String userAgreementTip = context.getString(R.string.tip_user_agreement);
|
||||
String privacyAgreementDescTip = context.getString(R.string.text_login_protocol_3, privacyAgreementTip, userAgreementTip);
|
||||
SpannableString ss = new SpannableString(privacyAgreementDescTip);
|
||||
int privacyAgreementTipIndex = privacyAgreementDescTip.indexOf(privacyAgreementTip);
|
||||
int userAgreementTipIndex = privacyAgreementDescTip.indexOf(userAgreementTip);
|
||||
|
||||
|
||||
ss.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.appColor)), privacyAgreementTipIndex, privacyAgreementTipIndex + privacyAgreementTip.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
ss.setSpan(new OriginalDrawStatusClickSpan(ContextCompat.getColor(context, R.color.appColor)) {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
if (widget instanceof TextView)
|
||||
((TextView) widget).setHighlightColor(getResources().getColor(android.R.color.transparent));
|
||||
|
||||
CommonWebViewActivity.start(context, UriProvider.getPrivacyAgreement());
|
||||
}
|
||||
}, privacyAgreementTipIndex, privacyAgreementTipIndex + privacyAgreementTip.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
ss.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.appColor)), userAgreementTipIndex, userAgreementTipIndex + userAgreementTip.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
ss.setSpan(new OriginalDrawStatusClickSpan(ContextCompat.getColor(context, R.color.appColor)) {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
if (widget instanceof TextView)
|
||||
((TextView) widget).setHighlightColor(getResources().getColor(android.R.color.transparent));
|
||||
|
||||
CommonWebViewActivity.start(context, UriProvider.getUserProtocolUrl());
|
||||
}
|
||||
}, userAgreementTipIndex, userAgreementTipIndex + privacyAgreementTip.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
|
||||
getBinding().tvProtocol.setText(ss);
|
||||
getBinding().tvProtocol.setHighlightColor(Color.TRANSPARENT);
|
||||
getBinding().tvProtocol.setMovementMethod(new LinkMovementMethod());
|
||||
}
|
||||
}
|
@@ -127,6 +127,17 @@ public class QuickPassLoginAct extends BaseLoginAct implements View.OnClickListe
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (!tvProtocol.isChecked()) {
|
||||
ProtocolDialog protocolDialog = ProtocolDialog.newInstance();
|
||||
protocolDialog.setOnClickListener(view -> {
|
||||
if (view.getId() == R.id.btn_ok) {
|
||||
tvProtocol.setChecked(true);
|
||||
v.callOnClick();
|
||||
}
|
||||
});
|
||||
protocolDialog.show(this);
|
||||
return;
|
||||
}
|
||||
switch (v.getId()) {
|
||||
case R.id.img_wx_login:
|
||||
wxLogin();
|
||||
@@ -141,14 +152,10 @@ public class QuickPassLoginAct extends BaseLoginAct implements View.OnClickListe
|
||||
StatisticsProtocol.Event.EVENT_ONE_CLICK_LOGIN, "一键登录");
|
||||
preFetchMobileNum();
|
||||
break;
|
||||
|
||||
case R.id.img_phone_login:
|
||||
// phoneLogin.setEnabled(false);
|
||||
StatisticManager.Instance().onEvent(
|
||||
StatisticsProtocol.Event.EVENT_ONE_CLICK_LOGIN_CHANGE_ID, "一键登录-切换账号");
|
||||
// getDialogManager().showProgressDialog(QuickPassLoginAct.this);
|
||||
LoginPhoneActivity.start(QuickPassLoginAct.this);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -335,4 +342,13 @@ public class QuickPassLoginAct extends BaseLoginAct implements View.OnClickListe
|
||||
}
|
||||
|
||||
|
||||
private boolean checkProtocol() {
|
||||
|
||||
if (!tvProtocol.isChecked()) {
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -61,15 +61,18 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:ignore="SpUsage" />
|
||||
|
||||
<TextView
|
||||
<CheckBox
|
||||
android:id="@+id/tv_protocol"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_15"
|
||||
android:button="@null"
|
||||
android:drawableStart="@drawable/selector_radio_btn"
|
||||
android:text="@string/text_login_protocol"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textColor="#FFBBB1FF"
|
||||
android:textSize="@dimen/dp_12"
|
||||
android:drawablePadding="@dimen/dp_5"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -142,4 +145,4 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:text="遇到问题点击这里" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
70
app/src/module_quick_pass/res/layout/dialog_protocol.xml
Normal file
70
app/src/module_quick_pass/res/layout/dialog_protocol.xml
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<data>
|
||||
|
||||
</data>
|
||||
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="295dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@drawable/shape_white_corner_8dp"
|
||||
android:orientation="vertical"
|
||||
tools:background="@color/black_transparent_10">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="39dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="39dp"
|
||||
android:layout_marginBottom="@dimen/dp_14"
|
||||
android:singleLine="true"
|
||||
android:text="提示"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textStyle="bold"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_protocol"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="39dp"
|
||||
android:layout_marginEnd="39dp"
|
||||
android:layout_marginBottom="@dimen/dp_20"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="阅读并同意《隐私政策》与《用户协议》方可登录"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="13sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_ok"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@drawable/bg_common_confirm"
|
||||
android:gravity="center"
|
||||
android:text="同意"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="15sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_cancel"
|
||||
android:layout_width="105dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:text="暂不使用"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="15sp" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
@@ -12,8 +12,11 @@ buildscript {
|
||||
maven { url 'https://maven.aliyun.com/repository/public' }
|
||||
maven { url 'https://jitpack.io' }
|
||||
google()
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
maven {url 'http://developer.huawei.com/repo/'}
|
||||
maven { url "http://mvn.mob.com/android" }
|
||||
maven { url 'https://repo1.maven.org/maven2/' }
|
||||
maven { url 'https://dl.bintray.com/linkedme2016/lkme-deeplinks' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -31,12 +34,11 @@ buildscript {
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
maven { url 'https://maven.aliyun.com/repository/public' }
|
||||
maven { url 'https://jitpack.io' }
|
||||
maven { url "http://mvn.mob.com/android" }
|
||||
maven { url 'https://dl.bintray.com/umsdk/release' }
|
||||
maven { url 'https://repo1.maven.org/maven2/' }
|
||||
maven { url 'https://dl.bintray.com/linkedme2016/lkme-deeplinks' }
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
|
@@ -63,29 +63,19 @@ android {
|
||||
|
||||
}
|
||||
|
||||
def link_page = "1.1.16"
|
||||
def loggerVersion = "2.2.0"
|
||||
def BaiduMtjVersion = "3.8.2.1"
|
||||
def Lombok = "1.16.20"
|
||||
def umeng_common = "2.2.5"
|
||||
def umeng_analytics = "8.1.6"
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
api fileTree(dir: 'libs', include: ['*.jar'])
|
||||
testImplementation 'junit:junit:4.13.1'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||
|
||||
api "cc.linkedme.deeplinks:link-page:${link_page}"
|
||||
|
||||
api "com.orhanobut:logger:${loggerVersion}"
|
||||
|
||||
// 百度统计
|
||||
api "com.baidu.mobstat:mtj-sdk:${BaiduMtjVersion}"
|
||||
|
||||
// 友盟统计
|
||||
api "com.umeng.umsdk:analytics:${umeng_analytics}"
|
||||
api "com.umeng.umsdk:common:${umeng_common}"
|
||||
api 'com.umeng.umsdk:common:9.3.8'// 必选
|
||||
api 'com.umeng.umsdk:asms:1.2.2'// 必选
|
||||
|
||||
compileOnly "org.projectlombok:lombok:${Lombok}"
|
||||
annotationProcessor "org.projectlombok:lombok:${Lombok}"
|
||||
|
BIN
core/libs/LinkedME-Android-Deep-Linking-SDK-V1.1.21.jar
Normal file
BIN
core/libs/LinkedME-Android-Deep-Linking-SDK-V1.1.21.jar
Normal file
Binary file not shown.
67
core/proguard-rules.pro
vendored
67
core/proguard-rules.pro
vendored
@@ -19,70 +19,3 @@
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
|
||||
# Alipay
|
||||
-keep class com.alipay.android.app.IAlixPay{*;}
|
||||
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
|
||||
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
|
||||
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
|
||||
-keep class com.alipay.sdk.app.PayTask{ public *;}
|
||||
-keep class com.alipay.sdk.app.AuthTask{ public *;}
|
||||
-keep class com.alipay.sdk.app.H5PayCallback {
|
||||
<fields>;
|
||||
<methods>;
|
||||
}
|
||||
-dontwarn android.net.**
|
||||
-keep class android.net.SSLCertificateSocketFactory{*;}
|
||||
-keep class com.alipay.android.phone.mrpc.core.** { *; }
|
||||
-keep class com.alipay.apmobilesecuritysdk.** { *; }
|
||||
-keep class com.alipay.mobile.framework.service.annotation.** { *; }
|
||||
-keep class com.alipay.mobilesecuritysdk.face.** { *; }
|
||||
-keep class com.alipay.tscenter.biz.rpc.** { *; }
|
||||
-keep class org.json.alipay.** { *; }
|
||||
-keep class com.alipay.tscenter.** { *; }
|
||||
-keep class com.ta.utdid2.** { *;}
|
||||
-keep class com.ut.device.** { *;}
|
||||
|
||||
# umeng-app
|
||||
-dontwarn com.umeng.**
|
||||
-keep class com.umeng.**
|
||||
-keep class com.umeng.** {*;}
|
||||
-keepclassmembers class * {
|
||||
public <init> (org.json.JSONObject);
|
||||
}
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
#腾讯崩溃收集
|
||||
-dontwarn com.tencent.bugly.**
|
||||
-keep public class com.tencent.bugly.**{*;}
|
||||
|
||||
# 易盾
|
||||
-keep class com.netease.mobsec.**{*;}
|
||||
|
||||
# linkedme
|
||||
-keep class com.microquation.linkedme.android.** { *; }
|
||||
|
||||
# 数美天网
|
||||
-keep class com.ishumei.dfp.SMSDK { *; }
|
||||
|
||||
# shareSdk
|
||||
-keep class cn.sharesdk.**
|
||||
-keep class com.mob.**
|
||||
-keep class cn.sharesdk.**{*;}
|
||||
-keep class com.sina.**{*;}
|
||||
-keep class **.R$* {*;}
|
||||
-keep class **.R{*;}
|
||||
-keep class com.mob.**{*;}
|
||||
-dontwarn com.mob.**
|
||||
-dontwarn cn.sharesdk.**
|
||||
-dontwarn **.R$*
|
||||
|
||||
-dontwarn com.alibaba.**
|
||||
-dontwarn com.taobao.**
|
||||
-dontwarn com.google.**
|
||||
-dontwarn edu.umd.cs.**
|
||||
-dontwarn org.apache.**
|
||||
-dontwarn com.amap.**
|
||||
|
Binary file not shown.
BIN
core/share-sdk-libs/MobCommonsMC-2021.0416.1200.jar
Normal file
BIN
core/share-sdk-libs/MobCommonsMC-2021.0416.1200.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
core/share-sdk-libs/MobToolsMC-2021.0416.1200.jar
Normal file
BIN
core/share-sdk-libs/MobToolsMC-2021.0416.1200.jar
Normal file
Binary file not shown.
@@ -155,12 +155,12 @@ public class XChatConstants {
|
||||
/**
|
||||
* 分享房间文本
|
||||
*/
|
||||
public static final String SHARE_ROOM_TEXT = "带你走进Ta的房间——";
|
||||
public static final String SHARE_ROOM_TEXT = "免费报名,奖金高,比赛多";
|
||||
|
||||
/**
|
||||
* 分享房间标题
|
||||
*/
|
||||
public static final String SHARE_ROOM_TITLE = "听声音玩游戏交朋友,来音游";
|
||||
public static final String SHARE_ROOM_TITLE = "玩和平精英赢奖金";
|
||||
|
||||
/**
|
||||
* 分享房间 URL
|
||||
|
@@ -155,7 +155,7 @@ public class ShareModel extends BaseModel implements IShareModel {
|
||||
//无UI API
|
||||
if (userInfo != null && platform != null) {
|
||||
Platform.ShareParams sp = new Platform.ShareParams();
|
||||
sp.setText(userInfo.getNick() + XChatConstants.SHARE_ROOM_TEXT + title);
|
||||
sp.setText(XChatConstants.SHARE_ROOM_TEXT);
|
||||
sp.setTitle(XChatConstants.SHARE_ROOM_TITLE);
|
||||
sp.setImageUrl(userInfo.getAvatar());
|
||||
final String siteUrl = UriProvider.IM_SERVER_URL + XChatConstants.SHARE_ROOM_URL +
|
||||
@@ -165,7 +165,7 @@ public class ShareModel extends BaseModel implements IShareModel {
|
||||
URLEncoder.encode( UserModel.get().getCacheLoginUserInfo().getNick(), "utf8");
|
||||
//QQ空间分享
|
||||
|
||||
sp.setSite(userInfo.getNick() + XChatConstants.SHARE_ROOM_TEXT + title);
|
||||
sp.setSite(XChatConstants.SHARE_ROOM_TEXT);
|
||||
sp.setSiteUrl(siteUrl);
|
||||
//QQ分享
|
||||
sp.setTitleUrl(siteUrl);
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package com.yizhuan.xchat_android_core.statistic;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
|
||||
import com.baidu.mobstat.StatService;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
|
||||
import java.util.Map;
|
||||
@@ -18,37 +18,26 @@ import java.util.Map;
|
||||
public class StatisticModel {
|
||||
|
||||
void onEventEnd(Context context, String eventId, String eventLabel, Map<String, String> arguments) {
|
||||
if (arguments == null) {
|
||||
StatService.onEventEnd(context, eventId, eventLabel);
|
||||
MobclickAgent.onPageEnd(eventId);
|
||||
} else {
|
||||
StatService.onEventEnd(context, eventId, eventLabel, arguments);
|
||||
MobclickAgent.onPageEnd(eventId);
|
||||
}
|
||||
MobclickAgent.onPageEnd(eventId);
|
||||
}
|
||||
|
||||
void onEventStart(Context context, String eventId, String eventLabel) {
|
||||
StatService.onEventStart(context, eventId, eventLabel);
|
||||
MobclickAgent.onPageStart(eventId);
|
||||
}
|
||||
|
||||
void onEvent(Context context, String eventId, String eventLabel, Map<String, String> arguments) {
|
||||
if (arguments != null) {
|
||||
StatService.onEvent(context, eventId, eventLabel, 1, arguments);
|
||||
MobclickAgent.onEvent(context, eventId, arguments);
|
||||
} else {
|
||||
StatService.onEvent(context, eventId, eventLabel);
|
||||
MobclickAgent.onEvent(context, eventId, eventLabel);
|
||||
}
|
||||
}
|
||||
|
||||
void onResume(Context context) {
|
||||
StatService.onResume(context);
|
||||
MobclickAgent.onResume(context);
|
||||
}
|
||||
|
||||
void onPause(Context context) {
|
||||
StatService.onPause(context);
|
||||
MobclickAgent.onPause(context);
|
||||
}
|
||||
|
||||
@@ -59,7 +48,6 @@ public class StatisticModel {
|
||||
* @param pageName 页面名称
|
||||
*/
|
||||
void onPageStart(Context context, String pageName) {
|
||||
StatService.onPageStart(context, pageName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -69,7 +57,6 @@ public class StatisticModel {
|
||||
* @param pageName 页面名称
|
||||
*/
|
||||
void onPageEnd(Context context, String pageName) {
|
||||
StatService.onPageEnd(context, pageName);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user