diff --git a/app/build.gradle b/app/build.gradle index 388c8e1..e6f500c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -75,31 +75,22 @@ android { versionCode 21 versionName "3.0" buildConfigField "String", "platform", '"ZhanRui"' - manifestPlaceholders = [ - AMAP_KEY: "6e339305206eeb43f2b4cc1f31751f89" - ] } //酷比魔方 cube { flavorDimensions "default" - versionCode 43 - versionName "5.2" + versionCode 44 + versionName "5.3" buildConfigField "String", "platform", '"ZhanRuiCube"' - manifestPlaceholders = [ - AMAP_KEY: "6e339305206eeb43f2b4cc1f31751f89" - ] } //MTK MTKnewly { flavorDimensions "default" - versionCode 21 - versionName "3.0" + versionCode 22 + versionName "3.1" buildConfigField "String", "platform", '"MTK"' - manifestPlaceholders = [ - AMAP_KEY: "1af68e0a7edcaac82678b1cbb7643408" - ] } } @@ -280,49 +271,34 @@ dependencies { //implementation "com.uber.autodispose:autodispose-android-archcomponents:1.3.0" //Google implementation 'com.google.code.gson:gson:2.9.0' - implementation 'com.google.zxing:core:3.4.1' + implementation 'com.google.zxing:core:3.5.0' //图片加载框架 - implementation 'com.github.bumptech.glide:glide:4.13.1' - annotationProcessor 'com.github.bumptech.glide:compiler:4.13.1' + implementation 'com.github.bumptech.glide:glide:4.13.2' + annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2' // debugImplementation because LeakCanary should only run in debug builds. - debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1' + debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1' //磁盘缓存 implementation 'com.jakewharton:disklrucache:2.0.2' //fastjson - implementation 'com.alibaba:fastjson:1.2.79' - //极光推送 -// implementation 'cn.jiguang.sdk:jpush:4.3.0' // 此处以JPush 3.5.6 版本为例。 -// implementation 'cn.jiguang.sdk:jcore:2.9.0' // 此处以JCore 2.2.8 版本为例。 - //高德地图定位 -// implementation 'com.amap.api:location:5.1.0' + implementation 'com.alibaba:fastjson:1.2.83' //百度地图 implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8' //MMKV implementation 'com.tencent:mmkv-static:1.2.13' //腾讯移动推送 TPNS implementation 'com.tencent.tpns:tpns:1.3.2.0-release' -// //RxHttp -// implementation 'com.github.liujingxing.rxhttp:rxhttp:2.6.5' -// //implementation 'com.squareup.okhttp3:okhttp:4.9.1' //rxhttp v2.2.2版本起,需要手动依赖okhttp -// annotationProcessor 'com.github.liujingxing.rxhttp:rxhttp-compiler:2.6.5' -// //生成RxHttp类,纯Java项目,请使用annotationProcessor代替kapt -// implementation 'com.github.liujingxing.rxlife:rxlife-coroutine:2.1.0' //管理协程生命周期,页面销毁,关闭请求 -// //rxjava2 (RxJava2/Rxjava3二选一,使用asXxx方法时必须) -// //implementation 'io.reactivex.rxjava2:rxjava:2.2.8' -// //implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' -// implementation 'com.github.liujingxing.rxlife:rxlife-rxjava2:2.1.0' //管理RxJava2生命周期,页面销毁,关闭请求 //工具类 implementation 'com.blankj:utilcodex:1.31.0' //Aria implementation 'com.arialyy.aria:core:3.8.15' annotationProcessor 'com.arialyy.aria:compiler:3.8.15' //压缩文件解压 - implementation 'org.zeroturnaround:zt-zip:1.14' + implementation 'org.zeroturnaround:zt-zip:1.15' //更换字体框架 implementation 'uk.co.chrisjenx:calligraphy:2.3.0' //Java WebSocket - implementation "org.java-websocket:Java-WebSocket:1.5.2" + implementation "org.java-websocket:Java-WebSocket:1.5.3" //状态栏透明 implementation 'com.gitee.zackratos:UltimateBarX:0.8.0' // // 基础依赖包,必须要依赖 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bab9a2..f4683f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -120,15 +120,6 @@ - - - - - - - - - @@ -293,202 +284,25 @@ + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java index fa4b805..ede6cee 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java @@ -162,7 +162,6 @@ public class SplashActivity extends AppCompatActivity { // Log.i(TAG, "debugTest: iptables = " + CmdUtil.execute("iptables -L -n" ).toString()); Log.i(TAG, "debugTest: " + Utils.getAndroid10MAC(this)); -// Log.i(TAG, "debugTest: " + JPushInterface.getRegistrationID(this)); Log.e(TAG, "getCustomVersion: " + Utils.getCustomVersion()); Log.e(TAG, "getRomVersion: " + Utils.getRomVersion()); Log.i(TAG, "debugTest: " + BuildConfig.VERSION_NAME); @@ -177,8 +176,6 @@ public class SplashActivity extends AppCompatActivity { // } // ActivityManager mAm = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); // mAm.killBackgroundProcesses("com.android.documentsui"); -// BaseApplication.cleanJpushAlias(); -// BaseApplication.cleanJpushTag(); Log.e(TAG, "debugTest: " + new Gson().toJson(MMKV.defaultMMKV().allKeys())); Log.e(TAG, "debugTest: SPUtils all " + new Gson().toJson(SPUtils.getAll(this))); try { diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java index 8e06047..01ff889 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java @@ -189,7 +189,7 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma } @Override - public void setJpushPlatformTagsFinish() { + public void setPushPlatformTagsFinish() { mCheckNetPresenter.checkAoleyunUpdate(); } diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java index 6d0744d..4dfae1b 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java +++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java @@ -19,7 +19,7 @@ public class CheckNetContact { //获取电子书包激活码 void getEBagCode(); //设置极光推送平台标签 - void setJpushPlatformTags(int platform); + void setPushPlatformTags(int platform); //获取设备信息更新 void checkAoleyunUpdate(); @@ -94,7 +94,7 @@ public class CheckNetContact { //获取电子书包激活码 void getEBagCodeFinish(); //设置极光推送平台标签 - void setJpushPlatformTagsFinish(); + void setPushPlatformTagsFinish(); //获取设备信息更新 void checkAoleyunUpdateFinish(); diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java index ec91f27..8e2cde9 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java @@ -164,8 +164,8 @@ public class CheckNetPresenter implements CheckNetContact.Presenter { } @Override - public void setJpushPlatformTags(int platform) { - mView.setJpushPlatformTagsFinish(); + public void setPushPlatformTags(int platform) { + mView.setPushPlatformTagsFinish(); } @Override diff --git a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java index 1495aee..ee2a764 100644 --- a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java +++ b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java @@ -5,7 +5,6 @@ import android.content.Context; import android.os.Handler; import android.os.Looper; import android.os.Process; -import android.text.TextUtils; import android.util.Log; import androidx.multidex.MultiDexApplication; @@ -14,7 +13,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.manager.AmapManager; +import com.aoleyun.sn.manager.MapManager; import com.aoleyun.sn.manager.ConnectManager; import com.aoleyun.sn.manager.FileManager; import com.aoleyun.sn.network.NetInterfaceManager; @@ -30,7 +29,6 @@ import com.aoleyun.sn.utils.Utils; import com.aoleyun.sn.utils.WiFiUtils; import com.aoleyun.sn.utils.XAPKUtils; import com.arialyy.aria.core.Aria; -import com.arialyy.aria.core.download.DownloadEntity; import com.tencent.android.tpush.XGIOperateCallback; import com.tencent.android.tpush.XGPushConfig; import com.tencent.android.tpush.XGPushManager; @@ -59,24 +57,20 @@ import okhttp3.Response; public class BaseApplication extends MultiDexApplication { private static final String TAG = BaseApplication.class.getSimpleName(); - @SuppressLint("StaticFieldLeak") - public static Context context; - - public static Context getAppContext() { - return context; - } - @Override public void onCreate() { super.onCreate(); - context = this.getApplicationContext(); -// if (SystemUtils.isMainProcessName(this, Process.myPid())) { - //非主进程不初始化 - init(); -// } + if (SystemUtils.isMainProcessName(this, Process.myPid())) { + //非主进程不初始化 + init(); + } } private void init() { + if (!BuildConfig.DEBUG) { + catchException(); + } + String rootDir = MMKV.initialize(this); Log.e(TAG, "mmkv root: " + rootDir); @@ -89,35 +83,12 @@ public class BaseApplication extends MultiDexApplication { LogDBManager.init(this); FileManager.init(this); ConnectManager.init(this); - AmapManager.init(this); - AmapManager.getInstance().initAmap(); - + MapManager.init(this); + MapManager.getInstance().initMap(); JGYUtils.getInstance().hookWebView(); - - // 设置开启日志,发布时请关闭日志 -// JPushInterface.setDebugMode(true); -// JPushInterface.requestPermission(this); - //解锁设备不需要初始化 - // 初始化 JPush - //JPushInterface.init(this); Aria.init(this); Aria.get(this).getDownloadConfig().setMaxTaskNum(1); Aria.get(this).getDownloadConfig().setConvertSpeed(true); - - if (!BuildConfig.DEBUG) { - catchException(); - } -// Configuration config = getResources().getConfiguration(); -// int smallestScreenWidthDp = config.smallestScreenWidthDp; -// Log.e("init", "smallestScreenWidthDp=" + smallestScreenWidthDp); -// CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() -// .setDefaultFontPath("fonts/1234.ttf") -// .setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf") -// .setFontAttrId(R.attr.fontPath) -// .build() -// ); - initAliasObservable(); - initTagObservable(); } private void catchException() { @@ -179,362 +150,4 @@ public class BaseApplication extends MultiDexApplication { } }); } - - private static void initAliasObservable() { - Log.e(TAG, "initAliasObservable: "); - Observable.create(new ObservableOnSubscribe() { - @Override - public void subscribe(ObservableEmitter emitter) throws Exception { - onAliasResult = new OnAliasResult() { - @Override - public void onResult(int code) { - Log.e("initAliasObservable", "onResult: " + code); - emitter.onNext(code); - } - }; - } - }).throttleLast(1, TimeUnit.HOURS) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(Integer integer) { - Log.e("initAliasObservable", "onNext: " + integer); - String s = "alias:\t"; - switch (integer) { - case 0: - Log.e("jiguangInterface", s + "Alias绑定成功"); - break; - case 6001: - Log.e("jiguangInterface", s + "无效的设置"); - break; - case 6011: - Log.e("jiguangInterface", s + "短时间内操作过于频繁"); - break; - case 6013: - Log.e("jiguangInterface", s + "用户设备时间轴异常"); - ToastUtil.show("用户设备时间轴异常,修改后重新登陆\t" + s + "code:6013"); - break; - case 6022: - Log.e("jiguangInterface", s + "alias 操作正在进行中"); - break; - //需要重新设置 - case 6002: - Log.e("jiguangInterface", s + "设置超时,请重试"); - setJpushAlias(); - break; - case 6014: - Log.e("jiguangInterface", s + "服务器繁忙,建议重试"); - setJpushAlias(); - break; - case 6020: - Log.e("jiguangInterface", s + "建议过一段时间再设置"); - setJpushAlias(); - break; - case 6024: - Log.e("jiguangInterface", s + "服务器内部错误"); - setJpushAlias(); - break; - case 6017: - case 6027: - Log.e("jiguangInterface", s + "别名绑定的设备数超过限制"); -// cleanJpushAlias(); - setJpushAlias(); - break; - default: - break; - } - - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - }); - } - -// public void onAliasOperatorResult(JPushMessage jPushMessage) { -// if (jPushMessage == null) { -// return; -// } -// int errorCode = jPushMessage.getErrorCode(); -// onAliasResult.onResult(errorCode); -// } - - public static void setJpushAlias() { - Log.e("jiguangInterface", "30s后重新设置alias"); -// JPushInterface.setAlias(getAppContext(), TagAliasOperatorHelper.sequence++, Utils.getSerial()); - } - - private static void initTagObservable() { - Log.e(TAG, "initTagObservable: "); - Observable.create(new ObservableOnSubscribe() { - @Override - public void subscribe(ObservableEmitter emitter) { - onTagResult = new OnTagResult() { - @Override - public void onResult(int code) { - Log.e("initTagObservable", "onResult: " + code); - emitter.onNext(code); - } - }; - } - }).throttleLast(1, TimeUnit.HOURS) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(Integer integer) { - Log.e("initTagObservable", "onNext: " + integer); - String s = "tags:\t"; - switch (integer) { - case 0: - Log.e("jiguangInterface", s + "Tag绑定成功"); - break; - case 6001: - Log.e("jiguangInterface", s + "无效的设置"); - break; - case 6005: - Log.e("jiguangInterface", s + "某一个 tag 字符串不合法"); - ToastUtil.show("设备标签不合法,联系管理员修改\t" + "code:6005"); - break; - case 6006: - Log.e("jiguangInterface", s + "某一个 tag 超长"); - ToastUtil.show("设备标签过长,联系管理员修改\t" + "code:6006"); - break; - case 6007: - Log.e("jiguangInterface", s + "tags 数量超出限制"); - ToastUtil.show("设备标签数量超出限制,联系管理员修改\t" + "code:6007"); - break; - case 6008: - Log.e("jiguangInterface", s + "tag 超出总长度限制"); - ToastUtil.show("设备标签超出总长度限制,联系管理员修改\t" + "code:6008"); - break; - case 6011: - Log.e("jiguangInterface", s + "短时间内操作过于频繁"); - break; - case 6013: - Log.e("jiguangInterface", s + "用户设备时间轴异常"); - ToastUtil.show("用户设备时间轴异常,修改后重新登陆\t" + "code:6013"); - break; - case 6018: - Log.e("jiguangInterface", s + "Tags 过多"); -// cleanJpushTag(); - ToastUtil.show("设备标签数量超出限制,联系管理员修改\t" + "code:6018"); - break; - case 6021: - Log.e("jiguangInterface", s + "tags 操作正在进行中"); - break; - //需要重新设置 - case 6002: - Log.e("jiguangInterface", s + "设置超时,请重试"); - setJpushTags(); - break; - case 6014: - Log.e("jiguangInterface", s + "服务器繁忙,建议重试"); - setJpushTags(); - break; - case 6020: - Log.e("jiguangInterface", s + "建议过一段时间再设置"); - setJpushTags(); - break; - case 6024: - Log.e("jiguangInterface", s + "服务器内部错误"); - setJpushTags(); - break; - default: - break; - } - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - }); - } - - public static void setJpushTags() { - Log.e(TAG, "30s后重新设置tags"); - } - - private static OnAliasResult onAliasResult; - - interface OnAliasResult { - void onResult(int code); - } - - private static OnTagResult onTagResult; - - interface OnTagResult { - void onResult(int code); - } - - synchronized public static void cleanJpushAlias() { - //alias的绑定的设备超过10个,但是alias应该是一个设备对应一个,在重置设备后jpush的regid会变动,所以需要清除 - //https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_5 - OkHttpClient client = new OkHttpClient(); - Request request = new Request.Builder() - .url(UrlAddress.DELETE_JPUSH_ALIAS + Utils.getSerial(getAppContext())) - .header("Authorization", JGYUtils.getAuthorization()) - .delete() - .build(); - Call call = client.newCall(request); - call.enqueue(new Callback() { - @Override - public void onFailure(@NotNull Call call, @NotNull IOException e) { - Log.e("cleanJpushAlias", "onFailure: " + e.getMessage()); - } - - @Override - public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { - Log.e("cleanJpushAlias", "onResponse: " + response.toString()); - Log.e(TAG, "onResponse: " + "清除Alias成功"); - } - }); - } - - synchronized public static void cleanJpushTag() { - OkHttpClient client = new OkHttpClient(); - Request request = new Request.Builder() - .url(UrlAddress.DELETE_JPUSH_TAG + Utils.getSerial(getAppContext())) - .header("Authorization", JGYUtils.getAuthorization()) - .delete() - .build(); - Call call = client.newCall(request); - call.enqueue(new Callback() { - @Override - public void onFailure(@NotNull Call call, @NotNull IOException e) { - Log.e("cleanJpushTag", "onFailure: " + e.getMessage()); - } - - @Override - public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { - Log.e("cleanJpushTag", "onResponse: " + response.toString()); - Log.e(TAG, "onResponse: " + "清除Tag成功"); - } - }); - } - - public static void sendAppUsedTime(String random, String type) { - StatisticsInfo statisticsInfo = null; - if (type.equals("0")) { - statisticsInfo = new StatisticsInfo(getAppContext()); - } else if (type.equals("1")) { - statisticsInfo = new StatisticsInfo(getAppContext(), StatisticsInfo.WEEK); - } - List list = null; - List localAppList = new ArrayList<>(); - - if (statisticsInfo != null) { - list = statisticsInfo.getShowList(); - if (list != null && list.size() > 0) { - for (AppInformation appInformation : list) { - if (!ApkUtils.isSystemApp(getAppContext(), appInformation.getPackageName())) { - localAppList.add(appInformation); - } - } - } else { - Log.e("fht", "今日没有打开的应用"); - } - } else { - Log.e("fht", "获取信息失败"); - } - - JSONObject data = new JSONObject(); - JSONArray appinfo = new JSONArray(); - try { - if (localAppList.size() > 0) { - for (int i = 0; i < 5; i++) { - AppInformation information = localAppList.get(i); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("package", information.getPackageName()); - jsonObject.put("use_time", (int) information.getUsedTimebyDay() / 1000); - appinfo.add(jsonObject); - } - data.put("data", appinfo); - } - } catch (Exception e) { - Log.e("sendAppUsedTime", e.getMessage()); - } - - NetInterfaceManager.getInstance() - .getAppLogApi() - .getAppLog(Utils.getSerial(getAppContext()), random, data.toJSONString()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - Log.e("sendAppUsedTime", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse baseResponse) { - Log.e("sendAppUsedTime", "onNext: "); - int code = baseResponse.code; - String msg = baseResponse.msg; - Log.e("sendAppUsedTime", "onSubscribe:" + msg); - } - - @Override - public void onError(Throwable e) { - Log.e("sendAppUsedTime", "onError: " + e.getMessage()); - - } - - @Override - public void onComplete() { - Log.e("sendAppUsedTime", "onComplete: "); - } - }); - - - } - - private static long totalTime; - private static int totalTimes; - - synchronized public static void setAPPUsage() { - StatisticsInfo statisticsInfo = new StatisticsInfo(getAppContext()); - totalTime = statisticsInfo.getTotalTime();//全部时间 - totalTimes = statisticsInfo.getTotalTimes();//全部次数 - } - - synchronized public static void setAPPUsage( List lists) { - StatisticsInfo statisticsInfo = new StatisticsInfo(getAppContext()); - List list = null; - List localAppList = new ArrayList<>(); - - totalTime = statisticsInfo.getTotalTime();//全部时间 - totalTimes = statisticsInfo.getTotalTimes();//全部次数 - - list = statisticsInfo.getShowList(); - if (list != null && list.size() > 0) { - for (AppInformation appInformation : list) { - if (lists.indexOf(appInformation.getPackageName()) != -1) { - localAppList.add(appInformation); - } - } - } else { - - } - } } diff --git a/app/src/main/java/com/aoleyun/sn/jpush/ExampleUtil.java b/app/src/main/java/com/aoleyun/sn/jpush/ExampleUtil.java deleted file mode 100644 index 1573fc4..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/ExampleUtil.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.aoleyun.sn.jpush; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.os.Bundle; -import android.os.Looper; -import android.telephony.TelephonyManager; -import android.text.TextUtils; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - - -public class ExampleUtil { - public static final String PREFS_NAME = "JPUSH_EXAMPLE"; - public static final String PREFS_DAYS = "JPUSH_EXAMPLE_DAYS"; - public static final String PREFS_START_TIME = "PREFS_START_TIME"; - public static final String PREFS_END_TIME = "PREFS_END_TIME"; - public static final String KEY_APP_KEY = "JPUSH_APPKEY"; - - public static boolean isEmpty(String s) { - if (null == s) - return true; - if (s.length() == 0) - return true; - if (s.trim().length() == 0) - return true; - return false; - } - /** - * 只能以 “+” 或者 数字开头;后面的内容只能包含 “-” 和 数字。 - * */ - private final static String MOBILE_NUMBER_CHARS = "^[+0-9][-0-9]{1,}$"; - public static boolean isValidMobileNumber(String s) { - if(TextUtils.isEmpty(s)) return true; - Pattern p = Pattern.compile(MOBILE_NUMBER_CHARS); - Matcher m = p.matcher(s); - return m.matches(); - } - // 校验Tag Alias 只能是数字,英文字母和中文 - public static boolean isValidTagAndAlias(String s) { - Pattern p = Pattern.compile("^[\u4E00-\u9FA50-9a-zA-Z_!@#$&*+=.|]+$"); - Matcher m = p.matcher(s); - return m.matches(); - } - - // 取得AppKey - public static String getAppKey(Context context) { - Bundle metaData = null; - String appKey = null; - try { - ApplicationInfo ai = context.getPackageManager().getApplicationInfo( - context.getPackageName(), PackageManager.GET_META_DATA); - if (null != ai) - metaData = ai.metaData; - if (null != metaData) { - appKey = metaData.getString(KEY_APP_KEY); - if ((null == appKey) || appKey.length() != 24) { - appKey = null; - } - } - } catch (NameNotFoundException e) { - - } - return appKey; - } - - // 取得版本号 - public static String GetVersion(Context context) { - try { - PackageInfo manager = context.getPackageManager().getPackageInfo( - context.getPackageName(), 0); - return manager.versionName; - } catch (NameNotFoundException e) { - return "Unknown"; - } - } - - public static void showToast(final String toast, final Context context) - { - new Thread(new Runnable() { - - @Override - public void run() { - Looper.prepare(); -// Toast.makeText(context, toast, Toast.LENGTH_SHORT).show(); - Looper.loop(); - } - }).start(); - } - - public static boolean isConnected(Context context) { - ConnectivityManager conn = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo info = conn.getActiveNetworkInfo(); - return (info != null && info.isConnected()); - } - - public static String getImei(Context context, String imei) { - String ret = null; - try { - TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - ret = telephonyManager.getDeviceId(); - } catch (Exception e) { - Logger.e(ExampleUtil.class.getSimpleName(), e.getMessage()); - } - if (isReadableASCII(ret)){ - return ret; - } else { - return imei; - } - } - - private static boolean isReadableASCII(CharSequence string){ - if (TextUtils.isEmpty(string)) return false; - try { - Pattern p = Pattern.compile("[\\x20-\\x7E]+"); - return p.matcher(string).matches(); - } catch (Throwable e){ - return true; - } - } - -// public static String getDeviceId(Context context) { -// return JPushInterface.getUdid(context); -// } -} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/LocalBroadcastManager.java b/app/src/main/java/com/aoleyun/sn/jpush/LocalBroadcastManager.java deleted file mode 100644 index 2f6df13..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/LocalBroadcastManager.java +++ /dev/null @@ -1,263 +0,0 @@ -package com.aoleyun.sn.jpush; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.net.Uri; -import android.os.Handler; -import android.os.Message; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Set; - -/** - * Created by efan on 2017/4/14. - */ - -public final class LocalBroadcastManager { - private static final String TAG = "JIGUANG-Example"; - private static final boolean DEBUG = false; - private final Context mAppContext; - private final HashMap> mReceivers = new HashMap>(); - private final HashMap> mActions = new HashMap>(); - private final ArrayList mPendingBroadcasts = new ArrayList(); - static final int MSG_EXEC_PENDING_BROADCASTS = 1; - private final Handler mHandler; - private static final Object mLock = new Object(); - private static LocalBroadcastManager mInstance; - - public static LocalBroadcastManager getInstance(Context context) { - Object var1 = mLock; - synchronized (mLock) { - if (mInstance == null) { - mInstance = new LocalBroadcastManager(context.getApplicationContext()); - } - - return mInstance; - } - } - - private LocalBroadcastManager(Context context) { - this.mAppContext = context; - this.mHandler = new Handler(context.getMainLooper()) { - public void handleMessage(Message msg) { - switch (msg.what) { - case 1: - LocalBroadcastManager.this.executePendingBroadcasts(); - break; - default: - super.handleMessage(msg); - } - - } - }; - } - - public void registerReceiver(BroadcastReceiver receiver, IntentFilter filter) { - HashMap var3 = this.mReceivers; - synchronized (this.mReceivers) { - ReceiverRecord entry = new ReceiverRecord(filter, receiver); - ArrayList filters = (ArrayList) this.mReceivers.get(receiver); - if (filters == null) { - filters = new ArrayList(1); - this.mReceivers.put(receiver, filters); - } - - filters.add(filter); - - for (int i = 0; i < filter.countActions(); ++i) { - String action = filter.getAction(i); - ArrayList entries = (ArrayList) this.mActions.get(action); - if (entries == null) { - entries = new ArrayList(1); - this.mActions.put(action, entries); - } - - entries.add(entry); - } - - } - } - - public void unregisterReceiver(BroadcastReceiver receiver) { - HashMap var2 = this.mReceivers; - synchronized (this.mReceivers) { - ArrayList filters = (ArrayList) this.mReceivers.remove(receiver); - if (filters != null) { - for (int i = 0; i < filters.size(); ++i) { - IntentFilter filter = (IntentFilter) filters.get(i); - - for (int j = 0; j < filter.countActions(); ++j) { - String action = filter.getAction(j); - ArrayList receivers = (ArrayList) this.mActions.get(action); - if (receivers != null) { - for (int k = 0; k < receivers.size(); ++k) { - if (((ReceiverRecord) receivers.get(k)).receiver == receiver) { - receivers.remove(k); - --k; - } - } - - if (receivers.size() <= 0) { - this.mActions.remove(action); - } - } - } - } - - } - } - } - - public boolean sendBroadcast(Intent intent) { - HashMap var2 = this.mReceivers; - synchronized (this.mReceivers) { - String action = intent.getAction(); - String type = intent.resolveTypeIfNeeded(this.mAppContext.getContentResolver()); - Uri data = intent.getData(); - String scheme = intent.getScheme(); - Set categories = intent.getCategories(); - boolean debug = (intent.getFlags() & 8) != 0; - if (debug) { - Logger.v("LocalBroadcastManager", "Resolving type " + type + " scheme " + scheme + " of intent " + intent); - } - - ArrayList entries = (ArrayList) this.mActions.get(intent.getAction()); - if (entries != null) { - if (debug) { - Logger.v("LocalBroadcastManager", "Action list: " + entries); - } - - ArrayList receivers = null; - - int i; - for (i = 0; i < entries.size(); ++i) { - ReceiverRecord receiver = (ReceiverRecord) entries.get(i); - if (debug) { - Logger.v("LocalBroadcastManager", "Matching against filter " + receiver.filter); - } - - if (receiver.broadcasting) { - if (debug) { - Logger.v("LocalBroadcastManager", " Filter\'s target already added"); - } - } else { - int match = receiver.filter.match(action, type, scheme, data, categories, "LocalBroadcastManager"); - if (match >= 0) { - if (debug) { - Logger.v("LocalBroadcastManager", " Filter matched! match=0x" + Integer.toHexString(match)); - } - - if (receivers == null) { - receivers = new ArrayList(); - } - - receivers.add(receiver); - receiver.broadcasting = true; - } else if (debug) { - String reason; - switch (match) { - case -4: - reason = "category"; - break; - case -3: - reason = "action"; - break; - case -2: - reason = "data"; - break; - case -1: - reason = "type"; - break; - default: - reason = "unknown reason"; - } - - Logger.v("LocalBroadcastManager", " Filter did not match: " + reason); - } - } - } - - if (receivers != null) { - for (i = 0; i < receivers.size(); ++i) { - ((ReceiverRecord) receivers.get(i)).broadcasting = false; - } - - this.mPendingBroadcasts.add(new BroadcastRecord(intent, receivers)); - if (!this.mHandler.hasMessages(1)) { - this.mHandler.sendEmptyMessage(1); - } - - return true; - } - } - - return false; - } - } - - public void sendBroadcastSync(Intent intent) { - if (this.sendBroadcast(intent)) { - this.executePendingBroadcasts(); - } - - } - - private void executePendingBroadcasts() { - while (true) { - BroadcastRecord[] brs = null; - HashMap i = this.mReceivers; - synchronized (this.mReceivers) { - int br = this.mPendingBroadcasts.size(); - if (br <= 0) { - return; - } - - brs = new BroadcastRecord[br]; - this.mPendingBroadcasts.toArray(brs); - this.mPendingBroadcasts.clear(); - } - - for (int var6 = 0; var6 < brs.length; ++var6) { - BroadcastRecord var7 = brs[var6]; - - for (int j = 0; j < var7.receivers.size(); ++j) { - ((ReceiverRecord) var7.receivers.get(j)).receiver.onReceive(this.mAppContext, var7.intent); - } - } - } - } - - private static class BroadcastRecord { - final Intent intent; - final ArrayList receivers; - - BroadcastRecord(Intent _intent, ArrayList _receivers) { - this.intent = _intent; - this.receivers = _receivers; - } - } - - private static class ReceiverRecord { - final IntentFilter filter; - final BroadcastReceiver receiver; - boolean broadcasting; - - ReceiverRecord(IntentFilter _filter, BroadcastReceiver _receiver) { - this.filter = _filter; - this.receiver = _receiver; - } - - public String toString() { - StringBuilder builder = new StringBuilder(128); - builder.append("Receiver{"); - builder.append(this.receiver); - builder.append(" filter="); - builder.append(this.filter); - builder.append("}"); - return builder.toString(); - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/jpush/Logger.java b/app/src/main/java/com/aoleyun/sn/jpush/Logger.java deleted file mode 100644 index 00f68cb..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/Logger.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.aoleyun.sn.jpush; - -import android.util.Log; - -/** - * Created by efan on 2017/4/13. - */ - -public class Logger { - - //设为false关闭日志 - private static final boolean LOG_ENABLE = true; - - public static void i(String tag, String msg){ - if (LOG_ENABLE){ - Log.i(tag, msg); - } - } - public static void v(String tag, String msg){ - if (LOG_ENABLE){ - Log.v(tag, msg); - } - } - public static void d(String tag, String msg){ - if (LOG_ENABLE){ - Log.d(tag, msg); - } - } - public static void w(String tag, String msg){ - if (LOG_ENABLE){ - Log.w(tag, msg); - } - } - public static void e(String tag, String msg){ - if (LOG_ENABLE){ - Log.e(tag, msg); - } - } - -} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/MyJPushMessageReceiver.java b/app/src/main/java/com/aoleyun/sn/jpush/MyJPushMessageReceiver.java deleted file mode 100644 index 07489b5..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/MyJPushMessageReceiver.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.aoleyun.sn.jpush; - -import android.content.Context; - -import com.aoleyun.sn.base.BaseApplication; - - -/** - * 自定义JPush message 接收器,包括操作tag/alias的结果返回(仅仅包含tag/alias新接口部分) - * */ -//public class MyJPushMessageReceiver extends JPushMessageReceiver { -// -// @Override -// public void onTagOperatorResult(Context context, JPushMessage jPushMessage) { -// TagAliasOperatorHelper.getInstance().onTagOperatorResult(context,jPushMessage); -// super.onTagOperatorResult(context, jPushMessage); -// BaseApplication.getInstance().onTagOperatorResult(jPushMessage); -// } -// @Override -// public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage){ -// TagAliasOperatorHelper.getInstance().onCheckTagOperatorResult(context,jPushMessage); -// super.onCheckTagOperatorResult(context, jPushMessage); -// } -// @Override -// public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) { -// TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context,jPushMessage); -// super.onAliasOperatorResult(context, jPushMessage); -// BaseApplication.getInstance().onAliasOperatorResult(jPushMessage); -// } -// -// @Override -// public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) { -// TagAliasOperatorHelper.getInstance().onMobileNumberOperatorResult(context,jPushMessage); -// super.onMobileNumberOperatorResult(context, jPushMessage); -// } -// -// @Override -// public void onMessage(Context context, CustomMessage customMessage) { -// super.onMessage(context, customMessage); -// } -// -// -//} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java b/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java deleted file mode 100644 index fdc2541..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.aoleyun.sn.jpush; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; - -public class MyJPushReceiver extends BroadcastReceiver { - private static final String TAG = MyJPushReceiver.class.getSimpleName(); - @Override - public void onReceive(Context context, Intent intent) { - - } -} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/MyReceiver.java b/app/src/main/java/com/aoleyun/sn/jpush/MyReceiver.java deleted file mode 100644 index fc74c06..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/MyReceiver.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.aoleyun.sn.jpush; - - -/** - * 自定义接收器 - * - * 如果不定义这个 Receiver,则: - * 1) 默认用户会打开主界面 - * 2) 接收不到自定义消息 - */ -//public class MyReceiver extends BroadcastReceiver { -// private static final String TAG = "JIGUANG-Example"; -// -// @Override -// public void onReceive(Context context, Intent intent) { -// try { -// Bundle bundle = intent.getExtras(); -// Logger.d(TAG, "[MyReceiver] onReceive - " + intent.getAction() + ", extras: " + printBundle(bundle)); -// -// if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) { -// String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID); -// Logger.d(TAG, "[MyReceiver] 接收Registration Id : " + regId); -// //send the Registration Id to your server... -// -// } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) { -// Logger.d(TAG, "[MyReceiver] 接收到推送下来的自定义消息: " + bundle.getString(JPushInterface.EXTRA_MESSAGE)); -// processCustomMessage(context, bundle); -// -// } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) { -// Logger.d(TAG, "[MyReceiver] 接收到推送下来的通知"); -// int notifactionId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID); -// Logger.d(TAG, "[MyReceiver] 接收到推送下来的通知的ID: " + notifactionId); -// -// } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) { -// Logger.d(TAG, "[MyReceiver] 用户点击打开了通知"); -// -// //打开自定义的Activity -//// Intent i = new Intent(context, TestActivity.class); -//// i.putExtras(bundle); -// //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -//// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP ); -//// context.startActivity(i); -// -// } else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) { -// Logger.d(TAG, "[MyReceiver] 用户收到到RICH PUSH CALLBACK: " + bundle.getString(JPushInterface.EXTRA_EXTRA)); -// //在这里根据 JPushInterface.EXTRA_EXTRA 的内容处理代码,比如打开新的Activity, 打开一个网页等.. -// -// } else if(JPushInterface.ACTION_CONNECTION_CHANGE.equals(intent.getAction())) { -// boolean connected = intent.getBooleanExtra(JPushInterface.EXTRA_CONNECTION_CHANGE, false); -// Logger.w(TAG, "[MyReceiver]" + intent.getAction() +" connected state change to "+connected); -// } else { -// Logger.d(TAG, "[MyReceiver] Unhandled intent - " + intent.getAction()); -// } -// } catch (Exception e){ -// -// } -// -// } -// -// // 打印所有的 intent extra 数据 -// private static String printBundle(Bundle bundle) { -// StringBuilder sb = new StringBuilder(); -// for (String key : bundle.keySet()) { -// if (key.equals(JPushInterface.EXTRA_NOTIFICATION_ID)) { -// sb.append("\nkey:" + key + ", value:" + bundle.getInt(key)); -// }else if(key.equals(JPushInterface.EXTRA_CONNECTION_CHANGE)){ -// sb.append("\nkey:" + key + ", value:" + bundle.getBoolean(key)); -// } else if (key.equals(JPushInterface.EXTRA_EXTRA)) { -// if (TextUtils.isEmpty(bundle.getString(JPushInterface.EXTRA_EXTRA))) { -// Logger.i(TAG, "This message has no Extra data"); -// continue; -// } -// -// try { -// JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA)); -// Iterator it = json.keys(); -// -// while (it.hasNext()) { -// String myKey = it.next(); -// sb.append("\nkey:" + key + ", value: [" + -// myKey + " - " +json.optString(myKey) + "]"); -// } -// } catch (JSONException e) { -// Logger.e(TAG, "Get message extra JSON error!"); -// } -// -// } else { -// sb.append("\nkey:" + key + ", value:" + bundle.get(key)); -// } -// } -// return sb.toString(); -// } -// -// //send msg to MainActivity1 -// private void processCustomMessage(Context context, Bundle bundle) { -// if (MainActivity1.isForeground) { -// String message = bundle.getString(JPushInterface.EXTRA_MESSAGE); -// String extras = bundle.getString(JPushInterface.EXTRA_EXTRA); -// Intent msgIntent = new Intent(MainActivity1.MESSAGE_RECEIVED_ACTION); -// msgIntent.putExtra(MainActivity1.KEY_MESSAGE, message); -// if (!ExampleUtil.isEmpty(extras)) { -// try { -// JSONObject extraJson = new JSONObject(extras); -// if (extraJson.length() > 0) { -// msgIntent.putExtra(MainActivity1.KEY_EXTRAS, extras); -// } -// } catch (JSONException e) { -// -// } -// -// } -// LocalBroadcastManager.getInstance(context).sendBroadcast(msgIntent); -// } -// } -//} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/PushService.java b/app/src/main/java/com/aoleyun/sn/jpush/PushService.java deleted file mode 100644 index 60cdff7..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/PushService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.aoleyun.sn.jpush; - -//import cn.jpush.android.service.JCommonService; - -public class PushService { -// extends JCommonService { - -} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/TagAliasOperatorHelper.java b/app/src/main/java/com/aoleyun/sn/jpush/TagAliasOperatorHelper.java deleted file mode 100644 index 265095e..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/TagAliasOperatorHelper.java +++ /dev/null @@ -1,343 +0,0 @@ -package com.aoleyun.sn.jpush; - -import android.content.Context; -import android.os.Handler; -import android.os.Message; -import android.util.Log; -import android.util.SparseArray; - -import com.aoleyun.sn.utils.ToastUtil; - -import java.util.Locale; -import java.util.Set; - - -/** - * 处理tagalias相关的逻辑 - * */ -public class TagAliasOperatorHelper { -// private static final String TAG = "JIGUANG-TagAliasHelper"; -// public static int sequence = 1; -// /**增加*/ -// public static final int ACTION_ADD = 1; -// /**覆盖*/ -// public static final int ACTION_SET = 2; -// /**删除部分*/ -// public static final int ACTION_DELETE = 3; -// /**删除所有*/ -// public static final int ACTION_CLEAN = 4; -// /**查询*/ -// public static final int ACTION_GET = 5; -// -// public static final int ACTION_CHECK = 6; -// -// public static final int DELAY_SEND_ACTION = 1; -// -// public static final int DELAY_SET_MOBILE_NUMBER_ACTION = 2; -// -// private Context context; -// -// private static TagAliasOperatorHelper mInstance; -// private TagAliasOperatorHelper(){ -// } -// public static TagAliasOperatorHelper getInstance(){ -// if(mInstance == null){ -// synchronized (TagAliasOperatorHelper.class){ -// if(mInstance == null){ -// mInstance = new TagAliasOperatorHelper(); -// } -// } -// } -// return mInstance; -// } -// public void init(Context context){ -// if(context != null) { -// this.context = context.getApplicationContext(); -// } -// } -// private SparseArray setActionCache = new SparseArray(); -// -// public Object get(int sequence){ -// return setActionCache.get(sequence); -// } -// public Object remove(int sequence){ -// return setActionCache.get(sequence); -// } -// public void put(int sequence, Object tagAliasBean){ -// setActionCache.put(sequence,tagAliasBean); -// } -// private Handler delaySendHandler = new Handler(){ -// @Override -// public void handleMessage(Message msg) { -// switch (msg.what){ -// case DELAY_SEND_ACTION: -// if(msg.obj !=null && msg.obj instanceof TagAliasBean){ -// Logger.i(TAG,"on delay time"); -// sequence++; -// TagAliasBean tagAliasBean = (TagAliasBean) msg.obj; -// setActionCache.put(sequence, tagAliasBean); -// if(context!=null) { -// handleAction(context, sequence, tagAliasBean); -// }else{ -// Logger.e(TAG,"#unexcepted - context was null"); -// } -// }else{ -// Logger.w(TAG,"#unexcepted - msg obj was incorrect"); -// } -// break; -// case DELAY_SET_MOBILE_NUMBER_ACTION: -// if(msg.obj !=null && msg.obj instanceof String) { -// Logger.i(TAG, "retry set mobile number"); -// sequence++; -// String mobileNumber = (String) msg.obj; -// setActionCache.put(sequence, mobileNumber); -// if(context !=null) { -// handleAction(context, sequence, mobileNumber); -// }else { -// Logger.e(TAG, "#unexcepted - context was null"); -// } -// }else{ -// Logger.w(TAG,"#unexcepted - msg obj was incorrect"); -// } -// break; -// } -// } -// }; -// public void handleAction(Context context, int sequence, String mobileNumber){ -// put(sequence,mobileNumber); -// Logger.d(TAG,"sequence:"+sequence+",mobileNumber:"+mobileNumber); -// JPushInterface.setMobileNumber(context,sequence,mobileNumber); -// } -// /** -// * 处理设置tag -// * */ -// public void handleAction(Context context, int sequence, TagAliasBean tagAliasBean){ -// init(context); -// if(tagAliasBean == null){ -// Logger.w(TAG,"tagAliasBean was null"); -// return; -// } -// put(sequence,tagAliasBean); -// if(tagAliasBean.isAliasAction){ -// switch (tagAliasBean.action){ -// case ACTION_GET: -// JPushInterface.getAlias(context,sequence); -// break; -// case ACTION_DELETE: -// JPushInterface.deleteAlias(context,sequence); -// break; -// case ACTION_SET: -// JPushInterface.setAlias(context,sequence,tagAliasBean.alias); -// break; -// default: -// Logger.w(TAG,"unsupport alias action type"); -// return; -// } -// }else { -// switch (tagAliasBean.action) { -// case ACTION_ADD: -// JPushInterface.addTags(context, sequence, tagAliasBean.tags); -// break; -// case ACTION_SET: -// JPushInterface.setTags(context, sequence, tagAliasBean.tags); -// break; -// case ACTION_DELETE: -// JPushInterface.deleteTags(context, sequence, tagAliasBean.tags); -// break; -// case ACTION_CHECK: -// //一次只能check一个tag -// String tag = (String)tagAliasBean.tags.toArray()[0]; -// JPushInterface.checkTagBindState(context,sequence,tag); -// break; -// case ACTION_GET: -// JPushInterface.getAllTags(context, sequence); -// break; -// case ACTION_CLEAN: -// JPushInterface.cleanTags(context, sequence); -// break; -// default: -// Logger.w(TAG,"unsupport tag action type"); -// return; -// } -// } -// } -// private boolean RetryActionIfNeeded(int errorCode,TagAliasBean tagAliasBean){ -// if(!ExampleUtil.isConnected(context)){ -// Logger.w(TAG,"no network"); -// return false; -// } -// //返回的错误码为6002 超时,6014 服务器繁忙,都建议延迟重试 -// if(errorCode == 6002 || errorCode == 6014){ -// Logger.d(TAG,"need retry"); -// if(tagAliasBean!=null){ -// Message message = new Message(); -// message.what = DELAY_SEND_ACTION; -// message.obj = tagAliasBean; -// delaySendHandler.sendMessageDelayed(message,1000*60); -// String logs =getRetryStr(tagAliasBean.isAliasAction, tagAliasBean.action,errorCode); -// ExampleUtil.showToast(logs, context); -// return true; -// } -// } -// return false; -// } -// private boolean RetrySetMObileNumberActionIfNeeded(int errorCode, String mobileNumber){ -// if(!ExampleUtil.isConnected(context)){ -// Logger.w(TAG,"no network"); -// return false; -// } -// //返回的错误码为6002 超时,6024 服务器内部错误,建议稍后重试 -// if(errorCode == 6002 || errorCode == 6024){ -// Logger.d(TAG,"need retry"); -// Message message = new Message(); -// message.what = DELAY_SET_MOBILE_NUMBER_ACTION; -// message.obj = mobileNumber; -// delaySendHandler.sendMessageDelayed(message,1000*60); -// String str = "Failed to set mobile number due to %s. Try again after 60s."; -// str = String.format(Locale.ENGLISH,str,(errorCode == 6002 ? "timeout" : "server internal error”")); -// ExampleUtil.showToast(str, context); -// return true; -// } -// return false; -// -// } -// private String getRetryStr(boolean isAliasAction, int actionType, int errorCode){ -// String str = "Failed to %s %s due to %s. Try again after 60s."; -// str = String.format(Locale.ENGLISH,str,getActionStr(actionType),(isAliasAction? "alias" : " tags") ,(errorCode == 6002 ? "timeout" : "server too busy")); -// return str; -// } -// -// private String getActionStr(int actionType){ -// switch (actionType){ -// case ACTION_ADD: -// return "add"; -// case ACTION_SET: -// return "set"; -// case ACTION_DELETE: -// return "delete"; -// case ACTION_GET: -// return "get"; -// case ACTION_CLEAN: -// return "clean"; -// case ACTION_CHECK: -// return "check"; -// } -// return "unkonw operation"; -// } -// public void onTagOperatorResult(Context context, JPushMessage jPushMessage) { -// int sequence = jPushMessage.getSequence(); -// Logger.i(TAG,"action - onTagOperatorResult, sequence:"+sequence+",tags:"+jPushMessage.getTags()); -// Logger.i(TAG,"tags size:"+jPushMessage.getTags().size()); -// init(context); -// //根据sequence从之前操作缓存中获取缓存记录 -// TagAliasBean tagAliasBean = (TagAliasBean)setActionCache.get(sequence); -// if(tagAliasBean == null){ -// ExampleUtil.showToast("获取缓存记录失败", context); -// return; -// } -// if(jPushMessage.getErrorCode() == 0){ -// Logger.i(TAG,"action - modify tag Success,sequence:"+sequence); -// setActionCache.remove(sequence); -// String logs = getActionStr(tagAliasBean.action)+" tags success"; -// Logger.i(TAG,logs); -// Log.e(TAG,"Tag绑定成功: " + jPushMessage.getTags()); -// ToastUtil.betaShow("Tag绑定成功: " + jPushMessage.getTags()); -// ExampleUtil.showToast(logs, context); -// }else{ -// String logs = "Failed to " + getActionStr(tagAliasBean.action)+" tags"; -// if(jPushMessage.getErrorCode() == 6018){ -// //tag数量超过限制,需要先清除一部分再add -// logs += ", tags is exceed limit need to clean"; -// } -// logs += ", errorCode:" + jPushMessage.getErrorCode(); -// Logger.e(TAG, logs); -// if(!RetryActionIfNeeded(jPushMessage.getErrorCode(),tagAliasBean)) { -// ExampleUtil.showToast(logs, context); -// } -// } -// } -// -// public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage){ -// int sequence = jPushMessage.getSequence(); -// Logger.i(TAG,"action - onCheckTagOperatorResult, sequence:"+sequence+",checktag:"+jPushMessage.getCheckTag()); -// init(context); -// //根据sequence从之前操作缓存中获取缓存记录 -// TagAliasBean tagAliasBean = (TagAliasBean)setActionCache.get(sequence); -// if(tagAliasBean == null){ -// ExampleUtil.showToast("获取缓存记录失败", context); -// return; -// } -// if(jPushMessage.getErrorCode() == 0){ -// Logger.i(TAG,"tagBean:"+tagAliasBean); -// setActionCache.remove(sequence); -// String logs = getActionStr(tagAliasBean.action)+" tag "+jPushMessage.getCheckTag() + " bind state success,state:"+jPushMessage.getTagCheckStateResult(); -// Logger.i(TAG,logs); -// ExampleUtil.showToast(logs, context); -// }else{ -// String logs = "Failed to " + getActionStr(tagAliasBean.action)+" tags, errorCode:" + jPushMessage.getErrorCode(); -// Logger.e(TAG, logs); -// if(!RetryActionIfNeeded(jPushMessage.getErrorCode(),tagAliasBean)) { -// ExampleUtil.showToast(logs, context); -// } -// } -// } -// -// public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) { -// int sequence = jPushMessage.getSequence(); -// Logger.i(TAG,"action - onAliasOperatorResult, sequence:"+sequence+",alias:"+jPushMessage.getAlias()); -// init(context); -// //根据sequence从之前操作缓存中获取缓存记录 -// TagAliasBean tagAliasBean = (TagAliasBean)setActionCache.get(sequence); -// if(tagAliasBean == null){ -// ExampleUtil.showToast("获取缓存记录失败", context); -// return; -// } -// if(jPushMessage.getErrorCode() == 0){ -// Logger.i(TAG,"action - modify alias Success,sequence:"+sequence); -// setActionCache.remove(sequence); -// String logs = getActionStr(tagAliasBean.action)+" alias success"; -// Logger.i(TAG,logs); -// Log.e(TAG,"Alias绑定成功: "+jPushMessage.getAlias()); -// ToastUtil.betaShow("Alias绑定成功: "+jPushMessage.getAlias()); -// ExampleUtil.showToast(logs, context); -// }else{ -// String logs = "Failed to " + getActionStr(tagAliasBean.action)+" alias, errorCode:" + jPushMessage.getErrorCode(); -// Logger.e(TAG, logs); -// if(!RetryActionIfNeeded(jPushMessage.getErrorCode(),tagAliasBean)) { -// ExampleUtil.showToast(logs, context); -// } -// } -// } -// //设置手机号码回调 -// public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) { -// int sequence = jPushMessage.getSequence(); -// Logger.i(TAG,"action - onMobileNumberOperatorResult, sequence:"+sequence+",mobileNumber:"+jPushMessage.getMobileNumber()); -// init(context); -// if(jPushMessage.getErrorCode() == 0){ -// Logger.i(TAG,"action - set mobile number Success,sequence:"+sequence); -// setActionCache.remove(sequence); -// }else{ -// String logs = "Failed to set mobile number, errorCode:" + jPushMessage.getErrorCode(); -// Logger.e(TAG, logs); -// if(!RetrySetMObileNumberActionIfNeeded(jPushMessage.getErrorCode(),jPushMessage.getMobileNumber())){ -// ExampleUtil.showToast(logs, context); -// } -// } -// } -// public static class TagAliasBean{ -// public int action; -// public Set tags; -// public String alias; -// public boolean isAliasAction; -// -// @Override -// public String toString() { -// return "TagAliasBean{" + -// "action=" + action + -// ", tags=" + tags + -// ", alias='" + alias + '\'' + -// ", isAliasAction=" + isAliasAction + -// '}'; -// } -// } -} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/invalid/ExampleApplication.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/ExampleApplication.java deleted file mode 100644 index 4d268d9..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/invalid/ExampleApplication.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aoleyun.sn.jpush.invalid; - -import android.app.Application; - -import com.aoleyun.sn.jpush.Logger; - - -/** - * For developer startup JPush SDK - * - * 一般建议在自定义 Application 类里初始化。也可以在主 Activity 里。 - */ -public class ExampleApplication extends Application { - private static final String TAG = "JIGUANG-Example"; - - @Override - public void onCreate() { - Logger.d(TAG, "[ExampleApplication] onCreate"); - super.onCreate(); - -// JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志 -// JPushInterface.init(this); // 初始化 JPush - } -} diff --git a/app/src/main/java/com/aoleyun/sn/jpush/invalid/MainActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/MainActivity.java deleted file mode 100644 index c6b8ed5..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/invalid/MainActivity.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.aoleyun.sn.jpush.invalid; - - -//public class MainActivity1 extends InstrumentedActivity implements OnClickListener{ -// -// private Button mInit; -// private Button mSetting; -// private Button mStopPush; -// private Button mResumePush; -// private Button mGetRid; -// private TextView mRegId; -// private EditText msgText; -// -// public static boolean isForeground = false; -// @Override -// public void onCreate(Bundle savedInstanceState) { -// super.onCreate(savedInstanceState); -// setContentView(R.layout.main); -// initView(); -// registerMessageReceiver(); // used for receive msg -// } -// -// private void initView(){ -// TextView mImei = (TextView) findViewById(R.id.tv_imei); -// String udid = ExampleUtil.getImei(getApplicationContext(), ""); -// if (null != udid) mImei.setText("IMEI: " + udid); -// -// TextView mAppKey = (TextView) findViewById(R.id.tv_appkey); -// String appKey = ExampleUtil.getAppKey(getApplicationContext()); -// if (null == appKey) appKey = "AppKey异常"; -// mAppKey.setText("AppKey: " + appKey); -// -// mRegId = (TextView) findViewById(R.id.tv_regId); -// mRegId.setText("RegId:"); -// -// String packageName = getPackageName(); -// TextView mPackage = (TextView) findViewById(R.id.tv_package); -// mPackage.setText("PackageName: " + packageName); -// -// String deviceId = ExampleUtil.getDeviceId(getApplicationContext()); -// TextView mDeviceId = (TextView) findViewById(R.id.tv_device_id); -// mDeviceId.setText("deviceId:" + deviceId); -// -// String versionName = ExampleUtil.GetVersion(getApplicationContext()); -// TextView mVersion = (TextView) findViewById(R.id.tv_version); -// mVersion.setText("Version: " + versionName); -// -// mInit = (Button)findViewById(R.id.init); -// mInit.setOnClickListener(this); -// -// mStopPush = (Button)findViewById(R.id.stopPush); -// mStopPush.setOnClickListener(this); -// -// mResumePush = (Button)findViewById(R.id.resumePush); -// mResumePush.setOnClickListener(this); -// -// mGetRid = (Button) findViewById(R.id.getRegistrationId); -// mGetRid.setOnClickListener(this); -// -// mSetting = (Button)findViewById(R.id.setting); -// mSetting.setOnClickListener(this); -// -// msgText = (EditText)findViewById(R.id.msg_rec); -// } -// -// -// @Override -// public void onClick(View v) { -// switch (v.getId()) { -// case R.id.init: -// init(); -// break; -// case R.id.setting: -// Intent intent = new Intent(MainActivity1.this, PushSetActivity.class); -// startActivity(intent); -// break; -// case R.id.stopPush: -// JPushInterface.stopPush(getApplicationContext()); -// break; -// case R.id.resumePush: -// JPushInterface.resumePush(getApplicationContext()); -// break; -// case R.id.getRegistrationId: -// String rid = JPushInterface.getRegistrationID(getApplicationContext()); -// if (!rid.isEmpty()) { -// mRegId.setText("RegId:" + rid); -// } else { -// Toast.makeText(this, "Get registration fail, JPush init failed!", Toast.LENGTH_SHORT).show(); -// } -// break; -// } -// } -// -// // 初始化 JPush。如果已经初始化,但没有登录成功,则执行重新登录。 -// private void init(){ -// JPushInterface.init(getApplicationContext()); -// } -// -// -// @Override -// protected void onResume() { -// isForeground = true; -// super.onResume(); -// } -// -// -// @Override -// protected void onPause() { -// isForeground = false; -// super.onPause(); -// } -// -// -// @Override -// protected void onDestroy() { -// LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver); -// super.onDestroy(); -// } -// -// -// //for receive customer msg from jpush server -// private MessageReceiver mMessageReceiver; -// public static final String MESSAGE_RECEIVED_ACTION = "com.example.jpushdemo.MESSAGE_RECEIVED_ACTION"; -// public static final String KEY_TITLE = "title"; -// public static final String KEY_MESSAGE = "message"; -// public static final String KEY_EXTRAS = "extras"; -// -// public void registerMessageReceiver() { -// mMessageReceiver = new MessageReceiver(); -// IntentFilter filter = new IntentFilter(); -// filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); -// filter.addAction(MESSAGE_RECEIVED_ACTION); -// LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter); -// } -// -// public class MessageReceiver extends BroadcastReceiver { -// -// @Override -// public void onReceive(Context context, Intent intent) { -// try { -// if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) { -// String messge = intent.getStringExtra(KEY_MESSAGE); -// String extras = intent.getStringExtra(KEY_EXTRAS); -// StringBuilder showMsg = new StringBuilder(); -// showMsg.append(KEY_MESSAGE + " : " + messge + "\n"); -// if (!ExampleUtil.isEmpty(extras)) { -// showMsg.append(KEY_EXTRAS + " : " + extras + "\n"); -// } -// setCostomMsg(showMsg.toString()); -// } -// } catch (Exception e){ -// } -// } -// } -// -// private void setCostomMsg(String msg){ -// if (null != msgText) { -// msgText.setText(msg); -// msgText.setVisibility(View.VISIBLE); -// } -// } - -//} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/jpush/invalid/PushSetActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/PushSetActivity.java deleted file mode 100644 index e72a223..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/invalid/PushSetActivity.java +++ /dev/null @@ -1,265 +0,0 @@ -package com.aoleyun.sn.jpush.invalid; - -//public class PushSetActivity extends InstrumentedActivity implements OnClickListener { -// private static final String TAG = "JIGUANG-Example"; -// -// @Override -// public void onCreate(Bundle icicle) { -// super.onCreate(icicle); -// setContentView(R.layout.push_set_dialog); -// initListener(); -// } -// -// private void initListener() { -// //增加tag -// findViewById(R.id.bt_addtag).setOnClickListener(this); -// //设置tag -// findViewById(R.id.bt_settag).setOnClickListener(this); -// //删除tag -// findViewById(R.id.bt_deletetag).setOnClickListener(this); -// //获取所有tag -// findViewById(R.id.bt_getalltag).setOnClickListener(this); -// //清除所有tag -// findViewById(R.id.bt_cleantag).setOnClickListener(this); -// //查询tag绑定状态 -// findViewById(R.id.bt_checktag).setOnClickListener(this); -// -// //设置alias -// findViewById(R.id.bt_setalias).setOnClickListener(this); -// //获取alias -// findViewById(R.id.bt_getalias).setOnClickListener(this); -// //删除alias -// findViewById(R.id.bt_deletealias).setOnClickListener(this); -// //设置手机号码 -// findViewById(R.id.bt_setmobileNumber).setOnClickListener(this); -// //StyleAddActions -// findViewById(R.id.setStyle0).setOnClickListener(this); -// //StyleBasic -// findViewById(R.id.setStyle1).setOnClickListener(this); -// //StyleCustom -// findViewById(R.id.setStyle2).setOnClickListener(this); -// //SetPushTime -// findViewById(R.id.bu_setTime).setOnClickListener(this); -// } -// -// @Override -// public void onClick(View view) { -// switch (view.getId()) { -// case R.id.setStyle0: -// setAddActionsStyle(); -// break; -// case R.id.setStyle1: -// setStyleBasic(); -// break; -// case R.id.setStyle2: -// setStyleCustom(); -// break; -// case R.id.bu_setTime: -// Intent intent = new Intent(PushSetActivity.this, SettingActivity.class); -// startActivity(intent); -// break; -// default: -// onTagAliasAction(view); -// break; -// } -// } -// -// TagAliasCallback tagAlias = new TagAliasCallback() { -// @Override -// public void gotResult(int responseCode, String alias, Set tags) { -// Log.e(TAG,"responseCode:"+responseCode+",alias:"+alias+",tags:"+tags); -// } -// }; -// -// -// /** -// * 设置通知提示方式 - 基础属性 -// */ -// private void setStyleBasic() { -// BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(PushSetActivity.this); -// builder.statusBarDrawable = R.drawable.ic_launcher; -// builder.notificationFlags = Notification.FLAG_AUTO_CANCEL; //设置为点击后自动消失 -// builder.notificationDefaults = Notification.DEFAULT_SOUND; //设置为铃声( Notification.DEFAULT_SOUND)或者震动( Notification.DEFAULT_VIBRATE) -// JPushInterface.setPushNotificationBuilder(1, builder); -// Toast.makeText(PushSetActivity.this, "Basic Builder - 1", Toast.LENGTH_SHORT).show(); -// } -// -// -// /** -// * 设置通知栏样式 - 定义通知栏Layout -// */ -// private void setStyleCustom() { -// CustomPushNotificationBuilder builder = new CustomPushNotificationBuilder(PushSetActivity.this, R.layout.customer_notitfication_layout, R.id.icon, R.id.title, R.id.text); -// builder.layoutIconDrawable = R.drawable.ic_launcher; -// builder.developerArg0 = "developerArg2"; -// JPushInterface.setPushNotificationBuilder(2, builder); -// Toast.makeText(PushSetActivity.this, "Custom Builder - 2", Toast.LENGTH_SHORT).show(); -// } -// -// @Override -// public boolean onKeyDown(int keyCode, KeyEvent event) { -// if (keyCode == KeyEvent.KEYCODE_BACK) { -// finish(); -// } -// return super.onKeyDown(keyCode, event); -// } -// -// private void setAddActionsStyle() { -// MultiActionsNotificationBuilder builder = new MultiActionsNotificationBuilder(PushSetActivity.this); -// builder.addJPushAction(R.drawable.jpush_ic_richpush_actionbar_back, "first", "my_extra1"); -// builder.addJPushAction(R.drawable.jpush_ic_richpush_actionbar_back, "second", "my_extra2"); -// builder.addJPushAction(R.drawable.jpush_ic_richpush_actionbar_back, "third", "my_extra3"); -// JPushInterface.setPushNotificationBuilder(10, builder); -// -// Toast.makeText(PushSetActivity.this, "AddActions Builder - 10", Toast.LENGTH_SHORT).show(); -// } -// -// -// /**===========================================================================**/ -// /**=========================TAG/ALIAS 相关=====================================**/ -// /**===========================================================================**/ -// -// /** -// * 处理tag/alias相关操作的点击 -// * */ -// public void onTagAliasAction(View view) { -// Set tags = null; -// String alias = null; -// int action = -1; -// boolean isAliasAction = false; -// switch (view.getId()){ -// //设置手机号码: -// case R.id.bt_setmobileNumber: -// handleSetMobileNumber(); -// return; -// //增加tag -// case R.id.bt_addtag: -// tags = getInPutTags(); -// if(tags == null){ -// return; -// } -// action = ACTION_ADD; -// break; -// //设置tag -// case R.id.bt_settag: -// tags = getInPutTags(); -// if(tags == null){ -// return; -// } -// action = ACTION_SET; -// break; -// //删除tag -// case R.id.bt_deletetag: -// tags = getInPutTags(); -// if(tags == null){ -// return; -// } -// action = ACTION_DELETE; -// break; -// //获取所有tag -// case R.id.bt_getalltag: -// action = ACTION_GET; -// break; -// //清除所有tag -// case R.id.bt_cleantag: -// action = ACTION_CLEAN; -// break; -// case R.id.bt_checktag: -// tags = getInPutTags(); -// if(tags == null){ -// return; -// } -// action = ACTION_CHECK; -// break; -// //设置alias -// case R.id.bt_setalias: -// alias = getInPutAlias(); -// if(TextUtils.isEmpty(alias)){ -// return; -// } -// isAliasAction = true; -// action = ACTION_SET; -// break; -// //获取alias -// case R.id.bt_getalias: -// isAliasAction = true; -// action = ACTION_GET; -// break; -// //删除alias -// case R.id.bt_deletealias: -// isAliasAction = true; -// action = ACTION_DELETE; -// break; -// default: -// return; -// } -// TagAliasBean tagAliasBean = new TagAliasBean(); -// tagAliasBean.action = action; -// sequence++; -// if(isAliasAction){ -// tagAliasBean.alias = alias; -// }else{ -// tagAliasBean.tags = tags; -// } -// tagAliasBean.isAliasAction = isAliasAction; -// TagAliasOperatorHelper.getInstance().handleAction(getApplicationContext(),sequence,tagAliasBean); -// } -// -// private void handleSetMobileNumber(){ -// EditText mobileEdit = (EditText) findViewById(R.id.et_mobilenumber); -// String mobileNumber = mobileEdit.getText().toString().trim(); -// if (TextUtils.isEmpty(mobileNumber)) { -// Toast.makeText(getApplicationContext(), R.string.mobilenumber_empty_guide, Toast.LENGTH_SHORT).show(); -// } -// if (!ExampleUtil.isValidMobileNumber(mobileNumber)) { -// Toast.makeText(getApplicationContext(), R.string.error_tag_gs_empty, Toast.LENGTH_SHORT).show(); -// return; -// } -// sequence++; -// TagAliasOperatorHelper.getInstance().handleAction(getApplicationContext(),sequence,mobileNumber); -// } -// /** -// * 获取输入的alias -// * */ -// private String getInPutAlias(){ -// EditText aliasEdit = (EditText) findViewById(R.id.et_alias); -// String alias = aliasEdit.getText().toString().trim(); -// if (TextUtils.isEmpty(alias)) { -// Toast.makeText(getApplicationContext(), R.string.error_alias_empty, Toast.LENGTH_SHORT).show(); -// return null; -// } -// if (!ExampleUtil.isValidTagAndAlias(alias)) { -// Toast.makeText(getApplicationContext(), R.string.error_tag_gs_empty, Toast.LENGTH_SHORT).show(); -// return null; -// } -// return alias; -// } -// /** -// * 获取输入的tags -// * */ -// private Set getInPutTags(){ -// EditText tagEdit = (EditText) findViewById(R.id.et_tag); -// String tag = tagEdit.getText().toString().trim(); -// // 检查 tag 的有效性 -// if (TextUtils.isEmpty(tag)) { -// Toast.makeText(getApplicationContext(), R.string.error_tag_empty, Toast.LENGTH_SHORT).show(); -// return null; -// } -// -// // ","隔开的多个 转换成 Set -// String[] sArray = tag.split(","); -// Set tagSet = new LinkedHashSet(); -// for (String sTagItme : sArray) { -// if (!ExampleUtil.isValidTagAndAlias(sTagItme)) { -// Toast.makeText(getApplicationContext(), R.string.error_tag_gs_empty, Toast.LENGTH_SHORT).show(); -// return null; -// } -// tagSet.add(sTagItme); -// } -// if(tagSet.isEmpty()){ -// Toast.makeText(getApplicationContext(), R.string.error_tag_empty, Toast.LENGTH_SHORT).show(); -// return null; -// } -// return tagSet; -// } -//} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/jpush/invalid/SettingActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/SettingActivity.java deleted file mode 100644 index 002f9bc..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/invalid/SettingActivity.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.aoleyun.sn.jpush.invalid; - -//public class SettingActivity extends InstrumentedActivity implements OnClickListener { -// TimePicker startTime; -// TimePicker endTime; -// CheckBox mMonday ; -// CheckBox mTuesday ; -// CheckBox mWednesday; -// CheckBox mThursday; -// CheckBox mFriday ; -// CheckBox mSaturday; -// CheckBox mSunday ; -// Button mSetTime; -// SharedPreferences mSettings; -// Editor mEditor; -// -// @Override -// public void onCreate(Bundle icicle) { -// super.onCreate(icicle); -// setContentView(R.layout.set_push_time); -// init(); -// initListener(); -// } -// -// @Override -// public void onStart() { -// super.onStart(); -// initData(); -// } -// -// private void init(){ -// startTime = (TimePicker) findViewById(R.id.start_time); -// endTime = (TimePicker) findViewById(R.id.end_time); -// startTime.setIs24HourView(DateFormat.is24HourFormat(this)); -// endTime.setIs24HourView(DateFormat.is24HourFormat(this)); -// mSetTime = (Button)findViewById(R.id.bu_setTime); -// mMonday = (CheckBox)findViewById(R.id.cb_monday); -// mTuesday = (CheckBox)findViewById(R.id.cb_tuesday); -// mWednesday = (CheckBox)findViewById(R.id.cb_wednesday); -// mThursday = (CheckBox)findViewById(R.id.cb_thursday); -// mFriday = (CheckBox)findViewById(R.id.cb_friday); -// mSaturday = (CheckBox)findViewById(R.id.cb_saturday); -// mSunday = (CheckBox)findViewById(R.id.cb_sunday); -// } -// -// private void initListener(){ -// mSetTime.setOnClickListener(this); -// } -// -// private void initData(){ -// mSettings = getSharedPreferences(ExampleUtil.PREFS_NAME, MODE_PRIVATE); -// String days = mSettings.getString(ExampleUtil.PREFS_DAYS, ""); -// if (!TextUtils.isEmpty(days)) { -// initAllWeek(false); -// String[] sArray = days.split(","); -// for (String day : sArray) { -// setWeek(day); -// } -// } else { -// initAllWeek(true); -// } -// -// int startTimeStr = mSettings.getInt(ExampleUtil.PREFS_START_TIME, 0); -// startTime.setCurrentHour(startTimeStr); -// int endTimeStr = mSettings.getInt(ExampleUtil.PREFS_END_TIME, 23); -// endTime.setCurrentHour(endTimeStr); -// } -// -// @Override -// public void onClick(View v) { -// switch (v.getId()) { -// case R.id.bu_setTime: -// v.requestFocus(); -// v.requestFocusFromTouch(); -// setPushTime(); -// break; -// } -// } -// -// /** -// *设置允许接收通知时间 -// */ -// private void setPushTime(){ -// int startime = startTime.getCurrentHour(); -// int endtime = endTime.getCurrentHour(); -// if (startime > endtime) { -// Toast.makeText(SettingActivity.this, "开始时间不能大于结束时间", Toast.LENGTH_SHORT).show(); -// return; -// } -// StringBuffer daysSB = new StringBuffer(); -// Set days = new HashSet(); -// if (mSunday.isChecked()) { -// days.add(0); -// daysSB.append("0,"); -// } -// if (mMonday.isChecked()) { -// days.add(1); -// daysSB.append("1,"); -// } -// if (mTuesday.isChecked()) { -// days.add(2); -// daysSB.append("2,"); -// } -// if (mWednesday.isChecked()) { -// days.add(3); -// daysSB.append("3,"); -// } -// if (mThursday.isChecked()) { -// days.add(4); -// daysSB.append("4,"); -// } -// if (mFriday.isChecked()) { -// days.add(5); -// daysSB.append("5,"); -// } -// if (mSaturday.isChecked()) { -// days.add(6); -// daysSB.append("6,"); -// } -// -// -// //调用JPush api设置Push时间 -// JPushInterface.setPushTime(getApplicationContext(), days, startime, endtime); -// -// mEditor = mSettings.edit(); -// mEditor.putString(ExampleUtil.PREFS_DAYS, daysSB.toString()); -// mEditor.putInt(ExampleUtil.PREFS_START_TIME, startime); -// mEditor.putInt(ExampleUtil.PREFS_END_TIME, endtime); -// mEditor.commit(); -// Toast.makeText(SettingActivity.this, R.string.setting_su, Toast.LENGTH_SHORT).show(); -// } -// -// @Override -// public boolean onKeyDown(int keyCode, KeyEvent event) { -// if (keyCode == KeyEvent.KEYCODE_BACK){ -// finish(); -// } -// return super.onKeyDown(keyCode, event); -// } -// -// private void setWeek(String day){ -// int dayId = Integer.valueOf(day); -// switch (dayId) { -// case 0: -// mSunday.setChecked(true); -// break; -// case 1: -// mMonday.setChecked(true); -// break; -// case 2: -// mTuesday.setChecked(true); -// break; -// case 3: -// mWednesday.setChecked(true); -// break; -// case 4: -// mThursday.setChecked(true); -// break; -// case 5: -// mFriday.setChecked(true); -// break; -// case 6: -// mSaturday.setChecked(true); -// break; -// } -// } -// -// private void initAllWeek(boolean isChecked) { -// mSunday.setChecked(isChecked); -// mMonday.setChecked(isChecked); -// mTuesday.setChecked(isChecked); -// mWednesday.setChecked(isChecked); -// mThursday.setChecked(isChecked); -// mFriday.setChecked(isChecked); -// mSaturday.setChecked(isChecked); -// } -//} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/jpush/invalid/TestActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/TestActivity.java deleted file mode 100644 index eaad7d1..0000000 --- a/app/src/main/java/com/aoleyun/sn/jpush/invalid/TestActivity.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aoleyun.sn.jpush.invalid; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.view.ViewGroup.LayoutParams; -import android.widget.TextView; - - -public class TestActivity extends Activity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - TextView tv = new TextView(this); - tv.setText("用户自定义打开的Activity"); - Intent intent = getIntent(); - if (null != intent) { - Bundle bundle = getIntent().getExtras(); - String title = null; - String content = null; - if(bundle!=null){ -// title = bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE); -// content = bundle.getString(JPushInterface.EXTRA_ALERT); - } - tv.setText("Title : " + title + " " + "Content : " + content); - } - addContentView(tv, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); - } - -} diff --git a/app/src/main/java/com/aoleyun/sn/manager/AmapManager.java b/app/src/main/java/com/aoleyun/sn/manager/MapManager.java similarity index 72% rename from app/src/main/java/com/aoleyun/sn/manager/AmapManager.java rename to app/src/main/java/com/aoleyun/sn/manager/MapManager.java index 47e3c55..3441d1f 100644 --- a/app/src/main/java/com/aoleyun/sn/manager/AmapManager.java +++ b/app/src/main/java/com/aoleyun/sn/manager/MapManager.java @@ -10,16 +10,16 @@ import com.baidu.location.BDLocation; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; -public class AmapManager { - private String TAG = AmapManager.class.getSimpleName(); +public class MapManager { + private String TAG = MapManager.class.getSimpleName(); @SuppressLint("StaticFieldLeak") - private static AmapManager sInstance; + private static MapManager sInstance; private Context mContext; private LocationClient mLocationClient = null; private LocationClientOption mOption; - private AmapManager(Context context) { + private MapManager(Context context) { this.mContext = context; } @@ -28,19 +28,19 @@ public class AmapManager { throw new RuntimeException("Context is NULL"); } if (sInstance == null) { - sInstance = new AmapManager(context); + sInstance = new MapManager(context); } } - public static AmapManager getInstance() { + public static MapManager getInstance() { if (sInstance == null) { - throw new IllegalStateException("You must be init AmapManager first"); + throw new IllegalStateException("You must be init MapManager first"); } return sInstance; } - public void initAmap() { + public void initMap() { mLocationClient = new LocationClient(mContext); mLocationClient.setLocOption(getDefaultLocationClientOption()); mLocationClient.registerLocationListener(mListener); @@ -50,7 +50,7 @@ public class AmapManager { public LocationClient getLocationClient() { if (mLocationClient == null) { - initAmap(); + initMap(); } return mLocationClient; } @@ -94,17 +94,35 @@ public class AmapManager { */ @Override public void onReceiveLocation(BDLocation location) { - // TODO Auto-generated method stub - if (null != location && location.getLocType() != BDLocation.TypeServerError) { - Log.e(TAG, "onLocationChanged: " + "定位成功"); - Log.e(TAG, "onLocationChanged: " + location.getAddress()); - SPUtils.put(mContext, "AmapAddress", location.getAddress()); - SPUtils.put(mContext, "longitude", location.getLongitude()); - SPUtils.put(mContext, "latitude", location.getLatitude()); - SPUtils.put(mContext, "AmapError", ""); + if (null != location) { + switch (location.getLocType()) { + case BDLocation.TypeGpsLocation:// GPS定位结果 + case BDLocation.TypeNetWorkLocation:// 网络定位结果 + case BDLocation.TypeOffLineLocation:// 离线定位结果 + Log.e(TAG, "onLocationChanged: " + "定位成功"); + Log.e(TAG, "onLocationChanged: " + location.getAddrStr() + location.getLocationDescribe()); + SPUtils.put(mContext, "MapAddress", location.getAddrStr() + location.getLocationDescribe()); + SPUtils.put(mContext, "longitude", location.getLongitude()); + SPUtils.put(mContext, "latitude", location.getLatitude()); + SPUtils.put(mContext, "MapError", "-"); + break; + case BDLocation.TypeServerError: + Log.e(TAG, "onReceiveLocation: " + "服务端网络定位失败"); + SPUtils.put(mContext, "MapError", "服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因"); + break; + case BDLocation.TypeNetWorkException: + Log.e(TAG, "onReceiveLocation: " + "网络不同导致定位失败,请检查网络是否通畅"); + SPUtils.put(mContext, "MapError", "网络不同导致定位失败,请检查网络是否通畅"); + break; + case BDLocation.TypeCriteriaException: + Log.e(TAG, "onReceiveLocation: " + "无法获取有效定位依据导致定位失败"); + SPUtils.put(mContext, "MapError", "无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机"); + break; + default: + } } - Log.e(TAG, (String) SPUtils.get(mContext, "AmapAddress", "-")); - Log.e(TAG, (String) SPUtils.get(mContext, "AmapError", "-")); + Log.e(TAG, "MapAddress: " + (String) SPUtils.get(mContext, "MapAddress", "-")); + Log.e(TAG, "MapError: " + (String) SPUtils.get(mContext, "MapError", "-")); } @Override @@ -161,7 +179,7 @@ public class AmapManager { } } Log.e(TAG, "onLocationChanged: " + "定位失败"); - SPUtils.put(mContext, "AmapError", sb); + SPUtils.put(mContext, "MapError", sb); Log.e(TAG, "onLocDiagnosticMessage: " + sb); // logMsg(sb.toString(), tag); } diff --git a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java index b50136c..14e3c59 100644 --- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java @@ -12,6 +12,7 @@ import android.text.TextUtils; import android.util.Log; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.bean.AppID; @@ -50,7 +51,7 @@ import com.aoleyun.sn.network.api.get.CheckTestUpdateApi; import com.aoleyun.sn.network.api.get.DefaultAppApi; import com.aoleyun.sn.network.api.get.GetDesktopApi; import com.aoleyun.sn.network.api.get.GetDeveloperApi; -import com.aoleyun.sn.network.api.get.GetJpushTagsApi; +import com.aoleyun.sn.network.api.get.GetPushTagsApi; import com.aoleyun.sn.network.api.GetPublicIPApi; import com.aoleyun.sn.network.api.get.GetSnRunLogApi; import com.aoleyun.sn.network.api.get.GetWiFiAliasApi; @@ -92,6 +93,8 @@ import com.aoleyun.sn.network.interceptor.RepeatRequestInterceptor; import com.aoleyun.sn.rlog.LogDBManager; import com.aoleyun.sn.service.LogcatService; import com.aoleyun.sn.service.main.MainService; +import com.aoleyun.sn.statistics.AppInformation; +import com.aoleyun.sn.statistics.StatisticsInfo; import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.CacheUtils; import com.aoleyun.sn.utils.ForegroundAppUtil; @@ -298,7 +301,6 @@ public class NetInterfaceManager { .sendMACaddress(Utils.getSerial(mContext), Utils.getAndroid10MAC(mContext), MMKV.defaultMMKV().decodeString("XGPushtoken", "未知"), -// JPushInterface.getRegistrationID(mContext), Utils.getCustomVersion(), BuildConfig.VERSION_NAME, Utils.getAPPVersionName(PackageNames.APPSTORE, mContext), @@ -327,8 +329,8 @@ public class NetInterfaceManager { * @return */ public Observable> getPushTagsObservable() { - return mRetrofit.create(GetJpushTagsApi.class) - .getJpushTags(Utils.getSerial(mContext)) + return mRetrofit.create(GetPushTagsApi.class) + .getPushTags(Utils.getSerial(mContext)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } @@ -3239,4 +3241,110 @@ public class NetInterfaceManager { } }); } + + + public void sendAppUsedTime(String random, String type) { + StatisticsInfo statisticsInfo = null; + if (type.equals("0")) { + statisticsInfo = new StatisticsInfo(mContext); + } else if (type.equals("1")) { + statisticsInfo = new StatisticsInfo(mContext, StatisticsInfo.WEEK); + } + List list = null; + List localAppList = new ArrayList<>(); + + if (statisticsInfo != null) { + list = statisticsInfo.getShowList(); + if (list != null && list.size() > 0) { + for (AppInformation appInformation : list) { + if (!ApkUtils.isSystemApp(mContext, appInformation.getPackageName())) { + localAppList.add(appInformation); + } + } + } else { + Log.e("fht", "今日没有打开的应用"); + } + } else { + Log.e("fht", "获取信息失败"); + } + + JSONObject data = new JSONObject(); + JSONArray appinfo = new JSONArray(); + try { + if (localAppList.size() > 0) { + for (int i = 0; i < 5; i++) { + AppInformation information = localAppList.get(i); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("package", information.getPackageName()); + jsonObject.put("use_time", (int) information.getUsedTimebyDay() / 1000); + appinfo.add(jsonObject); + } + data.put("data", appinfo); + } + } catch (Exception e) { + Log.e("sendAppUsedTime", e.getMessage()); + } + + NetInterfaceManager.getInstance() + .getAppLogApi() + .getAppLog(Utils.getSerial(mContext), random, data.toJSONString()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + Log.e("sendAppUsedTime", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse baseResponse) { + Log.e("sendAppUsedTime", "onNext: "); + int code = baseResponse.code; + String msg = baseResponse.msg; + Log.e("sendAppUsedTime", "onSubscribe:" + msg); + } + + @Override + public void onError(Throwable e) { + Log.e("sendAppUsedTime", "onError: " + e.getMessage()); + + } + + @Override + public void onComplete() { + Log.e("sendAppUsedTime", "onComplete: "); + } + }); + + + } + + private long totalTime; + private int totalTimes; + + public void setAPPUsage() { + StatisticsInfo statisticsInfo = new StatisticsInfo(mContext); + totalTime = statisticsInfo.getTotalTime();//全部时间 + totalTimes = statisticsInfo.getTotalTimes();//全部次数 + } + + public void setAPPUsage(List lists) { + StatisticsInfo statisticsInfo = new StatisticsInfo(mContext); + List list = null; + List localAppList = new ArrayList<>(); + + totalTime = statisticsInfo.getTotalTime();//全部时间 + totalTimes = statisticsInfo.getTotalTimes();//全部次数 + + list = statisticsInfo.getShowList(); + if (list != null && list.size() > 0) { + for (AppInformation appInformation : list) { + if (lists.indexOf(appInformation.getPackageName()) != -1) { + localAppList.add(appInformation); + } + } + } else { + + } + } } diff --git a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java index 655e4ae..459c639 100644 --- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java +++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java @@ -122,10 +122,4 @@ public class UrlAddress { public static final String PCONLINE_WHOIS = "http://whois.pconline.com.cn/"; public static final String WHOIS = "ipJson.jsp"; - - /*删除alias*/ - public static final String DELETE_JPUSH_ALIAS = "https://device.jpush.cn/v3/aliases/"; - /*删除tags*/ - public static final String DELETE_JPUSH_TAG = "https://device.jpush.cn/v3/tags/"; - } diff --git a/app/src/main/java/com/aoleyun/sn/network/api/get/GetJpushTagsApi.java b/app/src/main/java/com/aoleyun/sn/network/api/get/GetPushTagsApi.java similarity index 80% rename from app/src/main/java/com/aoleyun/sn/network/api/get/GetJpushTagsApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/get/GetPushTagsApi.java index 65d95b0..42258cf 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/get/GetJpushTagsApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/get/GetPushTagsApi.java @@ -8,9 +8,9 @@ import io.reactivex.rxjava3.core.Observable; import retrofit2.http.GET; import retrofit2.http.Query; -public interface GetJpushTagsApi { +public interface GetPushTagsApi { @GET(UrlAddress.GET_DEVICES_TAGS) - Observable> getJpushTags( + Observable> getPushTags( @Query("sn") String sn ); } diff --git a/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java b/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java index dd06519..f5d98a2 100644 --- a/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java +++ b/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java @@ -57,7 +57,7 @@ public class RepeatRequestInterceptor implements Interceptor { private void log(String action, String requestKey, Request request) { if (BuildConfig.DEBUG) { - Log.e("REPEAT-REQUEST", action + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url() + "\t" + bodyToString(request)); + Log.e("REPEAT-REQUEST", action + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url().encodedPath() + "\t" + bodyToString(request)); } else { Log.e("REPEAT-REQUEST", action + requestKey + " Method @" + request.method()); } diff --git a/app/src/main/java/com/aoleyun/sn/service/GuardService.java b/app/src/main/java/com/aoleyun/sn/service/GuardService.java index ce974b6..c127b87 100644 --- a/app/src/main/java/com/aoleyun/sn/service/GuardService.java +++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java @@ -25,7 +25,7 @@ import com.aoleyun.sn.KeepAliveConnection; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.PackageNames; -import com.aoleyun.sn.manager.AmapManager; +import com.aoleyun.sn.manager.MapManager; import com.aoleyun.sn.network.NetInterfaceManager; import com.aoleyun.sn.network.api.post.SendScreenStatusApi; import com.aoleyun.sn.receiver.BootReceiver; @@ -41,12 +41,10 @@ import com.aoleyun.sn.utils.Utils; import com.aoleyun.sn.utils.XAPKUtils; import com.arialyy.annotations.Download; import com.arialyy.aria.core.Aria; -import com.arialyy.aria.core.download.DownloadEntity; import com.arialyy.aria.core.task.DownloadTask; import com.baidu.location.LocationClient; import java.io.IOException; -import java.util.List; import java.util.concurrent.TimeUnit; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; @@ -240,7 +238,7 @@ public class GuardService extends Service { break; case Intent.ACTION_SCREEN_ON: { long time = System.currentTimeMillis(); - LocationClient locationClient = AmapManager.getInstance().getLocationClient(); + LocationClient locationClient = MapManager.getInstance().getLocationClient(); locationClient.stop(); locationClient.start(); getLockState("2", String.valueOf(time)); diff --git a/app/src/main/java/com/aoleyun/sn/service/RemoteService.java b/app/src/main/java/com/aoleyun/sn/service/RemoteService.java index 9d8d63d..e742864 100644 --- a/app/src/main/java/com/aoleyun/sn/service/RemoteService.java +++ b/app/src/main/java/com/aoleyun/sn/service/RemoteService.java @@ -10,9 +10,7 @@ import android.util.Log; import com.aoleyun.sn.SystemInfoInterface; import com.aoleyun.sn.utils.ForegroundAppUtil; import com.aoleyun.sn.utils.JGYUtils; -import com.aoleyun.sn.utils.SPUtils; import com.aoleyun.sn.utils.Utils; -import com.tencent.mmkv.MMKV; import java.util.List; diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java index 83fe95a..c5d5788 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java @@ -29,6 +29,7 @@ import io.reactivex.rxjava3.subjects.BehaviorSubject; */ public class MainSPresenter implements MainSContact.Presenter { private static final String TAG = MainSPresenter.class.getSimpleName(); + private MainSContact.MainView mView; private Context mContext; private ContentResolver crv; @@ -478,5 +479,4 @@ public class MainSPresenter implements MainSContact.Presenter { } }); } - } diff --git a/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java b/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java index 5a5d9fb..4b0fd27 100644 --- a/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java @@ -1,7 +1,6 @@ package com.aoleyun.sn.tpush; import android.annotation.SuppressLint; -import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; import android.content.ContextWrapper; @@ -26,14 +25,13 @@ import com.aoleyun.sn.R; import com.aoleyun.sn.base.BaseApplication; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.DownloadInfo; -import com.aoleyun.sn.bean.LogoImg; import com.aoleyun.sn.bean.RemoteDebug; import com.aoleyun.sn.bean.ScreenLockState; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.disklrucache.CacheHelper; import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory; -import com.aoleyun.sn.manager.AmapManager; +import com.aoleyun.sn.manager.MapManager; import com.aoleyun.sn.network.NetInterfaceManager; import com.aoleyun.sn.network.RetryCallback; import com.aoleyun.sn.network.UrlAddress; @@ -537,7 +535,7 @@ public class MessageReceiver extends XGPushBaseReceiver { JSONObject usedTimeJson = JSON.parseObject(extras); String random = usedTimeJson.getString("random"); String sendType = usedTimeJson.getString("type"); - BaseApplication.sendAppUsedTime(random, sendType); + NetInterfaceManager.getInstance().sendAppUsedTime(random, sendType); break; case GET_FORCEDOWNLOADURL: ToastUtil.betaShow("收到管控:应用强制安装"); @@ -618,7 +616,7 @@ public class MessageReceiver extends XGPushBaseReceiver { } else { Log.e(TAG, "mPresenter is NULL"); } - LocationClient locationClient = AmapManager.getInstance().getLocationClient(); + LocationClient locationClient = MapManager.getInstance().getLocationClient(); locationClient.stop(); locationClient.start(); locationClient.registerLocationListener(new BDAbstractLocationListener() { @@ -628,13 +626,13 @@ public class MessageReceiver extends XGPushBaseReceiver { if (null != bdLocation && bdLocation.getLocType() != BDLocation.TypeServerError) { Log.e(TAG, "onLocationChanged: " + "定位成功"); Log.e(TAG, "onLocationChanged: " + bdLocation.getAddress()); - SPUtils.put(mContext, "AmapAddress", bdLocation.getAddress()); + SPUtils.put(mContext, "MapAddress", bdLocation.getAddress()); SPUtils.put(mContext, "longitude", bdLocation.getLongitude()); SPUtils.put(mContext, "latitude", bdLocation.getLatitude()); - SPUtils.put(mContext, "AmapError", ""); + SPUtils.put(mContext, "MapError", ""); } - Log.e(TAG, (String) SPUtils.get(mContext, "AmapAddress", "-")); - Log.e(TAG, (String) SPUtils.get(mContext, "AmapError", "-")); + Log.e(TAG, (String) SPUtils.get(mContext, "MapAddress", "-")); + Log.e(TAG, (String) SPUtils.get(mContext, "MapError", "-")); } @Override @@ -679,7 +677,7 @@ public class MessageReceiver extends XGPushBaseReceiver { } } Log.e(TAG, "onLocationChanged: " + "定位失败"); - SPUtils.put(mContext, "AmapError", sb); + SPUtils.put(mContext, "MapError", sb); Log.e(TAG, "onLocDiagnosticMessage: " + sb); } }); diff --git a/app/src/main/java/com/aoleyun/sn/utils/ExampleUtil.java b/app/src/main/java/com/aoleyun/sn/utils/ExampleUtil.java deleted file mode 100644 index b3f1480..0000000 --- a/app/src/main/java/com/aoleyun/sn/utils/ExampleUtil.java +++ /dev/null @@ -1,252 +0,0 @@ -package com.aoleyun.sn.utils; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.os.Build; -import android.os.Bundle; -import android.os.Environment; -import android.os.Looper; -import android.os.storage.StorageManager; -import android.telephony.TelephonyManager; -import android.text.TextUtils; - -import java.io.File; -import java.lang.reflect.Array; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.text.DecimalFormat; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - - -public class ExampleUtil { - public static final String PREFS_NAME = "JPUSH_EXAMPLE"; - public static final String PREFS_DAYS = "JPUSH_EXAMPLE_DAYS"; - public static final String PREFS_START_TIME = "PREFS_START_TIME"; - public static final String PREFS_END_TIME = "PREFS_END_TIME"; - public static final String KEY_APP_KEY = "JPUSH_APPKEY"; - - public static boolean isEmpty(String s) { - if (null == s) - return true; - if (s.length() == 0) - return true; - if (s.trim().length() == 0) - return true; - return false; - } - /** - * 只能以 “+” 或者 数字开头;后面的内容只能包含 “-” 和 数字。 - * */ - private final static String MOBILE_NUMBER_CHARS = "^[+0-9][-0-9]{1,}$"; - public static boolean isValidMobileNumber(String s) { - if(TextUtils.isEmpty(s)) return true; - Pattern p = Pattern.compile(MOBILE_NUMBER_CHARS); - Matcher m = p.matcher(s); - return m.matches(); - } - // 校验Tag Alias 只能是数字,英文字母和中文 - public static boolean isValidTagAndAlias(String s) { - Pattern p = Pattern.compile("^[\u4E00-\u9FA50-9a-zA-Z_!@#$&*+=.|]+$"); - Matcher m = p.matcher(s); - return m.matches(); - } - - // 取得AppKey - public static String getAppKey(Context context) { - Bundle metaData = null; - String appKey = null; - try { - ApplicationInfo ai = context.getPackageManager().getApplicationInfo( - context.getPackageName(), PackageManager.GET_META_DATA); - if (null != ai) - metaData = ai.metaData; - if (null != metaData) { - appKey = metaData.getString(KEY_APP_KEY); - if ((null == appKey) || appKey.length() != 24) { - appKey = null; - } - } - } catch (NameNotFoundException e) { - - } - return appKey; - } - - // 取得版本号 - public static String GetVersion(Context context) { - try { - PackageInfo manager = context.getPackageManager().getPackageInfo( - context.getPackageName(), 0); - return manager.versionName; - } catch (NameNotFoundException e) { - return "Unknown"; - } - } - - public static void showToast(final String toast, final Context context) - { - new Thread(new Runnable() { - - @Override - public void run() { - Looper.prepare(); -// Toast.makeText(context, toast, Toast.LENGTH_SHORT).show(); - Looper.loop(); - } - }).start(); - } - - public static boolean isConnected(Context context) { - ConnectivityManager conn = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo info = conn.getActiveNetworkInfo(); - return (info != null && info.isConnected()); - } - - public static String getImei(Context context, String imei) { - String ret = null; - try { - TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - ret = telephonyManager.getDeviceId(); - } catch (Exception e) { - Logger.e(ExampleUtil.class.getSimpleName(), e.getMessage()); - } - if (isReadableASCII(ret)){ - return ret; - } else { - return imei; - } - } - - private static boolean isReadableASCII(CharSequence string){ - if (TextUtils.isEmpty(string)) return false; - try { - Pattern p = Pattern.compile("[\\x20-\\x7E]+"); - return p.matcher(string).matches(); - } catch (Throwable e){ - return true; - } - } - - public static String getDeviceId(Context context) { -// return JPushInterface.getUdid(context); - return "0"; - } - - public static class StorageUtils { - - - // 获取存储空间 false 内置sd卡路径,true 外置sd卡路径 - public static File getStoragePath(Context mContext, boolean isSDcard) { - StorageManager mStorageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE); - Class storageVolumeClazz = null; - try { - storageVolumeClazz = Class.forName("android.os.storage.StorageVolume"); - Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList"); - Method getPath = storageVolumeClazz.getMethod("getPath"); - Method isRemovable = storageVolumeClazz.getMethod("isRemovable"); - Object result = getVolumeList.invoke(mStorageManager); - final int length = Array.getLength(result); - for (int i = 0; i < length; i++) { - Object storageVolumeElement = Array.get(result, i); - String path = (String) getPath.invoke(storageVolumeElement); - boolean removable = (Boolean) isRemovable.invoke(storageVolumeElement); - if (isSDcard == removable) { - File file = new File(path); - if (file.exists()) { - return file; - }else { - if (!isSDcard) { - return Environment.getExternalStorageDirectory(); - } else { - File file1 = new File("root/storage/sdcard1"); - if (file1.exists()){ - return file1; - }else { - File file2 = new File("storage/sdcard1"); - if (file2.exists()){ - return file2; - }else { - File file3 = new File("/storage/emulated/0"); - if (file3.exists()){ - return file3; - }else { - return null; - } - } - } - } - } - } - } - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - return null; - } - - - - public static String getFileCache(Context context, String s) { - return getExternalFilesDir(context, s).getAbsolutePath(); - } - - public static String getFileRoot(Context context) { - return getExternalFilesDir(context, "Download").getAbsolutePath(); - } - - public static File getExternalFilesDir(Context context, String s) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) { - File path = context.getExternalFilesDir(s); - if (path != null) { - return path; - } - } - final String cacheDir = "/Android/data/" + context.getPackageName() + "/files/" + s; - return new File(Environment.getExternalStorageDirectory().getPath() + cacheDir); - } - - - // 检测文件是否存在 - public static boolean isFileIsExists(String filePath){ - try{ - File f=new File(filePath); - if(!f.exists()){ - return false; - } - }catch (Exception e) { - return false; - } - return true; - } - - - public static String size(long size) { - if (size / (1024 * 1024) > 0) { - float tmpSize = (float) (size) / (float) (1024 * 1024 ); - DecimalFormat df = new DecimalFormat("#.##"); - return "" + df.format(tmpSize) + "GB"; - } else if (size / 1024 > 0) { - float tmpSize = (float) (size) / (float) 1024 ; - DecimalFormat df = new DecimalFormat("#.##"); - return "" + df.format(tmpSize) + "MB"; - } else if (size > 0) { - return "" + (size ) + "KB"; - } else { - return "" + (size) + "KB"; - } - } - - } -} diff --git a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java index ffaae32..19abe59 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java @@ -2092,7 +2092,6 @@ public class JGYUtils { JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("sn", Utils.getSerial(context)); jsonObject.addProperty("mac", Utils.getAndroid10MAC(mContext)); -// jsonObject.addProperty("jpush_id", JPushInterface.getRegistrationID(mContext)); jsonObject.addProperty("jpush_id", "0000"); jsonObject.addProperty("devices_version", Utils.getCustomVersion()); jsonObject.addProperty("appstore_version", BuildConfig.VERSION_NAME); diff --git a/app/src/main/java/com/aoleyun/sn/utils/Utils.java b/app/src/main/java/com/aoleyun/sn/utils/Utils.java index d33a177..75ca35a 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/Utils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java @@ -1422,7 +1422,7 @@ public class Utils { } public static String getAddressJsonString(Context context) { - String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-")); + String address = String.valueOf(SPUtils.get(context, "MapAddress", "-")); if ("-".equals(address)) { address = "定位失败"; }