From 8513b3fa6a453d6a07c60796780edc1ac09c9127 Mon Sep 17 00:00:00 2001
From: Fanhuitong <981964879@qq.com>
Date: Mon, 30 Oct 2023 09:41:18 +0800
Subject: [PATCH] =?UTF-8?q?1.0.7=20=E4=B8=BB=E9=A1=B5=E4=BC=98=E5=8C=96,?=
=?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=BF=83=E8=B7=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/CMakeLists.txt | 44 ++
app/build.gradle | 47 +-
app/keystore/iPlay50SE.keystore | Bin 0 -> 2717 bytes
app/src/main/AndroidManifest.xml | 38 +-
.../com/uiuipad/sn/KeepAliveConnection.aidl | 13 +
.../find/activity/main/MainAContact.java | 2 +-
.../find/activity/main/MainAPresenter.java | 4 +-
.../find/activity/main/MainActivity.java | 66 ++-
.../uiuipad/find/base/BaseApplication.java | 19 +
.../find/bean/aolelearn/ActivationBean.java | 58 ++
.../find/bean/aolelearn/AoleAppInfo.java | 284 +++++++++
.../uiuipad/find/bean/jxw/JxwResponse.java | 109 ++++
.../find/bean/{ => kuxin}/AppInfo.java | 2 +-
.../find/bean/{ => kuxin}/BaseResponse.java | 2 +-
.../find/bean/{ => kuxin}/InstallAppInfo.java | 2 +-
.../find/bean/{ => kuxin}/MapBean.java | 2 +-
.../uiuipad/find/bean/{ => kuxin}/SnInfo.java | 2 +-
.../find/bean/{ => kuxin}/SnSetting.java | 2 +-
.../java/com/uiuipad/find/comm/ApkInfo.java | 11 +
.../com/uiuipad/find/comm/CommonConfig.java | 17 +
.../com/uiuipad/find/manager/MapManager.java | 2 +-
.../find/network/NetInterfaceManager.java | 544 ++++++++++++++++--
.../com/uiuipad/find/network/UrlAddress.java | 22 +-
.../network/api/aolelearn/ClassAppApi.java | 18 +
.../network/api/aolelearn/ForceInstall.java | 18 +
.../api/aolelearn/NewestAppUpdateApi.java | 18 +
.../api/aolelearn/SnIsActivationApi.java | 16 +
.../network/api/aolelearn/TestAppApi.java | 18 +
.../find/network/api/jxw/AuthorizedApi.java | 20 +
.../find/network/api/jxw/JxwUtils.java | 120 ++++
.../alarmClock/AlarmClockAddApi.java | 5 +-
.../{ => kuxin}/alarmClock/AlarmClockApi.java | 4 +-
.../alarmClock/AlarmClockByIdApi.java | 4 +-
.../alarmClock/AlarmClockDeleteApi.java | 4 +-
.../alarmClock/AlarmClockEditApi.java | 4 +-
.../alarmClock/UpdateAlarmClockApi.java | 4 +-
.../api/{ => kuxin}/app/GetAppApi.java | 6 +-
.../api/{ => kuxin}/app/GetSelfAppApi.java | 9 +-
.../{ => kuxin}/app/UpdateAppInstallApi.java | 4 +-
.../api/{ => kuxin}/manage/AppIconApi.java | 4 +-
.../{ => kuxin}/manage/AppIconUpdateApi.java | 4 +-
.../api/{ => kuxin}/manage/AppIsShowApi.java | 4 +-
.../api/{ => kuxin}/manage/LabelApi.java | 4 +-
.../manage/RemoveLockScreenApi.java | 4 +-
.../api/{ => kuxin}/manage/SnSettingApi.java | 6 +-
.../manage/UpdateSnLocationApi.java | 8 +-
.../manage/UploadSnScreenshotApi.java | 7 +-
.../api/{ => kuxin}/manage/WhiteListApi.java | 4 +-
.../api/{ => kuxin}/sn/EquipmentBindApi.java | 4 +-
.../{ => kuxin}/sn/SendBindVerCodeApi.java | 4 +-
.../api/{ => kuxin}/sn/SnConfirmBindApi.java | 4 +-
.../network/api/{ => kuxin}/sn/SnInfoApi.java | 7 +-
.../api/{ => kuxin}/sn/UpdateSnInfoApi.java | 7 +-
.../com/uiuipad/find/push/PushManager.java | 27 +-
.../uiuipad/find/receiver/BootReceiver.java | 2 +
.../uiuipad/find/service/ManagerService.java | 2 +-
.../uiuipad/find/service/SocketService.java | 297 ++++++++++
.../find/service/main/MainSContact.java | 25 +
.../find/service/main/MainSPresenter.java | 68 ++-
.../find/service/main/MainService.java | 58 ++
.../java/com/uiuipad/find/util/ApkUtils.java | 198 ++++++-
.../com/uiuipad/find/util/CacheUtils.java | 140 +++++
.../com/uiuipad/find/util/ControlUtils.java | 127 ++--
.../java/com/uiuipad/find/util/Utils.java | 31 +
.../find/websocket/JWebSocketClient.java | 36 ++
app/src/main/jni/aoleyun.cpp | 78 +++
app/src/main/res/drawable-hdpi/icon_ota.png | Bin 0 -> 839 bytes
.../main/res/layout-land/activity_main.xml | 192 +++++--
.../main/res/layout-port/activity_main.xml | 188 ++++--
app/src/main/res/values/strings.xml | 1 +
niceimageview/build.gradle | 2 +
verification-view/build.gradle | 2 +
72 files changed, 2805 insertions(+), 304 deletions(-)
create mode 100644 app/CMakeLists.txt
create mode 100644 app/keystore/iPlay50SE.keystore
create mode 100644 app/src/main/aidl/com/uiuipad/sn/KeepAliveConnection.aidl
create mode 100644 app/src/main/java/com/uiuipad/find/bean/aolelearn/ActivationBean.java
create mode 100644 app/src/main/java/com/uiuipad/find/bean/aolelearn/AoleAppInfo.java
create mode 100644 app/src/main/java/com/uiuipad/find/bean/jxw/JxwResponse.java
rename app/src/main/java/com/uiuipad/find/bean/{ => kuxin}/AppInfo.java (98%)
rename app/src/main/java/com/uiuipad/find/bean/{ => kuxin}/BaseResponse.java (92%)
rename app/src/main/java/com/uiuipad/find/bean/{ => kuxin}/InstallAppInfo.java (97%)
rename app/src/main/java/com/uiuipad/find/bean/{ => kuxin}/MapBean.java (98%)
rename app/src/main/java/com/uiuipad/find/bean/{ => kuxin}/SnInfo.java (94%)
rename app/src/main/java/com/uiuipad/find/bean/{ => kuxin}/SnSetting.java (99%)
create mode 100644 app/src/main/java/com/uiuipad/find/comm/ApkInfo.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/aolelearn/ClassAppApi.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/aolelearn/ForceInstall.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/aolelearn/NewestAppUpdateApi.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/aolelearn/SnIsActivationApi.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/aolelearn/TestAppApi.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/jxw/AuthorizedApi.java
create mode 100644 app/src/main/java/com/uiuipad/find/network/api/jxw/JxwUtils.java
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/alarmClock/AlarmClockAddApi.java (80%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/alarmClock/AlarmClockApi.java (74%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/alarmClock/AlarmClockByIdApi.java (77%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/alarmClock/AlarmClockDeleteApi.java (79%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/alarmClock/AlarmClockEditApi.java (83%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/alarmClock/UpdateAlarmClockApi.java (79%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/app/GetAppApi.java (72%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/app/GetSelfAppApi.java (57%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/app/UpdateAppInstallApi.java (81%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/AppIconApi.java (74%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/AppIconUpdateApi.java (83%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/AppIsShowApi.java (78%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/LabelApi.java (74%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/RemoveLockScreenApi.java (79%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/SnSettingApi.java (68%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/UpdateSnLocationApi.java (65%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/UploadSnScreenshotApi.java (70%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/manage/WhiteListApi.java (75%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/sn/EquipmentBindApi.java (82%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/sn/SendBindVerCodeApi.java (80%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/sn/SnConfirmBindApi.java (82%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/sn/SnInfoApi.java (65%)
rename app/src/main/java/com/uiuipad/find/network/api/{ => kuxin}/sn/UpdateSnInfoApi.java (82%)
create mode 100644 app/src/main/java/com/uiuipad/find/service/SocketService.java
create mode 100644 app/src/main/java/com/uiuipad/find/util/CacheUtils.java
create mode 100644 app/src/main/java/com/uiuipad/find/websocket/JWebSocketClient.java
create mode 100644 app/src/main/jni/aoleyun.cpp
create mode 100644 app/src/main/res/drawable-hdpi/icon_ota.png
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
new file mode 100644
index 0000000..849e59f
--- /dev/null
+++ b/app/CMakeLists.txt
@@ -0,0 +1,44 @@
+# For more information about using CMake with Android Studio, read the
+# documentation: https://d.android.com/studio/projects/add-native-code.html
+
+# Sets the minimum version of CMake required to build the native library.
+
+cmake_minimum_required(VERSION 3.4.1)
+
+# Creates and names a library, sets it as either STATIC
+# or SHARED, and provides the relative paths to its source code.
+# You can define multiple libraries, and CMake builds them for you.
+# Gradle automatically packages shared libraries with your APK.
+
+add_library( # Sets the name of the library.
+ aoleyun
+
+ # Sets the library as a shared library.
+ SHARED
+
+ # Provides a relative path to your source file(s).
+ src/main/jni/aoleyun.cpp)
+
+# Searches for a specified prebuilt library and stores the path as a
+# variable. Because CMake includes system libraries in the search path by
+# default, you only need to specify the name of the public NDK library
+# you want to add. CMake verifies that the library exists before
+# completing its build.
+
+find_library( # Sets the name of the path variable.
+ log-lib
+
+ # Specifies the name of the NDK library that
+ # you want CMake to locate.
+ log )
+
+# Specifies libraries CMake should link to your target library. You
+# can link multiple libraries, such as libraries you define in this
+# build script, prebuilt third-party libraries, or system libraries.
+
+target_link_libraries( # Specifies the target library.
+ aoleyun
+
+ # Links the target library to the log library
+ # included in the NDK.
+ ${log-lib} )
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 6217113..d13150e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,8 +16,8 @@ android {
applicationId "com.uiuipad.find"
minSdkVersion 24
targetSdkVersion 29
- versionCode 3
- versionName "1.0.2"
+ versionCode 8
+ versionName "1.0.7"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -25,8 +25,8 @@ android {
ndk {
//选择要添加的对应 cpu 类型的 .so 库。
- abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', "x86"
- // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
+ abiFilters 'armeabi-v7a', 'arm64-v8a', "x86"
+ // 还可以添加 'armeabi', 'x86', 'x86_64', 'mips', 'mips64'
}
}
@@ -57,6 +57,15 @@ android {
v2SigningEnabled false
}
+ iPlay50SE {
+ storeFile file("keystore/iPlay50SE.keystore")
+ storePassword "123456"
+ keyAlias "iplay50se"
+ keyPassword "123456"
+ v1SigningEnabled true
+ v2SigningEnabled true
+ }
+
U807 {
storeFile file("keystore/AllwinnerU807.jks")
storePassword "123456"
@@ -64,8 +73,6 @@ android {
keyPassword "123456"
v2SigningEnabled false
}
-
-
}
buildTypes {
@@ -83,6 +90,20 @@ android {
signingConfig signingConfigs.U807
}
+ iPlay50SEDebug.initWith(debug)
+ iPlay50SEDebug {
+ buildConfigField "String", "platform", '"iPaly50SE"'
+ versionNameSuffix "-debug"
+ debuggable true
+ signingConfig signingConfigs.iPlay50SE
+ }
+
+ iPlay50SERelease.initWith(release)
+ iPlay50SERelease {
+ buildConfigField "String", "platform", '"iPaly50SE"'
+ signingConfig signingConfigs.iPlay50SE
+ }
+
debug {
versionNameSuffix "-debug"
debuggable true
@@ -121,6 +142,11 @@ android {
}
}
}
+ externalNativeBuild {
+ cmake {
+ path file('CMakeLists.txt')
+ }
+ }
}
@@ -147,8 +173,11 @@ dependencies {
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
- implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
+ // gson converter
+ implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
+ // 标准转换器,去掉 Retrofit以Mutipart上传参数时,String参数会多一对双引号
+ implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
//RxJava
implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
@@ -180,6 +209,10 @@ dependencies {
//Aria
implementation 'com.arialyy.aria:core:3.8.15'
annotationProcessor 'com.arialyy.aria:compiler:3.8.15'
+ //Java WebSocket
+ implementation "org.java-websocket:Java-WebSocket:1.5.3"
+ implementation 'com.tencent.bugly:crashreport:4.1.9.2'
+ implementation 'com.iqiyi.xcrash:xcrash-android-lib:3.0.0'
}
preBuild {
diff --git a/app/keystore/iPlay50SE.keystore b/app/keystore/iPlay50SE.keystore
new file mode 100644
index 0000000000000000000000000000000000000000..57f25214373c57f853a55218da54d97b8db56ff9
GIT binary patch
literal 2717
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
Jhz=M<{s*yh`NseN
literal 0
HcmV?d00001
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6bb0302..3009d6d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -71,7 +71,9 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
@@ -99,7 +101,24 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -123,6 +142,19 @@
+
+
+
+
+
+
+
+
+
+ android:value="yhlCxeBmZ1I7ZO50Emw4ptPtcYGOFg59" />
diff --git a/app/src/main/aidl/com/uiuipad/sn/KeepAliveConnection.aidl b/app/src/main/aidl/com/uiuipad/sn/KeepAliveConnection.aidl
new file mode 100644
index 0000000..3124d4b
--- /dev/null
+++ b/app/src/main/aidl/com/uiuipad/sn/KeepAliveConnection.aidl
@@ -0,0 +1,13 @@
+// KeepAliveConnection.aidl
+package com.uiuipad.sn;
+
+// Declare any non-default types here with import statements
+
+interface KeepAliveConnection {
+ /**
+ * Demonstrates some basic types that you can use as parameters
+ * and return values in AIDL.
+ */
+// void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,
+// double aDouble, String aString);
+}
diff --git a/app/src/main/java/com/uiuipad/find/activity/main/MainAContact.java b/app/src/main/java/com/uiuipad/find/activity/main/MainAContact.java
index 458eedc..0834f9c 100644
--- a/app/src/main/java/com/uiuipad/find/activity/main/MainAContact.java
+++ b/app/src/main/java/com/uiuipad/find/activity/main/MainAContact.java
@@ -4,7 +4,7 @@ import android.graphics.Bitmap;
import com.uiuipad.find.base.BasePresenter;
import com.uiuipad.find.base.BaseView;
-import com.uiuipad.find.bean.SnInfo;
+import com.uiuipad.find.bean.kuxin.SnInfo;
public class MainAContact {
interface Presenter extends BasePresenter {
diff --git a/app/src/main/java/com/uiuipad/find/activity/main/MainAPresenter.java b/app/src/main/java/com/uiuipad/find/activity/main/MainAPresenter.java
index b7129a8..fba0514 100644
--- a/app/src/main/java/com/uiuipad/find/activity/main/MainAPresenter.java
+++ b/app/src/main/java/com/uiuipad/find/activity/main/MainAPresenter.java
@@ -6,8 +6,8 @@ import android.util.Log;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
-import com.uiuipad.find.bean.BaseResponse;
-import com.uiuipad.find.bean.SnInfo;
+import com.uiuipad.find.bean.kuxin.BaseResponse;
+import com.uiuipad.find.bean.kuxin.SnInfo;
import com.uiuipad.find.comm.CommonConfig;
import com.uiuipad.find.network.NetInterfaceManager;
import com.uiuipad.find.util.BitmapUtils;
diff --git a/app/src/main/java/com/uiuipad/find/activity/main/MainActivity.java b/app/src/main/java/com/uiuipad/find/activity/main/MainActivity.java
index f906160..85caa49 100644
--- a/app/src/main/java/com/uiuipad/find/activity/main/MainActivity.java
+++ b/app/src/main/java/com/uiuipad/find/activity/main/MainActivity.java
@@ -12,21 +12,29 @@ import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.constraintlayout.widget.ConstraintLayout;
+
import com.blankj.utilcode.util.NetworkUtils;
import com.blankj.utilcode.util.StringUtils;
+import com.jakewharton.rxbinding2.view.RxView;
import com.shehuan.niv.NiceImageView;
import com.uiuipad.find.BuildConfig;
import com.uiuipad.find.R;
import com.uiuipad.find.base.BaseActivity;
-import com.uiuipad.find.bean.SnInfo;
+import com.uiuipad.find.bean.kuxin.SnInfo;
import com.uiuipad.find.service.ManagerService;
+import com.uiuipad.find.service.SocketService;
import com.uiuipad.find.service.main.MainService;
+import com.uiuipad.find.util.ApkUtils;
import com.uiuipad.find.util.TimeUtils;
import com.uiuipad.find.util.ToastUtil;
import com.uiuipad.find.util.Utils;
+import java.util.concurrent.TimeUnit;
+
import butterknife.BindView;
import butterknife.ButterKnife;
+import io.reactivex.functions.Consumer;
public class MainActivity extends BaseActivity implements MainAContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
private static final String TAG = MainActivity.class.getSimpleName();
@@ -48,9 +56,12 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
TextView tv_bind_time;
@BindView(R.id.iv_qrcode)
ImageView iv_qrcode;
- @BindView(R.id.bt_update)
- Button bt_update;
-
+ @BindView(R.id.tv_system_version)
+ TextView tv_system_version;
+ @BindView(R.id.cl_ota)
+ ConstraintLayout cl_ota;
+ @BindView(R.id.cl_app)
+ ConstraintLayout cl_app;
private MainAPresenter mPresenter;
@@ -90,6 +101,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
NetworkUtils.registerNetworkStatusChangedListener(this);
startService(new Intent(this, ManagerService.class));
+ startService(new Intent(this, SocketService.class));
Intent intent = new Intent(MainActivity.this, MainService.class);
bindService(intent, serviceConnect, BIND_AUTO_CREATE);
startService(intent);
@@ -98,17 +110,43 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
tv_version.setText(BuildConfig.VERSION_NAME);
tv_serial.setText(Utils.getSerial());
+ tv_system_version.setText(Utils.getCustomVersion());
- bt_update.setOnClickListener(new View.OnClickListener() {
+ RxView.clicks(cl_app)
+ .throttleFirst(60, TimeUnit.SECONDS) //两秒钟之内只取一个点击事件,防抖操作
+ .subscribe(new Consumer