diff --git a/app/build.gradle b/app/build.gradle index 946b539..5ab1605 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,26 +1,9 @@ apply plugin: 'com.android.application' -static String getBuildConfigFieldValue(def variant, def fiedName) { - def properties = variant.productFlavors[0].properties - def name = properties.get("name") - if (name != variant.flavorName) { - return "" - } - def configs = properties.get("buildConfigFields") - def address = null - for (Map.Entry item : configs) { - def key = item.key - if (key == fiedName) { - address = item.value - } - } - if (address == null) return "" - def field = address.getClass().getDeclaredField("value") - field.setAccessible(true) - return field.get(address).toString().replace("\"", "") +static def appName() { + return "小酷守护" } - static def releaseTime() { return new Date().format("yyyyMMdd_HHmmss", TimeZone.getDefault()) } @@ -30,9 +13,12 @@ android { buildToolsVersion "29.0.3" defaultConfig { + applicationId "com.uiuipad.find" minSdkVersion 24 targetSdkVersion 29 + versionCode 29 + versionName "1.2.8" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -43,6 +29,12 @@ android { abiFilters 'armeabi-v7a', 'arm64-v8a', "x86" // 还可以添加 'armeabi', 'x86', 'x86_64', 'mips', 'mips64' } + + buildConfigField "String", "app_name", '"小酷守护"' + manifestPlaceholders = [ + ALIPUSH_KEY : "333898263", + ALIPUSH_SECRET: "e1b374229ffe479eb34ba74432b7e454", + ] } lintOptions { @@ -61,57 +53,6 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } - //多版本 - productFlavors { - kuxin { - flavorDimensions "default" - applicationId "com.uiuipad.find" - versionCode 27 - versionName "1.2.6" - buildConfigField "String", "app_name", '"小酷守护"' - manifestPlaceholders = [ - ALIPUSH_KEY : "333898263", - ALIPUSH_SECRET: "e1b374229ffe479eb34ba74432b7e454", - ] - } - - aiKuxin { - flavorDimensions "default" - applicationId "com.aole.safe" - versionCode 1 - versionName "1.0.0" - buildConfigField "String", "app_name", '"守护中心"' - manifestPlaceholders = [ - ALIPUSH_KEY : "333982424", - ALIPUSH_SECRET: "c831992e2de743dcad66f5ec420798a4", - ] - } - - aigo { - flavorDimensions "default" - applicationId "com.safeos.ae" - versionCode 1 - versionName "1.0.0" - buildConfigField "String", "app_name", '"安全守护"' - manifestPlaceholders = [ - ALIPUSH_KEY : "333982410", - ALIPUSH_SECRET: "6d8785a73d904055ac00f84d83400be4", - ] - } - - phone { - flavorDimensions "default" - applicationId "com.dangsafe.kf" - versionCode 1 - versionName "1.0.0" - buildConfigField "String", "app_name", '"时间守护"' - manifestPlaceholders = [ - ALIPUSH_KEY : "333982833", - ALIPUSH_SECRET: "67a5bf10515947459c04fc000367feca", - ] - } - } - //签名 signingConfigs { //iPlay50 mini,iPlay50 android13 共用签名 @@ -165,65 +106,65 @@ android { v2SigningEnabled false } - UnisocS6688 { - storeFile file("keystore/UnisocS6688Userdebug.jks") - storePassword "123456" - keyAlias "unisocs6688userdebug" - keyPassword "123456" - v1SigningEnabled true - v2SigningEnabled true - } - - Aigo1071 { - storeFile file("keystore/Aigo1071.jks") - storePassword "123456" - keyAlias "aigo1071" - keyPassword "123456" - v1SigningEnabled true - v2SigningEnabled true - } +// UnisocS6688 { +// storeFile file("keystore/UnisocS6688Userdebug.jks") +// storePassword "123456" +// keyAlias "unisocs6688userdebug" +// keyPassword "123456" +// v1SigningEnabled true +// v2SigningEnabled true +// } +// +// Aigo1071 { +// storeFile file("keystore/Aigo1071.jks") +// storePassword "123456" +// keyAlias "aigo1071" +// keyPassword "123456" +// v1SigningEnabled true +// v2SigningEnabled true +// } } buildTypes { - Aigo1071Debug.initWith(debug) - Aigo1071Debug { - versionNameSuffix "-debug" - debuggable true - signingConfig signingConfigs.Aigo1071 - buildConfigField "String", "platform", '"W8183"' - manifestPlaceholders = [ - Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" - ] - } - - Aigo1071Release.initWith(release) - Aigo1071Release { - signingConfig signingConfigs.Aigo1071 - buildConfigField "String", "platform", '"W8183"' - manifestPlaceholders = [ - Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" - ] - } - - UnisocS6688Debug.initWith(debug) - UnisocS6688Debug { - versionNameSuffix "-debug" - debuggable true - signingConfig signingConfigs.UnisocS6688 - buildConfigField "String", "platform", '"S6688"' - manifestPlaceholders = [ - Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" - ] - } - - UnisocS6688Release.initWith(release) - UnisocS6688Release { - signingConfig signingConfigs.UnisocS6688 - buildConfigField "String", "platform", '"S6688"' - manifestPlaceholders = [ - Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" - ] - } +// Aigo1071Debug.initWith(debug) +// Aigo1071Debug { +// versionNameSuffix "-debug" +// debuggable true +// signingConfig signingConfigs.Aigo1071 +// buildConfigField "String", "platform", '"W8183"' +// manifestPlaceholders = [ +// Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" +// ] +// } +// +// Aigo1071Release.initWith(release) +// Aigo1071Release { +// signingConfig signingConfigs.Aigo1071 +// buildConfigField "String", "platform", '"W8183"' +// manifestPlaceholders = [ +// Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" +// ] +// } +// +// UnisocS6688Debug.initWith(debug) +// UnisocS6688Debug { +// versionNameSuffix "-debug" +// debuggable true +// signingConfig signingConfigs.UnisocS6688 +// buildConfigField "String", "platform", '"S6688"' +// manifestPlaceholders = [ +// Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" +// ] +// } +// +// UnisocS6688Release.initWith(release) +// UnisocS6688Release { +// signingConfig signingConfigs.UnisocS6688 +// buildConfigField "String", "platform", '"S6688"' +// manifestPlaceholders = [ +// Baidu_AK: "YCmfZSw54O992lChzS3c4roYioitT54h" +// ] +// } teclast8183Debug.initWith(debug) teclast8183Debug { @@ -330,7 +271,7 @@ android { applicationVariants.all { variant -> variant.outputs.each { output -> if (outputFile != null) { - def fileName = "${getBuildConfigFieldValue(variant, "app_name")}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk" + def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk" output.outputFileName = fileName } } @@ -355,7 +296,7 @@ android { variant.outputs.each { output -> def outputFile = "" if (outputFile != null) { - def fileName = "${getBuildConfigFieldValue(variant, "app_name")}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk" + def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk" output.outputFileName = new File(outputFile, fileName) } } @@ -363,29 +304,6 @@ android { } } - sourceSets { - kuxin { - res { - srcDirs 'src/res' - } - } - aiKuxin { - res { - srcDirs 'src/aiKuxin/res' - } - } - aigo { - res { - srcDirs 'src/aigo/res' - } - } - phone { - res { - srcDirs 'src/phone/res' - } - } - } - externalNativeBuild { cmake { path file('CMakeLists.txt') diff --git a/app/src/aiKuxin/res/values/strings.xml b/app/src/aiKuxin/res/values/strings.xml deleted file mode 100644 index b947cbc..0000000 --- a/app/src/aiKuxin/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - 守护中心 - diff --git a/app/src/aigo/res/values/strings.xml b/app/src/aigo/res/values/strings.xml deleted file mode 100644 index 7fee0a8..0000000 --- a/app/src/aigo/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - 安全守护 - \ No newline at end of file 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 0c161d6..ae97b46 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 @@ -21,10 +21,12 @@ import com.uiuipad.find.BuildConfig; import com.uiuipad.find.R; import com.uiuipad.find.base.BaseActivity; import com.uiuipad.find.bean.kuxin.SnInfo; +import com.uiuipad.find.network.NetInterfaceManager; 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.ModelUtils; import com.uiuipad.find.util.TimeUtils; import com.uiuipad.find.util.ToastUtil; import com.uiuipad.find.util.Utils; @@ -176,6 +178,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, @Override public void initData() { + NetInterfaceManager.getInstance().bindPlatform(ModelUtils.getInstance().getModelId(BuildConfig.platform)); mPresenter.getQrCode(); } diff --git a/app/src/main/java/com/uiuipad/find/network/NetInterfaceManager.java b/app/src/main/java/com/uiuipad/find/network/NetInterfaceManager.java index 7878672..9e7b447 100644 --- a/app/src/main/java/com/uiuipad/find/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiuipad/find/network/NetInterfaceManager.java @@ -43,6 +43,7 @@ import com.uiuipad.find.network.api.kuxin.manage.RemoveLockScreenApi; import com.uiuipad.find.network.api.kuxin.manage.SnSettingApi; import com.uiuipad.find.network.api.kuxin.manage.UpdateSnLocationApi; import com.uiuipad.find.network.api.kuxin.manage.UploadSnScreenshotApi; +import com.uiuipad.find.network.api.kuxin.sn.BindPlatformApi; import com.uiuipad.find.network.api.kuxin.sn.SnConfirmBindApi; import com.uiuipad.find.network.api.kuxin.sn.SnInfoApi; import com.uiuipad.find.network.api.kuxin.sn.UpdateSnInfoApi; @@ -336,6 +337,15 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + public Observable getBindPlatformObservable(int platformId) { + return mRetrofit.create(BindPlatformApi.class) + .bindPlatform(Utils.getSerial(), platformId) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + + + public Observable getAuthorizedControl(RequestBody body) { return mJxwRetrofit.create(AuthorizedApi.class) @@ -948,4 +958,31 @@ public class NetInterfaceManager { } }); } + + public void bindPlatform(int platformId) { + Log.e(TAG, "bindPlatform: platformId = " + platformId); + getBindPlatformObservable(platformId) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("bindPlatform", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse baseResponse) { + Log.e("bindPlatform", "onNext: " + baseResponse); + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("bindPlatform", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("bindPlatform", "onComplete: "); + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/uiuipad/find/network/UrlAddress.java b/app/src/main/java/com/uiuipad/find/network/UrlAddress.java index e297d13..746dbd3 100644 --- a/app/src/main/java/com/uiuipad/find/network/UrlAddress.java +++ b/app/src/main/java/com/uiuipad/find/network/UrlAddress.java @@ -20,7 +20,8 @@ public class UrlAddress { public static final String UPDATE_SN_INFO = "equipment/sn/updateSnInfo"; /*获取绑定信息*/ public static final String GET_SN_INFO = "equipment/sn/getSnInfo"; - + /*sn绑定机型平台*/ + public static final String BIND_PLATFORM = "equipment/sn/bind-platform"; /* * 管控 diff --git a/app/src/main/java/com/uiuipad/find/network/api/kuxin/sn/BindPlatformApi.java b/app/src/main/java/com/uiuipad/find/network/api/kuxin/sn/BindPlatformApi.java new file mode 100644 index 0000000..f95ad75 --- /dev/null +++ b/app/src/main/java/com/uiuipad/find/network/api/kuxin/sn/BindPlatformApi.java @@ -0,0 +1,18 @@ +package com.uiuipad.find.network.api.kuxin.sn; + +import com.uiuipad.find.bean.kuxin.BaseResponse; +import com.uiuipad.find.network.UrlAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface BindPlatformApi { + @FormUrlEncoded + @POST(UrlAddress.BIND_PLATFORM) + Observable bindPlatform( + @Field("sn") String sn, + @Field("platform_id") int platformId + ); +} diff --git a/app/src/main/java/com/uiuipad/find/push/PushManager.java b/app/src/main/java/com/uiuipad/find/push/PushManager.java index 1138c98..71760ea 100644 --- a/app/src/main/java/com/uiuipad/find/push/PushManager.java +++ b/app/src/main/java/com/uiuipad/find/push/PushManager.java @@ -24,6 +24,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.tencent.mmkv.MMKV; +import com.uiuipad.find.BuildConfig; import com.uiuipad.find.activity.AudioActivity; import com.uiuipad.find.activity.NoticeActivity; import com.uiuipad.find.bean.kuxin.AppInfo; @@ -203,7 +204,9 @@ public class PushManager { break; case DEVICE_REBOOT: ToastUtil.debugShow("收到管控:设备重启"); - ControlUtils.rebootDevices(mContext); + if (!BuildConfig.DEBUG) { + ControlUtils.rebootDevices(mContext); + } break; case DEVICE_CLEAR: ToastUtil.debugShow("收到管控:一键加速"); diff --git a/app/src/main/java/com/uiuipad/find/service/main/MainService.java b/app/src/main/java/com/uiuipad/find/service/main/MainService.java index 6e97e24..73c5656 100644 --- a/app/src/main/java/com/uiuipad/find/service/main/MainService.java +++ b/app/src/main/java/com/uiuipad/find/service/main/MainService.java @@ -32,6 +32,7 @@ import com.trello.rxlifecycle4.LifecycleTransformer; import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; import com.trello.rxlifecycle4.android.RxLifecycleAndroid; +import com.uiuipad.find.BuildConfig; import com.uiuipad.find.R; import com.uiuipad.find.activity.main.MainActivity; import com.uiuipad.find.bean.aolelearn.ActivationBean; @@ -43,6 +44,7 @@ import com.uiuipad.find.hook.KuxinActivityController; import com.uiuipad.find.network.NetInterfaceManager; import com.uiuipad.find.util.ApkUtils; import com.uiuipad.find.util.AppUtil; +import com.uiuipad.find.util.ModelUtils; import com.uiuipad.find.util.Utils; import org.jetbrains.annotations.NotNull; @@ -96,6 +98,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo if (Utils.isScreenOn(MainService.this)) { mPresenter.updateSnInfo(); } + NetInterfaceManager.getInstance().bindPlatform(ModelUtils.getInstance().getModelId(BuildConfig.platform)); } @Override diff --git a/app/src/main/java/com/uiuipad/find/util/ModelUtils.java b/app/src/main/java/com/uiuipad/find/util/ModelUtils.java new file mode 100644 index 0000000..4003ac2 --- /dev/null +++ b/app/src/main/java/com/uiuipad/find/util/ModelUtils.java @@ -0,0 +1,32 @@ +package com.uiuipad.find.util; + +public class ModelUtils { + public ModelUtils() { + } + + private static class ModelLoadUtilsHolder { + private final static ModelUtils INSTANCE = new ModelUtils(); + } + + public static ModelUtils getInstance() { + return ModelLoadUtilsHolder.INSTANCE; + } + + public int getModelId(String platform){ + switch (platform){ + default: + case "U807": + return 2; + case "MTK8183": + return 3; + case "G10P": + return 5; + case "A11MTK8183": + return 6; + case "S6688": + return 7; + case "W8183": + return 8; + } + } +} diff --git a/app/src/phone/res/values/strings.xml b/app/src/phone/res/values/strings.xml deleted file mode 100644 index 3d4f3f8..0000000 --- a/app/src/phone/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - 时间守护 -