diff --git a/app/build.gradle b/app/build.gradle index fbcb77a..8d7bb80 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,16 +11,11 @@ def releaseTime() { android { compileSdkVersion 29 defaultConfig { - applicationId "com.jiaoguanyi.appstore" + applicationId "com.aoleyun.sn" minSdkVersion 24 targetSdkVersion 29 - multiDexEnabled true - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - packagingOptions { - exclude 'META-INF/rxjava.properties' - } } lintOptions { @@ -41,100 +36,59 @@ android { //新平台正式 newly { flavorDimensions "default" - versionCode 628 - //versionCode 1037 - versionName "2.2.8" + versionCode 1 + versionName "1.0" /*********************************极光推送************************************/ manifestPlaceholders = [ - JPUSH_PKGNAME: "com.jiaoguanyi.appstore", - JPUSH_APPKEY : "20f70bbeb78bad23eddd08d0", //JPush上注册的包名对应的appkey. + JPUSH_PKGNAME: "com.aoleyun.sn", + JPUSH_APPKEY : "79c64ef41b8728ad6aa29af1", //JPush上注册的包名对应的appkey. JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. channel_value: "newly", -// AMAP_KEY: "546eb5646a65ac6a5b7d1c7456466e05" ] /*********************************极光推送end************************************/ - buildConfigField "String", "ROOT_URL", '"http://name.jiaoguanyi.cn/api/"' -// buildConfigField "String", "WebsocketURL", '"ws://47.119.147.245:2345"' - buildConfigField "String", "WebsocketURL", '"wss://name.jiaoguanyi.cn:2018"' - buildConfigField "String", "SCREEN_URL", '"https://name.jiaoguanyi.cn:2018/wm/is_online"' + buildConfigField "String", "ROOT_URL", '"http://led.aoleyun.cn/api/"' + buildConfigField "String", "SCREEN_BASE_URL", '"https://led.aoleyun.cn:2018/"' + buildConfigField "String", "SCREEN_URL", '"https://led.aoleyun.cn:2018/wm/is_online"' + buildConfigField "String", "WebsocketURL", '"wss://led.aoleyun.cn:2018"' } MTKnewly { flavorDimensions "default" - versionCode 719 - //versionCode 1037 - versionName "2.1.9" + versionCode 1 + versionName "1.0" /*********************************极光推送************************************/ manifestPlaceholders = [ - JPUSH_PKGNAME: "com.jiaoguanyi.appstore", - JPUSH_APPKEY : "20f70bbeb78bad23eddd08d0", //JPush上注册的包名对应的appkey. + JPUSH_PKGNAME: "com.aoleyun.sn", + JPUSH_APPKEY : "79c64ef41b8728ad6aa29af1", //JPush上注册的包名对应的appkey. JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. channel_value: "newly", -// AMAP_KEY: "546eb5646a65ac6a5b7d1c7456466e05" ] /*********************************极光推送end************************************/ - buildConfigField "String", "ROOT_URL", '"http://name.jiaoguanyi.cn/api/"' - buildConfigField "String", "WebsocketURL", '"wss://name.jiaoguanyi.cn:2018"' - buildConfigField "String", "SCREEN_URL", '"https://name.jiaoguanyi.cn:2018/wm/is_online"' + buildConfigField "String", "ROOT_URL", '"http://led.aoleyun.cn/api/"' + buildConfigField "String", "SCREEN_BASE_URL", '"https://led.aoleyun.cn:2018/"' + buildConfigField "String", "SCREEN_URL", '"https://led.aoleyun.cn:2018/wm/is_online"' + buildConfigField "String", "WebsocketURL", '"wss://led.aoleyun.cn:2018"' } //新平台测试 beta { + versionNameSuffix "-beta" flavorDimensions "default" - versionCode 5 - versionName "1.4" -// versionCode 628 -// versionName "2.1.8" + versionCode 1 + versionName "1.0" /*********************************极光推送************************************/ manifestPlaceholders = [ - JPUSH_PKGNAME: "com.jiaoguanyi.appstore", - JPUSH_APPKEY : "52d81643665bb2cadacf0e9e", //JPush上注册的包名对应的appkey. + JPUSH_PKGNAME: "com.aoleyun.sn", + JPUSH_APPKEY : "79c64ef41b8728ad6aa29af1", //JPush上注册的包名对应的appkey. JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. channel_value: "beta", -// AMAP_KEY: "5b68c8ee39800ff700a3762b6e028b78" ] /*********************************极光推送end************************************/ - buildConfigField "String", "ROOT_URL", '"http://name.uiuios.com/api/"' - buildConfigField "String", "WebsocketURL", '"wss://name.uiuios.com:2018"' - buildConfigField "String", "SCREEN_URL", '"https://name.uiuios.com:2018/wm/is_online"' - versionNameSuffix "-beta" + buildConfigField "String", "ROOT_URL", '"http://led.aoleyun.cn/api/"' + buildConfigField "String", "SCREEN_BASE_URL", '"https://led.aoleyun.cn:2018/"' + buildConfigField "String", "SCREEN_URL", '"https://led.aoleyun.cn:2018/wm/is_online"' + buildConfigField "String", "WebsocketURL", '"wss://led.aoleyun.cn:2018"' } - -// //老平台正式 -// official { -// flavorDimensions "default" -// versionCode 1039 -// versionName "2.0.3.9" -// /*********************************极光推送************************************/ -// manifestPlaceholders = [ -// JPUSH_PKGNAME: "com.jiaoguanyi.appstore", -// JPUSH_APPKEY : "20f70bbeb78bad23eddd08d0", //JPush上注册的包名对应的appkey. -// JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. -// channel_value: "official", -// AMAP_KEY: "5b68c8ee39800ff700a3762b6e028b78" -// ] -// /*********************************极光推送end************************************/ -// buildConfigField "String", "ROOT_URL", '"http://partner.jiaoguanyi.com/api/"' -// buildConfigField "String", "WebsocketURL", '"ws://47.107.133.19:1234"' -// } -// -// //中优 -// zhongyou { -// flavorDimensions "default" -// versionCode 1 -// versionName "1.0"//测试jiaoguanyi.cn -// /*********************************极光推送************************************/ -// manifestPlaceholders = [ -// JPUSH_PKGNAME: "com.jiaoguanyi.appstore", -// JPUSH_APPKEY : "a98c8a210687b4bb43c39c39", //JPush上注册的包名对应的appkey. -// JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. -// channel_value: "zhongyou" , -// AMAP_KEY: "5b68c8ee39800ff700a3762b6e028b78" -// ] -// /*********************************极光推送end************************************/ -// buildConfigField "String", "ROOT_URL", '"https://jgy.jundunxueyuan.com/api/"' -// buildConfigField "String", "WebsocketURL", '"ws://39.98.59.202:2345"' -// } } sourceSets { @@ -251,11 +205,8 @@ android { debug { buildConfigField "String", "platform", '"MTK"' manifestPlaceholders = [ - AMAP_KEY: "5b68c8ee39800ff700a3762b6e028b78" + AMAP_KEY: "1af68e0a7edcaac82678b1cbb7643408" ] - // 不显示Log - //buildConfigField "boolean", "LOG_DEBUG", "false" - // versionNameSuffix "-debug" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' @@ -276,7 +227,7 @@ android { release { buildConfigField "String", "platform", '"MTK"' manifestPlaceholders = [ - AMAP_KEY: "5b68c8ee39800ff700a3762b6e028b78" + AMAP_KEY: "1af68e0a7edcaac82678b1cbb7643408" ] //混淆 minifyEnabled false @@ -298,6 +249,7 @@ android { } } } + externalNativeBuild { cmake { path file('CMakeLists.txt') @@ -318,28 +270,39 @@ dependencies { testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + //BindView implementation 'com.jakewharton:butterknife:10.1.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0' - implementation 'uk.co.chrisjenx:calligraphy:2.3.0' - implementation "org.java-websocket:Java-WebSocket:1.4.1" + + //OkHttp implementation 'com.squareup.okhttp3:okhttp:4.9.1' + //Retrofit implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' + //RxJava implementation 'io.reactivex.rxjava2:rxjava:2.2.12' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' + //生命周期管理 + implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.2' + implementation 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.2' + implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.2' //implementation "com.uber.autodispose:autodispose:1.3.0" //implementation "com.uber.autodispose:autodispose-android-archcomponents:1.3.0" + //Google implementation 'com.google.code.gson:gson:2.8.7' implementation 'com.google.zxing:core:3.3.0' - implementation 'cn.jiguang.sdk:jpush:3.8.6' // 此处以JPush 3.5.6 版本为例。 - implementation 'cn.jiguang.sdk:jcore:2.6.0' // 此处以JCore 2.2.8 版本为例。 + //fastjson implementation 'com.alibaba:fastjson:1.2.76' - //逐渐弃用,几年没更新了 - implementation 'com.lzy.net:okgo:2.1.4' - implementation 'com.lzy.net:okrx:0.1.2' - //implementation 'com.lzy.net:okserver:1.1.3' - //okhttp框架 + //极光推送 + 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' + //MMKV + implementation 'com.tencent:mmkv-static:1.2.10' + + //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' @@ -349,29 +312,25 @@ dependencies { //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.30.6' + //Aria implementation 'com.arialyy.aria:core:3.8.15' annotationProcessor 'com.arialyy.aria:compiler:3.8.15' - //高德地图定位 - implementation 'com.amap.api:location:5.1.0' //压缩文件解压 implementation 'org.zeroturnaround:zt-zip:1.13' - //生命周期管理 - implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.2' - implementation 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.2' - implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.2' + //更换字体框架 + implementation 'uk.co.chrisjenx:calligraphy:2.3.0' + //Java WebSocket + implementation "org.java-websocket:Java-WebSocket:1.4.1" //状态栏透明 implementation 'com.gitee.zackratos:UltimateBarX:0.7.1' - - // 基础依赖包,必须要依赖 - implementation 'com.gyf.immersionbar:immersionbar:3.0.0' - // fragment快速实现(可选) - implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' - // kotlin扩展(可选) - //implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0' - - implementation 'com.tencent:mmkv-static:1.2.10' +// // 基础依赖包,必须要依赖 +// implementation 'com.gyf.immersionbar:immersionbar:3.0.0' +// // fragment快速实现(可选) +// implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' +// // kotlin扩展(可选) +// implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0' } preBuild { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1f3b0e6..6939ef9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ @@ -60,10 +60,13 @@ android:maxSdkVersion="22" /> + android:maxSdkVersion="23" /> + - - + + + + @@ -76,15 +79,17 @@ - - + + + + - + - + - - + + @@ -111,7 +116,7 @@ @@ -123,9 +128,9 @@ - + @@ -140,7 +145,7 @@ @@ -150,13 +155,14 @@ - + + @@ -169,11 +175,11 @@ @@ -200,9 +206,10 @@ - + - + + @@ -214,7 +221,7 @@ @@ -231,7 +238,8 @@ - + + @@ -245,7 +253,7 @@ @@ -253,13 +261,15 @@ - + + + tools:replace="android:exported" /> + - + - + + - + + + tools:replace="android:authorities" /> + - + - + + + tools:replace="android:authorities" /> + + android:exported="false" + tools:replace="android:exported"> - + @@ -327,10 +343,12 @@ - + + + android:exported="false" /> + - + - + + - + + @@ -365,27 +385,31 @@ - + - - + + + - + + android:value="developer-default" /> + + android:value="${JPUSH_APPKEY}" /> + + android:value="${AMAP_KEY}" /> + diff --git a/app/src/main/aidl/com/jiaoguanyi/appstore/IGetLicenseInterface.aidl b/app/src/main/aidl/com/aoleyun/sn/IGetLicenseInterface.aidl similarity index 92% rename from app/src/main/aidl/com/jiaoguanyi/appstore/IGetLicenseInterface.aidl rename to app/src/main/aidl/com/aoleyun/sn/IGetLicenseInterface.aidl index fca4c6f..db9cef7 100644 --- a/app/src/main/aidl/com/jiaoguanyi/appstore/IGetLicenseInterface.aidl +++ b/app/src/main/aidl/com/aoleyun/sn/IGetLicenseInterface.aidl @@ -1,5 +1,5 @@ // IGetLicenseInterface.aidl -package com.jiaoguanyi.appstore; +package com.aoleyun.sn; // Declare any non-default types here with import statements diff --git a/app/src/main/aidl/com/mjsheng/myappstore/KeepAliveConnection.aidl b/app/src/main/aidl/com/aoleyun/sn/KeepAliveConnection.aidl similarity index 79% rename from app/src/main/aidl/com/mjsheng/myappstore/KeepAliveConnection.aidl rename to app/src/main/aidl/com/aoleyun/sn/KeepAliveConnection.aidl index b9a3571..7d7b604 100644 --- a/app/src/main/aidl/com/mjsheng/myappstore/KeepAliveConnection.aidl +++ b/app/src/main/aidl/com/aoleyun/sn/KeepAliveConnection.aidl @@ -1,5 +1,5 @@ // KeepAliveConnection.aidl -package com.mjsheng.myappstore; +package com.aoleyun.sn; // Declare any non-default types here with import statements diff --git a/app/src/main/assets/aria_config.xml b/app/src/main/assets/aria_config.xml index 16a9dc4..a85bbf6 100644 --- a/app/src/main/assets/aria_config.xml +++ b/app/src/main/assets/aria_config.xml @@ -12,7 +12,7 @@ - + diff --git a/app/src/main/java/com/aoleyun/sn/action/JGYActions.java b/app/src/main/java/com/aoleyun/sn/action/JGYActions.java new file mode 100644 index 0000000..8ab5c6c --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/action/JGYActions.java @@ -0,0 +1,25 @@ +package com.aoleyun.sn.action; + +public class JGYActions { + /* + * 需要写到底层的数据 + * */ + //设备锁定状态 + public final static String ACTION_QCH_UNLOCK_IPAD = "qch_unlock_ipad"; + //应用管理-允许联网 + public final static String ACTION_HR_RECEIVER_JGY = "qch_jgy_network_allow"; + //应用管理-禁止联网 + public final static String ACTION_HR_RECEIVER_JGY_DIS = "qch_jgy_network_disallow"; + // + public final static String ACTION_STATUS_BAR_STATUS = "jgy_statusbar_status"; + // + + /* + * 应用内部的数据 + * */ + + //后台上传所有应用包名 将添加到桌面 + public final static String ACTION_JGY_SHORTCUTLIST = "only_jgy_shortcut_list"; + + +} diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java b/app/src/main/java/com/aoleyun/sn/activity/HomeActivity.java similarity index 62% rename from app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java rename to app/src/main/java/com/aoleyun/sn/activity/HomeActivity.java index c23043c..12b6a03 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/HomeActivity.java @@ -1,35 +1,44 @@ -package com.mjsheng.myappstore.activity; +package com.aoleyun.sn.activity; import android.annotation.SuppressLint; import android.app.StatusBarManager; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.graphics.Bitmap; -import android.graphics.Color; +import android.os.Build; import android.os.Bundle; +import android.os.Environment; import android.os.Handler; import android.provider.Settings; -import android.util.Log; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; +import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.R; -import com.lzy.okgo.model.HttpHeaders; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.service.LogcatService; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.ServiceAliveUtils; -import com.mjsheng.myappstore.utils.StatusBarUtil; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.R; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.comm.PackageNames; +import com.aoleyun.sn.service.LogcatService; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.ServiceAliveUtils; +import com.aoleyun.sn.utils.Utils; import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + import cn.jpush.android.api.JPushInterface; @@ -41,7 +50,17 @@ public class HomeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - StatusBarUtil.init(this); + setBar(); + setContentView(R.layout.activity_home); + initView(); + debugTest(); + new Handler().postDelayed(() -> { + startActivity(new Intent(HomeActivity.this, MainActivity.class)); + finish(); + }, 2000); + } + + private void setBar() { UltimateBarX.statusBar(this) .transparent() .colorRes(R.color.colorPrimaryDark) @@ -52,58 +71,43 @@ public class HomeActivity extends AppCompatActivity { .colorRes(R.color.colorPrimaryDark) .light(true) .apply(); - setContentView(R.layout.activity_home); + } + + private void initView() { if (BuildConfig.DEBUG) { bt_log = findViewById(R.id.bt_log); bt_log.setVisibility(View.VISIBLE); - bt_log.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (!ServiceAliveUtils.isServiceAlive(HomeActivity.this, LogcatService.class.getName())) { - startService(new Intent(HomeActivity.this, LogcatService.class)); - } - Intent intent = new Intent(LogcatService.LOGCAT_START_ACTION); - sendBroadcast(intent); + bt_log.setOnClickListener(view -> { + if (!ServiceAliveUtils.isServiceAlive(HomeActivity.this, LogcatService.class.getName())) { + startService(new Intent(HomeActivity.this, LogcatService.class)); } + Intent intent = new Intent(LogcatService.LOGCAT_START_ACTION); + sendBroadcast(intent); }); bt_stop = findViewById(R.id.bt_stop); bt_stop.setVisibility(View.VISIBLE); - bt_stop.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (!ServiceAliveUtils.isServiceAlive(HomeActivity.this, LogcatService.class.getName())) { - startService(new Intent(HomeActivity.this, LogcatService.class)); - } - Intent intent = new Intent(LogcatService.LOGCAT_STOP_ACTION); - sendBroadcast(intent); + bt_stop.setOnClickListener(view -> { + if (!ServiceAliveUtils.isServiceAlive(HomeActivity.this, LogcatService.class.getName())) { + startService(new Intent(HomeActivity.this, LogcatService.class)); } + Intent intent = new Intent(LogcatService.LOGCAT_STOP_ACTION); + sendBroadcast(intent); }); - if (BuildConfig.DEBUG) { - debugTest(); - } -// return; } - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - startActivity(new Intent(HomeActivity.this, MainActivity.class)); - finish(); - } - }, 2000); } private void debugTest() { + if (!BuildConfig.DEBUG) return; // Utils.getHardware(this); // setWebView(); // hideStatusBar(); - Logutils.i(TAG, "DebugTest: " + HttpHeaders.getUserAgent()); // boolean qch_force_app = Settings.System.putString(getContentResolver(), "qch_launcher_icon_app", ""); Logutils.i(TAG, "DebugTest: qch_launcher_icon_app:" + Settings.System.getString(getContentResolver(), "qch_launcher_icon_app")); Logutils.i(TAG, "DebugTest: qch_hide_NavigationBar: " + Settings.System.getString(getContentResolver(), "qch_hide_NavigationBar")); - String only_jgy_shortcut_list = Settings.System.getString(getContentResolver(), "only_jgy_shortcut_list"); + String only_jgy_shortcut_list = Settings.System.getString(getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); Logutils.i(TAG, "debugTest: only_jgy_shortcut_list:" + only_jgy_shortcut_list); String qch_app_forbid = Settings.System.getString(getContentResolver(), "qch_app_forbid"); - Logutils.i(TAG, "debugTest: qch_app_forbid:" + qch_app_forbid); + Logutils.e(TAG, "debugTest: qch_app_forbid:" + qch_app_forbid); Logutils.i(TAG, "debugTest: ip = " + JGYUtils.getInstance().getIPAddress()); Logutils.i(TAG, "debugTest: getPackage = " + Utils.getPackage()); Logutils.i(TAG, "debugTest: getMacAddress = " + Utils.getAndroid10MAC(this)); @@ -128,12 +132,9 @@ public class HomeActivity extends AppCompatActivity { BaseApplication.cleanJpushTag(); Logutils.e(TAG, "debugTest: SPUtils all " + SPUtils.getAll(this)); - } - - private void testRxhttp() { -// RxHttp.postForm(URLAddress.SET_WHITE_PACKAGE_LIST) -// .add("sn", Utils.getSerial()) -// . + PackageManager packageManager = getPackageManager(); + packageManager.setApplicationEnabledSetting(PackageNames.OLD_DEVICE_INFO, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); + packageManager.setApplicationEnabledSetting(PackageNames.OLD_APPSTORE, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); } @SuppressLint("NewApi") @@ -148,28 +149,29 @@ public class HomeActivity extends AppCompatActivity { } + @RequiresApi(api = Build.VERSION_CODES.O) private void bootanimotion() { - // File file = new File(Environment.getExternalStorageDirectory() + File.separator + "bootanimation.zip"); -// String path0 = "/data/local/qchmedia/bootanimation.zip"; -// if (file.exists()) { -// File file1 = new File(path0); -// if (!file1.exists()) { -// file.mkdirs(); -// try { -// file.createNewFile(); -// } catch (IOException e) { -// e.printStackTrace(); -// Logutils.e("bootanimation", e.getMessage()); -// } -// } -// Logutils.e("bootanimation", "SD卡路径存在"); -// try { -// Path path = Paths.get(file.getAbsolutePath()); -// Files.copy(path, new FileOutputStream(path0)); -// } catch (Exception e) { -// Logutils.e("bootanimation", e.getMessage()); -// } -// } + File file = new File(Environment.getExternalStorageDirectory() + File.separator + "bootanimation.zip"); + String path0 = "/data/local/qchmedia/bootanimation.zip"; + if (file.exists()) { + File file1 = new File(path0); + if (!file1.exists()) { + file.mkdirs(); + try { + file.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + Logutils.e("bootanimation", e.getMessage()); + } + } + Logutils.e("bootanimation", "SD卡路径存在"); + try { + Path path = Paths.get(file.getAbsolutePath()); + Files.copy(path, new FileOutputStream(path0)); + } catch (Exception e) { + Logutils.e("bootanimation", e.getMessage()); + } + } } static final String url = "www.baidu.com"; @@ -190,7 +192,7 @@ public class HomeActivity extends AppCompatActivity { public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); String realUrl = url; -//这个realUrl即为重定向之后的地址 + //这个realUrl即为重定向之后的地址 Logutils.e(TAG, "onPageFinished: " + realUrl); } }); diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java b/app/src/main/java/com/aoleyun/sn/activity/MainActivity.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java rename to app/src/main/java/com/aoleyun/sn/activity/MainActivity.java index 23ff873..f1e3cb5 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/MainActivity.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.activity; +package com.aoleyun.sn.activity; import android.app.AlertDialog; import android.content.BroadcastReceiver; @@ -14,7 +14,6 @@ import android.view.KeyEvent; import android.view.View; import android.widget.Button; import android.widget.ImageView; -import android.widget.RelativeLayout; import android.widget.TextView; import androidx.constraintlayout.widget.ConstraintLayout; @@ -22,18 +21,18 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.blankj.utilcode.util.NetworkUtils; import com.google.gson.JsonObject; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.R; -import com.mjsheng.myappstore.base.BaseActivity; -import com.mjsheng.myappstore.service.MainService; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.ExampleUtil; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SaveListUtils; -import com.mjsheng.myappstore.utils.SysSettingUtils; -import com.mjsheng.myappstore.utils.ToastUtil; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.R; +import com.aoleyun.sn.base.BaseActivity; +import com.aoleyun.sn.service.MainService; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.ExampleUtil; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SaveListUtils; +import com.aoleyun.sn.utils.SysSettingUtils; +import com.aoleyun.sn.utils.ToastUtil; +import com.aoleyun.sn.utils.Utils; import java.util.concurrent.TimeUnit; @@ -41,13 +40,13 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; import cn.jpush.android.api.JPushInterface; +import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; -import rx.Observable; -import rx.android.schedulers.AndroidSchedulers; public class MainActivity extends BaseActivity implements MainContact.MainView, NetworkUtils.OnNetworkStatusChangedListener { private static final String TAG = MainActivity.class.getSimpleName(); @@ -94,7 +93,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView, public static boolean isForeground = false; //for receive customer msg from jpush server private MessageReceiver mMessageReceiver; - public static final String MESSAGE_RECEIVED_ACTION = "com.jiaoguanyi.appstore.MESSAGE_RECEIVED_ACTION"; + public static final String MESSAGE_RECEIVED_ACTION = "com.aoleyun.sn.MESSAGE_RECEIVED_ACTION"; public static final String KEY_TITLE = "title"; public static final String KEY_MESSAGE = "message"; public static final String KEY_EXTRAS = "extras"; @@ -540,7 +539,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView, } }; - io.reactivex.Observable.create(mObservableOnSubscribe) + Observable.create(mObservableOnSubscribe) .throttleFirst(10, TimeUnit.SECONDS) //这句很关键,这是RxJava中的操作符,在规定时间内观察者不在接收被观察者发送的事件 .subscribe(mObserver); diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java b/app/src/main/java/com/aoleyun/sn/activity/MainContact.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java rename to app/src/main/java/com/aoleyun/sn/activity/MainContact.java index 207b15e..d734818 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java +++ b/app/src/main/java/com/aoleyun/sn/activity/MainContact.java @@ -1,11 +1,11 @@ -package com.mjsheng.myappstore.activity; +package com.aoleyun.sn.activity; import android.graphics.Bitmap; import android.view.View; import com.google.gson.JsonObject; -import com.mjsheng.myappstore.base.BasePresenter; -import com.mjsheng.myappstore.base.BaseView; +import com.aoleyun.sn.base.BasePresenter; +import com.aoleyun.sn.base.BaseView; public class MainContact { public interface Presenter extends BasePresenter { diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/MainPresenter.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java rename to app/src/main/java/com/aoleyun/sn/activity/MainPresenter.java index 403eff3..420272c 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/activity/MainPresenter.java @@ -1,11 +1,10 @@ -package com.mjsheng.myappstore.activity; +package com.aoleyun.sn.activity; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; -import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; @@ -13,37 +12,38 @@ import android.view.View; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.comm.PackageNames; import com.arialyy.aria.core.Aria; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.BrowserData; -import com.mjsheng.myappstore.bean.DefaultApp; -import com.mjsheng.myappstore.bean.ForceDownloadBean; -import com.mjsheng.myappstore.bean.ForceDownloadData; -import com.mjsheng.myappstore.bean.LogoImg; -import com.mjsheng.myappstore.bean.NetAndLaunchBean; -import com.mjsheng.myappstore.bean.StudentsInfo; -import com.mjsheng.myappstore.jpush.TagAliasOperatorHelper; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.network.HTTPInterface; -import com.mjsheng.myappstore.service.MainService; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.AES.CXAESUtil; -import com.mjsheng.myappstore.utils.ForegroundAppUtil; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.SysSettingUtils; -import com.mjsheng.myappstore.utils.TimeUtils; -import com.mjsheng.myappstore.utils.ToastUtil; -import com.mjsheng.myappstore.utils.URLUtils; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.DefaultApp; +import com.aoleyun.sn.bean.ForceDownloadBean; +import com.aoleyun.sn.bean.ForceDownloadData; +import com.aoleyun.sn.bean.LogoImg; +import com.aoleyun.sn.bean.NetAndLaunchBean; +import com.aoleyun.sn.bean.StudentsInfo; +import com.aoleyun.sn.jpush.TagAliasOperatorHelper; +import com.aoleyun.sn.manager.NetInterfaceManager; +import com.aoleyun.sn.network.HTTPInterface; +import com.aoleyun.sn.service.MainService; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.AES.CXAESUtil; +import com.aoleyun.sn.utils.ForegroundAppUtil; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.SysSettingUtils; +import com.aoleyun.sn.utils.TimeUtils; +import com.aoleyun.sn.utils.ToastUtil; +import com.aoleyun.sn.utils.URLUtils; +import com.aoleyun.sn.utils.Utils; import com.trello.rxlifecycle2.LifecycleProvider; import com.trello.rxlifecycle2.android.ActivityEvent; @@ -63,8 +63,8 @@ import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import okhttp3.ResponseBody; -import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.ACTION_SET; -import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.sequence; +import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET; +import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.sequence; /** * MainActivity和MainService 的 Presenter @@ -194,7 +194,7 @@ public class MainPresenter implements MainContact.Presenter { @Override public void onComplete() { //如果是解锁状态就隐藏,锁定就显示缓存 - if (Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0) == 1) { + if (Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0) == 1) { mView.setNumberText("", View.GONE); mView.setNameText("", View.GONE); mView.setClassText("", View.GONE); @@ -258,7 +258,7 @@ public class MainPresenter implements MainContact.Presenter { JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); int locked = jsonObject.get("lock").getAsInt(); Logutils.e(TAG + ":" + "getLockedState", "locked: " + locked); - int oldState = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0); + int oldState = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); Logutils.e(TAG + ":" + "getLockedState", "qch_unlock_ipad: " + oldState); //后台1是锁定,底层0是锁定 SPUtils.put(mContext, "first_connect", 1); @@ -267,10 +267,10 @@ public class MainPresenter implements MainContact.Presenter { Logutils.e(TAG + ":" + "getLockedState", "onNext: " + "state changed , reset devices"); Utils.doMasterClear(mContext); } - Settings.System.putInt(mContext.getContentResolver(), "qch_unlock_ipad", 0); + Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); } else { // SysSettingUtils.setEnableSetting(mContext); - Settings.System.putInt(mContext.getContentResolver(), "qch_unlock_ipad", 1); + Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 1); } mView.setLockedState(locked == 1); } else if (response.code == -300) { @@ -283,7 +283,7 @@ public class MainPresenter implements MainContact.Presenter { @Override public void onError(@NonNull Throwable e) { Logutils.e(TAG + ":" + "getLockedState", "onError: " + e.getMessage()); - int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0); + int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); Logutils.e(TAG + ":" + "getLockedState", "locked: " + locked); mView.setLockedState(locked == 0); } @@ -387,7 +387,7 @@ public class MainPresenter implements MainContact.Presenter { jsonObject.addProperty("latitude", latitude); String add = jsonObject.toString(); Logutils.e(TAG, "updateDevicesInfo: " + add); - NetInterfaceManager.getUpdateDeviceInfo() + NetInterfaceManager.getInstance().getUpdateDeviceInfo() .updateDeviceInfo( Utils.getSerial(), NetInterfaceManager.HTTP_KEY, @@ -617,7 +617,7 @@ public class MainPresenter implements MainContact.Presenter { private void checkUpdateStore() { NetInterfaceManager.getInstance() .getUpdateApi() - .getUpdate("com.jiaoguanyi.store", + .getUpdate(PackageNames.APPSTORE, JGYUtils.getInstance().checkAppPlatform()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -827,19 +827,15 @@ public class MainPresenter implements MainContact.Presenter { if (code == OK) { String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString(); //开机图标 - boolean write = Settings.System.putString(mContext.getContentResolver(), "only_jgy_shortcut_list", data); + boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); Logutils.e(TAG, "onNext: only_jgy_shortcut_list: " + write); JGYUtils.getInstance().writeAppPackageList(mContext, data); mView.getAppLimitFinished(data); } else { -// mView.getAppLimitFinished(""); - boolean write = Settings.System.putString(mContext.getContentResolver(), "only_jgy_shortcut_list", " "); + boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, " "); Logutils.e(TAG, "onNext: only_jgy_shortcut_list: " + write); Logutils.e(TAG + ":" + "getAppLimit", "onNext: " + bodyString); mView.getAppLimitFinished(""); -// String oldListString = Settings.System.getString(mContext.getContentResolver(), "qch_app_forbid"); -// Log.e("getAppLimit", "oldListString: " + oldListString); -// mView.getAppLimitFinished(oldListString); } } catch (IOException e) { e.printStackTrace(); @@ -850,7 +846,7 @@ public class MainPresenter implements MainContact.Presenter { @Override public void onError(@NonNull Throwable e) { Logutils.e(TAG + ":" + "getAppLimit", "onError: " + e.getMessage()); - String oldListString = Settings.System.getString(mContext.getContentResolver(), "only_jgy_shortcut_list"); + String oldListString = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); Logutils.e(TAG + ":" + "getAppLimit", "oldListString: " + oldListString); mView.getAppLimitFinished(oldListString); } @@ -868,7 +864,7 @@ public class MainPresenter implements MainContact.Presenter { // mView.getDeviceBatchFinished(); // return; // } - int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0); + int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); Logutils.e(TAG, "getDeviceBatch: " + locked); if (locked == 0) { // NetInterfaceManager.getInstance() @@ -1762,7 +1758,7 @@ public class MainPresenter implements MainContact.Presenter { return; } lastRunTime = System.currentTimeMillis(); - int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0); + int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); if (JGYUtils.isOfficialVersion() || locked == 1) { mView.setScreenLockStateFinished(false, ""); return; @@ -1835,7 +1831,7 @@ public class MainPresenter implements MainContact.Presenter { JGYUtils.getInstance().installDesktop(data); } else { Logutils.e(TAG + ":" + "getDefaultDesktop", "onNext: " + "删除定制桌面"); - String whiteList = Settings.System.getString(mContext.getContentResolver(), "only_jgy_shortcut_list"); + String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); if (!TextUtils.isEmpty(whiteList)) { if (!whiteList.contains(ApkUtils.desktopAPP.get(0))) { ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0)); diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/TopActivity.java b/app/src/main/java/com/aoleyun/sn/activity/TopActivity.java similarity index 91% rename from app/src/main/java/com/mjsheng/myappstore/activity/TopActivity.java rename to app/src/main/java/com/aoleyun/sn/activity/TopActivity.java index 4455689..d5d0d9e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/TopActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/TopActivity.java @@ -1,11 +1,11 @@ -package com.mjsheng.myappstore.activity; +package com.aoleyun.sn.activity; import android.content.Intent; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.KeyEvent; -import com.mjsheng.myappstore.R; +import com.aoleyun.sn.R; public class TopActivity extends AppCompatActivity { diff --git a/app/src/main/java/com/mjsheng/myappstore/base/BaseActivity.java b/app/src/main/java/com/aoleyun/sn/base/BaseActivity.java similarity index 82% rename from app/src/main/java/com/mjsheng/myappstore/base/BaseActivity.java rename to app/src/main/java/com/aoleyun/sn/base/BaseActivity.java index c102328..b7c23bc 100644 --- a/app/src/main/java/com/mjsheng/myappstore/base/BaseActivity.java +++ b/app/src/main/java/com/aoleyun/sn/base/BaseActivity.java @@ -1,14 +1,10 @@ -package com.mjsheng.myappstore.base; +package com.aoleyun.sn.base; -import android.graphics.Color; import android.os.Bundle; -import android.view.View; import androidx.annotation.Nullable; -import com.gyf.immersionbar.ImmersionBar; -import com.mjsheng.myappstore.R; -import com.mjsheng.myappstore.utils.StatusBarUtil; +import com.aoleyun.sn.R; import com.trello.rxlifecycle2.components.support.RxAppCompatActivity; import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX; @@ -16,7 +12,14 @@ public abstract class BaseActivity extends RxAppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); -// StatusBarUtil.init(this); + setBar(); + //状态栏改变放在setContentView前后有所不同 + setContentView(this.getLayoutId()); + initView(); + initData(); + } + + private void setBar() { UltimateBarX.statusBar(this) .transparent() .colorRes(R.color.colorPrimaryDark) @@ -27,10 +30,6 @@ public abstract class BaseActivity extends RxAppCompatActivity { .colorRes(R.color.colorPrimaryDark) .light(true) .apply(); - //状态栏改变放在setContentView前后有所不同 - setContentView(this.getLayoutId()); - initView(); - initData(); } @Override diff --git a/app/src/main/java/com/mjsheng/myappstore/base/BaseApplication.java b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java similarity index 73% rename from app/src/main/java/com/mjsheng/myappstore/base/BaseApplication.java rename to app/src/main/java/com/aoleyun/sn/base/BaseApplication.java index 55fb8ba..7ae5b79 100644 --- a/app/src/main/java/com/mjsheng/myappstore/base/BaseApplication.java +++ b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.base; +package com.aoleyun.sn.base; +import android.annotation.SuppressLint; import android.content.Context; -import android.nfc.Tag; import android.os.Handler; import android.os.Looper; import android.os.Process; @@ -12,29 +12,25 @@ import androidx.multidex.MultiDexApplication; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.aoleyun.sn.bean.BaseResponse; import com.arialyy.aria.core.Aria; import com.arialyy.aria.core.download.DownloadEntity; -import com.lzy.okgo.OkGo; -import com.lzy.okgo.cache.CacheEntity; -import com.lzy.okgo.cache.CacheMode; -import com.lzy.okgo.callback.StringCallback; -import com.lzy.okgo.cookie.store.PersistentCookieStore; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.jpush.TagAliasOperatorHelper; -import com.mjsheng.myappstore.manager.AmapManager; -import com.mjsheng.myappstore.manager.FileManager; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.network.HTTPInterface; -import com.mjsheng.myappstore.network.URLAddress; -import com.mjsheng.myappstore.statistics.AppInformation; -import com.mjsheng.myappstore.statistics.StatisticsInfo; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SystemUtils; -import com.mjsheng.myappstore.utils.ToastUtil; -import com.mjsheng.myappstore.utils.Utils; -import com.mjsheng.myappstore.utils.XAPKUtils; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.jpush.TagAliasOperatorHelper; +import com.aoleyun.sn.manager.AmapManager; +import com.aoleyun.sn.manager.FileManager; +import com.aoleyun.sn.manager.NetInterfaceManager; +import com.aoleyun.sn.network.HTTPInterface; +import com.aoleyun.sn.network.URLAddress; +import com.aoleyun.sn.statistics.AppInformation; +import com.aoleyun.sn.statistics.StatisticsInfo; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SystemUtils; +import com.aoleyun.sn.utils.ToastUtil; +import com.aoleyun.sn.utils.Utils; +import com.aoleyun.sn.utils.XAPKUtils; import com.tencent.mmkv.MMKV; import org.jetbrains.annotations.NotNull; @@ -43,7 +39,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushMessage; @@ -51,22 +46,21 @@ import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -/** - * Created by Administrator on 2016/2/17 0017. - */ - -//public class MyApplication extends MultiDexApplication implements Thread.UncaughtExceptionHandler { public class BaseApplication extends MultiDexApplication { private static final String TAG = BaseApplication.class.getSimpleName(); + @SuppressLint("StaticFieldLeak") public static Context context; + @SuppressLint("StaticFieldLeak") private static BaseApplication instance; public static Context getAppContext() { @@ -81,7 +75,6 @@ public class BaseApplication extends MultiDexApplication { return instance; } - @Override public void onCreate() { super.onCreate(); @@ -108,12 +101,9 @@ public class BaseApplication extends MultiDexApplication { // 设置开启日志,发布时请关闭日志 JPushInterface.setDebugMode(true); JPushInterface.requestPermission(this); + //解锁设备不需要初始化 // 初始化 JPush //JPushInterface.init(this); - //解锁设备不需要初始化 - - initOKHttp(); - Aria.init(this); Aria.get(this).getDownloadConfig().setMaxTaskNum(1); Aria.get(this).getDownloadConfig().setConvertSpeed(true); @@ -123,7 +113,7 @@ public class BaseApplication extends MultiDexApplication { } // Configuration config = getResources().getConfiguration(); // int smallestScreenWidthDp = config.smallestScreenWidthDp; -// Logutils.e("mjsheng", "smallestScreenWidthDp=" + smallestScreenWidthDp); +// Logutils.e("init", "smallestScreenWidthDp=" + smallestScreenWidthDp); // CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() // .setDefaultFontPath("fonts/1234.ttf") // .setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf") @@ -134,6 +124,33 @@ public class BaseApplication extends MultiDexApplication { initTagObservable(); } + private void catchException() { + Thread.setDefaultUncaughtExceptionHandler( + new Thread.UncaughtExceptionHandler() { + @Override + public void uncaughtException(Thread t, Throwable e) { + Logutils.e("捕获异常子线程:", Thread.currentThread().getName() + + "在:" + e.getStackTrace()[0].getClassName()); + } + } + ); + //下面是新增方法! + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + while (true) { + try { + Looper.loop(); //会先执行这个方法,然后在执行下面的异常捕获方法! + } catch (Exception e) { + Logutils.e("捕获异常主线程:", Thread.currentThread().getName() + "在:" + e.getStackTrace()[0].getClassName()); + e.printStackTrace(); + } + } + } + }); + } + + public void onAliasOperatorResult(JPushMessage jPushMessage) { if (jPushMessage == null) { return; @@ -397,33 +414,6 @@ public class BaseApplication extends MultiDexApplication { void onResult(int code); } - private void catchException() { - Thread.setDefaultUncaughtExceptionHandler( - new Thread.UncaughtExceptionHandler() { - @Override - public void uncaughtException(Thread t, Throwable e) { - Logutils.e("捕获异常子线程:", Thread.currentThread().getName() + - "在:" + e.getStackTrace()[0].getClassName()); - } - } - ); - //下面是新增方法! - new Handler(Looper.getMainLooper()).post(new Runnable() { - @Override - public void run() { - while (true) { - try { - Looper.loop(); //会先执行这个方法,然后在执行下面的异常捕获方法! - } catch (Exception e) { - Logutils.e("捕获异常主线程:", Thread.currentThread().getName() + "在:" + e.getStackTrace()[0].getClassName()); - e.printStackTrace(); - } - } - } - }); - } - - private boolean finished = false; public boolean isFinished() { @@ -434,33 +424,6 @@ public class BaseApplication extends MultiDexApplication { this.finished = b; } - private void initOKHttp() { - //必须调用初始化 - OkGo.init(this); - //以下都不是必须的,根据需要自行选择,一般来说只需要 debug,缓存相关,cookie相关的 就可以了 - OkGo.getInstance() - // 打开该调试开关,打印级别INFO,并不是异常,是为了显眼,不需要就不要加入该行 - // 最后的true表示是否打印okgo的内部异常,一般打开方便调试错误 - .debug("OkGo", Level.INFO, true) - //如果使用默认的 60秒,以下三行也不需要传 -// .setConnectTimeout(3000) //全局的连接超时时间 -// .setReadTimeOut(3000) //全局的读取超时时间 -// .setWriteTimeOut(3000) //全局的写入超时时间 - //可以全局统一设置缓存模式,默认是不使用缓存,可以不传,具体其他模式看 github 介绍 https://github.com/jeasonlzy/ - .setCacheMode(CacheMode.REQUEST_FAILED_READ_CACHE) - //可以全局统一设置缓存时间,默认永不过期,具体使用方法看 github 介绍 - .setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE) - //可以全局统一设置超时重连次数,默认为三次,那么最差的情况会请求4次(一次原始请求,三次重连请求),不需要可以设置为0 - .setRetryCount(4) - .setCookieStore(new PersistentCookieStore()) //cookie持久化存储,如果cookie不过期,则一直有效 - //可以设置https的证书,以下几种方案根据需要自己设置 方法一:信任所有证书,不安全有风险 - .setCertificates(); -// com.lzy.okserver.download.DownloadManager downloadManager = DownloadService.getDownloadManager(); -// downloadManager.setTargetFolder(StorageUtils.getFileRoot(this)); -// downloadManager.setTargetFolder(PathUtils.getExternalDownloadsPath() + "/jgy/"); -// downloadManager.getThreadPool().setCorePoolSize(5); - } - public static void sendAppUsedTime(String random, String type) { StatisticsInfo statisticsInfo = null; if (type.equals("0")) { @@ -502,26 +465,39 @@ public class BaseApplication extends MultiDexApplication { } catch (Exception e) { Logutils.e("sendAppUsedTime", e.getMessage()); } - OkGo.post(URLAddress.SEND_USEDTIME) - .params("sn", Utils.getSerial()) - .params("random", random) - .params("data", data.toString()) - .execute(new StringCallback() { + + NetInterfaceManager.getInstance() + .getAppLogApi() + .getAppLog(Utils.getSerial(), random, data.toJSONString()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override - public void onSuccess(String s, Call call, Response response) { - com.alibaba.fastjson.JSONObject object = JSON.parseObject(s); - int code = object.getInteger("code"); - String msg = object.getString("msg"); - Logutils.e("fht", "code:" + code + "," + msg); + public void onSubscribe(Disposable d) { + Log.e("sendAppUsedTime", "onSubscribe: "); } @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("sendAppUsedTime", e.getMessage()); + public void onNext(BaseResponse baseResponse) { + Log.e("sendAppUsedTime", "onNext: "); + int code = baseResponse.code; + String msg = baseResponse.msg; + Logutils.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; @@ -554,85 +530,6 @@ public class BaseApplication extends MultiDexApplication { } } -// @Override -// public void uncaughtException(Thread thread, Throwable ex) { -//// Logutils.e(TAG, ex.getMessage(), new Exception(ex)); -//// Utils.showToast(this, "程序出现异常,即将退出。。。"); -//// try { -//// Thread.sleep(3000); -//// } catch (InterruptedException e) { -//// e.printStackTrace(); -//// } -//// Intent i = getBaseContext().getPackageManager() -//// .getLaunchIntentForPackage(getBaseContext().getPackageName()); -//// i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); -//// startActivity(i); -//// //退出程序 -//// android.os.Process.killProcess(android.os.Process.myPid()); -//// System.exit(1); -// -// } - - // static List fileList = new ArrayList<>(); -// -// -// static String packageName = ""; -// -// public void setInstallIngPackageName(String packageNames) { -// packageName = packageNames; -// Logutils.e("fht", "正在安装:" + packageNames); -// } -// -// public String getInstallIngPackageName() { -// return packageName; -// } -// -// public void addFileData(FileData data) { -// fileList.add(data); -// updateList(); -// } -// -// public void removeDate(String packageName) { -// if (fileList != null && fileList.size() > 0) { -// for (FileData data : fileList) { -// if (data.getPackageName().equals(packageName)) { -// fileList.remove(data); -// break; -// } else { -// Logutils.e("fht", "not found object"); -// } -// } -// } -// setInstallIngPackageName(""); -// if (fileList.size() > 0) { -// updateList(); -// } else { -// Logutils.e("fht", "fileList为空"); -// setInstallIngPackageName(""); -// } -// -// } -// -// public void updateList() { -// if (getInstallIngPackageName().equals("") || ApkUtils.isAvailable(getAppContext(), packageName)) { -// if (fileList != null && fileList.size() > 0) { -// if (!fileList.get(0).getPackageName().equals("") || ApkUtils.isAvailable(getAppContext(), fileList.get(0).getPackageName())) { -// String s = packageName; -// ApkUtils.installApp(this, fileList.get(0).getFilePath()); -// setInstallIngPackageName(fileList.get(0).getPackageName()); -// } else { -// removeDate(fileList.get(0).getPackageName()); -// Logutils.e("fht", "已安装"); -// setInstallIngPackageName(""); -// } -// } else { -// Logutils.e("fht", "任务为空"); -// } -// } else { -// Logutils.e("fht", "安装中:" + packageName); -// -// } -// } boolean isForecDownload = false; public boolean isDownloading() { diff --git a/app/src/main/java/com/mjsheng/myappstore/base/BasePresenter.java b/app/src/main/java/com/aoleyun/sn/base/BasePresenter.java similarity index 80% rename from app/src/main/java/com/mjsheng/myappstore/base/BasePresenter.java rename to app/src/main/java/com/aoleyun/sn/base/BasePresenter.java index ba9ab2e..5f07cfe 100644 --- a/app/src/main/java/com/mjsheng/myappstore/base/BasePresenter.java +++ b/app/src/main/java/com/aoleyun/sn/base/BasePresenter.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.base; +package com.aoleyun.sn.base; import androidx.annotation.NonNull; diff --git a/app/src/main/java/com/aoleyun/sn/base/BaseView.java b/app/src/main/java/com/aoleyun/sn/base/BaseView.java new file mode 100644 index 0000000..d34c489 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/base/BaseView.java @@ -0,0 +1,4 @@ +package com.aoleyun.sn.base; + +public interface BaseView { +} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/AppDateInfo.java b/app/src/main/java/com/aoleyun/sn/bean/AppDateInfo.java similarity index 76% rename from app/src/main/java/com/mjsheng/myappstore/bean/AppDateInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/AppDateInfo.java index b42925b..119f266 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/AppDateInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/AppDateInfo.java @@ -1,12 +1,14 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; import java.io.Serializable; -/** - * Created by Administrator on 2016/10/9. - */ public class AppDateInfo implements Serializable { + private static final long serialVersionUID = -8954939883956606971L; + public String id; public String app_name; public String app_package; @@ -144,21 +146,6 @@ public class AppDateInfo implements Serializable { @Override public String toString() { - return "AppDateInfo{" + - "id='" + id + '\'' + - ", app_name='" + app_name + '\'' + - ", app_package='" + app_package + '\'' + - ", app_version_name='" + app_version_name + '\'' + - ", app_desc='" + app_desc + '\'' + - ", app_downloads='" + app_downloads + '\'' + - ", app_size='" + app_size + '\'' + - ", app_img='" + app_img + '\'' + - ", app_url='" + app_url + '\'' + - ", app_createtime='" + app_createtime + '\'' + - ", app_score='" + app_score + '\'' + - ", xitong_id='" + xitong_id + '\'' + - ", zixitong_id='" + zixitong_id + '\'' + - ", app_tag='" + app_tag + '\'' + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/AppDownloadInfo.java b/app/src/main/java/com/aoleyun/sn/bean/AppDownloadInfo.java similarity index 96% rename from app/src/main/java/com/mjsheng/myappstore/bean/AppDownloadInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/AppDownloadInfo.java index 5fd8ded..ae45c88 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/AppDownloadInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/AppDownloadInfo.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; @@ -7,6 +7,8 @@ import java.io.Serializable; */ public class AppDownloadInfo implements Serializable { + private static final long serialVersionUID = -7868862477686450613L; + private String url; //文件URL private String targetPath; //保存文件地址 private String fileName; //保存的文件名 diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/AppInfoBean.java b/app/src/main/java/com/aoleyun/sn/bean/AppInfoBean.java similarity index 73% rename from app/src/main/java/com/mjsheng/myappstore/bean/AppInfoBean.java rename to app/src/main/java/com/aoleyun/sn/bean/AppInfoBean.java index 7fb91fb..d9e829a 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/AppInfoBean.java +++ b/app/src/main/java/com/aoleyun/sn/bean/AppInfoBean.java @@ -1,15 +1,12 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; +import java.io.Serializable; import java.util.List; -/** - * 作者 mjsheng - * 日期 2018/8/29 13:59 - * 邮箱 501802639@qq.com - * 来自: - */ +public class AppInfoBean implements Serializable { + + private static final long serialVersionUID = 4849594429309728182L; -public class AppInfoBean { private int code; private String msg; private List data; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/AppListInfo.java b/app/src/main/java/com/aoleyun/sn/bean/AppListInfo.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/bean/AppListInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/AppListInfo.java index 4c9fc51..fcbba66 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/AppListInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/AppListInfo.java @@ -1,9 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class AppListInfo implements Serializable { + private static final long serialVersionUID = 9075899098432175779L; + private long app_version_code; private String app_name; private String app_package; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/AppUpdateInfo.java b/app/src/main/java/com/aoleyun/sn/bean/AppUpdateInfo.java similarity index 58% rename from app/src/main/java/com/mjsheng/myappstore/bean/AppUpdateInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/AppUpdateInfo.java index 6bb9974..98d3731 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/AppUpdateInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/AppUpdateInfo.java @@ -1,10 +1,18 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; /** * Created by Administrator on 2017/1/10. */ -public class AppUpdateInfo { +public class AppUpdateInfo implements Serializable { + + private static final long serialVersionUID = 8448660007210869129L; + private String packageName; private String version; @@ -26,9 +34,6 @@ public class AppUpdateInfo { @Override public String toString() { - return "AppUpdateInfo{" + - "packageName='" + packageName + '\'' + - ", version='" + version + '\'' + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/Appground.java b/app/src/main/java/com/aoleyun/sn/bean/Appground.java similarity index 94% rename from app/src/main/java/com/mjsheng/myappstore/bean/Appground.java rename to app/src/main/java/com/aoleyun/sn/bean/Appground.java index dac91a3..f9dedfa 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/Appground.java +++ b/app/src/main/java/com/aoleyun/sn/bean/Appground.java @@ -1,9 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class Appground implements Serializable { + private static final long serialVersionUID = 4623189862812297724L; + private String packages; private String address; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/BaseResponse.java b/app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java similarity index 59% rename from app/src/main/java/com/mjsheng/myappstore/bean/BaseResponse.java rename to app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java index bcdf050..ce3cec3 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/BaseResponse.java +++ b/app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java @@ -1,8 +1,12 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import androidx.annotation.NonNull; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + import java.io.Serializable; @@ -14,10 +18,9 @@ public class BaseResponse implements Serializable { public String msg; public T data; - @NonNull @Override public String toString() { - return "{" + "code:" + code + "," + "msg:" + msg + "," + "data:" + data + "," + '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/Batch.java b/app/src/main/java/com/aoleyun/sn/bean/Batch.java similarity index 83% rename from app/src/main/java/com/mjsheng/myappstore/bean/Batch.java rename to app/src/main/java/com/aoleyun/sn/bean/Batch.java index 83cd92d..f479d2b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/Batch.java +++ b/app/src/main/java/com/aoleyun/sn/bean/Batch.java @@ -1,8 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class Batch implements Serializable { + + private static final long serialVersionUID = -1762804079800707443L; + int id; String batch; int admin_id; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/BrowserBookmarks.java b/app/src/main/java/com/aoleyun/sn/bean/BrowserBookmarks.java similarity index 93% rename from app/src/main/java/com/mjsheng/myappstore/bean/BrowserBookmarks.java rename to app/src/main/java/com/aoleyun/sn/bean/BrowserBookmarks.java index 3842aa4..e6c311d 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/BrowserBookmarks.java +++ b/app/src/main/java/com/aoleyun/sn/bean/BrowserBookmarks.java @@ -1,9 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class BrowserBookmarks implements Serializable { + private static final long serialVersionUID = 596864357553413994L; + private String homepage; private String labelpage; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java b/app/src/main/java/com/aoleyun/sn/bean/BrowserData.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java rename to app/src/main/java/com/aoleyun/sn/bean/BrowserData.java index 19f18b7..da419a4 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java +++ b/app/src/main/java/com/aoleyun/sn/bean/BrowserData.java @@ -1,9 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class BrowserData implements Serializable { + private static final long serialVersionUID = 5199831572891077086L; + private String white; private String black; private String white_ip; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/CategoryInfo.java b/app/src/main/java/com/aoleyun/sn/bean/CategoryInfo.java similarity index 70% rename from app/src/main/java/com/mjsheng/myappstore/bean/CategoryInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/CategoryInfo.java index b59decb..eca751f 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/CategoryInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/CategoryInfo.java @@ -1,4 +1,7 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; import java.io.Serializable; @@ -6,11 +9,13 @@ import java.io.Serializable; * Created by Administrator on 2016/10/10. */ public class CategoryInfo implements Serializable { + + private static final long serialVersionUID = 1373346057675939423L; + private String id; private String name; private String img; - public String getId() { return id; } @@ -37,11 +42,7 @@ public class CategoryInfo implements Serializable { @Override public String toString() { - return "CategoryInfo{" + - "id='" + id + '\'' + - ", name='" + name + '\'' + - ", img='" + img + '\'' + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/CategoryPicBean.java b/app/src/main/java/com/aoleyun/sn/bean/CategoryPicBean.java similarity index 62% rename from app/src/main/java/com/mjsheng/myappstore/bean/CategoryPicBean.java rename to app/src/main/java/com/aoleyun/sn/bean/CategoryPicBean.java index 7140ce6..b171a1b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/CategoryPicBean.java +++ b/app/src/main/java/com/aoleyun/sn/bean/CategoryPicBean.java @@ -1,15 +1,15 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; import java.util.List; -/** - * 作者 mjsheng - * 日期 2018/9/14 10:50 - * 邮箱 501802639@qq.com - * 来自: - */ +public class CategoryPicBean implements Serializable { + + private static final long serialVersionUID = -4286518544348292816L; -public class CategoryPicBean { private int code; private String msg; private List data; @@ -40,10 +40,6 @@ public class CategoryPicBean { @Override public String toString() { - return "CategoryPicBean{" + - "code=" + code + - ", msg='" + msg + '\'' + - ", data=" + data + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/aoleyun/sn/bean/CommonPicBean.java b/app/src/main/java/com/aoleyun/sn/bean/CommonPicBean.java new file mode 100644 index 0000000..c730a92 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/bean/CommonPicBean.java @@ -0,0 +1,45 @@ +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; +import java.util.List; + +public class CommonPicBean implements Serializable { + + private static final long serialVersionUID = -6056771155399643320L; + + private int code; + private String msg; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @Override + public String toString() { + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); + } +} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/ProjectDateInfo.java b/app/src/main/java/com/aoleyun/sn/bean/CommonPicData.java similarity index 71% rename from app/src/main/java/com/mjsheng/myappstore/bean/ProjectDateInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/CommonPicData.java index 6ffb562..aa41ad5 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/ProjectDateInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/CommonPicData.java @@ -1,9 +1,14 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; + +public class CommonPicData implements Serializable { + + private static final long serialVersionUID = -4066453793097764922L; -/** - * Created by Administrator on 2016/10/9. - */ -public class ProjectDateInfo { private String id; private String name; private String img; @@ -70,14 +75,6 @@ public class ProjectDateInfo { @Override public String toString() { - return "ProjectDateInfo{" + - "id=" + id + - ", name='" + name + '\'' + - ", img='" + img + '\'' + - ", createtime=" + createtime + - ", status='" + status + '\'' + - ", admin_id=" + admin_id + - ", batch='" + batch + '\'' + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/DefaultApp.java b/app/src/main/java/com/aoleyun/sn/bean/DefaultApp.java similarity index 94% rename from app/src/main/java/com/mjsheng/myappstore/bean/DefaultApp.java rename to app/src/main/java/com/aoleyun/sn/bean/DefaultApp.java index cc22f56..8b18fc9 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/DefaultApp.java +++ b/app/src/main/java/com/aoleyun/sn/bean/DefaultApp.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; @@ -7,6 +7,8 @@ import java.io.Serializable; */ public class DefaultApp implements Serializable { + private static final long serialVersionUID = -8180876443269736350L; + String default_launcher; String default_browser; String default_videoplayer; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/Expansions.java b/app/src/main/java/com/aoleyun/sn/bean/Expansions.java similarity index 87% rename from app/src/main/java/com/mjsheng/myappstore/bean/Expansions.java rename to app/src/main/java/com/aoleyun/sn/bean/Expansions.java index 0c4dfa8..a07bb4f 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/Expansions.java +++ b/app/src/main/java/com/aoleyun/sn/bean/Expansions.java @@ -1,8 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class Expansions implements Serializable { + + private static final long serialVersionUID = -4958527331079431641L; + private String file; //包内文件地址 private String install_location; diff --git a/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadBean.java b/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadBean.java new file mode 100644 index 0000000..e322e88 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadBean.java @@ -0,0 +1,45 @@ +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; + +public class ForceDownloadBean implements Serializable { + + private static final long serialVersionUID = 5434001463280365686L; + + private int code; + private String msg; + + private T data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + @Override + public String toString() { + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); + } +} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/ForceDownloadData.java b/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java similarity index 82% rename from app/src/main/java/com/mjsheng/myappstore/bean/ForceDownloadData.java rename to app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java index 57d84dd..3a7c748 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/ForceDownloadData.java +++ b/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java @@ -1,15 +1,12 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; import java.io.Serializable; -/** - * 作者 mjsheng - * 日期 2019/3/18 16:39 - * 邮箱 501802639@qq.com - * 来自: - */ - public class ForceDownloadData implements Serializable { + private static final long serialVersionUID = 2965901905485481437L; private String app_name; @@ -69,9 +66,6 @@ public class ForceDownloadData implements Serializable { @Override public String toString() { - return "ForceDownloadData{" + - "app_package='" + app_package + '\'' + - ", app_url='" + app_url + '\'' + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/LocalAppInfo.java b/app/src/main/java/com/aoleyun/sn/bean/LocalAppInfo.java similarity index 94% rename from app/src/main/java/com/mjsheng/myappstore/bean/LocalAppInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/LocalAppInfo.java index 3182da2..cb46b84 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/LocalAppInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/LocalAppInfo.java @@ -1,8 +1,12 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import android.graphics.drawable.Drawable; -public class LocalAppInfo { +import java.io.Serializable; + +public class LocalAppInfo implements Serializable { + + private static final long serialVersionUID = 7249132627497560565L; public static final int DOWNLOAD_STATUS_NORMAL = 0; public static final int DOWNLOAD_STATUS_DOWNLOADING = 1; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java b/app/src/main/java/com/aoleyun/sn/bean/LogoImg.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java rename to app/src/main/java/com/aoleyun/sn/bean/LogoImg.java index ca157f7..10d5e92 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java +++ b/app/src/main/java/com/aoleyun/sn/bean/LogoImg.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import androidx.annotation.NonNull; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/NetAndLaunchBean.java b/app/src/main/java/com/aoleyun/sn/bean/NetAndLaunchBean.java similarity index 52% rename from app/src/main/java/com/mjsheng/myappstore/bean/NetAndLaunchBean.java rename to app/src/main/java/com/aoleyun/sn/bean/NetAndLaunchBean.java index f16b588..4017c4a 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/NetAndLaunchBean.java +++ b/app/src/main/java/com/aoleyun/sn/bean/NetAndLaunchBean.java @@ -1,22 +1,14 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; import java.util.List; -/** - * 作者 mjsheng - * 日期 2018/9/18 14:06 - * 邮箱 501802639@qq.com - * 来自: - */ +public class NetAndLaunchBean implements Serializable { -public class NetAndLaunchBean { - - - /** - * code : 200 - * msg : ok - * data : [{"app_package":"com.mjsheng.news.mycode","is_auto":1,"is_network":0},{"app_package":"com.xueshibaoos","is_auto":0,"is_network":1}] - */ + private static final long serialVersionUID = -5029848848935111774L; private int code; private String msg; @@ -48,10 +40,6 @@ public class NetAndLaunchBean { @Override public String toString() { - return "NetAndLaunchBean{" + - "code=" + code + - ", msg='" + msg + '\'' + - ", data=" + data + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/NetAndLaunchData.java b/app/src/main/java/com/aoleyun/sn/bean/NetAndLaunchData.java similarity index 71% rename from app/src/main/java/com/mjsheng/myappstore/bean/NetAndLaunchData.java rename to app/src/main/java/com/aoleyun/sn/bean/NetAndLaunchData.java index 121ade9..963fd6f 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/NetAndLaunchData.java +++ b/app/src/main/java/com/aoleyun/sn/bean/NetAndLaunchData.java @@ -1,14 +1,13 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; -/** - * 作者 mjsheng - * 日期 2018/9/18 14:06 - * 邮箱 501802639@qq.com - * 来自: - */ +import com.google.gson.Gson; +import com.google.gson.JsonParser; -public class NetAndLaunchData { +import java.io.Serializable; +public class NetAndLaunchData implements Serializable { + + private static final long serialVersionUID = 3377827489329306025L; private String app_package; private int is_auto; private int is_network; @@ -69,12 +68,6 @@ public class NetAndLaunchData { @Override public String toString() { - return "NetAndLaunchData{" + - "app_package='" + app_package + '\'' + - ", is_auto=" + is_auto + - ", is_network=" + is_network + - ", is_slide=" + is_slide + - ", is_upgrade=" + is_upgrade + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/SplitApks.java b/app/src/main/java/com/aoleyun/sn/bean/SplitApks.java similarity index 78% rename from app/src/main/java/com/mjsheng/myappstore/bean/SplitApks.java rename to app/src/main/java/com/aoleyun/sn/bean/SplitApks.java index 73e4ab8..d29e7a7 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/SplitApks.java +++ b/app/src/main/java/com/aoleyun/sn/bean/SplitApks.java @@ -1,8 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class SplitApks implements Serializable { + + private static final long serialVersionUID = 6908179385637563352L; + private String file; private String id; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/StudentsInfo.java b/app/src/main/java/com/aoleyun/sn/bean/StudentsInfo.java similarity index 90% rename from app/src/main/java/com/mjsheng/myappstore/bean/StudentsInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/StudentsInfo.java index 6b25918..413346e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/StudentsInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/StudentsInfo.java @@ -1,8 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class StudentsInfo implements Serializable { + + private static final long serialVersionUID = -1489445700991359595L; + private String batch; private String sno; private String realname; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/SystemSettingData.java b/app/src/main/java/com/aoleyun/sn/bean/SystemSettingData.java similarity index 74% rename from app/src/main/java/com/mjsheng/myappstore/bean/SystemSettingData.java rename to app/src/main/java/com/aoleyun/sn/bean/SystemSettingData.java index f8559be..1429877 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/SystemSettingData.java +++ b/app/src/main/java/com/aoleyun/sn/bean/SystemSettingData.java @@ -1,16 +1,15 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; -/** - * 作者 mjsheng - * 日期 2018/9/18 14:06 - * 邮箱 501802639@qq.com - * 来自: - */ +import com.google.gson.Gson; +import com.google.gson.JsonParser; -public class SystemSettingData { +import java.io.Serializable; +public class SystemSettingData implements Serializable { - private int id; + private static final long serialVersionUID = 8726058107602873282L; + + private int id; private String bids; private int admin_id; private int createtime; @@ -130,20 +129,6 @@ public class SystemSettingData { @Override public String toString() { - return "SystemSettingData{" + - "id=" + id + - ", bids='" + bids + '\'' + - ", admin_id=" + admin_id + - ", createtime=" + createtime + - ", setting_call=" + setting_call + - ", setting_memory=" + setting_memory + - ", setting_usb='" + setting_usb + '\'' + - ", setting_bluetooth=" + setting_bluetooth + - ", setting_navigation=" + setting_navigation + - ", setting_statusbar=" + setting_statusbar + - ", setting_phones='" + setting_phones + '\'' + - ", setting_phone=" + setting_phone + - ", status='" + status + '\'' + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/TTAppground.java b/app/src/main/java/com/aoleyun/sn/bean/TTAppground.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/bean/TTAppground.java rename to app/src/main/java/com/aoleyun/sn/bean/TTAppground.java index 949ffa5..f152f75 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/TTAppground.java +++ b/app/src/main/java/com/aoleyun/sn/bean/TTAppground.java @@ -1,11 +1,13 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import androidx.annotation.Nullable; import java.io.Serializable; public class TTAppground implements Serializable { + private static final long serialVersionUID = -2071117846816082338L; + private String packages; private String address; private int type; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/TimeControl.java b/app/src/main/java/com/aoleyun/sn/bean/TimeControl.java similarity index 81% rename from app/src/main/java/com/mjsheng/myappstore/bean/TimeControl.java rename to app/src/main/java/com/aoleyun/sn/bean/TimeControl.java index 436d1e4..3a7c366 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/TimeControl.java +++ b/app/src/main/java/com/aoleyun/sn/bean/TimeControl.java @@ -1,8 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class TimeControl implements Serializable { + + private static final long serialVersionUID = -7896263624027994538L; + String start_time; String end_time; diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/UploadAppInfo.java b/app/src/main/java/com/aoleyun/sn/bean/UploadAppInfo.java similarity index 77% rename from app/src/main/java/com/mjsheng/myappstore/bean/UploadAppInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/UploadAppInfo.java index 82dfaf3..ede97b1 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/UploadAppInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/UploadAppInfo.java @@ -1,13 +1,14 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; -/** - * 作者 mjsheng - * 日期 2018/8/7 14:50 - * 邮箱 501802639@qq.com - * 来自: - */ +import com.google.gson.Gson; +import com.google.gson.JsonParser; + +import java.io.Serializable; + +public class UploadAppInfo implements Serializable { + + private static final long serialVersionUID = 1746386760446697855L; -public class UploadAppInfo { private String package_name; private String app_name; private String install_time; @@ -74,11 +75,6 @@ public class UploadAppInfo { @Override public String toString() { - return "UploadAppInfo{" + - "package_name='" + package_name + '\'' + - ", app_name='" + app_name + '\'' + - ", install_time=" + install_time + -// ", id=" + id + - '}'; + return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/UserInfo.java b/app/src/main/java/com/aoleyun/sn/bean/UserInfo.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/bean/UserInfo.java rename to app/src/main/java/com/aoleyun/sn/bean/UserInfo.java index 5f8abf8..27065ea 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/UserInfo.java +++ b/app/src/main/java/com/aoleyun/sn/bean/UserInfo.java @@ -1,8 +1,11 @@ -package com.mjsheng.myappstore.bean; +package com.aoleyun.sn.bean; import java.io.Serializable; public class UserInfo implements Serializable { + + private static final long serialVersionUID = 6411909454407080815L; + private String id; private String sn_value; diff --git a/app/src/main/java/com/mjsheng/myappstore/comm/CommonDatas.java b/app/src/main/java/com/aoleyun/sn/comm/CommonDatas.java similarity index 56% rename from app/src/main/java/com/mjsheng/myappstore/comm/CommonDatas.java rename to app/src/main/java/com/aoleyun/sn/comm/CommonDatas.java index 22ab473..9ab1426 100644 --- a/app/src/main/java/com/mjsheng/myappstore/comm/CommonDatas.java +++ b/app/src/main/java/com/aoleyun/sn/comm/CommonDatas.java @@ -1,9 +1,7 @@ -package com.mjsheng.myappstore.comm; +package com.aoleyun.sn.comm; public class CommonDatas { - public final static String SP_BABY_AGE_KEY = "age_system";//子系统选择 - public final static String SP_PARENT_PASSWORD = "parent_password";//家长密码 public final static String IS_RESET = "IS_RESET"; public final static int MIN_POWER = 21; public final static String FORCE_INSTALL = "FORCE_INSTALL"; diff --git a/app/src/main/java/com/aoleyun/sn/comm/PackageNames.java b/app/src/main/java/com/aoleyun/sn/comm/PackageNames.java new file mode 100644 index 0000000..f3efa46 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/comm/PackageNames.java @@ -0,0 +1,19 @@ +package com.aoleyun.sn.comm; + +/** + * @author : fanhuitong + * e-mail : + * @date : 2021/10/1318:07 + * desc : + * version: 1.0 + */ +public class PackageNames { + //旧版的应用市场和设备信息包名 + public static final String OLD_DEVICE_INFO = "com.jiaoguanyi.appstore"; + public static final String OLD_APPSTORE = "com.jiaoguanyi.store"; + //应用市场和设备信息包名 + public static final String DEVICE_INFO = "com.aoleyun.sn"; + public static final String APPSTORE = "com.aoleyun.appstore"; + public static final String APP_STORE_BOOTRECEIVER = "com.aoleyun.appstore.receiver.BootReceiver"; + +} diff --git a/app/src/main/java/com/mjsheng/myappstore/database/DBHelper.java b/app/src/main/java/com/aoleyun/sn/database/DBHelper.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/database/DBHelper.java rename to app/src/main/java/com/aoleyun/sn/database/DBHelper.java index 7e9135f..2b9f0a6 100644 --- a/app/src/main/java/com/mjsheng/myappstore/database/DBHelper.java +++ b/app/src/main/java/com/aoleyun/sn/database/DBHelper.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.database; +package com.aoleyun.sn.database; import android.content.ContentValues; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/database/DBSqlBuilder.java b/app/src/main/java/com/aoleyun/sn/database/DBSqlBuilder.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/database/DBSqlBuilder.java rename to app/src/main/java/com/aoleyun/sn/database/DBSqlBuilder.java index 33141eb..f53366b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/database/DBSqlBuilder.java +++ b/app/src/main/java/com/aoleyun/sn/database/DBSqlBuilder.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.database; +package com.aoleyun.sn.database; public class DBSqlBuilder { diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/ExampleUtil.java b/app/src/main/java/com/aoleyun/sn/jpush/ExampleUtil.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/jpush/ExampleUtil.java rename to app/src/main/java/com/aoleyun/sn/jpush/ExampleUtil.java index 9dd9c70..c7f8b57 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/ExampleUtil.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/ExampleUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import android.content.Context; import android.content.pm.ApplicationInfo; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/LocalBroadcastManager.java b/app/src/main/java/com/aoleyun/sn/jpush/LocalBroadcastManager.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/jpush/LocalBroadcastManager.java rename to app/src/main/java/com/aoleyun/sn/jpush/LocalBroadcastManager.java index 5465f66..2f6df13 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/LocalBroadcastManager.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/LocalBroadcastManager.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/Logger.java b/app/src/main/java/com/aoleyun/sn/jpush/Logger.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/jpush/Logger.java rename to app/src/main/java/com/aoleyun/sn/jpush/Logger.java index 010114d..00f68cb 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/Logger.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/Logger.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import android.util.Log; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/MyJPushMessageReceiver.java b/app/src/main/java/com/aoleyun/sn/jpush/MyJPushMessageReceiver.java similarity index 94% rename from app/src/main/java/com/mjsheng/myappstore/jpush/MyJPushMessageReceiver.java rename to app/src/main/java/com/aoleyun/sn/jpush/MyJPushMessageReceiver.java index 34974c6..1065aa0 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/MyJPushMessageReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/MyJPushMessageReceiver.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import android.content.Context; -import com.mjsheng.myappstore.base.BaseApplication; +import com.aoleyun.sn.base.BaseApplication; import cn.jpush.android.api.CustomMessage; import cn.jpush.android.api.JPushMessage; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/MyReceiver.java b/app/src/main/java/com/aoleyun/sn/jpush/MyReceiver.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/jpush/MyReceiver.java rename to app/src/main/java/com/aoleyun/sn/jpush/MyReceiver.java index 7db837e..d7f6624 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/MyReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/MyReceiver.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import android.content.BroadcastReceiver; import android.content.Context; @@ -6,7 +6,7 @@ import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; -import com.mjsheng.myappstore.activity.MainActivity; +import com.aoleyun.sn.activity.MainActivity; import org.json.JSONException; import org.json.JSONObject; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/PushService.java b/app/src/main/java/com/aoleyun/sn/jpush/PushService.java similarity index 73% rename from app/src/main/java/com/mjsheng/myappstore/jpush/PushService.java rename to app/src/main/java/com/aoleyun/sn/jpush/PushService.java index 1a5109b..9b6fa99 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/PushService.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/PushService.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import cn.jpush.android.service.JCommonService; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java b/app/src/main/java/com/aoleyun/sn/jpush/TagAliasOperatorHelper.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java rename to app/src/main/java/com/aoleyun/sn/jpush/TagAliasOperatorHelper.java index e7b0d8c..1391394 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/TagAliasOperatorHelper.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush; +package com.aoleyun.sn.jpush; import android.content.Context; import android.os.Handler; @@ -6,8 +6,8 @@ import android.os.Message; import android.util.Log; import android.util.SparseArray; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.ToastUtil; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.ToastUtil; import java.util.Locale; import java.util.Set; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/ExampleApplication.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/ExampleApplication.java similarity index 87% rename from app/src/main/java/com/mjsheng/myappstore/jpush/invalid/ExampleApplication.java rename to app/src/main/java/com/aoleyun/sn/jpush/invalid/ExampleApplication.java index e0fd46a..e5b43ff 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/ExampleApplication.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/invalid/ExampleApplication.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.jpush.invalid; +package com.aoleyun.sn.jpush.invalid; import android.app.Application; -import com.mjsheng.myappstore.jpush.Logger; +import com.aoleyun.sn.jpush.Logger; import cn.jpush.android.api.JPushInterface; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/MainActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/MainActivity.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/jpush/invalid/MainActivity.java rename to app/src/main/java/com/aoleyun/sn/jpush/invalid/MainActivity.java index 4d10459..6e40d8b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/MainActivity.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/invalid/MainActivity.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush.invalid; +package com.aoleyun.sn.jpush.invalid; //public class MainActivity extends InstrumentedActivity implements OnClickListener{ diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/PushSetActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/PushSetActivity.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/jpush/invalid/PushSetActivity.java rename to app/src/main/java/com/aoleyun/sn/jpush/invalid/PushSetActivity.java index 97c3131..e72a223 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/PushSetActivity.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/invalid/PushSetActivity.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush.invalid; +package com.aoleyun.sn.jpush.invalid; //public class PushSetActivity extends InstrumentedActivity implements OnClickListener { // private static final String TAG = "JIGUANG-Example"; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/SettingActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/SettingActivity.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/jpush/invalid/SettingActivity.java rename to app/src/main/java/com/aoleyun/sn/jpush/invalid/SettingActivity.java index 4f131e6..002f9bc 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/SettingActivity.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/invalid/SettingActivity.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush.invalid; +package com.aoleyun.sn.jpush.invalid; //public class SettingActivity extends InstrumentedActivity implements OnClickListener { // TimePicker startTime; diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/TestActivity.java b/app/src/main/java/com/aoleyun/sn/jpush/invalid/TestActivity.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/jpush/invalid/TestActivity.java rename to app/src/main/java/com/aoleyun/sn/jpush/invalid/TestActivity.java index b426b95..0c5205f 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/invalid/TestActivity.java +++ b/app/src/main/java/com/aoleyun/sn/jpush/invalid/TestActivity.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.jpush.invalid; +package com.aoleyun.sn.jpush.invalid; import android.app.Activity; import android.content.Intent; diff --git a/app/src/main/java/com/mjsheng/myappstore/log/LogReceiver.java b/app/src/main/java/com/aoleyun/sn/log/LogReceiver.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/log/LogReceiver.java rename to app/src/main/java/com/aoleyun/sn/log/LogReceiver.java index aefde01..312face 100644 --- a/app/src/main/java/com/mjsheng/myappstore/log/LogReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/log/LogReceiver.java @@ -1,11 +1,10 @@ -package com.mjsheng.myappstore.log; +package com.aoleyun.sn.log; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.util.Log; -import com.mjsheng.myappstore.utils.Logutils; +import com.aoleyun.sn.utils.Logutils; /** * @author MTK81255 diff --git a/app/src/main/java/com/mjsheng/myappstore/log/ReceiverHandler.java b/app/src/main/java/com/aoleyun/sn/log/ReceiverHandler.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/log/ReceiverHandler.java rename to app/src/main/java/com/aoleyun/sn/log/ReceiverHandler.java index 5577f5f..a1718f4 100644 --- a/app/src/main/java/com/mjsheng/myappstore/log/ReceiverHandler.java +++ b/app/src/main/java/com/aoleyun/sn/log/ReceiverHandler.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.log; +package com.aoleyun.sn.log; import android.content.Intent; import android.os.Handler; diff --git a/app/src/main/java/com/mjsheng/myappstore/manager/AmapManager.java b/app/src/main/java/com/aoleyun/sn/manager/AmapManager.java similarity index 96% rename from app/src/main/java/com/mjsheng/myappstore/manager/AmapManager.java rename to app/src/main/java/com/aoleyun/sn/manager/AmapManager.java index 0ec9b0b..1291187 100644 --- a/app/src/main/java/com/mjsheng/myappstore/manager/AmapManager.java +++ b/app/src/main/java/com/aoleyun/sn/manager/AmapManager.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.manager; +package com.aoleyun.sn.manager; import android.content.Context; @@ -6,8 +6,8 @@ import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationClient; import com.amap.api.location.AMapLocationClientOption; import com.amap.api.location.AMapLocationListener; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; public class AmapManager { private static AmapManager sInstance; diff --git a/app/src/main/java/com/mjsheng/myappstore/manager/FileManager.java b/app/src/main/java/com/aoleyun/sn/manager/FileManager.java similarity index 92% rename from app/src/main/java/com/mjsheng/myappstore/manager/FileManager.java rename to app/src/main/java/com/aoleyun/sn/manager/FileManager.java index ccebdb2..cb94b60 100644 --- a/app/src/main/java/com/mjsheng/myappstore/manager/FileManager.java +++ b/app/src/main/java/com/aoleyun/sn/manager/FileManager.java @@ -1,9 +1,9 @@ -package com.mjsheng.myappstore.manager; +package com.aoleyun.sn.manager; import android.content.Context; import com.blankj.utilcode.util.PathUtils; -import com.mjsheng.myappstore.utils.Logutils; +import com.aoleyun.sn.utils.Logutils; import java.io.File; diff --git a/app/src/main/java/com/mjsheng/myappstore/manager/NetInterfaceManager.java b/app/src/main/java/com/aoleyun/sn/manager/NetInterfaceManager.java similarity index 54% rename from app/src/main/java/com/mjsheng/myappstore/manager/NetInterfaceManager.java rename to app/src/main/java/com/aoleyun/sn/manager/NetInterfaceManager.java index 3766048..01ec39b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/manager/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/manager/NetInterfaceManager.java @@ -1,58 +1,54 @@ -package com.mjsheng.myappstore.manager; +package com.aoleyun.sn.manager; import android.annotation.SuppressLint; import android.content.Context; -import android.os.Environment; -import com.google.gson.JsonObject; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.bean.Appground; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.BrowserBookmarks; -import com.mjsheng.myappstore.bean.BrowserData; -import com.mjsheng.myappstore.bean.DefaultApp; -import com.mjsheng.myappstore.bean.ForceDownloadBean; -import com.mjsheng.myappstore.bean.ForceDownloadData; -import com.mjsheng.myappstore.bean.LogoImg; -import com.mjsheng.myappstore.bean.NetAndLaunchBean; -import com.mjsheng.myappstore.bean.StudentsInfo; -import com.mjsheng.myappstore.network.api.AppLimitApi; -import com.mjsheng.myappstore.network.api.BrankPicApi; -import com.mjsheng.myappstore.network.api.CategoryPicApi; -import com.mjsheng.myappstore.network.api.DeselectBrowserIDApi; -import com.mjsheng.myappstore.network.api.DeselectIDApi; -import com.mjsheng.myappstore.network.api.ForceDownloadApi; -import com.mjsheng.myappstore.network.api.NetAndLaunchApi; -import com.mjsheng.myappstore.network.api.ProjectPicApi; -import com.mjsheng.myappstore.network.api.RankAppApi; -import com.mjsheng.myappstore.network.api.SystemSettingApi; -import com.mjsheng.myappstore.network.api.UploadAppInfoApi; -import com.mjsheng.myappstore.network.api.newapi.AppinsideWebApi; -import com.mjsheng.myappstore.network.api.newapi.BrowserBookmarksApi; -import com.mjsheng.myappstore.network.api.newapi.BrowserListApi; -import com.mjsheng.myappstore.network.api.newapi.CheckTestUpdateApi; -import com.mjsheng.myappstore.network.api.newapi.CheckUpdateApi; -import com.mjsheng.myappstore.network.api.newapi.CustomROMApp; -import com.mjsheng.myappstore.network.api.newapi.DefaultAppApi; -import com.mjsheng.myappstore.network.api.newapi.DesktopIconApi; -import com.mjsheng.myappstore.network.api.newapi.DevicesLockedStateApi; -import com.mjsheng.myappstore.network.api.newapi.GetAllApp; -import com.mjsheng.myappstore.network.api.newapi.GetBatchApi; -import com.mjsheng.myappstore.network.api.newapi.GetDesktopApi; -import com.mjsheng.myappstore.network.api.newapi.GetDeveloper; -import com.mjsheng.myappstore.network.api.newapi.GetEBagCode; -import com.mjsheng.myappstore.network.api.newapi.GetLockStateApi; -import com.mjsheng.myappstore.network.api.newapi.JpushTagsApi; -import com.mjsheng.myappstore.network.api.newapi.LogoImgApi; -import com.mjsheng.myappstore.network.api.newapi.MACAddressApi; -import com.mjsheng.myappstore.network.api.newapi.NewAppinsideWebApi; -import com.mjsheng.myappstore.network.api.newapi.ScreenLockStateApi; -import com.mjsheng.myappstore.network.api.newapi.SnTimeControl; -import com.mjsheng.myappstore.network.api.newapi.StudentsInfosApi; -import com.mjsheng.myappstore.network.api.newapi.TopAppControlApi; -import com.mjsheng.myappstore.network.api.newapi.UpdateDeviceInfoApi; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.bean.Appground; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.BrowserBookmarks; +import com.aoleyun.sn.bean.BrowserData; +import com.aoleyun.sn.bean.DefaultApp; +import com.aoleyun.sn.bean.ForceDownloadBean; +import com.aoleyun.sn.bean.ForceDownloadData; +import com.aoleyun.sn.bean.LogoImg; +import com.aoleyun.sn.bean.NetAndLaunchBean; +import com.aoleyun.sn.bean.StudentsInfo; +import com.aoleyun.sn.network.api.AppLimitApi; +import com.aoleyun.sn.network.api.DeselectIDApi; +import com.aoleyun.sn.network.api.ForceDownloadApi; +import com.aoleyun.sn.network.api.NetAndLaunchApi; +import com.aoleyun.sn.network.api.SystemSettingApi; +import com.aoleyun.sn.network.api.UploadAppInfoApi; +import com.aoleyun.sn.network.api.newapi.AppinsideWebApi; +import com.aoleyun.sn.network.api.newapi.BrowserBookmarksApi; +import com.aoleyun.sn.network.api.newapi.BrowserListApi; +import com.aoleyun.sn.network.api.newapi.CheckTestUpdateApi; +import com.aoleyun.sn.network.api.newapi.CheckUpdateApi; +import com.aoleyun.sn.network.api.newapi.CustomROMAppApi; +import com.aoleyun.sn.network.api.newapi.DefaultAppApi; +import com.aoleyun.sn.network.api.newapi.DesktopIconApi; +import com.aoleyun.sn.network.api.newapi.DevicesLockedStateApi; +import com.aoleyun.sn.network.api.newapi.GetAllAppApi; +import com.aoleyun.sn.network.api.newapi.GetAppLogApi; +import com.aoleyun.sn.network.api.newapi.GetBatchApi; +import com.aoleyun.sn.network.api.newapi.GetDesktopApi; +import com.aoleyun.sn.network.api.newapi.GetDeveloperApi; +import com.aoleyun.sn.network.api.newapi.GetEBagCodeApi; +import com.aoleyun.sn.network.api.newapi.GetLockStateApi; +import com.aoleyun.sn.network.api.newapi.GetJpushTagsApi; +import com.aoleyun.sn.network.api.newapi.LogoImgApi; +import com.aoleyun.sn.network.api.newapi.MACAddressApi; +import com.aoleyun.sn.network.api.newapi.NewAppinsideWebApi; +import com.aoleyun.sn.network.api.newapi.ScreenLockStateApi; +import com.aoleyun.sn.network.api.newapi.SendDownloadInfoApi; +import com.aoleyun.sn.network.api.newapi.SendDownloadTimesApi; +import com.aoleyun.sn.network.api.newapi.SendScreenshotApi; +import com.aoleyun.sn.network.api.newapi.SnTimeControlApi; +import com.aoleyun.sn.network.api.newapi.StudentsInfosApi; +import com.aoleyun.sn.network.api.newapi.TopAppControlApi; +import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi; +import com.aoleyun.sn.utils.Utils; import java.io.File; import java.util.List; @@ -65,7 +61,6 @@ import io.reactivex.schedulers.Schedulers; import okhttp3.Cache; import okhttp3.OkHttpClient; import okhttp3.ResponseBody; -import okhttp3.internal.Util; import retrofit2.CallAdapter; import retrofit2.Converter; import retrofit2.Retrofit; @@ -76,8 +71,16 @@ public class NetInterfaceManager { @SuppressLint("StaticFieldLeak") private static NetInterfaceManager INSTANCE; private Context mContext; - private static Retrofit mRetrofit; - private static Retrofit jiguangRetrofit; + private Retrofit mRetrofit; + private OkHttpClient okHttpClient; + + //超时时间 + private int timeOut = 5; + // 缓存文件最大限制大小20M + private long cacheSize = 1024 * 1024 * 64; + + private Converter.Factory gsonConverterFactory = GsonConverterFactory.create(); + private CallAdapter.Factory rxJavaCallAdapterFactory = RxJava2CallAdapterFactory.create(); public static final String ROOT_URL = BuildConfig.ROOT_URL; public static final String WEBSOCKET_URL = BuildConfig.WebsocketURL; @@ -85,6 +88,20 @@ public class NetInterfaceManager { private NetInterfaceManager(Context context) { this.mContext = context; + if (okHttpClient == null) { + //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了 + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间 + builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间 + builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间 + builder.retryOnConnectionFailure(true);// 设置进行连接失败重试 + // 设置缓存文件路径 + String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache"; + Cache cache = new Cache(new File(cacheDirectory), cacheSize); + builder.cache(cache);// 设置缓存 + okHttpClient = builder.build(); + } + if (null == mRetrofit) { mRetrofit = new Retrofit.Builder() .client(okHttpClient) @@ -93,14 +110,6 @@ public class NetInterfaceManager { .addCallAdapterFactory(rxJavaCallAdapterFactory) .build(); } - if (null == jiguangRetrofit) { - jiguangRetrofit = new Retrofit.Builder() - .client(okHttpClient) - .baseUrl(ROOT_URL) - .addConverterFactory(gsonConverterFactory) - .addCallAdapterFactory(rxJavaCallAdapterFactory) - .build(); - } } public static void init(Context context) { @@ -117,34 +126,17 @@ public class NetInterfaceManager { return INSTANCE; } - private static final long cacheSize = 1024 * 1024 * 32;// 缓存文件最大限制大小20M - private static String cacheDirectory = Environment.getExternalStorageDirectory() + "/okttpcaches"; // 设置缓存文件路径 - private static Cache cache = new Cache(new File(cacheDirectory), cacheSize); // - private static final OkHttpClient okHttpClient; - private static final int timeOut = 5; - - static { - //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了 - OkHttpClient.Builder builder = new OkHttpClient.Builder(); - builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间 - builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间 - builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间 - builder.retryOnConnectionFailure(true);// 设置进行连接失败重试 - builder.cache(cache);// 设置缓存 - okHttpClient = builder.build(); + public OkHttpClient getOkHttpClient() { + return okHttpClient; } - private static CallAdapter.Factory rxJavaCallAdapterFactory = RxJava2CallAdapterFactory.create(); - private static Converter.Factory gsonConverterFactory = GsonConverterFactory.create(); - /** * 通过sn获取设备的信息 * * @return */ public Observable> getStudesInfoObservable() { - return mRetrofit - .create(StudentsInfosApi.class) + return mRetrofit.create(StudentsInfosApi.class) .getStudentsInfo(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); @@ -156,8 +148,7 @@ public class NetInterfaceManager { * @return */ public Observable getDevicesLockedStateObservable() { - return mRetrofit - .create(DevicesLockedStateApi.class) + return mRetrofit.create(DevicesLockedStateApi.class) .getLockedState(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); @@ -169,8 +160,7 @@ public class NetInterfaceManager { * @return */ public Observable sendMACAddressObservable() { - return mRetrofit - .create(MACAddressApi.class) + return mRetrofit.create(MACAddressApi.class) .sendMACaddress(Utils.getSerial(), Utils.getAndroid10MAC(mContext), JPushInterface.getRegistrationID(mContext), @@ -189,137 +179,119 @@ public class NetInterfaceManager { * @return */ public Observable getJpushTagsObservable() { - return mRetrofit - .create(JpushTagsApi.class) + return mRetrofit.create(GetJpushTagsApi.class) .getJpushTags(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getBrowserListSettingObservable() { - return mRetrofit - .create(BrowserListApi.class) + return mRetrofit.create(BrowserListApi.class) .getBrowserList(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getBrowserBookmarksObservable() { - return mRetrofit - .create(BrowserBookmarksApi.class) + return mRetrofit.create(BrowserBookmarksApi.class) .getBrowserBookmarks(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getDesktopIconObservable() { - return mRetrofit - .create(DesktopIconApi.class) + return mRetrofit.create(DesktopIconApi.class) .getDesktopIcon(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getAppAutoStartUpdateAndNetObservable() { - return mRetrofit - .create(NetAndLaunchApi.class) + return mRetrofit.create(NetAndLaunchApi.class) .getNetAndLaunchApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getAppIDControlObservable() { - return mRetrofit - .create(DeselectIDApi.class) + return mRetrofit.create(DeselectIDApi.class) .getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable>> getAppinsideWebObservable() { - return mRetrofit - .create(AppinsideWebApi.class) + return mRetrofit.create(AppinsideWebApi.class) .getAppinsideWeb(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getNewAppinsideWebObservable() { - return mRetrofit - .create(NewAppinsideWebApi.class) + return mRetrofit.create(NewAppinsideWebApi.class) .getAppinsideWeb(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getSystemSettingObservable() { - return mRetrofit - .create(SystemSettingApi.class) + return mRetrofit.create(SystemSettingApi.class) .getSystemSettingApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getAppLimitObservable() { - return mRetrofit - .create(AppLimitApi.class) + return mRetrofit.create(AppLimitApi.class) .getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getForceDownloadObservable() { - return mRetrofit - .create(ForceDownloadApi.class) + return mRetrofit.create(ForceDownloadApi.class) .getForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } - public Observable>> getTestUpdateObservable() { - return mRetrofit - .create(CheckTestUpdateApi.class) + return mRetrofit.create(CheckTestUpdateApi.class) .getTestUpdate(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getSnTimeObservable() { - return mRetrofit - .create(SnTimeControl.class) + return mRetrofit.create(SnTimeControlApi.class) .getSnTimeControl(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getScreenLockObservable() { - return mRetrofit - .create(ScreenLockStateApi.class) + return mRetrofit.create(ScreenLockStateApi.class) .getScreenLockState(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getDesktopObservable() { - return mRetrofit - .create(GetDesktopApi.class) + return mRetrofit.create(GetDesktopApi.class) .getDesktop(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getBatchObservable() { - return mRetrofit - .create(GetBatchApi.class) + return mRetrofit.create(GetBatchApi.class) .getBatch(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getLogoImgObservable() { - return mRetrofit - .create(LogoImgApi.class) + return mRetrofit.create(LogoImgApi.class) .getLogoImg(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); @@ -333,104 +305,19 @@ public class NetInterfaceManager { } public Observable getDeveloperControl() { - return mRetrofit.create(GetDeveloper.class) + return mRetrofit.create(GetDeveloperApi.class) .getDeveloperState(Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getEBagCodeControl() { - return mRetrofit.create(GetEBagCode.class) + return mRetrofit.create(GetEBagCodeApi.class) .getEBagCode(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } - /* - * - * API - * - * */ - public static UploadAppInfoApi getUploadAppInfoApi() { - return mRetrofit.create(UploadAppInfoApi.class); - } - - public static DeselectIDApi getDeselectIDApi() { - return mRetrofit.create(DeselectIDApi.class); - } - - public static DeselectBrowserIDApi getDeselectBrowserIDApi() { - return mRetrofit.create(DeselectBrowserIDApi.class); - } - - public static RankAppApi getRankAppApi() { - return mRetrofit.create(RankAppApi.class); - } - - public static CategoryPicApi getCategoryPicApi() { - return mRetrofit.create(CategoryPicApi.class); - } - - public static ProjectPicApi getProjectPicApi() { - return mRetrofit.create(ProjectPicApi.class); - } - - public static BrankPicApi getBrankPicApi() { - return mRetrofit.create(BrankPicApi.class); - } - - public static AppLimitApi getAppLimitApi() { - return mRetrofit.create(AppLimitApi.class); - - } - - public static SystemSettingApi getSystemSettingApi() { - return mRetrofit.create(SystemSettingApi.class); - } - - - public static NetAndLaunchApi getNetAndLaunchApi() { - return mRetrofit.create(NetAndLaunchApi.class); - } - - public static ForceDownloadApi getForceDownloadApi() { - return mRetrofit.create(ForceDownloadApi.class); - } - - public static GetLockStateApi getLockState() { - return mRetrofit.create(GetLockStateApi.class); - } - - public static UpdateDeviceInfoApi getUpdateDeviceInfo() { - return mRetrofit.create(UpdateDeviceInfoApi.class); - } - - public static GetBatchApi getBatchApi() { - return mRetrofit.create(GetBatchApi.class); - } - - public static SnTimeControl getSnTimeControlApi() { - return mRetrofit.create(SnTimeControl.class); - } - - public static TopAppControlApi getTopAppControlApi() { - return mRetrofit.create(TopAppControlApi.class); - } - - - public CheckUpdateApi getUpdateApi() { - return mRetrofit - .create(CheckUpdateApi.class); - } - - public CustomROMApp getCustomROMAppApi() { - return mRetrofit.create(CustomROMApp.class); - } - - public GetAllApp GetAllAppApi() { - return mRetrofit.create(GetAllApp.class); - } - public Observable> getDefaultAppApi() { return mRetrofit.create(DefaultAppApi.class) .getDefaultApp(Utils.getSerial()) @@ -438,4 +325,80 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + /* + * + * API + * + * */ + public UploadAppInfoApi getUploadAppInfoApi() { + return mRetrofit.create(UploadAppInfoApi.class); + } + + public DeselectIDApi getDeselectIDApi() { + return mRetrofit.create(DeselectIDApi.class); + } + + public AppLimitApi getAppLimitApi() { + return mRetrofit.create(AppLimitApi.class); + } + + public SystemSettingApi getSystemSettingApi() { + return mRetrofit.create(SystemSettingApi.class); + } + + public NetAndLaunchApi getNetAndLaunchApi() { + return mRetrofit.create(NetAndLaunchApi.class); + } + + public ForceDownloadApi getForceDownloadApi() { + return mRetrofit.create(ForceDownloadApi.class); + } + + public GetLockStateApi getLockState() { + return mRetrofit.create(GetLockStateApi.class); + } + + public UpdateDeviceInfoApi getUpdateDeviceInfo() { + return mRetrofit.create(UpdateDeviceInfoApi.class); + } + + public GetBatchApi getBatchApi() { + return mRetrofit.create(GetBatchApi.class); + } + + public SnTimeControlApi getSnTimeControlApi() { + return mRetrofit.create(SnTimeControlApi.class); + } + + public TopAppControlApi getTopAppControlApi() { + return mRetrofit.create(TopAppControlApi.class); + } + + public CheckUpdateApi getUpdateApi() { + return mRetrofit.create(CheckUpdateApi.class); + } + + public CustomROMAppApi getCustomROMAppApi() { + return mRetrofit.create(CustomROMAppApi.class); + } + + public GetAllAppApi GetAllAppApi() { + return mRetrofit.create(GetAllAppApi.class); + } + + public GetAppLogApi getAppLogApi() { + return mRetrofit.create(GetAppLogApi.class); + } + + public SendDownloadTimesApi getSendTimesApi() { + return mRetrofit.create(SendDownloadTimesApi.class); + } + + public SendDownloadInfoApi getSendInfoApi() { + return mRetrofit.create(SendDownloadInfoApi.class); + } + + public SendScreenshotApi getScreenshotApi() { + return mRetrofit.create(SendScreenshotApi.class); + } } diff --git a/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java b/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java new file mode 100644 index 0000000..fc5fb30 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java @@ -0,0 +1,856 @@ +package com.aoleyun.sn.network; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Handler; +import android.os.Message; +import android.provider.Settings; +import android.text.TextUtils; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.aoleyun.sn.action.JGYActions; +import com.arialyy.aria.core.Aria; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.bean.AppListInfo; +import com.aoleyun.sn.bean.BrowserBookmarks; +import com.aoleyun.sn.bean.BrowserData; +import com.aoleyun.sn.bean.ForceDownloadBean; +import com.aoleyun.sn.bean.ForceDownloadData; +import com.aoleyun.sn.utils.CacheUtils; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.URLUtils; +import com.aoleyun.sn.bean.Appground; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.NetAndLaunchBean; +import com.aoleyun.sn.jpush.TagAliasOperatorHelper; +import com.aoleyun.sn.manager.NetInterfaceManager; +import com.aoleyun.sn.network.api.newapi.SnTimeControlApi; +import com.aoleyun.sn.network.api.newapi.TopAppControlApi; +import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi; +import com.aoleyun.sn.service.MainService; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.ForegroundAppUtil; +import com.aoleyun.sn.utils.Logger; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.TimeUtils; +import com.aoleyun.sn.utils.Utils; +import com.trello.rxlifecycle2.android.ActivityEvent; + +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.annotations.NonNull; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; +import okhttp3.Call; +import okhttp3.Response; +import okhttp3.ResponseBody; + +import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET; +import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.sequence; + +public class HTTPInterface { + private static final String TAG = HTTPInterface.class.getSimpleName(); + private static final int OK = 200; + + private static void installTestAPK(final Context context, JSONObject jsonObject) { + final String url = jsonObject.getString("app_url"); + int versionCode = jsonObject.getInteger("app_version_code"); + final String packageName = jsonObject.getString("app_package"); + String app_name = jsonObject.getString("app_name"); + String app_md5 = jsonObject.getString("app_md5"); + final com.alibaba.fastjson.JSONObject object = new com.alibaba.fastjson.JSONObject(); + object.put("app_name", app_name); + object.put("app_package", packageName); + object.put("MD5", app_md5); + PackageManager pm = context.getPackageManager(); + PackageInfo packageInfo = null; + try { + packageInfo = pm.getPackageInfo(packageName, 0); + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + if (packageInfo == null || packageInfo.versionCode < versionCode) { + Utils.ariaDownload(context, url, object); + } else { + Logutils.e("installTestAPK", "APK: " + "无更新"); + } + } + + synchronized public static void setJpushTags(final Context context) { + NetInterfaceManager.getInstance() + .getJpushTagsObservable() + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e(TAG + ":" + "setJpushTags", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse response) { + if (response.code == 200) { + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); + String batch = jsonObject.get("batch").getAsString(); + Logutils.e(TAG + ":" + "setJpushTags", "onNext: " + batch); + if (!TextUtils.isEmpty(batch)) { + Set set = new HashSet(); + set.add(batch); + JGYUtils.getInstance().getAppPlatform(new JGYUtils.GetAppPlatformCallback() { + @Override + public void AppPlatform(int platform) { + if (platform == JGYUtils.MTKPlatform) { + set.add(JGYUtils.MTKTag); + } else if (platform == JGYUtils.ZhanruiPlatform) { + set.add(JGYUtils.ZhanruiTag); + } + } + }); + setTag(context, set); + } else { + Logutils.e(TAG + ":" + "setJpushTags", "onNext: " + "batch empty"); + } + } else { + Logutils.e(TAG + ":" + "setJpushTags", "onNext: " + response.toString()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e(TAG + ":" + "setJpushTags", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e(TAG + ":" + "setJpushTags", "onComplete: "); + } + }); + } + + private static void setTag(Context context, Set set) { + TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean(); + tagAliasBean.action = ACTION_SET; + sequence++; + tagAliasBean.tags = set; + tagAliasBean.isAliasAction = false; + TagAliasOperatorHelper.getInstance().handleAction(context, sequence, tagAliasBean); + } + + public interface GetAppinsideWebCallback { + void onComplete(); + } + + synchronized public static void getAppinsideWeb(Context context, GetAppinsideWebCallback callback) { + if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTKPlatform) { + Logutils.e(TAG, "getAppinsideWeb: " + "setAppinsideWeb"); + setAppinsideWeb(callback); + } else { + Logutils.e(TAG, "getAppinsideWeb: " + "setNewAppinsideWeb"); + setNewAppinsideWeb(callback); +// setAppinsideWeb(callback); + } + } + + private static void setAppinsideWeb(GetAppinsideWebCallback callback) { + NetInterfaceManager.getInstance() + .getAppinsideWebObservable() + .observeOn(Schedulers.io()) + .subscribe(new Observer>>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e("setAppinsideWeb", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse> listBaseResponse) { + Logutils.e("setAppinsideWeb", "onNext: " + listBaseResponse); + JGYUtils.getInstance().setAppinsideWeb(listBaseResponse); + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e("setAppinsideWeb", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("setAppinsideWeb", "onComplete: "); + callback.onComplete(); + } + }); + } + + private static void setNewAppinsideWeb(GetAppinsideWebCallback callback) { + NetInterfaceManager.getInstance() + .getNewAppinsideWebObservable() + .observeOn(Schedulers.io()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e("getNewAppinsideWeb", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse listBaseResponse) { + Logutils.e("getNewAppinsideWeb", "onNext: " + listBaseResponse); + long time1 = System.currentTimeMillis(); + JGYUtils.getInstance().setNewAppinsideWeb(listBaseResponse); + Logutils.e(TAG, "setWhiteApp: time = " + (System.currentTimeMillis() - time1)); + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e("getNewAppinsideWeb", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("getNewAppinsideWeb", "onComplete: "); + callback.onComplete(); + } + }); + } + + + private static void sendAllweb(Context context) { + Intent intent = new Intent("qch_app_website") + .setPackage("com.android.settings"); + intent.putExtra("package_name", "Invalid"); + context.sendBroadcast(intent); + } + + private static void sendwebUrl(Context context) { + Intent intent = new Intent("qch_app_inside_website") + .setPackage("com.android.settings"); + intent.putExtra("websitelist", "Invalid"); + context.sendBroadcast(intent); + } + + //设置浏览器黑白名单 + synchronized public static void setBrowserBlackList(final Context context) { + NetInterfaceManager.getInstance() + .getBrowserListSettingObservable() + .observeOn(Schedulers.io()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + Logutils.e("setBrowserBlackList", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse browserDataBaseResponse) { + Logutils.e("setBrowserBlackList", "onNext: "); + String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); + if (browserDataBaseResponse.code == 200) { + BrowserData data = browserDataBaseResponse.data; + String white = data.getWhite(); + if (!TextUtils.isEmpty(white)) { + if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { + white += "," + homePage; + } + boolean DeselectBrowserArray = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); + Logutils.e("setBrowserBlackList", "setBrowserList white = " + white + ":" + DeselectBrowserArray); + } else { + Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); + } + String black = data.getBlack(); + if (!TextUtils.isEmpty(black)) { + boolean qch_webblack_url = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); + Logutils.e("setBrowserBlackList", "setBrowserList black = " + black + ":" + qch_webblack_url); + } else { + Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); + } + String white_ip = data.getWhite_ip(); + if (!TextUtils.isEmpty(white_ip)) { + SPUtils.put(context, "white_ip", white_ip); + } else { + SPUtils.put(context, "white_ip", " "); + } + String black_ip = data.getBlack_ip(); + if (!TextUtils.isEmpty(black_ip)) { + SPUtils.put(context, "black_ip", black_ip); + } else { + SPUtils.put(context, "black_ip", " "); + } + } else { + Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); + Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); + SPUtils.put(context, "white_ip", " "); + SPUtils.put(context, "black_ip", " "); + } + } + + @Override + public void onError(Throwable e) { + Logutils.e("setBrowserBlackList", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("setBrowserBlackList", "onComplete: "); + new URLUtils(context).setBrowserWhiteList(); + new URLUtils(context).setBrowserBlackList(); + } + }); + } + + public interface BookmarksCallback { + void onSubscribe(); + + void onNext(); + + void onError(Throwable e); + + void onComplete(); + } + + /** + * @param context + * @param callback + */ + @SuppressLint("NewApi") + synchronized public static void getHomePageBookmarks(Context context, BookmarksCallback callback) { + NetInterfaceManager.getInstance() + .getBrowserBookmarksObservable() + .observeOn(Schedulers.io()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + if (callback != null) { + callback.onSubscribe(); + } + Logutils.e("getHomePageBookmarks", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse browserBookmarksBaseResponse) { + if (callback != null) { + callback.onNext(); + } + Logutils.e("getHomePageBookmarks", "onNext: "); + if (browserBookmarksBaseResponse.code == 200) { + //主页不包含白名单添加进去 + String homepagURL = browserBookmarksBaseResponse.data.getHomepage(); + Logutils.e("getHomePageBookmarks ", "homepagURL: " + homepagURL); + String oldHome = Settings.System.getString(context.getContentResolver(), "homepagURL"); + Logutils.e("getHomePageBookmarks", "oldHome: " + oldHome); + //数据和之前不一样的时候清除缓存 + if (!TextUtils.isEmpty(oldHome) && !oldHome.equalsIgnoreCase(homepagURL)) { + try { + new CacheUtils().cleanApplicationUserData(context, "com.android.browser"); + } catch (Exception e) { + e.printStackTrace(); + Logutils.e(TAG, "setHomepagtag: " + e.getMessage()); + } + } + boolean home = Settings.System.putString(context.getContentResolver(), "homepagURL", homepagURL); + Logutils.e("getHomePageBookmarks", "onNext: homepagURL: save homepagURL = " + home); + String whitelist = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray"); + Logutils.e("getHomePageBookmarks ", "whitelist: " + whitelist); + +// if (!TextUtils.isEmpty(whitelist.trim())) { +// HashSet whiteLists = new HashSet<>(Arrays.asList(whitelist.trim().split(","))); +// whiteLists.add(homepagURL); +// String whiteString = String.join(",", whiteLists); +// boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", whiteString); +// Logutils.e("getHomePageBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white); +// } else { +// Logutils.e("getHomePageBookmarks", "onNext: whitelist is NULL"); +// boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homepagURL); +// Logutils.e("getHomePageBookmarks", "onNext: homepagURL: homepagURL = " + homepagURL + "write: " + white); +// } + + //书签 + String labelpage = browserBookmarksBaseResponse.data.getLabelpage(); + Intent websiteBookMark = new Intent("qch_app_brower_website"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + websiteBookMark.setPackage("com.android.settings") + .setPackage("com.android.browser"); + } + if (!TextUtils.isEmpty(labelpage)) { + HashSet labels = new HashSet<>(Arrays.asList(labelpage.split(","))); +// List urlList = new ArrayList<>(); +// for (String urls : labels) { +// urlList.add(JGYUtils.getPrefixHttpsURL(urls)); +// } + String join = String.join(",", labels); + Logutils.e("getHomePageBookmarks", "onNext: getHomePageBookmarks: " + join); + websiteBookMark.putExtra("websiteBookMark", join); + } else { + websiteBookMark.putExtra("websiteBookMark", "Invalid"); + } + context.sendBroadcast(websiteBookMark); + context.sendBroadcast(websiteBookMark); + context.sendBroadcast(websiteBookMark); + + //主页 + Intent homepag = new Intent("qch_app_brower_homepage"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + homepag.setPackage("com.android.settings") + .setPackage("com.android.browser"); + } + if (!TextUtils.isEmpty(homepagURL)) { +// String newHomePage = JGYUtils.getPrefixHttpsURL(homepagURL); + Logutils.e("getHomePageBookmarks", "onNext: newHomePage: " + homepagURL); + homepag.putExtra("homepage", homepagURL); + } else { + homepag.putExtra("homepage", "Invalid"); + } + context.sendBroadcast(homepag); + context.sendBroadcast(homepag); + context.sendBroadcast(homepag); + } else { + Intent intent1 = new Intent("qch_app_brower_homepage"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + intent1.setPackage("com.android.settings") + .setPackage("com.android.browser"); + } + intent1.putExtra("homepage", "Invalid"); + context.sendBroadcast(intent1); + + Settings.System.putString(context.getContentResolver(), "homepagURL", " "); + Intent intent2 = new Intent("qch_app_brower_website"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + intent2.setPackage("com.android.settings") + .setPackage("com.android.browser"); + } + intent2.putExtra("websiteBookMark", "Invalid"); + context.sendBroadcast(intent2); + } + } + + @Override + public void onError(@NonNull Throwable e) { + if (callback != null) { + callback.onError(e); + } + Logutils.e("getHomePageBookmarks", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + if (callback != null) { + callback.onComplete(); + } + Logutils.e("getHomePageBookmarks", "onComplete: "); + setBrowserBlackList(context); + } + }); + } + + public static void setHideDesktopIcon(final Context context) { + NetInterfaceManager.getInstance() + .getDesktopIconObservable() + .observeOn(Schedulers.io()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e(TAG + ":" + "getDesktopIcon", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse response) { + Logutils.e(TAG + ":" + "getDesktopIcon", "onNext: "); + ApkUtils.showAllAPP(context); + if (response.code == OK) { + String data = response.data.toString(); + Logutils.e(TAG + ":" + "getDesktopIcon", "data: " + data); + if (!TextUtils.isEmpty(data)) { + List newList = Arrays.asList(data.split(","));//新的list + PackageManager pm = context.getPackageManager(); + for (String pack : newList) { + try { + // TODO: 2021/5/24 需要后端替换包名,暂时解决方案 + try { + if ("com.mediatek.camera".equals(pack)) { + pm.setApplicationEnabledSetting("com.android.camera2", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); + } + if ("com.android.mms".equals(pack)) { + pm.setApplicationEnabledSetting("com.android.messaging", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); + } + } catch (Exception ex) { + Logutils.e(TAG + ":" + "getDesktopIcon", "Exception: ex: " + ex.getMessage()); + } + pm.setApplicationEnabledSetting(pack, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); + Logutils.e(TAG + ":" + "getDesktopIcon", pack); + } catch (Exception e) { + Logutils.e(TAG + ":" + "getDesktopIcon", "Exception: " + e.getMessage()); + } + } + } + } else { + Logutils.e(TAG + ":" + "getDesktopIcon", "onNext: " + response.toString()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e(TAG + ":" + "getDesktopIcon", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e(TAG + ":" + "getDesktopIcon", "onComplete: "); + } + }); + } + + + @SuppressLint("NewApi") + synchronized public static void updateDeviceInfo(Context context) { + String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-")); + if ("-".equals(address)) { + address = (String) SPUtils.get(context, "AmapError", "-"); + } + String longitude = String.valueOf(SPUtils.get(context, "longitude", "0")); + String latitude = String.valueOf(SPUtils.get(context, "latitude", "0")); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("address", address); + jsonObject.put("longitude", longitude); + jsonObject.put("latitude", latitude); + String add = jsonObject.toJSONString(); + UpdateDeviceInfoApi updateDeviceInfo = NetInterfaceManager.getInstance().getUpdateDeviceInfo(); + updateDeviceInfo.updateDeviceInfo( + Utils.getSerial(), + NetInterfaceManager.HTTP_KEY, + Utils.getMachine(context), + Utils.getHardware(context), + add + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(ResponseBody responseBody) { + try { + Logutils.e("updateDeviceInfo", "上传的结果" + responseBody.string()); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void onError(Throwable e) { + Logutils.e("updateDeviceInfo", e.getMessage()); + } + + @Override + public void onComplete() { + + } + }); + ApkUtils.getAppInfo(context); + } + + public static void getSnTimeControl(final Context context) { + SnTimeControlApi snTimeControl = NetInterfaceManager.getInstance().getSnTimeControlApi(); + snTimeControl.getSnTimeControl(Utils.getSerial()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + Logutils.e(TAG, "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse response) { + int code = response.code; + if (code == 200) { + JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data); + String start_time = jsonObject.getString("start_time"); + String end_time = jsonObject.getString("end_time"); + TimeUtils.ContralTime c = TimeUtils.String2ContralTime(context, start_time + "-" + end_time); + if (null != c) { + Logutils.e("getTimeControl", "200: " + c.toString()); + } + } else { + TimeUtils.setEmpty(context); + TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context); + if (null != c) { + Logutils.e("getTimeControl", c.toString()); + } + } + } + + @Override + public void onError(Throwable e) { + Logutils.e("getSnTimeControl", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Intent intent = new Intent(); + intent.setAction(MainService.TimeChangedReceiver.ACTION_UPDATE); + context.sendBroadcast(intent); + } + }); + } + + public static void getTopAppControl(final Context context) { + TopAppControlApi topAppControl = NetInterfaceManager.getInstance().getTopAppControlApi(); + topAppControl.getSnAppControl(Utils.getSerial()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(BaseResponse response) { + if (response.code == 200) { + JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data); + String app_package = jsonObject.getString("app_package"); + SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, app_package); + ForegroundAppUtil.setTopAppClass(context, app_package); + ForegroundAppUtil.openTopApp(context); + } else { + SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, ""); + ForegroundAppUtil.setTopAppClass(context, ""); + } + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + + public static void getAppLimit(Context context) { + NetInterfaceManager.getInstance() + .getAppLimitObservable() + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e("getAppLimit", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull ResponseBody responseBody) { + try { + String bodyString = responseBody.string(); + Logutils.e("getAppLimit", "onNext: " + bodyString); + JsonObject jsonObject = JsonParser.parseString(bodyString).getAsJsonObject(); + int code = jsonObject.get("code").getAsInt(); + if (code == 200) { + String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString(); + //开机图标 只记录后台传的包名 + boolean write = Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); + Logutils.e(TAG, "onNext: only_jgy_shortcut_list: " + write); + JGYUtils.getInstance().writeAppPackageList(context, data); + JGYUtils.getInstance().deleteOtherApp(); + } else { + Logutils.e("getAppLimit", "onNext: " + bodyString); + } + } catch (IOException e) { + e.printStackTrace(); + Logutils.e("getAppLimit", "onNext: IOException: " + e.getMessage()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e("getAppLimit", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("getAppLimit", "onComplete: "); + getAllAppList(context); + } + }); + } + + + public static void getAllAppList(Context context) { + NetInterfaceManager.getInstance().GetAllAppApi() + .getAllAppList(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>>() { + @Override + public void onSubscribe(Disposable d) { + Logutils.e("getAllAppList", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse> listBaseResponse) { + Logutils.e("getAllAppList", "onNext: " + JSONObject.toJSONString(listBaseResponse)); + int code = listBaseResponse.code; + if (code == 200) { + List appListInfos = listBaseResponse.data; + getAppAutoStartUpdateAndNet(appListInfos); + } else { + Logutils.e("getAllAppList", "onNext: " + "no data"); + Logutils.e("getAllAppList", "onNext: " + listBaseResponse.data); + } + } + + @Override + public void onError(Throwable e) { + Logutils.e("getAllAppList", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("getAllAppList", "onComplete: "); + getForceDownload(context); + } + }); + } + + public static void getForceDownload(Context context) { + NetInterfaceManager.getInstance() + .getForceDownloadObservable() + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e(TAG + ":" + "getForceDownload", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull ForceDownloadBean forceDownloadBean) { + Logutils.e(TAG + ":" + "getForceDownload", "onNext: "); + switch (forceDownloadBean.getCode()) { + case 200: + Logutils.e(TAG + ":" + "getForceDownload", "isDownloading=" + BaseApplication.getInstance().isDownloading()); + BaseApplication.getInstance().checkIsDownloading(); + if (!BaseApplication.getInstance().isDownloading()) { + Type type = new TypeToken>() { + }.getType(); + Gson gson = new Gson(); + List forceDownloadData = gson.fromJson(gson.toJson(forceDownloadBean.getData()), type); + JGYUtils.getInstance().forceDownload(forceDownloadData); + } else { + Aria.download(this).resumeAllTask(); + } + break; + case -200: + boolean qch_force_app = Settings.System.putString(context.getContentResolver(), "qch_force_app", "invalid"); + Logutils.e(TAG + ":" + "getForceDownload", "qch_force_app:" + qch_force_app); + break; + default: + Logutils.e(TAG + ":" + "getForceDownload", forceDownloadBean.getMsg()); + break; + } + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e(TAG + ":" + "getForceDownload", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e(TAG + ":" + "getForceDownload", "onComplete: "); + } + }); + } + + public static void getAppAutoStartUpdateAndNet(List appListInfos) { + NetInterfaceManager.getInstance() + .getAppAutoStartUpdateAndNetObservable() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e("getAppAutoStartUpdateAndNet", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) { + Logutils.e("getAppAutoStartUpdateAndNet", "onNext: " + netAndLaunchBean.toString()); + if (netAndLaunchBean.getCode() == 200) { + JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean, appListInfos); + } else { + Logutils.e("getAppAutoStartUpdateAndNet", "onNext: " + netAndLaunchBean.toString()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e("getAppAutoStartUpdateAndNet", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("getAppAutoStartUpdateAndNet", "onComplete: "); + } + }); + } + + synchronized public static void getNetAndLaunchSetting(final Context context) { + NetInterfaceManager.getInstance() + .getAppAutoStartUpdateAndNetObservable() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Logutils.e("getNetAndLaunchSetting", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) { + Logutils.e("getNetAndLaunchSetting", "onNext: " + netAndLaunchBean.toString()); + if (netAndLaunchBean.getCode() == 200) { + JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean); + } else { + Logutils.e("getNetAndLaunchSetting", "onNext: " + netAndLaunchBean.toString()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Logutils.e("getNetAndLaunchSetting", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Logutils.e("getNetAndLaunchSetting", "onComplete: "); + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/network/URLAddress.java b/app/src/main/java/com/aoleyun/sn/network/URLAddress.java similarity index 62% rename from app/src/main/java/com/mjsheng/myappstore/network/URLAddress.java rename to app/src/main/java/com/aoleyun/sn/network/URLAddress.java index 4fe03bd..5ef05df 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/URLAddress.java +++ b/app/src/main/java/com/aoleyun/sn/network/URLAddress.java @@ -1,8 +1,6 @@ -package com.mjsheng.myappstore.network; +package com.aoleyun.sn.network; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.BuildConfig; import rxhttp.wrapper.annotation.DefaultDomain; @@ -16,41 +14,41 @@ public class URLAddress { // 下载接口 根据包名匹配 请求后更新下载次数 - public static final String HTTP_TAG_DOWNLOAD_URL = HTTP_TAG_HEAD_NEW + "count/index"; + public static final String SEND_DOWNLOAD_TIMES = "count/index"; //app下载完成发送下载次数 - public static final String SEND_DOWNLOAD_FILE_INFO = HTTP_TAG_HEAD_NEW + "app/downloadApp"; + public static final String SEND_DOWNLOAD_FILE_INFO = "app/downloadApp"; //获取设备锁定状态 public static final String GET_DEVICES_LOCKED = "lock/index"; //发送设备信息 public static final String SEND_DEVICES = "Mac/getMac"; //发送app使用情况 - public static final String SEND_USEDTIME = HTTP_TAG_HEAD_NEW + "Applog/getAppLog"; + public static final String GET_APP_LOG = "Applog/getAppLog"; //更新接口 - public static final String CHECK_UPDATE = HTTP_TAG_HEAD_NEW + "Silent/silent"; + public static final String CHECK_UPDATE = "Silent/silent"; //获取设备标签 - public static final String GET_DEVICES_TAGS = HTTP_TAG_HEAD_NEW + "Sn/getSnTag"; + public static final String GET_DEVICES_TAGS = "Sn/getSnTag"; //删除Aliases - public static final String DELETE_GEDEVICE_ALIAS = HTTP_TAG_HEAD_NEW + "Sn/deleteAliases"; + public static final String DELETE_GEDEVICE_ALIAS = "Sn/deleteAliases"; //浏览器书签主页设置 - public static final String SET_HOMEPAG_TAG = HTTP_TAG_HEAD_NEW + "Label"; + public static final String SET_HOMEPAG_TAG = "Label"; //app内部网页管控 public static final String SET_APPINSIDEWEB = "Appground"; //浏览器黑白名单地址 - public static final String SET_BROWSER_LIST = HTTP_TAG_HEAD_NEW + "browser"; + public static final String SET_BROWSER_LIST = "browser"; //强制安装应用 public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index"; //应用白名单 public static final String SET_WHITE_PACKAGE_LIST = "firmware/index"; //获取隐藏桌面图标 - public static final String GET_HIDE_DESKTOPICON = HTTP_TAG_HEAD_NEW + "Icon"; + public static final String GET_HIDE_DESKTOPICON = "Icon"; //获取应用升级自启 - public final static String NET_AND_LAUNCH_API = HTTP_TAG_HEAD_NEW + "automatic/get"; + public final static String NET_AND_LAUNCH_API = "automatic/get"; //通过sn获取信息 public static final String GET_STUDENTS_INFO = "Sn/getStudent"; //上传截图 - public static final String SEND_SCREENSHOT = HTTP_TAG_HEAD_NEW + "Screenshot/addImg"; + public static final String SEND_SCREENSHOT = "Screenshot/addImg"; //上传我的设备 - //public static final String UPDATE_DEVICEINFO = HTTP_TAG_HEAD_NEW + "Mac/getInfo"; + //public static final String UPDATE_DEVICEINFO = "Mac/getInfo"; //获取霸屏状态 public final static String GET_LOCK_SCREEN_STATE = "Sn/getSnScreen"; //获取默认桌面升级 @@ -60,7 +58,7 @@ public class URLAddress { //获取顶部app管控 public final static String GET_TOP_APP_CONTROL = "Sn/getSnAppControl"; //获取测试app - public final static String GET_SN_APP_TEST = HTTP_TAG_HEAD_NEW + "Sn/getSnAppTest"; + public final static String GET_SN_APP_TEST = "Sn/getSnAppTest"; //开机动画 public final static String GET_LOGO_IMG = "Sn/getLogoImg"; //开发人员选项开关 @@ -75,7 +73,7 @@ public class URLAddress { public final static String GET_DEFAULT_APP = "app/getDefaultApp"; //删除alias - public static final String DELETE_JPUSH_ALIAS = "https://device.jpush.cn/v3/aliases/" ; + 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/" ; + public static final String DELETE_JPUSH_TAG = "https://device.jpush.cn/v3/tags/"; } diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/AppLimitApi.java b/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java similarity index 67% rename from app/src/main/java/com/mjsheng/myappstore/network/api/AppLimitApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java index bb57846..9e99fe8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/AppLimitApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java @@ -1,6 +1,6 @@ -package com.mjsheng.myappstore.network.api; +package com.aoleyun.sn.network.api; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import okhttp3.ResponseBody; @@ -8,13 +8,6 @@ import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - public interface AppLimitApi { @FormUrlEncoded @POST(URLAddress.SET_WHITE_PACKAGE_LIST) diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/DeselectIDApi.java b/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java similarity index 73% rename from app/src/main/java/com/mjsheng/myappstore/network/api/DeselectIDApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java index 1ae69cf..c4bd34e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/DeselectIDApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.network.api; +package com.aoleyun.sn.network.api; import io.reactivex.Observable; import okhttp3.ResponseBody; @@ -6,13 +6,6 @@ import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - public interface DeselectIDApi { @FormUrlEncoded @POST("application/index") diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/ForceDownloadApi.java b/app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java similarity index 60% rename from app/src/main/java/com/mjsheng/myappstore/network/api/ForceDownloadApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java index c49c347..1fba6a1 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/ForceDownloadApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java @@ -1,20 +1,13 @@ -package com.mjsheng.myappstore.network.api; +package com.aoleyun.sn.network.api; -import com.mjsheng.myappstore.bean.ForceDownloadBean; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.ForceDownloadBean; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - public interface ForceDownloadApi { @FormUrlEncoded @POST(URLAddress.GET_FORCE_INSTALL_LIST) diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/NetAndLaunchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java similarity index 59% rename from app/src/main/java/com/mjsheng/myappstore/network/api/NetAndLaunchApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java index 9f02b0e..0dd6cd8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/NetAndLaunchApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java @@ -1,22 +1,16 @@ -package com.mjsheng.myappstore.network.api; +package com.aoleyun.sn.network.api; -import com.mjsheng.myappstore.bean.NetAndLaunchBean; +import com.aoleyun.sn.bean.NetAndLaunchBean; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - public interface NetAndLaunchApi { @FormUrlEncoded - @POST("automatic/get") + @POST(URLAddress.NET_AND_LAUNCH_API) Observable getNetAndLaunchApi( @Field("key") String key, @Field("sn") String sn diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/SystemSettingApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java similarity index 73% rename from app/src/main/java/com/mjsheng/myappstore/network/api/SystemSettingApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java index 029d14f..ef86092 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/SystemSettingApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.network.api; +package com.aoleyun.sn.network.api; import io.reactivex.Observable; import okhttp3.ResponseBody; @@ -6,12 +6,6 @@ import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ public interface SystemSettingApi { @FormUrlEncoded diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/UploadAppInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java similarity index 75% rename from app/src/main/java/com/mjsheng/myappstore/network/api/UploadAppInfoApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java index 65149f1..f4158b1 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/UploadAppInfoApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.network.api; +package com.aoleyun.sn.network.api; import io.reactivex.Observable; import okhttp3.ResponseBody; @@ -6,13 +6,6 @@ import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - public interface UploadAppInfoApi { @FormUrlEncoded @POST("log/index") diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/AppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java similarity index 66% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/AppinsideWebApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java index 485e0f0..f3af509 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/AppinsideWebApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java @@ -1,9 +1,9 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.Appground; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.Appground; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import java.util.List; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/BrowserBookmarksApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java similarity index 65% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/BrowserBookmarksApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java index 6477ef8..9e46c69 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/BrowserBookmarksApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.BrowserBookmarks; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.BrowserBookmarks; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/BrowserListApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java similarity index 64% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/BrowserListApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java index 7422995..de57ed2 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/BrowserListApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.BrowserData; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.BrowserData; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckTestUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java similarity index 59% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckTestUpdateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java index 2a80857..b901ca1 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckTestUpdateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.ForceDownloadData; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.ForceDownloadData; +import com.aoleyun.sn.network.URLAddress; import java.util.List; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java similarity index 71% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java index 4d5719e..15a860d 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CustomROMApp.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java similarity index 64% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CustomROMApp.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java index 12a8ea5..9036df2 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CustomROMApp.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java @@ -1,14 +1,14 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -public interface CustomROMApp { +public interface CustomROMAppApi { @FormUrlEncoded @POST(URLAddress.GET_ROM_APP) Observable getROMApp( diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DefaultAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java similarity index 56% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DefaultAppApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java index 7edbb9f..906a18a 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DefaultAppApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.DefaultApp; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.DefaultApp; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DesktopIconApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java similarity index 70% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DesktopIconApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java index 6da936b..f130659 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DesktopIconApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DevicesLockedStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java similarity index 68% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DevicesLockedStateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java index af09dee..b5fe781 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/DevicesLockedStateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetAllApp.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java similarity index 60% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetAllApp.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java index 720719e..44a1126 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetAllApp.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.AppListInfo; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.AppListInfo; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import java.util.List; @@ -11,7 +11,7 @@ import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -public interface GetAllApp { +public interface GetAllAppApi { @FormUrlEncoded @POST(URLAddress.GET_ALL_APP) Observable>> getAllAppList( diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java new file mode 100644 index 0000000..ab01b46 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java @@ -0,0 +1,19 @@ +package com.aoleyun.sn.network.api.newapi; + +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; + +import io.reactivex.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface GetAppLogApi { + @FormUrlEncoded + @POST(URLAddress.GET_APP_LOG) + Observable getAppLog( + @Field("sn") String sn, + @Field("random") String random, + @Field("data") String data + ); +} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetBatchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java similarity index 86% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetBatchApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java index d7a7f0e..03cf47e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetBatchApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; import io.reactivex.Observable; import okhttp3.ResponseBody; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetDesktopApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java similarity index 72% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetDesktopApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java index 44f0cd8..294c902 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetDesktopApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java @@ -1,6 +1,6 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import okhttp3.ResponseBody; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetDeveloper.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java similarity index 54% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetDeveloper.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java index 615c4d8..90553ea 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetDeveloper.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java @@ -1,13 +1,13 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; import retrofit2.http.Query; -public interface GetDeveloper { +public interface GetDeveloperApi { @GET(URLAddress.GET_DEVELOPER) Observable getDeveloperState( @Query("sn") String sn diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetEBagCode.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java similarity index 63% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetEBagCode.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java index 1ea8527..ed22b79 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetEBagCode.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java @@ -1,14 +1,14 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; -public interface GetEBagCode { +public interface GetEBagCodeApi { @FormUrlEncoded @POST(URLAddress.GET_EBAG_CODE) Observable getEBagCode( diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/JpushTagsApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java similarity index 54% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/JpushTagsApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java index 6ca5a72..1b2ffb8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/JpushTagsApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java @@ -1,13 +1,13 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; import retrofit2.http.Query; -public interface JpushTagsApi { +public interface GetJpushTagsApi { @GET(URLAddress.GET_DEVICES_TAGS) Observable getJpushTags( @Query("sn") String sn diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java similarity index 89% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetLockStateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java index c88704f..7671696 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetLockStateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; import io.reactivex.Observable; import okhttp3.ResponseBody; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/LogoImgApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java similarity index 56% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/LogoImgApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java index bc0b4fd..341bdb7 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/LogoImgApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.LogoImg; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.LogoImg; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/MACAddressApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java similarity index 80% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/MACAddressApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java index 3d0547d..feee458 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/MACAddressApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/NewAppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java similarity index 70% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/NewAppinsideWebApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java index 51350f2..6e62a5e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/NewAppinsideWebApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/ScreenLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java similarity index 63% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/ScreenLockStateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java index 11d3589..0af2a27 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/ScreenLockStateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java new file mode 100644 index 0000000..897f288 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java @@ -0,0 +1,21 @@ +package com.aoleyun.sn.network.api.newapi; + +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; + +import io.reactivex.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface SendDownloadInfoApi { + @FormUrlEncoded + @POST(URLAddress.SEND_DOWNLOAD_FILE_INFO) + Observable sendDownloadTimes( + @Field("key") String key, + @Field("sn") String sn, + @Field("userId") int userId, + @Field("package_name") String package_name, + @Field("app_size") long app_size + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java new file mode 100644 index 0000000..a7964f0 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java @@ -0,0 +1,20 @@ +package com.aoleyun.sn.network.api.newapi; + +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; + +import io.reactivex.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface SendDownloadTimesApi { + @FormUrlEncoded + @POST(URLAddress.SEND_DOWNLOAD_TIMES) + Observable sendDownloadTimes( + @Field("key") String key, + @Field("sn") String sn, + @Field("package") String packages, + @Field("app_id") String app_id + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java new file mode 100644 index 0000000..0ddeffb --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java @@ -0,0 +1,19 @@ +package com.aoleyun.sn.network.api.newapi; + +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.bean.BaseResponse; + +import io.reactivex.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface SendScreenStatusApi { + @FormUrlEncoded + @POST(BuildConfig.SCREEN_URL) + Observable sendScreenStatus( + @Field("key") String key, + @Field("sn") String sn, + @Field("is_online") int is_online + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java new file mode 100644 index 0000000..eeb26fd --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java @@ -0,0 +1,21 @@ +package com.aoleyun.sn.network.api.newapi; + +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; + +import io.reactivex.Observable; +import okhttp3.MultipartBody; +import retrofit2.http.Field; +import retrofit2.http.Multipart; +import retrofit2.http.POST; +import retrofit2.http.Part; + +public interface SendScreenshotApi { + @Multipart + @POST(URLAddress.SEND_SCREENSHOT) + Observable sendScreenshot( + @Field("sn") String sn, + @Field("createtime") long createtime, + @Part MultipartBody.Part body + ); +} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/SnTimeControl.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java similarity index 54% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/SnTimeControl.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java index a51106d..b296300 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/SnTimeControl.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java @@ -1,13 +1,13 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; import retrofit2.http.Query; -public interface SnTimeControl { +public interface SnTimeControlApi { @GET(URLAddress.GET_SN_TIME_CONTROL) Observable getSnTimeControl( @Query("sn") String sn diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/StudentsInfosApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java similarity index 62% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/StudentsInfosApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java index ddd0c41..2b7eed4 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/StudentsInfosApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.StudentsInfo; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.StudentsInfo; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.Field; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/TopAppControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java similarity index 63% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/TopAppControlApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java index 6bca241..fb72919 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/TopAppControlApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java @@ -1,7 +1,7 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.network.URLAddress; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.URLAddress; import io.reactivex.Observable; import retrofit2.http.GET; diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/UpdateDeviceInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java similarity index 90% rename from app/src/main/java/com/mjsheng/myappstore/network/api/newapi/UpdateDeviceInfoApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java index 9543f03..df4ea8e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/UpdateDeviceInfoApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.network.api.newapi; +package com.aoleyun.sn.network.api.newapi; import io.reactivex.Observable; import okhttp3.ResponseBody; diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java b/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java similarity index 91% rename from app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java rename to app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java index fd75034..8b39412 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.receiver; +package com.aoleyun.sn.receiver; import android.content.BroadcastReceiver; import android.content.Context; @@ -6,22 +6,21 @@ import android.content.Intent; import android.os.SystemClock; import android.util.Log; -import com.mjsheng.myappstore.service.MainService; -import com.mjsheng.myappstore.utils.BootManager; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; +import com.aoleyun.sn.service.MainService; +import com.aoleyun.sn.utils.BootManager; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; import java.util.concurrent.TimeUnit; import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; public class BootReceiver extends BroadcastReceiver { private static String TAG = BootReceiver.class.getSimpleName() + ":myappstore"; - public static final String BOOT_COMPLETED = "com.jiaoguanyi.appstore.intent.action.BOOT_COMPLETED"; + public static final String BOOT_COMPLETED = "com.aoleyun.sn.intent.action.BOOT_COMPLETED"; static { getLockedState(); diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java b/app/src/main/java/com/aoleyun/sn/receiver/MyJPushReceiver.java similarity index 71% rename from app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java rename to app/src/main/java/com/aoleyun/sn/receiver/MyJPushReceiver.java index 4aeca18..63b2429 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/receiver/MyJPushReceiver.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.receiver; +package com.aoleyun.sn.receiver; import android.annotation.SuppressLint; import android.content.BroadcastReceiver; @@ -16,36 +16,36 @@ import android.os.Bundle; import android.os.Handler; import android.provider.Settings; import android.text.TextUtils; +import android.util.Log; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationClient; import com.amap.api.location.AMapLocationListener; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.bean.BaseResponse; import com.arialyy.aria.core.Aria; import com.blankj.utilcode.util.PathUtils; -import com.mjsheng.myappstore.R; -import com.mjsheng.myappstore.utils.CacheUtils; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.lzy.okgo.OkGo; -import com.lzy.okgo.callback.StringCallback; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.comm.CommonDatas; -import com.mjsheng.myappstore.manager.AmapManager; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.network.HTTPInterface; -import com.mjsheng.myappstore.network.URLAddress; -import com.mjsheng.myappstore.service.MainService; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.CmdUtil; -import com.mjsheng.myappstore.utils.ForegroundAppUtil; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.MySQLData; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.SaveListUtils; -import com.mjsheng.myappstore.utils.ServiceAliveUtils; -import com.mjsheng.myappstore.utils.ToastUtil; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.R; +import com.aoleyun.sn.utils.CacheUtils; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.comm.CommonDatas; +import com.aoleyun.sn.manager.AmapManager; +import com.aoleyun.sn.manager.NetInterfaceManager; +import com.aoleyun.sn.network.HTTPInterface; +import com.aoleyun.sn.service.MainService; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.CmdUtil; +import com.aoleyun.sn.utils.ForegroundAppUtil; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.MySQLData; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.SaveListUtils; +import com.aoleyun.sn.utils.ServiceAliveUtils; +import com.aoleyun.sn.utils.ToastUtil; +import com.aoleyun.sn.utils.Utils; import java.io.File; import java.util.Arrays; @@ -59,8 +59,9 @@ import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; -import okhttp3.Call; -import okhttp3.Response; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; import okhttp3.ResponseBody; public class MyJPushReceiver extends BroadcastReceiver { @@ -189,8 +190,6 @@ public class MyJPushReceiver extends BroadcastReceiver { String extras = bundle.getString(JPushInterface.EXTRA_EXTRA); String package_name = bundle.getString("package_name"); Logutils.e(TAG, "message::" + message + "--type::" + type + "--title::" + title + "--extras::" + extras); -// ToastUtils.showShort("message::" + message + "--type::" + type + "--title::" + title + "--extras::" + extras + "---package_name:" + package_name); -// Toast.makeText(context, "message::" + message + "--type::" + type + "--title::" + title + "--extras::" + extras + "---package_name:" + package_name, Toast.LENGTH_SHORT).show(); switch (message) { default: break; @@ -210,9 +209,7 @@ public class MyJPushReceiver extends BroadcastReceiver { ToastUtil.betaShow("收到管控:系统设置"); if (!TextUtils.isEmpty(extras)) { JGYUtils.getInstance().SettingSysData(extras); -// Logutils.e(TAG, "title--------" + extras); } - // getSystemSetting(); break; case MSG_BROWSER: ToastUtil.betaShow("收到管控:浏览器网址管控"); @@ -236,7 +233,6 @@ public class MyJPushReceiver extends BroadcastReceiver { break; case MSG_INSTALL: ToastUtil.betaShow("收到管控:应用安装"); - // mContext.sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); HTTPInterface.getAppLimit(context); doDownloadAndInstall(extras); HTTPInterface.setHideDesktopIcon(mContext); @@ -499,11 +495,6 @@ public class MyJPushReceiver extends BroadcastReceiver { if (packageInfo == null) { Logutils.e(TAG, "doDownloadAndInstall: " + app_package + "未安装"); if (!SaveListUtils.isDownLoading(app_url)) { -// Aria.download(this) -// .load(app_url) -// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(s) + ".apk", true) -// .setExtendField(packageObj.toJSONString()) -// .create(); Logutils.e(TAG, "doDownloadAndInstall: " + app_package + "开始下载"); Utils.ariaDownload(mContext, app_url, packageObj); } @@ -516,13 +507,7 @@ public class MyJPushReceiver extends BroadcastReceiver { } if (app_version_code > appVersionCode) { if (!SaveListUtils.isDownLoading(app_url)) { -// Aria.download(this) -// .load(app_url) -// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(s) + ".apk", true) -// .setExtendField(packageObj.toJSONString()) -// .create(); Utils.ariaDownload(mContext, app_url, packageObj); - } } else { Logutils.e(TAG, "doDownloadAndInstall: " + app_package + "已安装最新版"); @@ -530,150 +515,6 @@ public class MyJPushReceiver extends BroadcastReceiver { } } -// private void getAppLimitApi() { -// NetInterfaceManager.getAppLimitApi() -// .getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(new Observer() { -// @Override -// public void onComplete() { -// } -// -// @Override -// public void onError(Throwable param1Throwable) { -// Logutils.e(TAG, "getAppLimitApi=onError:"); -// } -// -// @Override -// public void onNext(ResponseBody param1ResponseBody) { -// try { -// String str2 = param1ResponseBody.string(); -// Logutils.e(TAG, str2); -// JSONObject jSONObject = JSON.parseObject(str2); -// JSONObject data = jSONObject.getJSONObject("data"); -// String result = ""; -// if (data != null) { -// result = data.getString("result"); -// } -// JGYUtils.getInstance().writeAppPackageList(mContext, result); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// -// } -// -// @Override -// public void onSubscribe(Disposable param1Disposable) { -// } -// }); -// } - -// private void getForceDownload() { -// ForceDownloadApi forceDownloadApi = Network.getForceDownloadApi(); -// forceDownloadApi.getForceDownloadApi(Configure.HTTP_KEY, Utils.getSerial()) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(new Observer() { -// @Override -// public void onSubscribe(Disposable d) { -// Logutils.e("getForceDownload", "forceDownloadApi---onSubscribe"); -// -// } -// -// @Override -// public void onNext(ForceDownloadBean forceDownloadBean) { -// switch (forceDownloadBean.getCode()) { -// case 200: -// Logutils.e("getForceDownload", "isDownloading=" + MyApplication.getInstance().isDownloading()); -// MyApplication.getInstance().checkIsDownloading(); -// if (!MyApplication.getInstance().isDownloading()) { -// forceDownload(forceDownloadBean.getData()); -// } else { -// } -// case -200: -// boolean qch_force_app = Settings.System.putString(MainActivity.this.getContentResolver(), "qch_force_app", "invalid"); -// Logutils.e("fht", "qch_force_app:" + qch_force_app); -// break; -// default: -// Logutils.e("getForceDownload is error:" + forceDownloadBean.getMsg()); -// } -// } -// -// @Override -// public void onError(Throwable e) { -// Logutils.e("getForceDownload", "forceDownloadApi=onError:"); -// } -// -// @Override -// public void onComplete() { -// Logutils.e("getForceDownload", "forceDownloadApi---onComplete"); -// } -// }); -// } -// private void forceDownload(List data) { -// if (data == null || data.size() <= 0) { -// return; -// } -// List list = new ArrayList<>(); -// for (int i = 0; i < data.size(); i++) { -// ForceDownloadData forceDownloadData = data.get(i); -// String app_name = forceDownloadData.getApp_name(); -// String app_package = forceDownloadData.getApp_package(); -// String app_url = forceDownloadData.getApp_url(); -// JSONObject jsonObject = new JSONObject(); -// jsonObject.put("app_name", app_name); -// jsonObject.put("app_package", app_package); -// int app_version_code = forceDownloadData.getApp_version_code(); -// Logutils.e("fht ", "packageName=" + app_package + ",URL= " + app_url + ",app_version_code=" + app_version_code); -// if (data.get(i).getApp_package().equals("com.jiaoguanyi.appstore")) { -// continue;//为自身的跳过下载 -// } -// if (!list.contains(app_package)) { -// list.add(app_package); -// } -// PackageManager pm = getPackageManager(); -// PackageInfo packageInfo = null; -// try { -// packageInfo = pm.getPackageInfo(app_package, 0); -// } catch (PackageManager.NameNotFoundException e) { -// e.printStackTrace(); -// Logutils.e("fht", "forceDownload=" + e.getMessage()); -// } -// if (packageInfo != null) { -// long appVersionCode; -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { -// appVersionCode = packageInfo.getLongVersionCode(); -// } else { -// appVersionCode = packageInfo.versionCode; -// } -// if (app_version_code > appVersionCode) { -// Logutils.e("fht ", "download URL " + app_url); -//// Aria.download(this) -//// .load(app_url) //读取下载地址 -//// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true) -//// .setExtendField(jsonObject.toJSONString()) -//// .create(); //启动下载} -// Utils.ariaDownload(this, app_url, jsonObject); -// } -// } else { -// Logutils.e("fht ", "download URL " + app_url); -//// if (!SaveListUtils.isDownLoading(app_package)) { -//// Aria.download(this) -//// .load(app_url) //读取下载地址 -//// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true) -//// .setExtendField(jsonObject.toJSONString()) -//// .create(); //启动下载} -// Utils.ariaDownload(this, app_url, jsonObject); -// -//// SaveListUtils.addDownLoadList(app_package); -//// } -// } -// } -// SaveListUtils.setList(list); -// SaveListUtils.sendForceAPP(this); -// } - private int getBatteryLevel() { if (Build.VERSION.SDK_INT >= 21) { return ((BatteryManager) this.mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(4); @@ -684,46 +525,10 @@ public class MyJPushReceiver extends BroadcastReceiver { private void getDeselectBrowerID() { HTTPInterface.setBrowserBlackList(mContext);//浏览器网址管控 - -// Network.getDeselectBrowserIDApi().getDeselectBrowserIDApi("YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI=", Utils.getSerial()).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { -// public void onComplete() { -// Logutils.e(TAG, "getDeselectBrowerID---onComplete"); -// } -// -// public void onError(Throwable param1Throwable) { -// Logutils.e(TAG, "getDeselectBrowerID=onError:"); -// } -// -// public void onNext(ResponseBody param1ResponseBody) { -// try { -// String str1; -// String str2 = param1ResponseBody.string(); -// Logutils.e(TAG, "DeselectBrowserIDApi::" + str2); -// JSONObject jSONObject = new JSONObject(str2); -// switch (Integer.valueOf(jSONObject.optInt("code")).intValue()) { -// case 200: -// str1 = jSONObject.getJSONObject("data").optString("ids"); -// writeDeselectBrowserIDtoSystem(str1); -// return; -// } -// Logutils.e(TAG, "getDeselectBrowerID---code is -200"); -// return; -// } catch (Exception e) { -// Logutils.e(TAG, "getDeselectBrowerID---wroing----" + e.getMessage()); -// e.printStackTrace(); -// return; -// } -// } -// -// public void onSubscribe(Disposable param1Disposable) { -// Logutils.e(TAG, "getDeselectBrowerID---onSubscribe"); -// } -// }); } - private void getDeselectID() { - NetInterfaceManager.getDeselectIDApi() + NetInterfaceManager.getInstance().getDeselectIDApi() .getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) @@ -769,7 +574,7 @@ public class MyJPushReceiver extends BroadcastReceiver { private void setDisableSlideList(String s) { JSONObject jSONObject = JSON.parseObject(s); - Logutils.e("mymjsheng", "jSONObject::" + jSONObject.toString()); + Logutils.e("setDisableSlideList", "jSONObject::" + jSONObject.toString()); String strban = jSONObject.getString("ban"); String strnot = jSONObject.getString("not"); String qch_disable_slide = Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_disable_slide"); @@ -795,10 +600,6 @@ public class MyJPushReceiver extends BroadcastReceiver { HTTPInterface.getAppLimit(mContext); } - // args[1] = message::11--type::11--title::ok--extras::{"ban":"com.lizi.yuwen,com.iyuyan.jp2listensimple,com.netease.edu.study," + -// "cn.xuexi.android,com.tuixin.pospointsystem" -// ,"not":"com.duoduo.child.story,com.shanbay.words,com.jiongji.andriod.card,fm.jihua.kecheng,com.duia.duiaapp," + -// "com.handsgo.jiakao.android,com.chinessjunqi.nb,com.cktiku.gushiwenbibei,com.yangcong345.android.phone"} private void settingCamera(String s) { if (TextUtils.isEmpty(s)) { Intent intent = new Intent("qch_camera_forbid").setPackage("com.android.settings"); @@ -810,8 +611,8 @@ public class MyJPushReceiver extends BroadcastReceiver { JSONObject jSONObject = JSON.parseObject(s); String s1 = jSONObject.getString("ban"); // String str = jSONObject.optString("not"); - Logutils.e("mymjsheng", "ban::" + s1); -// Logutils.e("mymjsheng", "not::" + str); + Logutils.e("settingCamera", "ban::" + s1); +// Logutils.e("settingCamera", "not::" + str); if ("0".equals(s1)) { Intent intent2 = new Intent("qch_camera_forbid").setPackage("com.android.settings"); // intent2.putExtra("camera_package_name", s1); @@ -829,7 +630,7 @@ public class MyJPushReceiver extends BroadcastReceiver { // return; } JSONObject jSONObject = JSON.parseObject(s); - Logutils.e("mymjsheng", "jSONObject::" + jSONObject.toString()); + Logutils.e("settingOneNet", "jSONObject::" + jSONObject.toString()); String packages = jSONObject.getString("package"); String status = jSONObject.getString("status"); @@ -840,7 +641,7 @@ public class MyJPushReceiver extends BroadcastReceiver { Logutils.e(TAG, "settingNetControl extras is null"); } JSONObject jSONObject = JSON.parseObject(s); - Logutils.e("mymjsheng", "jSONObject::" + jSONObject.toString()); + Logutils.e("settingNetControl", "jSONObject::" + jSONObject.toString()); String disallow = jSONObject.getString("ban"); String allow = jSONObject.getString("not"); HashSet disallowApp = new HashSet<>(Arrays.asList(disallow.split(","))); @@ -866,36 +667,13 @@ public class MyJPushReceiver extends BroadcastReceiver { private void writeDeselectBrowserIDtoSystem(String s) { -// if (!TextUtils.isEmpty(s)) { boolean bool = Settings.System.putString(this.mContext.getContentResolver(), "DeselectBrowserArray", s); Logutils.e("SystemSetting", "DeselectBrowserArray---------" + s); Logutils.e("SystemSetting", "DeselectBrowserArray---------" + bool); -// return; -// } -// Logutils.e(TAG, "writeDeselectBrowserIDtoSystem is null:"); } private void setHomepagtag(String s) { - //设置主页和标签 -// HTTPInterface.setHomepagtag(mContext);//设置主页和标签 - HTTPInterface.getHomePageBookmarks(mContext, null); - // if (TextUtils.isEmpty(s)) { - // Logutils.e(TAG, "setHomepagtag extras is null"); - // - // return; - // } else { - // try { - // JSONObject jsonObject = JSON.parseObject(s); - // String packageweb = jsonObject.getString(""); - // ArrayList strings = new ArrayList<>(); - // Intent intent = new Intent("action"); - // intent.putStringArrayListExtra("package", strings); - // mContext.sendBroadcast(intent); - // } catch (Exception e) { - // ToastUtil.show("数据错误"); - // } - // } } private void setAPPinsideWebsite(String s) { @@ -906,51 +684,8 @@ public class MyJPushReceiver extends BroadcastReceiver { Logutils.e(TAG, "ononComplete: setAPPinsideWebsite"); } }); - //app内部网页管控 - - // if (TextUtils.isEmpty(s)) { - // Logutils.e(TAG, "setAPPinsideWebsite extras is null"); - // - // return; - // } else { - // try { - // JSONObject jSONObject = new JSONObject(s); - // String str = jSONObject.optString("package"); - // Intent intent = new Intent("qch_app_website"); - // intent.putExtra("package_name", str); - // mContext.sendBroadcast(intent); - // } catch (JSONException e) { - // e.printStackTrace(); - // } - // } } - //应用id管控 -// private void writeDeselectIDtoSystem(String s1, String result) { -// if (!TextUtils.isEmpty(s1) && !TextUtils.isEmpty(result)) { -// String appstore = "com.jiaoguanyi.appstore"; -// String store = "com.jiaoguanyi.store"; -// Logutils.e("writeDeselectIDtoSystem", result); -// if (!result.contains(appstore)) { -// result = result + "," + appstore; -// } -// if (!result.contains(store)) { -// result = result + "," + store; -// } -// String olddeselectViewArray = Settings.System.getString(this.mContext.getContentResolver(), "qch_app_forbid_id"); -// Logutils.e("SystemSetting", "olddeselectViewArray---------" + olddeselectViewArray); -// Settings.System.putString(this.mContext.getContentResolver(), "qch_app_forbid_id", result); -// Settings.System.putString(this.mContext.getContentResolver(), "DeselectViewArray", s1); -// Logutils.e("qch_app_forbid_id", "qch_app_forbid_id---------" + result); -// Logutils.e("SystemSetting", "deselectViewArray---------" + s1); -// return; -// } else { -// Logutils.e(TAG, "writeDeselectIDtoSystem is null:"); -// Settings.System.putString(this.mContext.getContentResolver(), "DeselectViewArray", "Invalid"); -// } -// } - - /** * 锁定设备 * @@ -964,7 +699,7 @@ public class MyJPushReceiver extends BroadcastReceiver { JSONObject jSONObject = JSON.parseObject(s); int i = changeNum(jSONObject.getIntValue("lock")); - Settings.System.putInt(this.mContext.getContentResolver(), "qch_unlock_ipad", i); + Settings.System.putInt(this.mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, i); Logutils.e("SystemSetting", "qch_unlock_ipad---------" + i); if (getBatteryLevel() >= CommonDatas.MIN_POWER) { @@ -1030,23 +765,36 @@ public class MyJPushReceiver extends BroadcastReceiver { Logutils.e("uplaodImage", "File does not exists"); return; } - OkGo.post(URLAddress.SEND_SCREENSHOT) - .params("sn", Utils.getSerial()) - .params("createtime", time) - .params("file", file) - .execute(new StringCallback() { + //设置图片格式 +// RequestBody requestFile = RequestBody.create(MediaType.parse("image/jpg"), file); + //File转RequestBody + MediaType mediaType = MediaType.Companion.parse("image/png"); + RequestBody fileBody = RequestBody.Companion.create(file, mediaType); + //设置一个file文件 + MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), fileBody); + NetInterfaceManager.getInstance().getScreenshotApi() + .sendScreenshot(Utils.getSerial(), time, body) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override - public void onSuccess(String s, Call call, Response response) { - JSONObject object = JSON.parseObject(s); - int code = object.getInteger("code"); - String msg = object.getString("msg"); - Logutils.e("uplaodImage", "code:" + code + "," + msg); + public void onSubscribe(Disposable d) { + Log.e("uplaodImage", "onSubscribe: "); } @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("uplaodImage", "e=" + e.getMessage()); + public void onNext(BaseResponse baseResponse) { + Log.e("uplaodImage", "onNext: " + baseResponse.msg); + } + + @Override + public void onError(Throwable e) { + Log.e("uplaodImage", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("uplaodImage", "onComplete: "); } }); } @@ -1058,9 +806,6 @@ public class MyJPushReceiver extends BroadcastReceiver { private void getTopApp(Context context, String extras) { JSONObject jsonObject = JSON.parseObject(extras); String packageName = jsonObject.getString("app_package"); -// if (TextUtils.isEmpty(packageName)) { -// return; -// } if (TextUtils.isEmpty(packageName)) { SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, ""); ForegroundAppUtil.setTopAppClass(context, ""); @@ -1069,7 +814,6 @@ public class MyJPushReceiver extends BroadcastReceiver { ForegroundAppUtil.setTopAppClass(context, packageName); ForegroundAppUtil.openTopApp(context); } - } private void setBootanimation(Context context, String extras) { @@ -1115,9 +859,6 @@ public class MyJPushReceiver extends BroadcastReceiver { MediaPlayer mediaPlayer; public void defaultCallMediaPlayer(Context context) { -// Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); -// Ringtone r = RingtoneManager.getRingtone(mContext, notification); -// r.play(); if (mediaPlayer != null) { mediaPlayer.stop(); mediaPlayer.release(); diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java similarity index 75% rename from app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java rename to app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java index 51fc47b..84df1d0 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.receiver; +package com.aoleyun.sn.receiver; import android.annotation.SuppressLint; import android.content.BroadcastReceiver; @@ -9,27 +9,26 @@ import android.os.Build; import android.text.TextUtils; import android.util.Log; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.network.HTTPInterface; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.CacheUtils; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.SaveListUtils; +import com.aoleyun.sn.comm.PackageNames; +import com.aoleyun.sn.network.HTTPInterface; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.CacheUtils; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.SaveListUtils; import java.util.concurrent.TimeUnit; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; public class NewAppReceiver extends BroadcastReceiver { private static final String TAG = NewAppReceiver.class.getSimpleName(); - private static final String APPSTORE = "com.jiaoguanyi.store"; + private static NewAppListener newAppListener; @SuppressLint("StaticFieldLeak") private static Context mContext; @@ -67,27 +66,16 @@ public class NewAppReceiver extends BroadcastReceiver { } Logutils.e(TAG, "sendAppInfo: " + state + packageName); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - if (!APPSTORE.equals(packageName) || !BuildConfig.APPLICATION_ID.equals(packageName)) { + if (!PackageNames.APPSTORE.equals(packageName) || !PackageNames.DEVICE_INFO.equals(packageName)) { ApkUtils.addShortcut(context); ApkUtils.RemoveTask(context, packageName); } Intent bootIntent = new Intent(BootReceiver.BOOT_COMPLETED); - bootIntent.setComponent(new ComponentName("com.jiaoguanyi.store", "com.mjsheng.myappstore.receiver.BootReceiver")); + bootIntent.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER)); context.sendBroadcast(bootIntent); //启动教官壹 } newAppListener.setNewAppListener(packageName); - //接收卸载广播 -// if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) { -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { -// if (!"com.jiaoguanyi.store".equals(packageName) || !"com.jiaoguanyi.appstore".equals(packageName)) { -// ApkUtils.addShortcut(context, result); -// } -// Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED); -// intent1.setComponent(new ComponentName("com.jiaoguanyi.store", "com.mjsheng.myappstore.receiver.BootReceiver")); -// context.sendBroadcast(intent1); -// } -// } } private void cleanLauncher3Cache() { diff --git a/app/src/main/java/com/mjsheng/myappstore/service/GuardService.java b/app/src/main/java/com/aoleyun/sn/service/GuardService.java similarity index 78% rename from app/src/main/java/com/mjsheng/myappstore/service/GuardService.java rename to app/src/main/java/com/aoleyun/sn/service/GuardService.java index 55d6641..fe7bff8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/service/GuardService.java +++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java @@ -1,11 +1,4 @@ -package com.mjsheng.myappstore.service; - -/** - * 作者 mjsheng - * 日期 2019/4/1 10:58 - * 邮箱 501802639@qq.com - * 来自: - */ +package com.aoleyun.sn.service; import android.app.Service; import android.content.BroadcastReceiver; @@ -28,30 +21,30 @@ import androidx.annotation.Nullable; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.amap.api.location.AMapLocationClient; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.comm.PackageNames; +import com.aoleyun.sn.network.api.newapi.SendScreenStatusApi; 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.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.manager.AmapManager; -import com.mjsheng.myappstore.network.HTTPInterface; -import com.mjsheng.myappstore.network.api.newapi.GetLockStateApi; -import com.mjsheng.myappstore.receiver.BootReceiver; -import com.mjsheng.myappstore.receiver.NewAppReceiver; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.XAPKUtils; -import com.lzy.okgo.OkGo; -import com.lzy.okgo.callback.StringCallback; -import com.mjsheng.myappstore.KeepAliveConnection; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.network.URLAddress; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.ServiceAliveUtils; -import com.mjsheng.myappstore.utils.ToastUtil; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.manager.AmapManager; +import com.aoleyun.sn.network.HTTPInterface; +import com.aoleyun.sn.network.api.newapi.GetLockStateApi; +import com.aoleyun.sn.receiver.BootReceiver; +import com.aoleyun.sn.receiver.NewAppReceiver; +import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.XAPKUtils; +import com.aoleyun.sn.KeepAliveConnection; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.manager.NetInterfaceManager; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.ServiceAliveUtils; +import com.aoleyun.sn.utils.ToastUtil; +import com.aoleyun.sn.utils.Utils; import java.io.IOException; import java.util.List; @@ -64,9 +57,10 @@ import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; -import okhttp3.Call; -import okhttp3.Response; import okhttp3.ResponseBody; +import retrofit2.Retrofit; +import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; +import retrofit2.converter.gson.GsonConverterFactory; /** @@ -222,7 +216,7 @@ public class GuardService extends Service { *当静默安装升级时,app不会被唤醒,只有通过显示广播唤醒 * */ Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED); - intent1.setComponent(new ComponentName("com.jiaoguanyi.store", "com.mjsheng.myappstore.receiver.BootReceiver")); + intent1.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER)); // 携带数据 //intent1.putExtra("test", "我是来测 A 应用的Android 8.0 系统静态广播的测试数据"); // 启动发送广播 @@ -261,7 +255,7 @@ public class GuardService extends Service { getLockState("1", String.valueOf(time)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED); - intent1.setComponent(new ComponentName("com.jiaoguanyi.store", "com.mjsheng.myappstore.receiver.BootReceiver")); + intent1.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER)); sendBroadcast(intent1); JGYUtils.getInstance().deleteScreenshots(); } @@ -286,24 +280,35 @@ public class GuardService extends Service { } private void sendScreenStatus(int status) { -// if (!JGYUtils.isBetaVersion()) { -// Logutils.e(TAG, "sendScreenStatus: " + JGYUtils.getCHANNEL_VALUE() + " not support"); -// return; -// } - OkGo.post(BuildConfig.SCREEN_URL) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .params("is_online", status) - .execute(new StringCallback() { + Retrofit retrofit = new Retrofit.Builder() + .client(NetInterfaceManager.getInstance().getOkHttpClient()) + .baseUrl(BuildConfig.SCREEN_BASE_URL) + .addConverterFactory(GsonConverterFactory.create()) + .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) + .build(); + SendScreenStatusApi sendScreenStatusApi = retrofit.create(SendScreenStatusApi.class); + sendScreenStatusApi.sendScreenStatus(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), status) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override - public void onSuccess(String s, Call call, Response response) { - Logutils.e("sendScreenStatus", "onSuccess: " + s); + public void onSubscribe(Disposable d) { + Log.e("sendScreenStatus", "onSubscribe: "); } @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("sendScreenStatus", "onError: " + e.getMessage()); + public void onNext(BaseResponse baseResponse) { + Log.e("sendScreenStatus", "onNext: " + baseResponse.msg); + } + + @Override + public void onError(Throwable e) { + Log.e("sendScreenStatus", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("sendScreenStatus", "onComplete: "); } }); } @@ -312,7 +317,7 @@ public class GuardService extends Service { if (JGYUtils.isOfficialVersion()) { return; } - GetLockStateApi getLockState = NetInterfaceManager.getLockState(); + GetLockStateApi getLockState = NetInterfaceManager.getInstance().getLockState(); getLockState.getLockState(Utils.getSerial(), status, time) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -328,7 +333,7 @@ public class GuardService extends Service { com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(responseBody.string()); Log.e("getLockState", "onNext: " + jsonObject); int code = jsonObject.getInteger("code"); - Log.e("getLockState", "onNext: code: "+code ); + Log.e("getLockState", "onNext: code: " + code); } catch (IOException e) { e.printStackTrace(); } @@ -449,43 +454,58 @@ public class GuardService extends Service { Logutils.e("taskComplete", "isDownloading=" + BaseApplication.getInstance().isDownloading()); } } - OkGo.post(URLAddress.HTTP_TAG_DOWNLOAD_URL) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .params("package", app_package) - .params("app_id", app_id) - .tag(this) - .execute(new StringCallback() { + NetInterfaceManager.getInstance() + .getSendTimesApi() + .sendDownloadTimes(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), app_package, app_id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override - public void onSuccess(String s, Call call, okhttp3.Response response) { - Logutils.e("taskComplete", "onSuccess: "); + public void onSubscribe(Disposable d) { + Log.e("SEND_DOWNLOAD_TIMES", "onSubscribe: "); } @Override - public void onError(Call call, Response response, Exception e) { - Logutils.e("taskComplete", "onError: " + e.getMessage()); - super.onError(call, response, e); + public void onNext(BaseResponse baseResponse) { + Log.e("SEND_DOWNLOAD_TIMES", "onNext: " + baseResponse.msg); + } + + @Override + public void onError(Throwable e) { + Log.e("SEND_DOWNLOAD_TIMES", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("SEND_DOWNLOAD_TIMES", "onComplete: "); } }); int userId = (int) SPUtils.get(GuardService.this, "admin_id", 0); - long app_size = task.getFileSize(); - OkGo.post(URLAddress.SEND_DOWNLOAD_FILE_INFO) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .params("userId", userId) - .params("package_name", app_package) - .params("app_size", app_size) - .tag(this) - .execute(new StringCallback() { + long appSize = task.getFileSize(); + NetInterfaceManager.getInstance() + .getSendInfoApi() + .sendDownloadTimes(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), userId, app_package, appSize) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override - public void onSuccess(String s, Call call, okhttp3.Response response) { - Logutils.e("taskComplete", "onSuccess: " + s); + public void onSubscribe(Disposable d) { + Log.e("SEND_DOWNLOAD_FILE_INFO", "onSubscribe: "); } @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("taskComplete", "onError: " + e.getMessage()); + public void onNext(BaseResponse baseResponse) { + Log.e("SEND_DOWNLOAD_FILE_INFO", "onNext: "+baseResponse.msg); + } + + @Override + public void onError(Throwable e) { + Log.e("SEND_DOWNLOAD_FILE_INFO", "onError: "+e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("SEND_DOWNLOAD_FILE_INFO", "onComplete: "); } }); } else if (filepath.endsWith(".zip")) { diff --git a/app/src/main/java/com/mjsheng/myappstore/service/JWebSocketClient.java b/app/src/main/java/com/aoleyun/sn/service/JWebSocketClient.java similarity index 90% rename from app/src/main/java/com/mjsheng/myappstore/service/JWebSocketClient.java rename to app/src/main/java/com/aoleyun/sn/service/JWebSocketClient.java index 894dd88..8ab3416 100644 --- a/app/src/main/java/com/mjsheng/myappstore/service/JWebSocketClient.java +++ b/app/src/main/java/com/aoleyun/sn/service/JWebSocketClient.java @@ -1,6 +1,6 @@ -package com.mjsheng.myappstore.service; +package com.aoleyun.sn.service; -import com.mjsheng.myappstore.utils.Logutils; +import com.aoleyun.sn.utils.Logutils; import org.java_websocket.client.WebSocketClient; import org.java_websocket.drafts.Draft_6455; diff --git a/app/src/main/java/com/mjsheng/myappstore/service/LogcatService.java b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/service/LogcatService.java rename to app/src/main/java/com/aoleyun/sn/service/LogcatService.java index 1fe894a..14b9be3 100644 --- a/app/src/main/java/com/mjsheng/myappstore/service/LogcatService.java +++ b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.service; +package com.aoleyun.sn.service; import android.app.Service; import android.content.BroadcastReceiver; @@ -8,8 +8,8 @@ import android.content.IntentFilter; import android.os.IBinder; import android.text.TextUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.Utils; import java.io.BufferedReader; import java.io.File; diff --git a/app/src/main/java/com/mjsheng/myappstore/service/MainService.java b/app/src/main/java/com/aoleyun/sn/service/MainService.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/service/MainService.java rename to app/src/main/java/com/aoleyun/sn/service/MainService.java index 30b9536..5c1b9ff 100644 --- a/app/src/main/java/com/mjsheng/myappstore/service/MainService.java +++ b/app/src/main/java/com/aoleyun/sn/service/MainService.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.service; +package com.aoleyun.sn.service; import android.annotation.SuppressLint; import android.app.Service; @@ -7,7 +7,6 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.PixelFormat; @@ -26,23 +25,23 @@ import android.widget.TextView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.blankj.utilcode.util.AdaptScreenUtils; +import com.aoleyun.sn.comm.PackageNames; import com.blankj.utilcode.util.NetworkUtils; import com.google.gson.JsonObject; -import com.mjsheng.myappstore.R; -import com.mjsheng.myappstore.action.JGYActions; -import com.mjsheng.myappstore.activity.MainActivity; -import com.mjsheng.myappstore.activity.MainContact; -import com.mjsheng.myappstore.activity.MainPresenter; -import com.mjsheng.myappstore.receiver.BootReceiver; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.ForegroundAppUtil; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.SaveListUtils; -import com.mjsheng.myappstore.utils.SysSettingUtils; -import com.mjsheng.myappstore.utils.TimeUtils; -import com.mjsheng.myappstore.utils.ToastUtil; +import com.aoleyun.sn.R; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.activity.MainActivity; +import com.aoleyun.sn.activity.MainContact; +import com.aoleyun.sn.activity.MainPresenter; +import com.aoleyun.sn.receiver.BootReceiver; +import com.aoleyun.sn.utils.ApkUtils; +import com.aoleyun.sn.utils.ForegroundAppUtil; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.SaveListUtils; +import com.aoleyun.sn.utils.SysSettingUtils; +import com.aoleyun.sn.utils.TimeUtils; +import com.aoleyun.sn.utils.ToastUtil; import com.trello.rxlifecycle2.LifecycleProvider; import com.trello.rxlifecycle2.LifecycleTransformer; import com.trello.rxlifecycle2.RxLifecycle; @@ -193,7 +192,7 @@ public class MainService extends Service implements MainContact.MainView, Networ @Override public int onStartCommand(Intent intent, int flags, int startId) { Intent bootIntent = new Intent(BootReceiver.BOOT_COMPLETED); - bootIntent.setComponent(new ComponentName("com.jiaoguanyi.store", "com.mjsheng.myappstore.receiver.BootReceiver")); + bootIntent.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER)); sendBroadcast(bootIntent); JPushInterface.init(this); if (MainActivity.isForeground) { @@ -220,7 +219,7 @@ public class MainService extends Service implements MainContact.MainView, Networ } private void setStatusbar() { - String status = (String) SPUtils.get(this, JGYActions.ACTION_StatusBar_STATUS, ""); + String status = (String) SPUtils.get(this, JGYActions.ACTION_STATUS_BAR_STATUS, ""); Logutils.e(TAG, "setStatusbar: String: " + status); if (TextUtils.isEmpty(status)) { Logutils.e(TAG, "setStatusbar: " + "status is NULL"); @@ -480,7 +479,7 @@ public class MainService extends Service implements MainContact.MainView, Networ } private String INSTALLAPK_ACTION = "JGY_INSTALLAPK_ACTION"; - private String INSTALLAPK_PREMISSIONS = "com.jiaoguanyi.appstore.permissions.INSTALL_APK"; + private String INSTALLAPK_PREMISSIONS = "com.aoleyun.sn.permissions.INSTALL_APK"; private InstallReceiver mInstallReceiver; diff --git a/app/src/main/java/com/aoleyun/sn/service/MyDownloadService.java b/app/src/main/java/com/aoleyun/sn/service/MyDownloadService.java new file mode 100644 index 0000000..53b37ed --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/service/MyDownloadService.java @@ -0,0 +1,34 @@ + +package com.aoleyun.sn.service; + +import android.app.Service; +import android.content.Intent; +import android.os.IBinder; + +// 下载管理服务 +public class MyDownloadService extends Service { + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + flags = START_STICKY; + return super.onStartCommand(intent, flags, startId); + } + + @Override + public void onCreate() { + super.onCreate(); + startService(new Intent(this, StepService.class)); + startService(new Intent(this, GuardService.class)); + } + + + @Override + public void onDestroy() { + super.onDestroy(); + } + + @Override + public IBinder onBind(Intent intent) { + return null; + } + +} diff --git a/app/src/main/java/com/mjsheng/myappstore/service/RemoteService.java b/app/src/main/java/com/aoleyun/sn/service/RemoteService.java similarity index 85% rename from app/src/main/java/com/mjsheng/myappstore/service/RemoteService.java rename to app/src/main/java/com/aoleyun/sn/service/RemoteService.java index dd2ba83..9671a59 100644 --- a/app/src/main/java/com/mjsheng/myappstore/service/RemoteService.java +++ b/app/src/main/java/com/aoleyun/sn/service/RemoteService.java @@ -1,13 +1,13 @@ -package com.mjsheng.myappstore.service; +package com.aoleyun.sn.service; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; -import com.jiaoguanyi.appstore.IGetLicenseInterface; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.SPUtils; +import com.aoleyun.sn.IGetLicenseInterface; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.SPUtils; public class RemoteService extends Service { private String TAG = RemoteService.class.getSimpleName(); diff --git a/app/src/main/java/com/mjsheng/myappstore/service/StepService.java b/app/src/main/java/com/aoleyun/sn/service/StepService.java similarity index 96% rename from app/src/main/java/com/mjsheng/myappstore/service/StepService.java rename to app/src/main/java/com/aoleyun/sn/service/StepService.java index 0f86204..c4c5766 100644 --- a/app/src/main/java/com/mjsheng/myappstore/service/StepService.java +++ b/app/src/main/java/com/aoleyun/sn/service/StepService.java @@ -1,11 +1,4 @@ -package com.mjsheng.myappstore.service; - -/** - * 作者 mjsheng - * 日期 2019/4/1 10:57 - * 邮箱 501802639@qq.com - * 来自: - */ +package com.aoleyun.sn.service; import android.app.Service; import android.content.BroadcastReceiver; @@ -25,11 +18,11 @@ import androidx.annotation.Nullable; import com.alibaba.fastjson.JSONObject; import com.blankj.utilcode.util.NetworkUtils; -import com.mjsheng.myappstore.KeepAliveConnection; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.ServiceAliveUtils; -import com.mjsheng.myappstore.utils.Utils; +import com.aoleyun.sn.KeepAliveConnection; +import com.aoleyun.sn.manager.NetInterfaceManager; +import com.aoleyun.sn.utils.Logutils; +import com.aoleyun.sn.utils.ServiceAliveUtils; +import com.aoleyun.sn.utils.Utils; import org.java_websocket.handshake.ServerHandshake; diff --git a/app/src/main/java/com/mjsheng/myappstore/statistics/AppInformation.java b/app/src/main/java/com/aoleyun/sn/statistics/AppInformation.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/statistics/AppInformation.java rename to app/src/main/java/com/aoleyun/sn/statistics/AppInformation.java index 3741b90..c8bdd50 100644 --- a/app/src/main/java/com/mjsheng/myappstore/statistics/AppInformation.java +++ b/app/src/main/java/com/aoleyun/sn/statistics/AppInformation.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.statistics; +package com.aoleyun.sn.statistics; import android.app.usage.UsageStats; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/statistics/StatisticsInfo.java b/app/src/main/java/com/aoleyun/sn/statistics/StatisticsInfo.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/statistics/StatisticsInfo.java rename to app/src/main/java/com/aoleyun/sn/statistics/StatisticsInfo.java index 11cadf8..311dcb7 100644 --- a/app/src/main/java/com/mjsheng/myappstore/statistics/StatisticsInfo.java +++ b/app/src/main/java/com/aoleyun/sn/statistics/StatisticsInfo.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.statistics; +package com.aoleyun.sn.statistics; import android.annotation.TargetApi; import android.app.usage.UsageEvents; @@ -13,7 +13,7 @@ import java.util.Calendar; import java.util.HashMap; import java.util.List; -import static com.mjsheng.myappstore.statistics.AppInformation.bootTime; +import static com.aoleyun.sn.statistics.AppInformation.bootTime; public class StatisticsInfo { diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESCrypt.java b/app/src/main/java/com/aoleyun/sn/utils/AES/AESCrypt.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/AES/AESCrypt.java rename to app/src/main/java/com/aoleyun/sn/utils/AES/AESCrypt.java index f41534f..306ae34 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESCrypt.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/AESCrypt.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils.AES; +package com.aoleyun.sn.utils.AES; import android.util.Base64; import android.util.Log; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESEncrypt.java b/app/src/main/java/com/aoleyun/sn/utils/AES/AESEncrypt.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/AES/AESEncrypt.java rename to app/src/main/java/com/aoleyun/sn/utils/AES/AESEncrypt.java index e741959..74278b4 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESEncrypt.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/AESEncrypt.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils.AES; +package com.aoleyun.sn.utils.AES; import android.util.Base64; import android.util.Log; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESUtil.java b/app/src/main/java/com/aoleyun/sn/utils/AES/AESUtil.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/AES/AESUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/AES/AESUtil.java index 35c4225..4e906b6 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/AESUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils.AES; +package com.aoleyun.sn.utils.AES; import android.util.Base64; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESUtils3.java b/app/src/main/java/com/aoleyun/sn/utils/AES/AESUtils3.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/utils/AES/AESUtils3.java rename to app/src/main/java/com/aoleyun/sn/utils/AES/AESUtils3.java index 98d5e4d..903856c 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AESUtils3.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/AESUtils3.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils.AES; +package com.aoleyun.sn.utils.AES; import java.io.UnsupportedEncodingException; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AesCbcWithIntegrity.java b/app/src/main/java/com/aoleyun/sn/utils/AES/AesCbcWithIntegrity.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/AES/AesCbcWithIntegrity.java rename to app/src/main/java/com/aoleyun/sn/utils/AES/AesCbcWithIntegrity.java index 493f22d..cf607b4 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AES/AesCbcWithIntegrity.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/AesCbcWithIntegrity.java @@ -22,7 +22,7 @@ * Created by Isaac Potoczny-Jones on 11/12/14. */ -package com.mjsheng.myappstore.utils.AES; +package com.aoleyun.sn.utils.AES; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AES/CXAESUtil.java b/app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/AES/CXAESUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java index abc9f60..56e6559 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AES/CXAESUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils.AES; +package com.aoleyun.sn.utils.AES; import java.io.File; import java.io.FileInputStream; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java similarity index 89% rename from app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java index 12c5591..662a3ca 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.ActivityManager; import android.app.PendingIntent; @@ -28,14 +28,16 @@ import android.widget.Toast; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.comm.CommonDatas; +import com.aoleyun.sn.comm.PackageNames; import com.arialyy.aria.core.Aria; import com.arialyy.aria.core.download.DownloadEntity; import com.google.gson.Gson; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.R; -import com.mjsheng.myappstore.bean.UploadAppInfo; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.network.api.UploadAppInfoApi; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.R; +import com.aoleyun.sn.bean.UploadAppInfo; +import com.aoleyun.sn.manager.NetInterfaceManager; import java.io.BufferedReader; import java.io.DataOutputStream; @@ -55,15 +57,14 @@ import java.util.function.Predicate; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; import okhttp3.ResponseBody; -import rx.Observable; -import rx.Observer; -import rx.Subscriber; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; public class ApkUtils { private static String TAG = ApkUtils.class.getSimpleName(); @@ -127,7 +128,7 @@ public class ApkUtils { if (Build.VERSION.SDK_INT >= 24) { //判读版本是否在7.0以上 //参数1 上下文, 参数2 Provider主机地址 和配置文件中保持一致 参数3 共享的文件 Uri apkUri = - FileProvider.getUriForFile(context, "com.jiaoguanyi.appstore.fileprovider", uriFile); + FileProvider.getUriForFile(context, "com.aoleyun.sn.fileprovider", uriFile); //添加这一句表示对目标应用临时授权该Uri所代表的文件 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); @@ -229,19 +230,19 @@ public class ApkUtils { public static void installRx(final Context context, final String packageName, final String filePath) { - Observable.create(new Observable.OnSubscribe() { + Observable.create(new ObservableOnSubscribe() { @Override - public void call(Subscriber subscriber) { + public void subscribe(ObservableEmitter emitter) throws Exception { File file = new File(filePath); - if (filePath == null || filePath.length() == 0 || file == null) { - Logutils.e("mjsheng", "errormesg=========" + " 空啊 "); - subscriber.onNext(0); + if (TextUtils.isEmpty(filePath) || !file.exists()) { + Logutils.e("installRx", "filePath is empty"); + emitter.onNext(0); return; } // String[] args = { "pm", "install", "-r", filePath }; String[] args = {"pm", "install", "-i", "com.colorflykids", "--user", "0", filePath}; // String argss = "pm install -i " + "com.colorflykids" + " --user 0 " + filePath; - Logutils.e("mjsheng", "argss====" + args); + Logutils.e("installRx", "argss====" + args); ProcessBuilder processBuilder = new ProcessBuilder(args); Process process = null; BufferedReader successResult = null; @@ -262,7 +263,7 @@ public class ApkUtils { errorMsg.append(s); } } catch (IOException e1) { - Logutils.e("mjsheng", "IOException e1)----------" + e1.toString()); + Logutils.e("installRx", "IOException e1)----------" + e1.toString()); e1.printStackTrace(); } finally { try { @@ -273,7 +274,7 @@ public class ApkUtils { errorResult.close(); } } catch (IOException e1) { - Logutils.e("mjsheng", "IOException e11)---------" + e1.toString()); + Logutils.e("installRx", "IOException e11)---------" + e1.toString()); e1.printStackTrace(); } if (process != null) { @@ -281,55 +282,45 @@ public class ApkUtils { } } if (successMsg.toString().contains("Success") || successMsg.toString().contains("success")) { - subscriber.onNext(2); + emitter.onNext(2); } else { - Logutils.e("mjsheng", "errormesg=========" + errorMsg.toString()); - subscriber.onNext(1); + Logutils.e("installRx", "errormesg :" + errorMsg.toString()); + emitter.onNext(1); } } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + Log.e("installRx", "onSubscribe: "); + } @Override public void onNext(Integer value) { if (value == 2) { //安装成功 ToastUtil.show("安装成功"); - Logutils.e("mjsheng", "-----------安装成功-----------"); + Logutils.e("installRx", "-----------安装成功-----------"); } else { //安装错误 - Logutils.e("mjsheng", "------------安装错误-----------"); + Logutils.e("installRx", "------------安装错误-----------"); ToastUtil.show("安装失败"); } } @Override - public void onCompleted() { - + public void onError(Throwable e) { + Log.e("installRx", "onError: " + e.getMessage()); } @Override - public void onError(Throwable e) { - //安装错误 + public void onComplete() { + Log.e("installRx", "onComplete: "); } }); } - // public static void installApp(final String path, final String packageNames){ - // File apkFile = new File(path); - // try { - // Class clazz = Class.forName("android.os.ServiceManager"); - // Method method_getService = clazz.getMethod("getService", String.class); - // IBinder bind = (IBinder) method_getService.invoke(null, "package"); - // IPackageManager iPm = IPackageManager.Stub.asInterface(bind); - // iPm.installPackage(Uri.fromFile(apkFile),null, 2, apkFile.getName()); - // Logutils.e("mjsheng", "安装成功"); - // } catch (Exception e) { - // e.printStackTrace(); - // Logutils.e("mjsheng", "安装失败"); - // } - // } public interface InstallCallback { void installInfoCallback(String path, String packageName); } @@ -384,7 +375,7 @@ public class ApkUtils { // if (!successMsg.toString().equalsIgnoreCase("success")) { // ApkUtils.install(context, new File(apkPath)); // } - return successMsg.toString().equalsIgnoreCase("success"); + return "success".equalsIgnoreCase(successMsg.toString()); } @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @@ -475,11 +466,11 @@ public class ApkUtils { Method method; try { activityTherad = Class.forName("android.app.ActivityThread"); - Class paramTypes[] = getParamTypes(activityTherad, "getPackageManager"); + Class[] paramTypes = getParamTypes(activityTherad, "getPackageManager"); method = activityTherad.getMethod("getPackageManager", paramTypes); Object PackageManagerService = method.invoke(activityTherad); pmService = PackageManagerService.getClass(); - Class paramTypes1[] = getParamTypes(pmService, "installPackageAsUser"); + Class[] paramTypes1 = getParamTypes(pmService, "installPackageAsUser"); method = pmService.getMethod("installPackageAsUser", paramTypes1); method.invoke(PackageManagerService, installPath, null, 0x00000040, packageName, getUserId(Binder.getCallingUid()));//getUserId } catch (ClassNotFoundException e) { @@ -503,11 +494,11 @@ public class ApkUtils { Method method; try { activityTherad = Class.forName("android.app.ActivityThread"); - Class paramTypes[] = getParamTypes(activityTherad, "getPackageManager"); + Class[] paramTypes = getParamTypes(activityTherad, "getPackageManager"); method = activityTherad.getMethod("getPackageManager", paramTypes); Object PackageManagerService = method.invoke(activityTherad); pmService = PackageManagerService.getClass(); - Class paramTypes1[] = getParamTypes(pmService, "deletePackageAsUser"); + Class[] paramTypes1 = getParamTypes(pmService, "deletePackageAsUser"); method = pmService.getMethod("deletePackageAsUser", paramTypes1); method.invoke(PackageManagerService, packageName, null, getUserId(Binder.getCallingUid()), 0x00000040);//getUserId } catch (ClassNotFoundException e) { @@ -528,23 +519,29 @@ public class ApkUtils { * @param pkg */ public static void UninstallAPP(Context context, String pkg) { - Observable.create(new Observable.OnSubscribe() { + Observable.create(new ObservableOnSubscribe() { @Override - public void call(Subscriber subscriber) { + public void subscribe(ObservableEmitter emitter) throws Exception { Logutils.e("UninstallAPP", "call: " + Thread.currentThread().getName()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { ApkUtils.uninstall(context, pkg); } else { ApkUtils.deleteApkInSilence(pkg); } - subscriber.onNext(pkg); + emitter.onNext(pkg); } }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override - public void onCompleted() { - Logutils.e("UninstallAPP", "onCompleted: "); + public void onSubscribe(Disposable d) { + Logutils.e("UninstallAPP", "onSubscribe: "); + } + + @Override + public void onNext(String s) { + Logutils.e("UninstallAPP", "onNext: " + Thread.currentThread().getName()); + Logutils.e("UninstallAPP", "onNext: " + s); } @Override @@ -553,9 +550,8 @@ public class ApkUtils { } @Override - public void onNext(String s) { - Logutils.e("UninstallAPP", "onNext: " + Thread.currentThread().getName()); - Logutils.e("UninstallAPP", "onNext: " + s); + public void onComplete() { + Logutils.e("UninstallAPP", "onComplete: "); } }); @@ -611,11 +607,11 @@ public class ApkUtils { } } //如果含有“success”单词则认为卸载成功 - return successMsg.toString().equalsIgnoreCase("success"); + return "success".equalsIgnoreCase(successMsg.toString()); } private static Class[] getParamTypes(Class cls, String mName) { - Class cs[] = null; + Class[] cs = null; Method[] mtd = cls.getMethods(); for (int i = 0; i < mtd.length; i++) { if (!mtd[i].getName().equals(mName)) { @@ -880,8 +876,8 @@ public class ApkUtils { this.add("com.wapi.wapicertmanager"); this.add("android.auto_generated_rro_vendor__"); this.add("com.android.theme.icon_pack.circular.android"); - this.add("com.jiaoguanyi.appstore"); - this.add("com.jiaoguanyi.store"); + this.add(PackageNames.OLD_DEVICE_INFO); + this.add(PackageNames.OLD_APPSTORE); this.add("com.example.eyeshielyplus"); this.add("cn.com.bifa.eyeshiely"); }}; @@ -922,36 +918,34 @@ public class ApkUtils { hideSystemSettingAPP(context, packageInfo.packageName); } } - - } public static void hideSystemSettingAPP(Context context, String pkage) { int hide = 0; //后台0显示,1隐藏 try { - if (pkage.equalsIgnoreCase("com.mediatek.camera")) { + if ("com.mediatek.camera".equalsIgnoreCase(pkage)) { if (Settings.System.getInt(context.getContentResolver(), "qch_app_camera") == 1) { hide = 0;//管控摄像头隐藏图标有问题,先暂时不隐藏 } - } else if (pkage.equalsIgnoreCase("com.android.deskclock")) { + } else if ("com.android.deskclock".equalsIgnoreCase(pkage)) { if (Settings.System.getInt(context.getContentResolver(), "qch_app_deskclock") == 1) { hide = 0; } - } else if (pkage.equalsIgnoreCase("com.android.soundrecorder")) { + } else if ("com.android.soundrecorder".equalsIgnoreCase(pkage)) { if (Settings.System.getInt(context.getContentResolver(), "qch_app_soundrecorder") == 1) { hide = 0; } - } else if (pkage.equalsIgnoreCase("com.android.music")) { + } else if ("com.android.music".equalsIgnoreCase(pkage)) { if (Settings.System.getInt(context.getContentResolver(), "qch_app_music") == 1) { hide = 0; } - } else if (pkage.equalsIgnoreCase("com.android.gallery3d")) { + } else if ("com.android.gallery3d".equalsIgnoreCase(pkage)) { if (Settings.System.getInt(context.getContentResolver(), "qch_app_gallery") == 1) { hide = 0; } - } else if (pkage.equalsIgnoreCase("com.android.documentsui") - || pkage.equalsIgnoreCase("com.mediatek.filemanager")) { + } else if ("com.android.documentsui".equalsIgnoreCase(pkage) + || "com.mediatek.filemanager".equalsIgnoreCase(pkage)) { if (Settings.System.getInt(context.getContentResolver(), "qch_app_filemanager") == 1) { hide = 0; } @@ -967,41 +961,6 @@ public class ApkUtils { // } } - - public static synchronized void uninstallAllApp(Context context) { - List appList = ApkUtils.queryFilterAppInfo(context); - if (null != appList && appList.size() > 0) { - for (String packageName : appList) { - Logutils.e("fht", "uninstallAllApp packageName is:" + packageName); - if (packageName.equals("com.jiaoguanyi.store") || packageName.equals(BuildConfig.APPLICATION_ID)) { - continue; - } - ApkUtils.UninstallAPP(context, packageName); - } - } - } - - -// public static boolean isSystemApp(Context context, String pkg) { -// try { -// PackageInfo packageInfo = context.getPackageManager().getPackageInfo(pkg, 0); -// if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { -// if (pkg.equals(context.getPackageName())) { -// return true; -// } else { -// //第三方应用 -// return false; -// } -// } else { -// //系统应用 -// return true; -// } -// } catch (PackageManager.NameNotFoundException e) { -// e.printStackTrace(); -// return false; -// } -// } - /** * 判断是否为系统应用 * @@ -1082,7 +1041,7 @@ public class ApkUtils { } public static void addShortcut(Context context) { - String result = Settings.System.getString(context.getContentResolver(), "only_jgy_shortcut_list"); + String result = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); if (TextUtils.isEmpty(result)) { Settings.System.putString(context.getContentResolver(), "qch_launcher_icon_app", ""); return; @@ -1105,7 +1064,7 @@ public class ApkUtils { }); StringBuilder installedListBuilder = new StringBuilder(); for (String s : packages) { - if ("com.jiaoguanyi.store".equals(s) || "com.jiaoguanyi.appstore".equals(s)) { + if (PackageNames.DEVICE_INFO.equals(s) || PackageNames.APPSTORE.equals(s)) { continue; } if (ApkUtils.isSystemApp(context, s)) { @@ -1180,7 +1139,7 @@ public class ApkUtils { // uploadAppInfo.setId(i); // String firstInstallTime = Utils.transferLongToDate(packageInfo.firstInstallTime); // String lastUpdateTime = Utils.transferLongToDate(packageInfo.lastUpdateTime); - String firstInstallTime = Utils.transferLongToDate(packageInfo.lastUpdateTime); + String firstInstallTime = Utils.transferLongToDate(packageInfo.lastUpdateTime); uploadAppInfo.setInstall_time(firstInstallTime); uploadAppInfo.setVersionCode(String.valueOf(packageInfo.versionCode)); uploadAppInfo.setState(0); @@ -1198,13 +1157,13 @@ public class ApkUtils { String jsonString = gson.toJson(appList); Logutils.e(TAG, "getAppInfo: " + jsonString); - UploadAppInfoApi uploadAppInfoApi = NetInterfaceManager.getUploadAppInfoApi(); - uploadAppInfoApi + NetInterfaceManager.getInstance() + .getUploadAppInfoApi() .getUploadAppInfoApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), jsonString) - .subscribeOn(io.reactivex.schedulers.Schedulers.io()) - .observeOn(io.reactivex.android.schedulers.AndroidSchedulers.mainThread()) - .subscribe(new io.reactivex.Observer() { + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -1235,7 +1194,7 @@ public class ApkUtils { if (TextUtils.isEmpty(packageName)) { return; } - io.reactivex.Observable.create(new ObservableOnSubscribe() { + Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(ObservableEmitter e) throws Exception { List list = Aria.download(context).getTaskList(); @@ -1250,9 +1209,9 @@ public class ApkUtils { } e.onComplete(); } - }).subscribeOn(io.reactivex.schedulers.Schedulers.io()) - .observeOn(io.reactivex.android.schedulers.AndroidSchedulers.mainThread()) - .subscribe(new io.reactivex.Observer() { + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { Logutils.e("RemoveTask", "onSubscribe: "); diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/AppsManagerUtils.java b/app/src/main/java/com/aoleyun/sn/utils/AppsManagerUtils.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/utils/AppsManagerUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/AppsManagerUtils.java index 0656ae0..2b7a55a 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/AppsManagerUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AppsManagerUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.content.Intent; @@ -8,8 +8,8 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; -import com.mjsheng.myappstore.bean.AppUpdateInfo; -import com.mjsheng.myappstore.bean.LocalAppInfo; +import com.aoleyun.sn.bean.AppUpdateInfo; +import com.aoleyun.sn.bean.LocalAppInfo; import java.io.File; import java.util.ArrayList; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/BootManager.java b/app/src/main/java/com/aoleyun/sn/utils/BootManager.java similarity index 85% rename from app/src/main/java/com/mjsheng/myappstore/utils/BootManager.java rename to app/src/main/java/com/aoleyun/sn/utils/BootManager.java index aa1e0e8..72226b5 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/BootManager.java +++ b/app/src/main/java/com/aoleyun/sn/utils/BootManager.java @@ -1,11 +1,12 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.content.Intent; import android.provider.Settings; import android.text.TextUtils; -import com.mjsheng.myappstore.service.MainService; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.service.MainService; public class BootManager { private Context mContext; @@ -23,7 +24,7 @@ public class BootManager { } private void sendLauncherIcon() { - String packageList = Settings.System.getString(mContext.getContentResolver(), "only_jgy_shortcut_list"); + String packageList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); if (TextUtils.isEmpty(packageList)) { Settings.System.putString(mContext.getContentResolver(), "qch_launcher_icon_app", ""); } diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/BootUtils.java b/app/src/main/java/com/aoleyun/sn/utils/BootUtils.java similarity index 63% rename from app/src/main/java/com/mjsheng/myappstore/utils/BootUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/BootUtils.java index 5fe05e0..55816fd 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/BootUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/BootUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; public class BootUtils { public static void main() { diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/CacheUtils.java b/app/src/main/java/com/aoleyun/sn/utils/CacheUtils.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/CacheUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/CacheUtils.java index ee04296..ee38a76 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/CacheUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/CacheUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/CmdUtil.java b/app/src/main/java/com/aoleyun/sn/utils/CmdUtil.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/utils/CmdUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/CmdUtil.java index 6089fd9..0d94a2b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/CmdUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/CmdUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.text.TextUtils; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ExampleUtil.java b/app/src/main/java/com/aoleyun/sn/utils/ExampleUtil.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/ExampleUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/ExampleUtil.java index 2d6e022..920838b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ExampleUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ExampleUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.content.pm.ApplicationInfo; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/FileUtils.java b/app/src/main/java/com/aoleyun/sn/utils/FileUtils.java similarity index 89% rename from app/src/main/java/com/mjsheng/myappstore/utils/FileUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/FileUtils.java index a74f61d..073cd67 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/FileUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/FileUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import java.io.File; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ForegroundAppUtil.java b/app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/ForegroundAppUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java index 99b9a70..d72156c 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ForegroundAppUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.ActivityManager; import android.app.usage.UsageStats; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/InstallResultReceiver.java b/app/src/main/java/com/aoleyun/sn/utils/InstallResultReceiver.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/utils/InstallResultReceiver.java rename to app/src/main/java/com/aoleyun/sn/utils/InstallResultReceiver.java index 1031241..64943b1 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/InstallResultReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/utils/InstallResultReceiver.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java index 2c1c353..047dcf9 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.annotation.SuppressLint; import android.app.ActivityManager; @@ -28,6 +28,7 @@ import android.util.Log; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.aoleyun.sn.comm.PackageNames; import com.blankj.utilcode.util.FileUtils; import com.blankj.utilcode.util.PathUtils; import com.google.gson.Gson; @@ -39,23 +40,21 @@ import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.action.JGYActions; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.bean.AppListInfo; -import com.mjsheng.myappstore.bean.Appground; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.ForceDownloadData; -import com.mjsheng.myappstore.bean.NetAndLaunchBean; -import com.mjsheng.myappstore.bean.NetAndLaunchData; -import com.mjsheng.myappstore.bean.TTAppground; -import com.mjsheng.myappstore.comm.CommonDatas; -import com.mjsheng.myappstore.service.GuardService; -import com.mjsheng.myappstore.service.LogcatService; -import com.mjsheng.myappstore.service.MainService; -import com.mjsheng.myappstore.service.StepService; - -import org.w3c.dom.Text; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.action.JGYActions; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.bean.AppListInfo; +import com.aoleyun.sn.bean.Appground; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.ForceDownloadData; +import com.aoleyun.sn.bean.NetAndLaunchBean; +import com.aoleyun.sn.bean.NetAndLaunchData; +import com.aoleyun.sn.bean.TTAppground; +import com.aoleyun.sn.comm.CommonDatas; +import com.aoleyun.sn.service.GuardService; +import com.aoleyun.sn.service.LogcatService; +import com.aoleyun.sn.service.MainService; +import com.aoleyun.sn.service.StepService; import java.io.File; import java.io.FileInputStream; @@ -388,27 +387,21 @@ public class JGYUtils { @SuppressLint("NewApi") synchronized public static void setAppNetwork(Context context, HashSet blackList) { Logutils.e(TAG, "setAppNetwork: " + "设置应用联网管控" + blackList); - String dis = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS); - String not = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY); + String dis = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_HR_RECEIVER_JGY_DIS); + String not = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_HR_RECEIVER_JGY); //清除旧数据 if (!TextUtils.isEmpty(dis)) { Logutils.e(TAG, "setAppNetwork: dis = " + dis); - Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS, "Invalid"); + Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HR_RECEIVER_JGY_DIS, "Invalid"); } if (!TextUtils.isEmpty(not)) { Logutils.e(TAG, "setAppNetwork: not = " + not); - Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY, "Invalid"); + Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HR_RECEIVER_JGY, "Invalid"); } - String oldBlackList = (String) SPUtils.get(context, JGYActions.ACTION_HrReceiver_JGY_DIS, ""); + String oldBlackList = (String) SPUtils.get(context, JGYActions.ACTION_HR_RECEIVER_JGY_DIS, ""); HashSet oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackList.split(","))); - oldBlackListSet.removeIf(new Predicate() { - @Override - public boolean test(String s) { - //去空 - return TextUtils.isEmpty(s.trim()); - } - }); + oldBlackListSet.removeIf(s -> TextUtils.isEmpty(s.trim())); //之前禁止上网得列表 Logutils.e(TAG, "setAppNetwork: oldBlackListSet: " + oldBlackListSet); if (oldBlackListSet.size() == 0) { @@ -422,7 +415,7 @@ public class JGYUtils { } else { Log.e(TAG, "setAppNetwork: " + pkg + " 已安装"); } - Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY_DIS); + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HR_RECEIVER_JGY_DIS); netControlNotIntent.putExtra("package_name", pkg); netControlNotIntent.setPackage("com.android.settings"); context.sendBroadcast(netControlNotIntent); @@ -445,7 +438,7 @@ public class JGYUtils { Logutils.e(TAG, "setAppNetwork: addedNet: " + addedNet); for (String pkg : removedNet) { if (TextUtils.isEmpty(pkg)) continue; - Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY); + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HR_RECEIVER_JGY); netControlNotIntent.putExtra("package_name", pkg); netControlNotIntent.setPackage("com.android.settings"); context.sendBroadcast(netControlNotIntent); @@ -458,7 +451,7 @@ public class JGYUtils { } else { Log.e(TAG, "setAppNetwork: " + pkg + " 已安装"); } - Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY_DIS); + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HR_RECEIVER_JGY_DIS); netControlNotIntent.putExtra("package_name", pkg); netControlNotIntent.setPackage("com.android.settings"); context.sendBroadcast(netControlNotIntent); @@ -466,7 +459,7 @@ public class JGYUtils { } String net_not = String.join(",", blackList); - SPUtils.put(context, JGYActions.ACTION_HrReceiver_JGY_DIS, net_not); + SPUtils.put(context, JGYActions.ACTION_HR_RECEIVER_JGY_DIS, net_not); //Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS, net_not); Logutils.e("fht", "not::" + net_not); @@ -481,7 +474,7 @@ public class JGYUtils { @SuppressLint("NewApi") synchronized public void onBootSendNetwork() { - String oldBlackListString = (String) SPUtils.get(mContext, JGYActions.ACTION_HrReceiver_JGY_DIS, ""); + String oldBlackListString = (String) SPUtils.get(mContext, JGYActions.ACTION_HR_RECEIVER_JGY_DIS, ""); HashSet oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackListString.split(","))); Logutils.e(TAG, "setAppNetwork: oldBlackListSet: " + oldBlackListSet); oldBlackListSet.removeIf(new Predicate() { @@ -496,7 +489,7 @@ public class JGYUtils { Log.e(TAG, "setAppNetwork: skip: " + pkg); continue; } - Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY_DIS); + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HR_RECEIVER_JGY_DIS); netControlNotIntent.putExtra("package_name", pkg); netControlNotIntent.setPackage("com.android.settings"); mContext.sendBroadcast(netControlNotIntent); @@ -920,21 +913,18 @@ public class JGYUtils { public void writeAppPackageList(Context context, String packageList) { ApkUtils.addShortcut(context); HashSet packages = new HashSet() {{ - this.add("com.jiaoguanyi.appstore");//设备信息 - this.add("com.jiaoguanyi.store");//教管壹 + this.add(PackageNames.OLD_DEVICE_INFO);//设备信息 + this.add(PackageNames.OLD_APPSTORE);//教管壹 + this.add(PackageNames.DEVICE_INFO); + this.add(PackageNames.APPSTORE); this.add("com.info.sn"); this.add("com.uiuios.jgy1"); this.add("com.uiuios.jgy2"); this.add("com.tt.ttutils"); }}; - HashSet pkgSet = new HashSet(Arrays.asList(packageList.split(","))); + HashSet pkgSet = new HashSet<>(Arrays.asList(packageList.split(","))); pkgSet.addAll(packages); - pkgSet.removeIf(new Predicate() { - @Override - public boolean test(String s) { - return TextUtils.isEmpty(s); - } - }); + pkgSet.removeIf(TextUtils::isEmpty); String qch_app_forbid = String.join(",", pkgSet); Logutils.e(TAG, "writeAppPackageList: " + qch_app_forbid); boolean b = Settings.System.putString(mContext.getContentResolver(), "qch_app_forbid", qch_app_forbid); @@ -984,25 +974,11 @@ public class JGYUtils { } if (app_version_code > appVersionCode) { Logutils.e("fht ", "download URL " + app_url); -// Aria.download(this) -// .load(app_url) //读取下载地址 -// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true) -// .setExtendField(jsonObject.toJSONString()) -// .create(); //启动下载} Utils.ariaDownload(mContext, app_url, jsonObject); } } else { Logutils.e("fht ", "download URL " + app_url); -// if (!SaveListUtils.isDownLoading(app_package)) { -// Aria.download(this) -// .load(app_url) //读取下载地址 -// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true) -// .setExtendField(jsonObject.toJSONString()) -// .create(); //启动下载} Utils.ariaDownload(mContext, app_url, jsonObject); - -// SaveListUtils.addDownLoadList(app_package); -// } } } SaveListUtils.setList(list); @@ -1016,18 +992,12 @@ public class JGYUtils { */ private void getSelfDownload(List forceDownloadDataList) { for (ForceDownloadData forceDownloadData : forceDownloadDataList) { - if ("com.jiaoguanyi.store".equals(forceDownloadData.getApp_package())) { - if (!ApkUtils.isAvailable(mContext, "com.jiaoguanyi.store")) { + if (PackageNames.OLD_APPSTORE.equals(forceDownloadData.getApp_package())) { + if (!ApkUtils.isAvailable(mContext, PackageNames.OLD_APPSTORE)) { JSONObject jsonObject = new JSONObject(); jsonObject.put("app_name", forceDownloadData.getApp_name()); jsonObject.put("app_package", forceDownloadData.getApp_package()); -// Aria.download(this) -// .load(forceDownloadData.getApp_url()) //读取下载地址 -// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString("com.jiaoguanyi.store") + ".apk", true) -// .setExtendField(jsonObject.toJSONString()) -// .create(); //启动下载} Utils.ariaDownload(mContext, forceDownloadData.getApp_url(), jsonObject); - } } else { // Logutils.e("fht", "未上传应用"); @@ -1168,13 +1138,13 @@ public class JGYUtils { //删除用户除了在应用市场的其他应用 public void deleteOtherApp() { - int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0); + int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); if (locked == 1) { return; } Logutils.e(TAG, "deleteOtherApp: " + "start"); //获取后台应用白名单 - String only_jgy_shortcut_list = Settings.System.getString(mContext.getContentResolver(), "only_jgy_shortcut_list"); + String only_jgy_shortcut_list = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); //获取可以被安装的包名 String qch_app_forbid = Settings.System.getString(mContext.getContentResolver(), "qch_app_forbid"); Logutils.e("deleteOtherApp", "only_jgy_shortcut_list:" + only_jgy_shortcut_list); @@ -1200,7 +1170,7 @@ public class JGYUtils { if (ApkUtils.canremove_systemapp.contains(packageName)) { continue; } - if ("com.jiaoguanyi.appstore".equals(packageName) || "com.jiaoguanyi.store".equals(packageName) + if (PackageNames.DEVICE_INFO.equals(packageName) || PackageNames.APPSTORE.equals(packageName) ) { continue; } diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/JsonUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JsonUtils.java similarity index 96% rename from app/src/main/java/com/mjsheng/myappstore/utils/JsonUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/JsonUtils.java index 5e6b533..bf88438 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/JsonUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/JsonUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import java.io.File; import java.io.FileInputStream; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/Logger.java b/app/src/main/java/com/aoleyun/sn/utils/Logger.java similarity index 90% rename from app/src/main/java/com/mjsheng/myappstore/utils/Logger.java rename to app/src/main/java/com/aoleyun/sn/utils/Logger.java index 0a4b3ff..b1cc178 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/Logger.java +++ b/app/src/main/java/com/aoleyun/sn/utils/Logger.java @@ -1,8 +1,8 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.util.Log; -import com.mjsheng.myappstore.BuildConfig; +import com.aoleyun.sn.BuildConfig; /** * Created by efan on 2017/4/13. diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/Logutils.java b/app/src/main/java/com/aoleyun/sn/utils/Logutils.java similarity index 88% rename from app/src/main/java/com/mjsheng/myappstore/utils/Logutils.java rename to app/src/main/java/com/aoleyun/sn/utils/Logutils.java index c507911..3e057e9 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/Logutils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/Logutils.java @@ -1,9 +1,7 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.util.Log; -import com.mjsheng.myappstore.BuildConfig; - public class Logutils { // private final static boolean debug = BuildConfig.DEBUG; private final static boolean debug = true; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/MySQLData.java b/app/src/main/java/com/aoleyun/sn/utils/MySQLData.java similarity index 82% rename from app/src/main/java/com/mjsheng/myappstore/utils/MySQLData.java rename to app/src/main/java/com/aoleyun/sn/utils/MySQLData.java index 7e307d3..513e79f 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/MySQLData.java +++ b/app/src/main/java/com/aoleyun/sn/utils/MySQLData.java @@ -1,13 +1,13 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; -import com.mjsheng.myappstore.comm.CommonDatas; -import com.mjsheng.myappstore.database.DBHelper; -import com.mjsheng.myappstore.database.DBSqlBuilder; +import com.aoleyun.sn.comm.CommonDatas; +import com.aoleyun.sn.database.DBHelper; +import com.aoleyun.sn.database.DBSqlBuilder; import java.util.ArrayList; import java.util.List; @@ -143,42 +143,6 @@ public class MySQLData { } } - @SuppressWarnings("static-access") - public static String GetData(Context context, String key) { - String value = ""; - DBHelper helper = new DBHelper(context); - Cursor cursor = null; - try { - String sql = "select * from " + DBSqlBuilder.APPLICATION_MESSAGE - + " where file_name='" + key + "' order by _id asc"; - cursor = helper.getCursorBySql(sql); - while (cursor.moveToNext()) { - String a = cursor.getString(cursor.getColumnIndex("file_name")); - value = cursor.getString(cursor.getColumnIndex("key")); - } - if (cursor != null) { - cursor.close(); - } - helper.close(); - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (cursor != null) { - cursor.close(); - } - } - if (key.equals(CommonDatas.SP_PARENT_PASSWORD) && (value == null || value.equals(""))){ - value = "0000"; - SetData(context, CommonDatas.SP_PARENT_PASSWORD,"0000"); - } - if (key.equals(CommonDatas.SP_BABY_AGE_KEY) && (value == null || value.equals(""))){ - value = "3"; - SetData(context,CommonDatas.SP_BABY_AGE_KEY,"3"); - } - return value; - } - - public static int GetIntData(Context context, String key) { int value = -1; String key_date = ""; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/NetworkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java similarity index 96% rename from app/src/main/java/com/mjsheng/myappstore/utils/NetworkUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java index 2a2946c..08f336a 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/NetworkUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ProcessUtil.java b/app/src/main/java/com/aoleyun/sn/utils/ProcessUtil.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/utils/ProcessUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/ProcessUtil.java index 575d356..5630e4e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ProcessUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ProcessUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.ActivityManager; import android.app.Application; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/SPUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SPUtils.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/utils/SPUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/SPUtils.java index b4f8ae7..766a325 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SPUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/SPUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.content.SharedPreferences; @@ -8,7 +8,7 @@ import android.graphics.drawable.BitmapDrawable; import android.util.Base64; import android.widget.ImageView; -import com.mjsheng.myappstore.comm.CommonDatas; +import com.aoleyun.sn.comm.CommonDatas; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -16,13 +16,6 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; -/** - * 作者 mjsheng - * 日期 2018/10/9 18:41 - * 邮箱 501802639@qq.com - * 来自: - */ - public class SPUtils { /** * 保存在手机里面的文件名 diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/SaveListUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SaveListUtils.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/utils/SaveListUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/SaveListUtils.java index b86e8c5..be3f37c 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SaveListUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/SaveListUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.provider.Settings; @@ -6,7 +6,7 @@ import android.provider.Settings; import com.blankj.utilcode.util.SPStaticUtils; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; -import com.mjsheng.myappstore.comm.CommonDatas; +import com.aoleyun.sn.comm.CommonDatas; import java.lang.reflect.Type; import java.util.ArrayList; @@ -23,7 +23,6 @@ public class SaveListUtils { Type listType = new TypeToken>() { }.getType(); List list = gson.fromJson(data, listType); -// Logutils.e("mjshenglist1", list.toString()); if (list != null && list.size() > 0) { Logutils.e("fht", "getList:" + list.toString()); } else { @@ -34,8 +33,6 @@ public class SaveListUtils { public static void addToList(String data) { List list = getList(); -// Logutils.e("mjshenglist2", list.toString()); - if (list == null) { list = new ArrayList<>(); } diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ServiceAliveUtils.java b/app/src/main/java/com/aoleyun/sn/utils/ServiceAliveUtils.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/utils/ServiceAliveUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/ServiceAliveUtils.java index 8207853..3d84cc8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ServiceAliveUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ServiceAliveUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.ActivityManager; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/SpacesItemDecoration.java b/app/src/main/java/com/aoleyun/sn/utils/SpacesItemDecoration.java similarity index 97% rename from app/src/main/java/com/mjsheng/myappstore/utils/SpacesItemDecoration.java rename to app/src/main/java/com/aoleyun/sn/utils/SpacesItemDecoration.java index aee971c..6ddce63 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SpacesItemDecoration.java +++ b/app/src/main/java/com/aoleyun/sn/utils/SpacesItemDecoration.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.graphics.Rect; import androidx.recyclerview.widget.RecyclerView; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/StatusBarUtil.java b/app/src/main/java/com/aoleyun/sn/utils/StatusBarUtil.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/StatusBarUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/StatusBarUtil.java index ca65a44..285acbb 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/StatusBarUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/StatusBarUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java index 2f2c910..fcd8941 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.annotation.SuppressLint; import android.app.StatusBarManager; @@ -8,13 +8,12 @@ import android.content.Intent; import android.os.Build; import android.provider.Settings; 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.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.action.JGYActions; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.action.JGYActions; import java.util.ArrayList; import java.util.List; @@ -51,7 +50,7 @@ public class SysSettingUtils { setCanReset(context, jsonObject); setAutoTime(context, jsonObject); JSONObject navJson = jsonObject.getJSONObject("setting_nav"); - SPUtils.put(context, JGYActions.ACTION_StatusBar_STATUS, jsonObject.getJSONObject("setting_nav").toJSONString()); + SPUtils.put(context, JGYActions.ACTION_STATUS_BAR_STATUS, jsonObject.getJSONObject("setting_nav").toJSONString()); setStatusBar(context, navJson); setBrowserInput(context, jsonObject); //otg开关 diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/SystemUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SystemUtils.java similarity index 95% rename from app/src/main/java/com/mjsheng/myappstore/utils/SystemUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/SystemUtils.java index 37cd640..fe3d67c 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SystemUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/SystemUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.ActivityManager; import android.content.Context; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/TimeUtils.java b/app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java similarity index 98% rename from app/src/main/java/com/mjsheng/myappstore/utils/TimeUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java index 9d765b5..b87e020 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/TimeUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.content.Intent; @@ -8,7 +8,7 @@ import androidx.annotation.NonNull; import android.text.TextUtils; -import com.mjsheng.myappstore.service.MainService; +import com.aoleyun.sn.service.MainService; import java.text.DateFormat; import java.text.ParseException; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ToastUtil.java b/app/src/main/java/com/aoleyun/sn/utils/ToastUtil.java similarity index 93% rename from app/src/main/java/com/mjsheng/myappstore/utils/ToastUtil.java rename to app/src/main/java/com/aoleyun/sn/utils/ToastUtil.java index bf1b4e1..6e4da4a 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ToastUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ToastUtil.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.annotation.SuppressLint; import android.content.Context; @@ -7,13 +7,10 @@ import android.os.Build; import android.os.Handler; import android.os.Looper; import android.util.Log; -import android.view.Gravity; import android.widget.Toast; -import com.blankj.utilcode.util.ColorUtils; import com.blankj.utilcode.util.ToastUtils; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.R; +import com.aoleyun.sn.BuildConfig; /** diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java b/app/src/main/java/com/aoleyun/sn/utils/URLUtils.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/URLUtils.java index 535783b..1f0e23d 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/URLUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.content.Context; import android.os.Build; @@ -12,7 +12,6 @@ import java.net.URI; import java.util.Arrays; import java.util.HashSet; import java.util.concurrent.TimeUnit; -import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/Utils.java b/app/src/main/java/com/aoleyun/sn/utils/Utils.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/Utils.java rename to app/src/main/java/com/aoleyun/sn/utils/Utils.java index 7158345..83ab965 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/Utils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.annotation.SuppressLint; import android.app.ActivityManager; @@ -56,10 +56,10 @@ import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; -import com.mjsheng.myappstore.BuildConfig; -import com.mjsheng.myappstore.R; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.comm.CommonDatas; +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.R; +import com.aoleyun.sn.base.BaseApplication; +import com.aoleyun.sn.comm.CommonDatas; import java.io.BufferedReader; import java.io.DataOutputStream; diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/XAPKUtils.java b/app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java similarity index 99% rename from app/src/main/java/com/mjsheng/myappstore/utils/XAPKUtils.java rename to app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java index dd1a1d4..8a8fb27 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/XAPKUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java @@ -1,4 +1,4 @@ -package com.mjsheng.myappstore.utils; +package com.aoleyun.sn.utils; import android.app.PendingIntent; import android.content.Context; @@ -16,8 +16,8 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; -import com.mjsheng.myappstore.bean.Expansions; -import com.mjsheng.myappstore.bean.SplitApks; +import com.aoleyun.sn.bean.Expansions; +import com.aoleyun.sn.bean.SplitApks; import org.zeroturnaround.zip.ZipUtil; diff --git a/app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java b/app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java deleted file mode 100644 index 4605b84..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.mjsheng.myappstore.action; - -public class JGYActions { - //应用管理-允许联网 - public final static String ACTION_HrReceiver_JGY = "qch_jgy_network_allow"; - //应用管理-禁止联网 - public final static String ACTION_HrReceiver_JGY_DIS = "qch_jgy_network_disallow"; - // - public final static String ACTION_StatusBar_STATUS = "jgy_statusbar_status"; - -} diff --git a/app/src/main/java/com/mjsheng/myappstore/base/BaseView.java b/app/src/main/java/com/mjsheng/myappstore/base/BaseView.java deleted file mode 100644 index 0d85d1e..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/base/BaseView.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.mjsheng.myappstore.base; - -public interface BaseView { -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/AppInfo.java b/app/src/main/java/com/mjsheng/myappstore/bean/AppInfo.java deleted file mode 100644 index c4e978e..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/AppInfo.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import android.graphics.drawable.Drawable; - -import java.io.Serializable; - -public class AppInfo implements Serializable { - - public boolean LOCAL_APP = false; - public boolean STORE_APP = false; - public String TAG = ""; - private String appName; - private String packageName; - private Drawable icon; - private String category; - private String sub_category; - private String version; - private long appSize; - private String dataDir; - - - public String getDataDir() { - return dataDir; - } - - public void setDataDir(String dataDir) { - this.dataDir = dataDir; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public long getAppSize() { - return appSize; - } - - public void setAppSize(long appSize) { - this.appSize = appSize; - } - - public String getCategory() { - return category; - } - - public void setCategory(String category) { - this.category = category; - } - - public String getSub_category() { - return sub_category; - } - - public void setSub_category(String sub_category) { - this.sub_category = sub_category; - } - - public boolean isSTORE_APP() { - return STORE_APP; - } - - public String getTAG() { - return TAG; - } - - public void setTAG(String TAG) { - this.TAG = TAG; - } - - - public String getAppName() { - return appName; - } - - public void setAppName(String appName) { - this.appName = appName; - } - - public String getPackageName() { - return packageName; - } - - public void setPackageName(String packageName) { - this.packageName = packageName; - } - - public Drawable getIcon() { - return icon; - } - - public void setIcon(Drawable draIcon) { - this.icon = draIcon; - } - - public boolean equals(Object obj) { - if (this == obj) //传入的对象就是它自己,如s.equals(s);肯定是相等的; - return true; - if (obj == null) //如果传入的对象是空,肯定不相等 - return false; - if (getClass() != obj.getClass()) //如果不是同一个类型的,如Studnet类和Animal类, - //也不用比较了,肯定是不相等的 - return false; - AppInfo other = (AppInfo) obj; - if (appName == null) { - if (other.appName != null) - return false; - } else if (!appName.equals(other.appName)) //如果name属性相等,则相等 - return false; - return true; - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/CommonPicBean.java b/app/src/main/java/com/mjsheng/myappstore/bean/CommonPicBean.java deleted file mode 100644 index 0d3f470..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/CommonPicBean.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.util.List; - -/** - * 作者 mjsheng - * 日期 2019/3/18 16:39 - * 邮箱 501802639@qq.com - * 来自: - */ - -public class CommonPicBean { - - /** - * code : 200 - * msg : 成功 - * data : [{"id":1,"name":"一年级专题1","img":"http://www.jiaoguanyi.cn/uploads/img/20180822323891a7a3268c5675c243d3d310a8f8.png","createtime":1534921712,"status":"normal","admin_id":3,"batch":"72,163"},{"id":2,"name":"一年级专题2","img":"http://www.jiaoguanyi.cn/uploads/img/20180822b46625d2bb1f265fd3fcb5baaf4a4f30.png","createtime":1534921740,"status":"normal","admin_id":3,"batch":"72,163"},{"id":3,"name":"二年级专题1","img":"http://www.jiaoguanyi.cn/uploads/img/20180822323891a7a3268c5675c243d3d310a8f8.png","createtime":1534921761,"status":"normal","admin_id":3,"batch":"73,163"},{"id":4,"name":"二年级专题2","img":"http://www.jiaoguanyi.cn/uploads/img/20180822b46625d2bb1f265fd3fcb5baaf4a4f30.png","createtime":1534921780,"status":"normal","admin_id":3,"batch":"163"}] - */ - - private int code; - private String msg; - private List data; - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - @Override - public String toString() { - return "CommonPicBean{" + - "code=" + code + - ", msg='" + msg + '\'' + - ", data=" + data + - '}'; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/CommonPicData.java b/app/src/main/java/com/mjsheng/myappstore/bean/CommonPicData.java deleted file mode 100644 index db4c331..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/CommonPicData.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.mjsheng.myappstore.bean; - -/** - * 作者 mjsheng - * 日期 2019/3/18 16:39 - * 邮箱 501802639@qq.com - * 来自: - */ - -public class CommonPicData { - - private String id; - private String name; - private String img; - private int createtime; - private String status; - private int admin_id; - private String batch; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getImg() { - return img; - } - - public void setImg(String img) { - this.img = img; - } - - public int getCreatetime() { - return createtime; - } - - public void setCreatetime(int createtime) { - this.createtime = createtime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public int getAdmin_id() { - return admin_id; - } - - public void setAdmin_id(int admin_id) { - this.admin_id = admin_id; - } - - public String getBatch() { - return batch; - } - - public void setBatch(String batch) { - this.batch = batch; - } - - @Override - public String toString() { - return "CommonPicData{" + - "id=" + id + - ", name='" + name + '\'' + - ", img='" + img + '\'' + - ", createtime=" + createtime + - ", status='" + status + '\'' + - ", admin_id=" + admin_id + - ", batch='" + batch + '\'' + - '}'; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/Convert.java b/app/src/main/java/com/mjsheng/myappstore/bean/Convert.java deleted file mode 100644 index bd80ac4..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/Convert.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import com.google.gson.Gson; -import com.google.gson.JsonIOException; -import com.google.gson.JsonSyntaxException; -import com.google.gson.stream.JsonReader; - -import java.io.Reader; -import java.lang.reflect.Type; - -public class Convert { - - private static Gson create() { - return Convert.GsonHolder.gson; - } - - public static T fromJson(String json, Class type) throws JsonIOException, JsonSyntaxException { - return create().fromJson(json, type); - } - - public static T fromJson(String json, Type type) { - return create().fromJson(json, type); - } - - public static T fromJson(JsonReader reader, Type typeOfT) throws JsonIOException, JsonSyntaxException { - return create().fromJson(reader, typeOfT); - } - - public static T fromJson(Reader json, Class classOfT) throws JsonSyntaxException, JsonIOException { - return create().fromJson(json, classOfT); - } - - public static T fromJson(Reader json, Type typeOfT) throws JsonIOException, JsonSyntaxException { - return create().fromJson(json, typeOfT); - } - - public static String toJson(Object src) { - return create().toJson(src); - } - - public static String toJson(Object src, Type typeOfSrc) { - return create().toJson(src, typeOfSrc); - } - - private static class GsonHolder { - private static Gson gson = new Gson(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/Desktop.java b/app/src/main/java/com/mjsheng/myappstore/bean/Desktop.java deleted file mode 100644 index 34f8053..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/Desktop.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.io.Serializable; - -public class Desktop implements Serializable { - private static final long serialVersionUID = 8747792657698028628L; - private String app_name; - private String app_url; - private String app_package; - private String app_version_code; - - public String getApp_name() { - return app_name; - } - - public void setApp_name(String app_name) { - this.app_name = app_name; - } - - public String getApp_url() { - return app_url; - } - - public void setApp_url(String app_url) { - this.app_url = app_url; - } - - public String getApp_package() { - return app_package; - } - - public void setApp_package(String app_package) { - this.app_package = app_package; - } - - public String getApp_version_code() { - return app_version_code; - } - - public void setApp_version_code(String app_version_code) { - this.app_version_code = app_version_code; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/FileData.java b/app/src/main/java/com/mjsheng/myappstore/bean/FileData.java deleted file mode 100644 index 60c73bd..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/FileData.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.io.Serializable; - -public class FileData implements Serializable { - private String filePath; - private String packageName; - - public FileData(String f, String p) { - this.filePath = f; - this.packageName = p; - } - - public String getFilePath() { - return filePath; - } - - public void setFilePath(String filePath) { - this.filePath = filePath; - } - - public String getPackageName() { - return packageName; - } - - public void setPackageName(String packageName) { - this.packageName = packageName; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/ForceDownloadBean.java b/app/src/main/java/com/mjsheng/myappstore/bean/ForceDownloadBean.java deleted file mode 100644 index 31e8ebd..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/ForceDownloadBean.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.util.List; - -/** - * 作者 mjsheng - * 日期 2019/3/18 16:39 - * 邮箱 501802639@qq.com - * 来自: - */ - -public class ForceDownloadBean { - - /** - * code : 200 - * msg : 成功 - * data : [{"app_package":"com.mjsheng.news.mycode","app_url":"http://www.jiaoguanyi.cn/uploads/app/201904130fd094df594665b591d28a29185c61c0.apk"},{"app_package":"com.schoolcurriculum.app1","app_url":"http://www.jiaoguanyi.cn/uploads/app/20190418e424591316f14dc41f94ea18740a361c.apk"}] - */ - - private int code; - private String msg; - - private T data; - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public T getData() { - return data; - } - - public void setData(T data) { - this.data = data; - } - - @Override - public String toString() { - return "ForceDownloadBean{" + - "code=" + code + - ", msg='" + msg + '\'' + - ", data=" + data + - '}'; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/JsonCallback.java b/app/src/main/java/com/mjsheng/myappstore/bean/JsonCallback.java deleted file mode 100644 index b416a21..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/JsonCallback.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import com.google.gson.stream.JsonReader; -import com.lzy.okgo.callback.AbsCallback; -import com.lzy.okgo.request.BaseRequest; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - -import okhttp3.Call; -import okhttp3.Response; - -/** - * ================================================ - * 作 者:廖子尧 - * 版 本:1.0 - * 创建日期:2016/1/14 - * 描 述:默认将返回的数据解析成需要的Bean,可以是 BaseBean,String,List,Map - * 修订历史: - * - - * - - * - - * - - * -我的注释都已经写的不能再多了,不要再来问我怎么获取数据对象,怎么解析集合数据了,你只要会 gson ,就会解析 - * - - * -如果你对这里的代码原理不清楚,可以看这里的详细原理说明:https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md - * -如果你对这里的代码原理不清楚,可以看这里的详细原理说明:https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md - * -如果你对这里的代码原理不清楚,可以看这里的详细原理说明:https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md - * - - * - - * - - * ================================================ - */ -public abstract class JsonCallback extends AbsCallback { - - @Override - public void onBefore(BaseRequest request) { - super.onBefore(request); - // 主要用于在所有请求之前添加公共的请求头或请求参数 - // 例如登录授权的 token - // 使用的我的设备 - // 可以随意添加,也可以什么都不传 - // 还可以在这里对所有的参数进行加密,均在这里实现 -// request.headers("header1", "HeaderValue1")// -// .params("params1", "ParamsValue1")// -// .params("token", "3215sdf13ad1f65asd4f3ads1f"); - } - - /** - * 该方法是子线程处理,不能做ui相关的工作 - * 主要作用是解析网络返回的 response 对象,生产onSuccess回调中需要的数据对象 - * 这里的解析工作不同的业务逻辑基本都不一样,所以需要自己实现,以下给出的时模板代码,实际使用根据需要修改 - *
-     * OkGo.get(Urls.URL_METHOD)//
-     *     .tag(this)//
-     *     .execute(new DialogCallback>(this) {
-     *          @Override
-     *          public void onSuccess(LzyResponse responseData, Call call, Response response) {
-     *              handleResponse(responseData.data, call, response);
-     *          }
-     *     });
-     * 
- */ - @Override - public T convertSuccess(Response response) throws Exception { - - // 重要的事情说三遍,不同的业务,这里的代码逻辑都不一样,如果你不修改,那么基本不可用 - // 重要的事情说三遍,不同的业务,这里的代码逻辑都不一样,如果你不修改,那么基本不可用 - // 重要的事情说三遍,不同的业务,这里的代码逻辑都不一样,如果你不修改,那么基本不可用 - - // 如果你对这里的代码原理不清楚,可以看这里的详细原理说明:https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md - // 如果你对这里的代码原理不清楚,可以看这里的详细原理说明:https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md - // 如果你对这里的代码原理不清楚,可以看这里的详细原理说明:https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md - - //以下代码是通过泛型解析实际参数,泛型必须传 - //这里为了方便理解,假如请求的代码按照上述注释文档中的请求来写,那么下面分别得到是 - - //com.lzy.demo.callback.DialogCallback> 得到类的泛型,包括了泛型参数 - Type genType = getClass().getGenericSuperclass(); - //从上述的类中取出真实的泛型参数,有些类可能有多个泛型,所以是数值 - Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); - //我们的示例代码中,只有一个泛型,所以取出第一个,得到如下结果 - //com.lzy.demo.model.LzyResponse - Type type = params[0]; - - // 这里这么写的原因是,我们需要保证上面我解析到的type泛型,仍然还具有一层参数化的泛型,也就是两层泛型 - // 如果你不喜欢这么写,不喜欢传递两层泛型,那么以下两行代码不用写,并且javabean按照 - // https://github.com/jeasonlzy/okhttp-OkGo/blob/master/README_JSONCALLBACK.md 这里的第一种方式定义就可以实现 - if (!(type instanceof ParameterizedType)) throw new IllegalStateException("没有填写泛型参数"); - //如果确实还有泛型,那么我们需要取出真实的泛型,得到如下结果 - //class com.lzy.demo.model.LzyResponse - //此时,rawType的类型实际上是 class,但 Class 实现了 Type 接口,所以我们用 Type 接收没有问题 - Type rawType = ((ParameterizedType) type).getRawType(); - //这里获取最终内部泛型的类型 com.lzy.demo.model.ServerModel - Type typeArgument = ((ParameterizedType) type).getActualTypeArguments()[0]; - - //这里我们既然都已经拿到了泛型的真实类型,即对应的 class ,那么当然可以开始解析数据了,我们采用 Gson 解析 - //以下代码是根据泛型解析数据,返回对象,返回的对象自动以参数的形式传递到 onSuccess 中,可以直接使用 - JsonReader jsonReader = new JsonReader(response.body().charStream()); - if (typeArgument == Void.class) { - //无数据类型,表示没有data数据的情况(以 new DialogCallback>(this) 以这种形式传递的泛型) - SimpleResponse simpleResponse = Convert.fromJson(jsonReader, SimpleResponse.class); - response.close(); - //noinspection unchecked - return (T) simpleResponse.toLzyResponse(); - } else if (rawType == LzyResponse.class) { - //有数据类型,表示有data - LzyResponse lzyResponse = Convert.fromJson(jsonReader, type); - response.close(); - int code = lzyResponse.code; - //这里的0是以下意思 - //一般来说服务器会和客户端约定一个数表示成功,其余的表示失败,这里根据实际情况修改 - if (code == 0) { - //noinspection unchecked - return (T) lzyResponse; - } else if (code == 200) { - return (T) lzyResponse; - } else if (code == 104) { - //比如:用户授权信息无效,在此实现相应的逻辑,弹出对话或者跳转到其他页面等,该抛出错误,会在onError中回调。 - throw new IllegalStateException("用户授权信息无效"); - } else if (code == 105) { - //比如:用户收取信息已过期,在此实现相应的逻辑,弹出对话或者跳转到其他页面等,该抛出错误,会在onError中回调。 - throw new IllegalStateException("用户收取信息已过期"); - } else if (code == 106) { - //比如:用户账户被禁用,在此实现相应的逻辑,弹出对话或者跳转到其他页面等,该抛出错误,会在onError中回调。 - throw new IllegalStateException("用户账户被禁用"); - } else if (code == 300) { - //比如:其他乱七八糟的等,在此实现相应的逻辑,弹出对话或者跳转到其他页面等,该抛出错误,会在onError中回调。 - throw new IllegalStateException("其他乱七八糟的等"); - } else { - throw new IllegalStateException("错误代码:" + code + ",错误信息:" + lzyResponse.message); - } - } else { - response.close(); - throw new IllegalStateException("基类错误无法解析!"); - } - } - - - - - @Override - public void onCacheSuccess(T t, Call call) { - onSuccess(t, call, null); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/LzyResponse.java b/app/src/main/java/com/mjsheng/myappstore/bean/LzyResponse.java deleted file mode 100644 index cf6f5ae..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/LzyResponse.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.io.Serializable; - - -public class LzyResponse implements Serializable { - - private static final long serialVersionUID = 5213230387175987834L; - - public int code; - public String message; - public T data; -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/ProjectPicBean.java b/app/src/main/java/com/mjsheng/myappstore/bean/ProjectPicBean.java deleted file mode 100644 index 2d72c0b..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/ProjectPicBean.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.util.List; - -/** - * 作者 mjsheng - * 日期 2018/9/14 10:50 - * 邮箱 501802639@qq.com - * 来自: - */ - -public class ProjectPicBean { - private int code; - private String msg; - private List data; - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - @Override - public String toString() { - return "ProjectPicBean{" + - "code=" + code + - ", msg='" + msg + '\'' + - ", data=" + data + - '}'; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/SearchBean.java b/app/src/main/java/com/mjsheng/myappstore/bean/SearchBean.java deleted file mode 100644 index 1b0741f..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/SearchBean.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.mjsheng.myappstore.bean; - -public class SearchBean { - private String category; - private int search_time; - - public String getCategory() { - return category; - } - - public void setCategory(String category) { - this.category = category; - } - - public int getSearch_time() { - return search_time; - } - - public void setSearch_time(int search_time) { - this.search_time = search_time; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/SimpleResponse.java b/app/src/main/java/com/mjsheng/myappstore/bean/SimpleResponse.java deleted file mode 100644 index 460f234..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/SimpleResponse.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.mjsheng.myappstore.bean; - -import java.io.Serializable; - -public class SimpleResponse implements Serializable { - - private static final long serialVersionUID = -1477609349345966116L; - - public int code; - public String message; - - public LzyResponse toLzyResponse() { - LzyResponse lzyResponse = new LzyResponse(); - lzyResponse.code = code; - lzyResponse.message = message; - return lzyResponse; - } -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/SystemSetBean.java b/app/src/main/java/com/mjsheng/myappstore/bean/SystemSetBean.java deleted file mode 100644 index bd6bc2f..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/SystemSetBean.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.mjsheng.myappstore.bean; - -/** - * 作者 mjsheng - * 日期 2018/9/12 11:09 - * 邮箱 501802639@qq.com - * 来自: - */ - -public class SystemSetBean { - private String setting_phone; - private String setting_memory; - private String setting_usb; - private String setting_bluetooth; - private String setting_navigation; - private String setting_statusbar; - private String setting_phones; -} diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/SystemSettingBean.java b/app/src/main/java/com/mjsheng/myappstore/bean/SystemSettingBean.java deleted file mode 100644 index f5c5d06..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/bean/SystemSettingBean.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.mjsheng.myappstore.bean; - -/** - * 作者 mjsheng - * 日期 2018/9/18 14:06 - * 邮箱 501802639@qq.com - * 来自: - */ - -public class SystemSettingBean { - - /** - * code : 200 - * msg : 成功 - * data : {"id":11,"bids":"113,114","admin_id":15,"createtime":1546495107,"setting_call":0,"setting_memory":1,"setting_usb":"usb_midi","setting_bluetooth":1,"setting_navigation":1,"setting_statusbar":0,"setting_phones":"13544273922","setting_phone":1,"status":"normal"} - */ - - private int code; - private String msg; - private SystemSettingData data; - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public SystemSettingData getData() { - return data; - } - - public void setData(SystemSettingData data) { - this.data = data; - } - - @Override - public String toString() { - return "SystemSettingBean{" + - "code=" + code + - ", msg='" + msg + '\'' + - ", data=" + data + - '}'; - } -} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java deleted file mode 100644 index 1e78131..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java +++ /dev/null @@ -1,1360 +0,0 @@ -package com.mjsheng.myappstore.network; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.os.Build; -import android.os.Handler; -import android.os.Message; -import android.os.SystemClock; -import android.provider.Settings; -import android.text.TextUtils; - - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONException; -import com.alibaba.fastjson.JSONObject; -import com.arialyy.aria.core.Aria; -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.reflect.TypeToken; -import com.mjsheng.myappstore.base.BaseApplication; -import com.mjsheng.myappstore.bean.AppListInfo; -import com.mjsheng.myappstore.bean.BrowserBookmarks; -import com.mjsheng.myappstore.bean.BrowserData; -import com.mjsheng.myappstore.bean.ForceDownloadBean; -import com.mjsheng.myappstore.bean.ForceDownloadData; -import com.mjsheng.myappstore.utils.CacheUtils; -import com.mjsheng.myappstore.utils.JGYUtils; -import com.mjsheng.myappstore.utils.Logutils; -import com.mjsheng.myappstore.utils.URLUtils; -import com.lzy.okgo.OkGo; -import com.lzy.okgo.callback.StringCallback; -import com.mjsheng.myappstore.bean.Appground; -import com.mjsheng.myappstore.bean.BaseResponse; -import com.mjsheng.myappstore.bean.NetAndLaunchBean; -import com.mjsheng.myappstore.jpush.TagAliasOperatorHelper; -import com.mjsheng.myappstore.manager.NetInterfaceManager; -import com.mjsheng.myappstore.network.api.newapi.SnTimeControl; -import com.mjsheng.myappstore.network.api.newapi.TopAppControlApi; -import com.mjsheng.myappstore.network.api.newapi.UpdateDeviceInfoApi; -import com.mjsheng.myappstore.service.MainService; -import com.mjsheng.myappstore.utils.ApkUtils; -import com.mjsheng.myappstore.utils.ForegroundAppUtil; -import com.mjsheng.myappstore.utils.Logger; -import com.mjsheng.myappstore.utils.SPUtils; -import com.mjsheng.myappstore.utils.TimeUtils; -import com.mjsheng.myappstore.utils.Utils; -import com.trello.rxlifecycle2.LifecycleProvider; -import com.trello.rxlifecycle2.android.ActivityEvent; - -import java.io.IOException; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -import io.reactivex.Observer; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.annotations.NonNull; -import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; -import okhttp3.Call; -import okhttp3.Response; -import okhttp3.ResponseBody; - -import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.ACTION_SET; -import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.sequence; - -public class HTTPInterface { - private static final String TAG = HTTPInterface.class.getSimpleName(); -// //获取我的设备接口 -// public static synchronized void checkDevicesInfo(final Handler handler) { -// OkGo.post(UrlPath.SNINFO) -// .params("sn", Utils.getSn()) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, okhttp3.Response response) { -// Logutils.e("onSuccess", "checkDevicesInfo"); -// try { -// JSONObject bodyObject = JSON.parseObject(s); -// Integer code = (bodyObject.getInteger("code")); -// String msg = bodyObject.getString("msg"); -// String data = bodyObject.getString("data"); -// UserInfo userInfo = JSON.parseObject(data, UserInfo.class); -// Message message = new Message(); -// message.obj = userInfo; -// if (code == 200) { -// message.what = 1; -// handler.sendMessage(message); -// } else if (code == -200) { -// message.what = 0; -// handler.sendMessage(message); -// } else if (code == -250) { -// ToastUtil.show(msg); -// handler.sendEmptyMessage(2); -// //设备验证 -// } -// } catch (Exception ex) { -// Logutils.e("checkDevicesInfo", ex.getMessage()); -// } -// } -// -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// Logutils.e("onError", e.getMessage()); -// -// } -// -// -// }); -// } -// -// @RequiresApi(api = Build.VERSION_CODES.N) -// public static void sendTimeLog(final Handler handler, UserInfo userInfo, String appname, int status, long time) { -// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// Date date = new Date(System.currentTimeMillis()); -// String times = simpleDateFormat.format(date); -// OkGo.post(UrlPath.APPLOG) -// .params("sn", Utils.getSerial()) -// .params("app_name", appname) -// .params("use_time", time) -// .params("status", status) -// .params("createtime", times) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, okhttp3.Response response) { -// Logutils.e("onSuccess", "sendTimeLog"); -// try { -// JSONObject bodyObject = JSON.parseObject(s); -// Logutils.e("onSuccess", bodyObject.toString()); -// -// Integer code = (bodyObject.getInteger("code")); -// String msg = bodyObject.getString("msg"); -// String data = bodyObject.getString("data"); -// UserInfo userInfo = JSON.parseObject(data, UserInfo.class); -// Message message = new Message(); -// message.obj = userInfo; -// if (code == 200) { -// -// } else if (code == -200) { -// -// } else if (code == -250) { -// -// } -// } catch (Exception ex) { -// Logutils.e("checkDevicesInfo", ex.getMessage()); -// } -// } -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// Logutils.e("onError", e.getMessage()); -// -// } -// -// }); -// } -// -// synchronized public static void checkUpdateByPackage(final Handler handler, String packageName, String versionCode) { -// OkGo.post(UrlPath.GET_APP_UPDATE) -// .params("code", versionCode) -// .params("package", packageName) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, okhttp3.Response response) { -// try { -// JSONObject body = JSON.parseObject(s); -// int code = body.getInteger("code"); -// String msg = body.getString("msg"); -// if (code == 200) { -// Message message = new Message(); -// JSONObject data = JSON.parseObject(body.getString("data")); -// if (data != null) { -// String url = data.getString("downloadurl"); -// String newversion = data.getString("newversion"); -// String content = data.getString("content"); -// message.what = 200; -// Bundle bundle = new Bundle(); -// bundle.putString("url", url); -// bundle.putString("versionCode", newversion); -// bundle.putString("content", content); -// message.obj = bundle; -// } else { -// message.what = -200; -// } -// handler.sendMessage(message); -// Logutils.e("checkUpdateByPackage", msg); -// } else { -// Logutils.e("checkUpdateByPackage", msg); -// } -// } catch (Exception e) { -// Logutils.e("checkUpdateByPackage", e.getMessage()); -// } -// } -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// Logutils.e("onError", e.getMessage()); -// -// } -// }); -// } -// -// synchronized public static void setAppuninstallInfo(String sn_id, String packageName) { -// OkGo.post(UrlPath.SET_APP_UNINSTALL_INFO) -// .params("sn_id", sn_id) -// .params("package", packageName) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, okhttp3.Response response) { -// JSONObject object = JSON.parseObject(s); -// int code = object.getInteger("code"); -// String msg = object.getString("msg"); -// Logutils.e("setAppinstallInfo", msg); -// if (code == 200) { -// -// } else { -// -// } -// } -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// Logutils.e("onError", e.getMessage()); -// -// } -// }); -// -// } -// -// synchronized public static void sendStartTime(Context context, long startTime, String packageName, int battery, String random) { -// String sn_id = (String) SPUtils.get(context, "sn_id", "-1"); -// String member_id = (String) SPUtils.get(context, "member_id", "-1"); -// OkGo.post(UrlPath.SEND_RUNINGAPPINFO) -// .params("start_time", startTime) -// .params("package", packageName) -// .params("battery", battery) -// .params("member_id", member_id) -// .params("sn_id", sn_id) -// .params("random", random) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, okhttp3.Response response) { -// String body = s; -// Logutils.e("sendStartTime", body); -// } -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// Logutils.e("onError", e.getMessage()); -// -// } -// }); -// } -// -// synchronized public static void getDriveState(String member_id, String sn_id) { -// -// OkGo.post(UrlPath.SEND_DRIVE_STATE) -// .params("member_id", member_id) -// .params("sn_id", sn_id) -// .params("status", 1) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, okhttp3.Response response) { -// -// } -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// Logutils.e("onError", e.getMessage()); -// -// } -// }); -// } - - synchronized public static void checkUpdate(final Handler handler, String packageName) { - OkGo.post(URLAddress.CHECK_UPDATE) - .params("package", packageName) - //1MTK平台 2展锐平台 - .params("type", JGYUtils.getInstance().checkAppPlatform()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, okhttp3.Response response) { - Logutils.e("checkUpdate", "onSuccess: " + s); - JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - String msg = jsonObject.getString("msg"); - Message message = new Message(); - if (code == 200) { - JSONObject jsonArray = JSON.parseObject(jsonObject.getString("data")); - message.what = code; - message.obj = jsonArray; - handler.sendMessage(message); - } else if (code == -200) { - handler.sendEmptyMessage(-200); - } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("onError", e.getMessage()); - - } - }); - } - - synchronized public static void checkTestUpdate(final Context context) { - OkGo.get(URLAddress.GET_SN_APP_TEST) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, okhttp3.Response response) { - JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - String msg = jsonObject.getString("msg"); - if (code == 200) { - JSONObject data = JSON.parseObject(jsonObject.getString("data")); - installTestAPK(context, data); - } else { - Logutils.e("checkTestUpdate", "onSuccess: " + msg); - } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("checkTestUpdate", "onError" + e.getMessage()); - - } - }); - } - - private static void installTestAPK(final Context context, JSONObject jsonObject) { - final String url = jsonObject.getString("app_url"); - int versionCode = jsonObject.getInteger("app_version_code"); - final String packageName = jsonObject.getString("app_package"); - String app_name = jsonObject.getString("app_name"); - String app_md5 = jsonObject.getString("app_md5"); - final com.alibaba.fastjson.JSONObject object = new com.alibaba.fastjson.JSONObject(); - object.put("app_name", app_name); - object.put("app_package", packageName); - object.put("MD5", app_md5); - PackageManager pm = context.getPackageManager(); - PackageInfo packageInfo = null; - try { - packageInfo = pm.getPackageInfo(packageName, 0); - } catch (PackageManager.NameNotFoundException e) { - e.printStackTrace(); - } - if (packageInfo == null || packageInfo.versionCode < versionCode) { - Utils.ariaDownload(context, url, object); - } else { - Logutils.e("installTestAPK", "APK: " + "无更新"); - } - } - - synchronized public static void setJpushTags(final Context context) { - OkGo.get(URLAddress.GET_DEVICES_TAGS) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { - Logutils.e("setJpushTags", s); - com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - com.alibaba.fastjson.JSONObject data = jsonObject.getJSONObject("data"); - if (code == 200) { - String batch = data.getString("batch"); - if (batch != null && !"".equals(batch)) { - Set set = new HashSet(); - set.add(batch); - TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean(); - tagAliasBean.action = ACTION_SET; - sequence++; -// tagAliasBean.alias = Utils.getSerial(); - tagAliasBean.tags = set; - tagAliasBean.isAliasAction = false; - TagAliasOperatorHelper.getInstance().handleAction(context, sequence, tagAliasBean); - } - } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e("setJpushTags", e.getMessage()); - } - }); - } - - public interface GetAppinsideWebCallback { - void onComplete(); - } - - synchronized public static void getAppinsideWeb(Context context, GetAppinsideWebCallback callback) { - if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTKPlatform) { - Logutils.e(TAG, "getAppinsideWeb: " + "setAppinsideWeb"); - setAppinsideWeb(callback); - } else { - Logutils.e(TAG, "getAppinsideWeb: " + "setNewAppinsideWeb"); - setNewAppinsideWeb(callback); -// setAppinsideWeb(callback); - } - } - - private static void setAppinsideWeb(GetAppinsideWebCallback callback) { - NetInterfaceManager.getInstance() - .getAppinsideWebObservable() - .observeOn(Schedulers.io()) - .subscribe(new Observer>>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e("setAppinsideWeb", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse> listBaseResponse) { - Logutils.e("setAppinsideWeb", "onNext: " + listBaseResponse); - JGYUtils.getInstance().setAppinsideWeb(listBaseResponse); - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e("setAppinsideWeb", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("setAppinsideWeb", "onComplete: "); - callback.onComplete(); - } - }); - } - - private static void setNewAppinsideWeb(GetAppinsideWebCallback callback) { - NetInterfaceManager.getInstance() - .getNewAppinsideWebObservable() - .observeOn(Schedulers.io()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e("getNewAppinsideWeb", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse listBaseResponse) { - Logutils.e("getNewAppinsideWeb", "onNext: " + listBaseResponse); - long time1 = System.currentTimeMillis(); - JGYUtils.getInstance().setNewAppinsideWeb(listBaseResponse); - Logutils.e(TAG, "setWhiteApp: time = " + (System.currentTimeMillis() - time1)); - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e("getNewAppinsideWeb", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("getNewAppinsideWeb", "onComplete: "); - callback.onComplete(); - } - }); - } - - - private static void sendAllweb(Context context) { - Intent intent = new Intent("qch_app_website") - .setPackage("com.android.settings"); - intent.putExtra("package_name", "Invalid"); - context.sendBroadcast(intent); - } - - private static void sendwebUrl(Context context) { - Intent intent = new Intent("qch_app_inside_website") - .setPackage("com.android.settings"); - intent.putExtra("websitelist", "Invalid"); - context.sendBroadcast(intent); - } - - // TODO: 2021/6/8 使用现有代码会影响浏览器主页管控 -// //设置浏览器黑白名单 -// synchronized public static void setBrowserBlackList(final Context context) { -//// if (JGYUtils.isOfficialVersion()) { -// SetBrowserList(context); -//// OldSetBrowserList(context); -//// } else { -//// NewSetBrowserList(context); -//// } -// } - - //设置浏览器黑白名单 - synchronized public static void setBrowserBlackList(final Context context) { - NetInterfaceManager.getInstance() - .getBrowserListSettingObservable() - .observeOn(Schedulers.io()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(Disposable d) { - Logutils.e("setBrowserBlackList", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse browserDataBaseResponse) { - Logutils.e("setBrowserBlackList", "onNext: "); - String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); - if (browserDataBaseResponse.code == 200) { - BrowserData data = browserDataBaseResponse.data; - String white = data.getWhite(); - if (!TextUtils.isEmpty(white)) { - if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { - white += "," + homePage; - } - boolean DeselectBrowserArray = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); - Logutils.e("setBrowserBlackList", "setBrowserList white = " + white + ":" + DeselectBrowserArray); - } else { - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); - } - String black = data.getBlack(); - if (!TextUtils.isEmpty(black)) { - boolean qch_webblack_url = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); - Logutils.e("setBrowserBlackList", "setBrowserList black = " + black + ":" + qch_webblack_url); - } else { - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - } - String white_ip = data.getWhite_ip(); - if (!TextUtils.isEmpty(white_ip)) { - SPUtils.put(context, "white_ip", white_ip); - }else { - SPUtils.put(context, "white_ip", " "); - } - String black_ip = data.getBlack_ip(); - if (!TextUtils.isEmpty(black_ip)) { - SPUtils.put(context, "black_ip", black_ip); - }else { - SPUtils.put(context, "black_ip", " "); - } - } else { - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - SPUtils.put(context, "white_ip", " "); - SPUtils.put(context, "black_ip", " "); - } - } - - @Override - public void onError(Throwable e) { - Logutils.e("setBrowserBlackList", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("setBrowserBlackList", "onComplete: "); - new URLUtils(context).setBrowserWhiteList(); - new URLUtils(context).setBrowserBlackList(); - } - }); - } - -// private static void NewSetBrowserList(Context context) { -// NetInterfaceManager.getInstance() -// .getBrowserListSettingObservable() -// .observeOn(Schedulers.io()) -// .subscribe(new Observer>() { -// @Override -// public void onSubscribe(@NonNull Disposable d) { -// Logutils.e("NewSetBrowserList", "onSubscribe: "); -// } -// -// @Override -// public void onNext(@NonNull BaseResponse browserDataBaseResponse) { -// Logutils.e("NewSetBrowserList", "onNext: "); -// if (browserDataBaseResponse.code == 200) { -// String white = browserDataBaseResponse.data.getWhite(); -// String black = browserDataBaseResponse.data.getBlack(); -// if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) { -// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); -// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); -// //黑白名单同时存在时由以前的逻辑管控 -// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); -// Logutils.e("NewSetBrowserList", "setBrowserList white: " + white + ":" + whiteList); -// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); -// Logutils.e("NewSetBrowserList", "setBrowserList black: " + black + ":" + blackList); -// } else if (TextUtils.isEmpty(white)) { -// //设置黑名单 -// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 1); -// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", black); -// //白名单为空由新的管控执行 -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// } else if (TextUtils.isEmpty(black)) { -// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); -// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); -// //黑名单为空由旧的管控执行 -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// } -// } else { -// //所有置空 -// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); -// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// } -// } -// -// @Override -// public void onError(@NonNull Throwable e) { -// Logutils.e("NewSetBrowserList", "onError: " + e.getMessage()); -// onComplete(); -// } -// -// @Override -// public void onComplete() { -// Logutils.e("NewSetBrowserList", "onComplete: "); -// new URLUtils(context).setBrowserWhiteList(); -// } -// }); -// } - - -// private static void SetBrowserList(Context context) { -// NetInterfaceManager.getInstance() -// .getBrowserListSettingObservable() -// .observeOn(Schedulers.io()) -// .subscribe(new Observer>() { -// @Override -// public void onSubscribe(@NonNull Disposable d) { -// Logutils.e("SetBrowserList", "onSubscribe: "); -// } -// -// @Override -// public void onNext(@NonNull BaseResponse browserDataBaseResponse) { -// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); -// Logutils.e("SetBrowserList", "onNext: "); -// if (browserDataBaseResponse.code == 200) { -// //白名单 -// String white = browserDataBaseResponse.data.getWhite(); -// if (!TextUtils.isEmpty(white)) { -// String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); -// if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { -// white += "," + homePage; -// } -// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// Logutils.e("SetBrowserList", "setBrowserList white: " + white + " :" + whiteList); -// String black = Settings.System.getString(context.getContentResolver(), "qch_webblack_url"); -// Logutils.e("SetBrowserList", "getBrowserList black: " + black); -// } else { -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); -// } -// //黑名单 -// String black = browserDataBaseResponse.data.getBlack(); -// if (!TextUtils.isEmpty(black)) { -// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); -// Logutils.e("SetBrowserList", "setBrowserList black: " + black + " :" + blackList); -// String whiteList = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray"); -// Logutils.e("SetBrowserList", "getBrowserList white: " + whiteList); -// } else { -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// } -// } else { -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// } -// } -// -// @Override -// public void onError(@NonNull Throwable e) { -// Logutils.e("SetBrowserList", "onError: " + e.getMessage()); -// onComplete(); -// } -// -// @Override -// public void onComplete() { -// new URLUtils(context).setBrowserWhiteList(); -// Logutils.e("SetBrowserList", "onComplete: "); -// } -// }); -// } - - //设置浏览器黑白名单 -// synchronized public static void OldSetBrowserList(final Context context) { -// OkGo.post(URLAddress.SET_BROWSER_LIST) -// .params("key", NetInterfaceManager.HTTP_KEY) -// .params("sn", Utils.getSerial()) -// .execute(new StringCallback() { -// @Override -// public void onSuccess(String s, Call call, Response response) { -// try { -// JSONObject jsonObject = JSON.parseObject(s); -// int code = jsonObject.getInteger("code"); -// String msg = jsonObject.getString("msg"); -// if (code == 200) { -// JSONObject data = JSON.parseObject(jsonObject.getString("data")); -// String white = data.getString("white"); -// if (white != null && !"".equals(white)) { -// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); -// Logutils.e("SystemSetting", "OldSetBrowserList----white-----" + whiteList + ":" + white); -// } else { -// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); -// } -// String black = data.getString("black"); -// if (black != null && !"".equals(black)) { -// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); -// Logutils.e("SystemSetting", "OldSetBrowserList----black-----" + blackList + ":" + black); -// } else { -// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); -// } -// } else { -// Logutils.e("fht", "OldSetBrowserList" + msg); -// } -// } catch (JSONException e) { -// Logutils.e("fht", "OldSetBrowserList" + e.getMessage()); -// } -// } -// -// @Override -// public void onError(Call call, Response response, Exception e) { -// super.onError(call, response, e); -// } -// }); -// } - - synchronized public static void setHomepagtag(final Context context) { - //7.0setPackage不加没有问题,.setPackage("com.android.settings"),10.0需要加上,待底层修改后 - OkGo.post(URLAddress.SET_HOMEPAG_TAG) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { -// try { - JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - String msg = jsonObject.getString("msg"); - if (code == 200) { - String data = jsonObject.getString("data"); - JSONObject jsondata = JSON.parseObject(data); - //主页不包含白名单添加进去 - String homepagURL = jsondata.getString("homepage"); - boolean home = Settings.System.putString(context.getContentResolver(), "homepagURL", homepagURL); - String DeselectBrowserArray = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray"); - Logutils.e("setHomepagtag", "execute: DeselectBrowserArray: = " + DeselectBrowserArray); - if (!DeselectBrowserArray.contains(homepagURL)) { - DeselectBrowserArray += "," + homepagURL; - boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", DeselectBrowserArray); - Logutils.e("setHomepagtag", "execute: homepagURL: add to whiteList = " + DeselectBrowserArray + "write: " + white); - } - //主页 - Intent homepag = new Intent("qch_app_brower_homepage"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - homepag.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - if (!TextUtils.isEmpty(homepagURL)) { - homepag.putExtra("homepage", homepagURL); - } else { - homepag.putExtra("homepage", "Invalid"); - } - context.sendBroadcast(homepag); - - //书签 - String labelpage = jsondata.getString("labelpage"); - Intent websiteBookMark = new Intent("qch_app_brower_website"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - websiteBookMark.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - if (!TextUtils.isEmpty(labelpage)) { - websiteBookMark.putExtra("websiteBookMark", labelpage); - } else { - websiteBookMark.putExtra("websiteBookMark", "Invalid"); - } - context.sendBroadcast(websiteBookMark); - } else { - Intent intent1 = new Intent("qch_app_brower_homepage"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - intent1.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - intent1.putExtra("homepage", "Invalid"); - context.sendBroadcast(intent1); - Settings.System.putString(context.getContentResolver(), "homepagURL", ""); - Intent intent2 = new Intent("qch_app_brower_website"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - intent2.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - intent2.putExtra("websiteBookMark", "Invalid"); - context.sendBroadcast(intent2); - } -// } catch (Exception e) { -// Logutils.e("fht", "setHomepagtag" + e.getMessage()); -//// ToastUtil.show("数据错误"); -// } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); -// ToastUtil.show("网络连接失败"); - } - }); - } - - public interface BookmarksCallback { - void onSubscribe(); - - void onNext(); - - void onError(Throwable e); - - void onComplete(); - } - - /** - * @param context - * @param callback - */ - @SuppressLint("NewApi") - synchronized public static void getHomePageBookmarks(Context context, BookmarksCallback callback) { - NetInterfaceManager.getInstance() - .getBrowserBookmarksObservable() - .observeOn(Schedulers.io()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - if (callback != null) { - callback.onSubscribe(); - } - Logutils.e("getHomePageBookmarks", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse browserBookmarksBaseResponse) { - if (callback != null) { - callback.onNext(); - } - Logutils.e("getHomePageBookmarks", "onNext: "); - if (browserBookmarksBaseResponse.code == 200) { - //主页不包含白名单添加进去 - String homepagURL = browserBookmarksBaseResponse.data.getHomepage(); - Logutils.e("getHomePageBookmarks ", "homepagURL: " + homepagURL); - String oldHome = Settings.System.getString(context.getContentResolver(), "homepagURL"); - Logutils.e("getHomePageBookmarks", "oldHome: " + oldHome); - //数据和之前不一样的时候清除缓存 - if (!TextUtils.isEmpty(oldHome) && !oldHome.equalsIgnoreCase(homepagURL)) { - try { - new CacheUtils().cleanApplicationUserData(context, "com.android.browser"); - } catch (Exception e) { - e.printStackTrace(); - Logutils.e(TAG, "setHomepagtag: " + e.getMessage()); - } - } - boolean home = Settings.System.putString(context.getContentResolver(), "homepagURL", homepagURL); - Logutils.e("getHomePageBookmarks", "onNext: homepagURL: save homepagURL = " + home); - String whitelist = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray"); - Logutils.e("getHomePageBookmarks ", "whitelist: " + whitelist); - -// if (!TextUtils.isEmpty(whitelist.trim())) { -// HashSet whiteLists = new HashSet<>(Arrays.asList(whitelist.trim().split(","))); -// whiteLists.add(homepagURL); -// String whiteString = String.join(",", whiteLists); -// boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", whiteString); -// Logutils.e("getHomePageBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white); -// } else { -// Logutils.e("getHomePageBookmarks", "onNext: whitelist is NULL"); -// boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homepagURL); -// Logutils.e("getHomePageBookmarks", "onNext: homepagURL: homepagURL = " + homepagURL + "write: " + white); -// } - - //书签 - String labelpage = browserBookmarksBaseResponse.data.getLabelpage(); - Intent websiteBookMark = new Intent("qch_app_brower_website"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - websiteBookMark.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - if (!TextUtils.isEmpty(labelpage)) { - HashSet labels = new HashSet<>(Arrays.asList(labelpage.split(","))); -// List urlList = new ArrayList<>(); -// for (String urls : labels) { -// urlList.add(JGYUtils.getPrefixHttpsURL(urls)); -// } - String join = String.join(",", labels); - Logutils.e("getHomePageBookmarks", "onNext: getHomePageBookmarks: " + join); - websiteBookMark.putExtra("websiteBookMark", join); - } else { - websiteBookMark.putExtra("websiteBookMark", "Invalid"); - } - context.sendBroadcast(websiteBookMark); - context.sendBroadcast(websiteBookMark); - context.sendBroadcast(websiteBookMark); - - //主页 - Intent homepag = new Intent("qch_app_brower_homepage"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - homepag.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - if (!TextUtils.isEmpty(homepagURL)) { -// String newHomePage = JGYUtils.getPrefixHttpsURL(homepagURL); - Logutils.e("getHomePageBookmarks", "onNext: newHomePage: " + homepagURL); - homepag.putExtra("homepage", homepagURL); - } else { - homepag.putExtra("homepage", "Invalid"); - } - context.sendBroadcast(homepag); - context.sendBroadcast(homepag); - context.sendBroadcast(homepag); - } else { - Intent intent1 = new Intent("qch_app_brower_homepage"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - intent1.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - intent1.putExtra("homepage", "Invalid"); - context.sendBroadcast(intent1); - - Settings.System.putString(context.getContentResolver(), "homepagURL", " "); - Intent intent2 = new Intent("qch_app_brower_website"); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - intent2.setPackage("com.android.settings") - .setPackage("com.android.browser"); - } - intent2.putExtra("websiteBookMark", "Invalid"); - context.sendBroadcast(intent2); - } - } - - @Override - public void onError(@NonNull Throwable e) { - if (callback != null) { - callback.onError(e); - } - Logutils.e("getHomePageBookmarks", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - if (callback != null) { - callback.onComplete(); - } - Logutils.e("getHomePageBookmarks", "onComplete: "); - setBrowserBlackList(context); - } - }); - } - - public static void setHideDesktopIcon(final Context context) { - OkGo.post(URLAddress.GET_HIDE_DESKTOPICON) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { - try { - JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - String msg = jsonObject.getString("msg"); - String data = jsonObject.getString("data"); - ApkUtils.showAllAPP(context); - ApkUtils.addShortcut(context); - Logger.e("setHideDesktopIcon", "data: " + data); - if (code == 200) { - if (!TextUtils.isEmpty(data)) { - List newList = Arrays.asList(data.split(","));//新的list - PackageManager pm = context.getPackageManager(); - for (String pack : newList) { - // TODO: 2021/5/24 需要后端替换包名,暂时解决方案 - try { - try { - if ("com.mediatek.camera".equals(pack)) { - pm.setApplicationEnabledSetting("com.android.camera2", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); - } - if ("com.android.mms".equals(pack)) { - pm.setApplicationEnabledSetting("com.android.messaging", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); - } - } catch (Exception ex) { - Logutils.e("setHideDesktopIcon", "Exception: ex: " + ex.getMessage()); - } - pm.setApplicationEnabledSetting(pack, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); - Logger.e("setHideDesktopIcon", pack); - } catch (Exception e) { - Logger.e("setHideDesktopIcon", "Exception:" + e.getMessage()); - } - } - } - } else { - //测试 -// List newList=new ArrayList<>(); -// PackageManager pm = context.getPackageManager(); -// newList.add("com.android.quicksearchbox"); -// newList.add("com.android.calendar"); -// newList.add("com.android.dreams.basic"); -// newList.add("com.android.musicfx"); -// newList.add("com.android.email"); -// for (String pack : newList) { -// pm.setApplicationEnabledSetting(pack, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0); -// Logutils.e("setHideDesktopIcon", pack); -// } - } - } catch (Exception e) { - Logutils.e("fht", "setHideDesktopIcon" + e.getMessage()); - } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - } - }); - } - - synchronized public static void getNetAndLaunchSetting(final Context context) { - OkGo.post(URLAddress.NET_AND_LAUNCH_API) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { - NetAndLaunchBean netAndLaunchBeanList = JSON.parseObject(s, NetAndLaunchBean.class); - switch (netAndLaunchBeanList.getCode()) { - case 200: - JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBeanList); - break; - default: - } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - } - }); - } - - - @SuppressLint("NewApi") - synchronized public static void updateDeviceInfo(Context context) { - String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-")); - if ("-".equals(address)) { - address = (String) SPUtils.get(context, "AmapError", "-"); - } - String longitude = String.valueOf(SPUtils.get(context, "longitude", "0")); - String latitude = String.valueOf(SPUtils.get(context, "latitude", "0")); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("address", address); - jsonObject.put("longitude", longitude); - jsonObject.put("latitude", latitude); - String add = jsonObject.toJSONString(); - UpdateDeviceInfoApi updateDeviceInfo = NetInterfaceManager.getUpdateDeviceInfo(); - updateDeviceInfo.updateDeviceInfo( - Utils.getSerial(), - NetInterfaceManager.HTTP_KEY, - Utils.getMachine(context), - Utils.getHardware(context), - add - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(ResponseBody responseBody) { - try { - Logutils.e("updateDeviceInfo", "上传的结果" + responseBody.string()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void onError(Throwable e) { - Logutils.e("updateDeviceInfo", e.getMessage()); - } - - @Override - public void onComplete() { - - } - }); - ApkUtils.getAppInfo(context); - } - - public static void getSnTimeControl(final Context context) { - SnTimeControl snTimeControl = NetInterfaceManager.getSnTimeControlApi(); - snTimeControl.getSnTimeControl(Utils.getSerial()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - Logutils.e(TAG, "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse response) { - int code = response.code; - if (code == 200) { - JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data); - String start_time = jsonObject.getString("start_time"); - String end_time = jsonObject.getString("end_time"); - TimeUtils.ContralTime c = TimeUtils.String2ContralTime(context, start_time + "-" + end_time); - if (null != c) { - Logutils.e("getTimeControl", "200: " + c.toString()); - } - } else { - TimeUtils.setEmpty(context); - TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context); - if (null != c) { - Logutils.e("getTimeControl", c.toString()); - } - } - } - - @Override - public void onError(Throwable e) { - Logutils.e("getSnTimeControl", "onError: " + e.getMessage()); - } - - @Override - public void onComplete() { - Intent intent = new Intent(); - intent.setAction(MainService.TimeChangedReceiver.ACTION_UPDATE); - context.sendBroadcast(intent); - } - }); - } - - public static void getTopAppControl(final Context context) { - TopAppControlApi topAppControl = NetInterfaceManager.getTopAppControlApi(); - topAppControl.getSnAppControl(Utils.getSerial()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(BaseResponse response) { - if (response.code == 200) { - JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data); - String app_package = jsonObject.getString("app_package"); - SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, app_package); - ForegroundAppUtil.setTopAppClass(context, app_package); - ForegroundAppUtil.openTopApp(context); - } else { - SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, ""); - ForegroundAppUtil.setTopAppClass(context, ""); - } - - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - }); - } - - public static void getAppLimit(Context context) { - NetInterfaceManager.getInstance() - .getAppLimitObservable() - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e("getAppLimit", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull ResponseBody responseBody) { - try { - String bodyString = responseBody.string(); - Logutils.e("getAppLimit", "onNext: " + bodyString); - JsonObject jsonObject = JsonParser.parseString(bodyString).getAsJsonObject(); - int code = jsonObject.get("code").getAsInt(); - if (code == 200) { - String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString(); - //开机图标 只记录后台传的包名 - boolean write = Settings.System.putString(context.getContentResolver(), "only_jgy_shortcut_list", data); - Logutils.e(TAG, "onNext: only_jgy_shortcut_list: " + write); - JGYUtils.getInstance().writeAppPackageList(context, data); - JGYUtils.getInstance().deleteOtherApp(); - } else { - Logutils.e("getAppLimit", "onNext: " + bodyString); - } - } catch (IOException e) { - e.printStackTrace(); - Logutils.e("getAppLimit", "onNext: IOException: " + e.getMessage()); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e("getAppLimit", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("getAppLimit", "onComplete: "); - getAllAppList(context); - } - }); - } - - - public static void getAllAppList(Context context) { - NetInterfaceManager.getInstance().GetAllAppApi() - .getAllAppList(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>>() { - @Override - public void onSubscribe(Disposable d) { - Logutils.e("getAllAppList", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse> listBaseResponse) { - Logutils.e("getAllAppList", "onNext: " + JSONObject.toJSONString(listBaseResponse)); - int code = listBaseResponse.code; - if (code == 200) { - List appListInfos = listBaseResponse.data; - getAppAutoStartUpdateAndNet(appListInfos); - } else { - Logutils.e("getAllAppList", "onNext: " + "no data"); - Logutils.e("getAllAppList", "onNext: " + listBaseResponse.data); - } - } - - @Override - public void onError(Throwable e) { - Logutils.e("getAllAppList", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("getAllAppList", "onComplete: "); - getForceDownload(context); - } - }); - } - - public static void getForceDownload(Context context) { - NetInterfaceManager.getInstance() - .getForceDownloadObservable() - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e(TAG + ":" + "getForceDownload", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull ForceDownloadBean forceDownloadBean) { - Logutils.e(TAG + ":" + "getForceDownload", "onNext: "); - switch (forceDownloadBean.getCode()) { - case 200: - Logutils.e(TAG + ":" + "getForceDownload", "isDownloading=" + BaseApplication.getInstance().isDownloading()); - BaseApplication.getInstance().checkIsDownloading(); - if (!BaseApplication.getInstance().isDownloading()) { - Type type = new TypeToken>() { - }.getType(); - Gson gson = new Gson(); - List forceDownloadData = gson.fromJson(gson.toJson(forceDownloadBean.getData()), type); - JGYUtils.getInstance().forceDownload(forceDownloadData); - } else { - Aria.download(this).resumeAllTask(); - } - break; - case -200: - boolean qch_force_app = Settings.System.putString(context.getContentResolver(), "qch_force_app", "invalid"); - Logutils.e(TAG + ":" + "getForceDownload", "qch_force_app:" + qch_force_app); - break; - default: - Logutils.e(TAG + ":" + "getForceDownload", forceDownloadBean.getMsg()); - break; - } - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e(TAG + ":" + "getForceDownload", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e(TAG + ":" + "getForceDownload", "onComplete: "); - } - }); - } - - public static void getAppAutoStartUpdateAndNet(List appListInfos) { - NetInterfaceManager.getInstance() - .getAppAutoStartUpdateAndNetObservable() - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e("getAppAutoStart", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) { - Logutils.e("getAppAutoStart", "onNext: " + netAndLaunchBean.toString()); - if (netAndLaunchBean.getCode() == 200) { - JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean, appListInfos); - } else { - Logutils.e("getAppAutoStart", "onNext: " + netAndLaunchBean.toString()); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e("getAppAutoStart", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("getAppAutoStart", "onComplete: "); - } - }); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/BrankPicApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/BrankPicApi.java deleted file mode 100644 index ca26fe0..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/BrankPicApi.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mjsheng.myappstore.network.api; - -import com.mjsheng.myappstore.bean.CommonPicBean; - -import io.reactivex.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - -public interface BrankPicApi { - @FormUrlEncoded - @POST("brand/index") - Observable getBrankPicApi( - @Field("key") String key, - @Field("sn") String sn, - @Field("page") String page - ); -} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/CategoryPicApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/CategoryPicApi.java deleted file mode 100644 index d98adb5..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/CategoryPicApi.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mjsheng.myappstore.network.api; - -import com.mjsheng.myappstore.bean.CategoryPicBean; - -import io.reactivex.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - -public interface CategoryPicApi { - @FormUrlEncoded - @POST("category/index") - Observable getCategoryPicApi( - @Field("key") String key, - @Field("sn") String sn, - @Field("page") String page - ); -} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/DeselectBrowserIDApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/DeselectBrowserIDApi.java deleted file mode 100644 index 0aa10de..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/DeselectBrowserIDApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.mjsheng.myappstore.network.api; - -import io.reactivex.Observable; -import okhttp3.ResponseBody; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - -public interface DeselectBrowserIDApi { - @FormUrlEncoded - @POST("browser/index") - Observable getDeselectBrowserIDApi( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/ProjectPicApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/ProjectPicApi.java deleted file mode 100644 index f123db0..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/ProjectPicApi.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mjsheng.myappstore.network.api; - -import com.mjsheng.myappstore.bean.CommonPicBean; - -import io.reactivex.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - -public interface ProjectPicApi { - @FormUrlEncoded - @POST("subject/index") - Observable getProjectPicApi( - @Field("key") String key, - @Field("sn") String sn, - @Field("page") String page - ); -} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/RankAppApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/RankAppApi.java deleted file mode 100644 index 6c6c3bd..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/RankAppApi.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.mjsheng.myappstore.network.api; - -import com.mjsheng.myappstore.bean.AppInfoBean; - -import io.reactivex.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - -public interface RankAppApi { - @FormUrlEncoded - @POST("rank/index") - Observable getRankAppApi( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/UpdateApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/UpdateApi.java deleted file mode 100644 index ef9b4a3..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/UpdateApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.mjsheng.myappstore.network.api; - -import io.reactivex.Observable; -import okhttp3.ResponseBody; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * 作者 mjsheng - * 日期 2018/5/7 08:28 - * 邮箱 501802639@qq.com - * 来自: - */ - -public interface UpdateApi { - @FormUrlEncoded - @POST("update/index") - Observable getUpdateApi( - @Field("package_name") String package_name, - @Field("key") String key - ); -} \ No newline at end of file diff --git a/app/src/main/java/com/mjsheng/myappstore/service/MyDownloadService.java b/app/src/main/java/com/mjsheng/myappstore/service/MyDownloadService.java deleted file mode 100644 index d53a8aa..0000000 --- a/app/src/main/java/com/mjsheng/myappstore/service/MyDownloadService.java +++ /dev/null @@ -1,341 +0,0 @@ - -package com.mjsheng.myappstore.service; - -import android.app.Service; -import android.content.Intent; -import android.os.IBinder; - -import androidx.annotation.Nullable; - -import java.util.List; - -// 下载管理服务 -public class MyDownloadService extends Service { - -// private DownloadReceiver downloadReceiver; -// private DownloadManager downloadManager; -// public List allTask; - private List downloadURL; // 当前下载的任务 - private static final String ACTION_START = "START"; - private static final String ACTION_STOP = "STOP"; - - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - flags = START_STICKY; - return super.onStartCommand(intent, flags, startId); - } - - @Override - public void onCreate() { - - super.onCreate(); -// downloadManager = DownloadService.getDownloadManager(); -// downloadManager.getThreadPool().setCorePoolSize(1); -// downloadManager.startAllTask(); -// allTask = downloadManager.getAllTask(); -// for (DownloadInfo downloadInfo : allTask) { -// DownloadListener downloadListener = new MyDownloadListener(); -// downloadListener.setUserTag(downloadInfo.getUrl()); -// downloadInfo.setListener(downloadListener); -// } -// downloadReceiver = new DownloadReceiver(); -// downloadURL = new ArrayList<>(); -// /* 注册广播 */ -// IntentFilter mScreenOnFilter = new IntentFilter(); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_STARTALL_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_DELETE_UPDATE_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_START_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_STOP_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_INITIALIZE_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_DELETE_URL_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_DELETE_PACKAGENAME_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_DELETEALL_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_ALLTASK_ACTION); -// mScreenOnFilter.addAction(Utils.DOWNLOAD_PACKAGENAME_ACTION); -// MyDownloadService.this.registerReceiver(downloadReceiver, mScreenOnFilter); - - startService(new Intent(this, StepService.class)); - startService(new Intent(this, GuardService.class)); - } - - @Override - public void onStart(Intent intent, int startId) { - super.onStart(intent, startId); - } - - @Override - public void onDestroy() { - super.onDestroy(); -// if (downloadManager != null) { -// downloadManager.stopAllTask(); -// } -// if (allTask != null) { -// allTask.clear(); -// allTask = null; -// } -// downloadURL.clear(); -// MyDownloadService.this.unregisterReceiver(downloadReceiver); -// Intent sevice = new Intent(this, DownloadService.class); -// this.startService(sevice); - } - - @Nullable - @Override - public IBinder onBind(Intent intent) { - return null; - } - -// private class MyDownloadListener extends DownloadListener { -// -// @Override -// public void onProgress(DownloadInfo downloadInfo) { -// Log.e("mjsheng", "onProgress::::::::" + downloadInfo.getProgress()); -// sendDownloadState(downloadInfo); -// } -// -// @Override -// public void onFinish(DownloadInfo downloadInfo) { -// Log.e("fht", "onFinish"); -// sendDownloadState(downloadInfo); -// AppDateInfo info = (AppDateInfo) downloadInfo.getData(); -// String s = Settings.System.getString(getContentResolver(), "qch_app_forbid"); -// String s1 = s; -// if (!s.contains(info.getApp_baoming())) { -// s1 = s + "," + info.getApp_baoming(); -// } -// Settings.System.putString(getContentResolver(), "qch_app_forbid", s1); -// Log.e("SystemSetting", "qch_app_forbid__________" + Settings.System.getString(getContentResolver(), "qch_app_forbid")); -// -// if (info.getApp_baoming().equals(Utils.YOUNGSYSTEM_APP_TONGBU) || info.getApp_baoming().equals(MyApplication.getAppContext().getPackageName())) { -//// ApkUtils.install(MyApplication.getAppContext(), new File(downloadInfo.getTargetPath())); -// ApkUtils.installApp(MyDownloadService.this, downloadInfo.getTargetPath()); -// Log.e("fht", "updateTask1"); -//// ApkUtils.updateTask(getApplicationContext()); -// -// } -// if (downloadURL.contains(downloadInfo.getUrl())) { -//// ApkUtils.install(MyApplication.getAppContext(), new File(downloadInfo.getTargetPath())); -//// if (MyApplication.getInstance().getInstallIngPackageName().equals("") || ApkUtils.isAvailable(getApplicationContext(), MyApplication.getInstance().getInstallIngPackageName())) { -// //没有任务或者任务已经安装 -// Log.e("fht", "task package is installed , install new apk "); -// ApkUtils.installApp(MyDownloadService.this, info.getApp_file()); -//// } else { -//// //更新正在安装的信息,更新任务列表 -//// MyApplication.getInstance().setInstallIngPackageName(""); -//// MyApplication.getInstance().updateList(); -//// } -// -// //有bug,会一直回调 -// Log.e("fht", "updateTask2"); -// downloadURL.remove(downloadInfo.getUrl()); -// } -// } -// -// @Override -// public void onError(DownloadInfo downloadInfo, String errorMsg, Exception e) { -// sendDownloadState(downloadInfo); -// } -// } - -// private void sendDownloadState(DownloadInfo downloadInfo) { -// if (downloadInfo == null) return; -// AppDownloadInfo info = new AppDownloadInfo(); -// info.setFileName(downloadInfo.getFileName()); -// info.setProgress(downloadInfo.getProgress()); -// info.setTargetPath(downloadInfo.getTargetPath()); -// info.setUrl(downloadInfo.getUrl()); -// info.setState(downloadInfo.getState()); -// info.setDownloadLength(downloadInfo.getDownloadLength()); -// info.setTotalLength(downloadInfo.getTotalLength()); -// AppDateInfo dateInfo = (AppDateInfo) downloadInfo.getData(); -// info.setPackageName(dateInfo.getApp_baoming()); -// info.setVersion(dateInfo.getApp_banben()); -// info.setData(dateInfo); -// Intent intent = new Intent(); -// intent.setAction(Utils.DOWNLOAD_SERVICE_ACTION); -// intent.putExtra("DownloadInfo", info); -// sendBroadcast(intent); -// } - - /** - * 是否存在该包名的下载任务 - */ -// public DownloadInfo getPackageName(String packagename) { -// if (packagename != null) { -// for (DownloadInfo downloadInfo : allTask) { -// AppDateInfo info = (AppDateInfo) downloadInfo.getData(); -// if (info.getApp_baoming() != null) { -// if (info.getApp_baoming().equals(packagename)) { -// return downloadInfo; -// } -// } -// } -// } -// return null; -// } - - -// public class DownloadReceiver extends BroadcastReceiver { -// -// @Override -// public void onReceive(Context context, Intent intent) { -// if (Utils.DOWNLOAD_STARTALL_ACTION.equals(intent.getAction())) { -// downloadManager.startAllTask(); -// } else if (Utils.DOWNLOAD_DELETE_URL_ACTION.equals(intent.getAction())) { -// // 删除标识 下载地址 -// String URL = intent.getStringExtra("URL"); -// DownloadInfo downloadInfo = downloadManager.getDownloadInfo(URL); -// if (downloadInfo != null) { -// downloadInfo.setState(10); -// sendDownloadState(downloadInfo); -// downloadManager.removeTask(downloadInfo.getUrl(), true); -// } -// } else if (Utils.DOWNLOAD_START_ACTION.equals(intent.getAction())) { -// // 下载 -// String URL = intent.getStringExtra("URL"); -// AppDateInfo appDateInfo = (AppDateInfo) intent.getSerializableExtra("AppDateInfo"); -// if (appDateInfo != null) { -// GetRequest request = OkGo.get(URL); -// MyDownloadListener listener = new MyDownloadListener(); -// listener.setUserTag(URL); -// if (URL != null) { -// if (downloadManager.getDownloadInfo(URL) == null) { -// if (!StorageUtils.isFileIsExists("/Android/data/" + context.getPackageName() + "/files/Download")) { -//// StorageUtils.getFileRoot(context); -// } -// downloadManager.addTask(URL, appDateInfo, request, listener); -// SaveListUtils.addDownLoadList(appDateInfo.getApp_baoming()); -// DownloadInfo downloadInfo = downloadManager.getDownloadInfo(URL); -// AppDownloadInfo info = new AppDownloadInfo(); -// info.setFileName(downloadInfo.getFileName()); -// info.setProgress(downloadInfo.getProgress()); -// info.setTargetPath(downloadInfo.getTargetPath()); -// info.setUrl(downloadInfo.getUrl()); -// info.setState(downloadInfo.getState()); -// info.setDownloadLength(downloadInfo.getDownloadLength()); -// info.setTotalLength(downloadInfo.getTotalLength()); -// AppDateInfo dateInfo = (AppDateInfo) downloadInfo.getData(); -// info.setPackageName(dateInfo.getApp_baoming()); -// String s = Settings.System.getString(getContentResolver(), "qch_app_forbid"); -// Settings.System.putString(getContentResolver(), "qch_app_forbid", s + "," + dateInfo.getApp_baoming()); -// Log.e("SystemSetting", "qch_app_forbid__________" + Settings.System.getString(getContentResolver(), "qch_app_forbid")); -// -// //2019.9.26 -// info.setVersion(dateInfo.getApp_banben()); -// info.setData(dateInfo); -// Intent allIntent = new Intent(); -// allIntent.setAction(Utils.DOWNLOAD_NEWSERVICE_ACTION); -// allIntent.putExtra("addTask", info); -// sendBroadcast(allIntent); -// -// } else { -// if (!StorageUtils.isFileIsExists(downloadManager.getDownloadInfo(URL).getTargetPath())) { -// downloadManager.removeTask(URL, true); -//// StorageUtils.getFileRoot(context); -// } -// downloadManager.addTask(URL, appDateInfo, request, listener); -// } -// if (!downloadURL.contains(URL)) { -// downloadURL.add(URL); -// } -// } -// } else { -// if (downloadManager.getDownloadInfo(URL) != null) { -// downloadManager.restartTask(URL); -// } -// } -// } else if (Utils.DOWNLOAD_INITIALIZE_ACTION.equals(intent.getAction())) { -// // 初始化item状态 -// String URL = intent.getStringExtra("URL"); -// DownloadInfo downloadInfo = downloadManager.getDownloadInfo(URL); -// if (downloadInfo != null && StorageUtils.isFileIsExists(downloadInfo.getTargetPath())) { -// sendDownloadState(downloadInfo); -// } -// } else if (Utils.DOWNLOAD_PACKAGENAME_ACTION.equals(intent.getAction())) { -// // 初始化item状态 -// String packageName = intent.getStringExtra("packageName"); -// DownloadInfo downloadInfo = getPackageName(packageName); -// if (downloadInfo != null && StorageUtils.isFileIsExists(downloadInfo.getTargetPath())) { -// sendDownloadState(downloadInfo); -// } -// } else if (Utils.DOWNLOAD_STOP_ACTION.equals(intent.getAction())) { -// // 暂停标识 -// String URL = intent.getStringExtra("URL"); -// downloadManager.pauseTask(URL); -// DownloadInfo downloadInfo = downloadManager.getDownloadInfo(URL); -// if (downloadInfo != null && StorageUtils.isFileIsExists(downloadInfo.getTargetPath())) { -// sendDownloadState(downloadInfo); -// } -// } else if (Utils.DOWNLOAD_DELETE_PACKAGENAME_ACTION.equals(intent.getAction())) { -// // 删除标识 包名 -// String packageName = intent.getStringExtra("packageName"); -// DownloadInfo downloadInfo = getPackageName(packageName); -// if (downloadInfo != null && StorageUtils.isFileIsExists(downloadInfo.getTargetPath())) { -// downloadInfo.setState(10); -// sendDownloadState(downloadInfo); -// downloadManager.removeTask(downloadInfo.getUrl(), true); -// -// } -// } else if (Utils.DOWNLOAD_DELETE_UPDATE_ACTION.equals(intent.getAction())) { -// // 删除 应用更新包 -// String packageName = intent.getStringExtra("packageName"); -// DownloadInfo downloadInfo = getPackageName(packageName); -// if (downloadInfo != null && downloadInfo.getData() != null) { -// AppDateInfo dateInfo = (AppDateInfo) downloadInfo.getData(); -// PackageManager packageManager = context.getPackageManager(); -// try { -// PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), -// 0); -// String version = packInfo.versionName; -// String oldVersion = dateInfo.getApp_banben(); -// if (oldVersion == null || oldVersion.equals("")) { -// downloadManager.removeTask(downloadInfo.getUrl(), true); -// } else if (Utils.isUpdate(oldVersion, version) == true || oldVersion.equals(version)) { -// downloadManager.removeTask(downloadInfo.getUrl(), true); -// } -// } catch (PackageManager.NameNotFoundException e) { -// e.printStackTrace(); -// } -// if (StorageUtils.isFileIsExists(downloadInfo.getTargetPath())) { -// downloadInfo.setState(10); -// sendDownloadState(downloadInfo); -// downloadManager.removeTask(downloadInfo.getUrl(), true); -// } -// } -// } else if (Utils.DOWNLOAD_ALLTASK_ACTION.equals(intent.getAction())) { -// downloadManager = DownloadService.getDownloadManager(); -// allTask = downloadManager.getAllTask(); -// List list = new ArrayList<>(); -// if (allTask.size() > 0) { -// for (int i = 0; i < allTask.size(); i++) { -// DownloadInfo downloadInfo = allTask.get(i); -// if (downloadInfo != null && StorageUtils.isFileIsExists(downloadInfo.getTargetPath())) { -// AppDateInfo dateInfo = (AppDateInfo) downloadInfo.getData(); -// if (!dateInfo.getApp_baoming().equals(Utils.YOUNGSYSTEM_APP_TONGBU) && !dateInfo.getApp_baoming().equals(context.getPackageName())) { -// AppDownloadInfo info = new AppDownloadInfo(); -// info.setFileName(downloadInfo.getFileName()); -// info.setProgress(downloadInfo.getProgress()); -// info.setTargetPath(downloadInfo.getTargetPath()); -// info.setUrl(downloadInfo.getUrl()); -// info.setState(downloadInfo.getState()); -// info.setDownloadLength(downloadInfo.getDownloadLength()); -// info.setTotalLength(downloadInfo.getTotalLength()); -// info.setPackageName(dateInfo.getApp_baoming()); -// info.setVersion(dateInfo.getApp_banben()); -// info.setData(dateInfo); -// list.add(info); -// } -// } -// } -// } -// Intent allIntent = new Intent(); -// allIntent.setAction(Utils.DOWNLOAD_ALLSERVICE_ACTION); -// allIntent.putExtra("allTask", (Serializable) list); -// sendBroadcast(allIntent); -// } -// } -// -// } - -} diff --git a/app/src/main/jni/jgy.cpp b/app/src/main/jni/jgy.cpp index d04fa5d..0b9fd17 100644 --- a/app/src/main/jni/jgy.cpp +++ b/app/src/main/jni/jgy.cpp @@ -9,7 +9,7 @@ extern "C" JNIEXPORT jstring JNICALL -Java_com_mjsheng_myappstore_utils_JGYUtils_getAuthorization(JNIEnv *env, jobject thiz) { +Java_com_aoleyun_sn_utils_JGYUtils_getAuthorization(JNIEnv *env, jclass clazz) { // TODO: implement getAuthorization() std::string hello; @@ -20,17 +20,17 @@ Java_com_mjsheng_myappstore_utils_JGYUtils_getAuthorization(JNIEnv *env, jobject __system_property_get("ro.build.version.sdk", sdk); //将版本号转为 int 值 int sdk_verison = atoi(sdk); - jclass cls = env->FindClass("com/mjsheng/myappstore/BuildConfig"); + jclass cls = env->FindClass("com/aoleyun/sn/BuildConfig"); jfieldID jfieldId_text = env->GetStaticFieldID(cls, "FLAVOR", "Ljava/lang/String;"); jstring text = (jstring) env->GetStaticObjectField(cls, jfieldId_text); const char *char_name = env->GetStringUTFChars(text, JNI_FALSE); std::string s = char_name; if (s.compare("newly") == 0) { LOGI("newly"); - hello = "Basic MjBmNzBiYmViNzhiYWQyM2VkZGQwOGQwOjU0ZWRjYzczYzU4NWRkOGIyMjJlZjY4MA=="; + hello = "Basic NzljNjRlZjQxYjg3MjhhZDZhYTI5YWY6YWJjNjQ3NzRiYjc2YzMyZDVkZTg0Yzk3=="; } else if (s.compare("MTKnewly") == 0) { LOGI("MTKnewly"); - hello = "Basic MjBmNzBiYmViNzhiYWQyM2VkZGQwOGQwOjU0ZWRjYzczYzU4NWRkOGIyMjJlZjY4MA=="; + hello = "Basic NzljNjRlZjQxYjg3MjhhZDZhYTI5YWY6YWJjNjQ3NzRiYjc2YzMyZDVkZTg0Yzk3=="; } else if (s.compare("beta") == 0) { LOGI("beta"); hello = "Basic NTJkODE2NDM2NjViYjJjYWRhY2YwZTllOmI5N2RkZTYwNjdhY2ZhMjY5MDlhZjQ1Nw=="; diff --git a/app/src/main/res/layout-land/activity_home.xml b/app/src/main/res/layout-land/activity_home.xml index 0d32363..5456745 100644 --- a/app/src/main/res/layout-land/activity_home.xml +++ b/app/src/main/res/layout-land/activity_home.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" - tools:context="com.mjsheng.myappstore.activity.HomeActivity"> + tools:context="com.aoleyun.sn.activity.HomeActivity"> + tools:context="com.aoleyun.sn.activity.TopActivity"> + tools:context="com.aoleyun.sn.activity.HomeActivity"> + tools:context="com.aoleyun.sn.activity.TopActivity"> 清理垃圾 (%1$s) - //by mjsheng 锁屏设置 为亲子互动提供锁屏功能,请务必激活 开启我吧 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a12b4de..ae5998d 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -26,7 +26,6 @@ true - diff --git a/settings.gradle b/settings.gradle index e7b4def..9ca656b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,2 @@ include ':app' +rootProject.name='我的设备'