From 02715f1346485d0788f9be28832cc308aec8607b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A2=81=E5=B0=8F=E6=B1=9F?= <461355754@qq.com>
Date: Wed, 12 Nov 2025 17:32:26 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=9A=84=E4=B8=8A=E6=9E=B6=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/releas/release/output-metadata.json | 37 ++
app/src/main/AndroidManifest.xml | 353 ++++++------
.../main/java/com/qxcm/qxlive/AppContext.java | 2 +-
.../com/qxcm/qxlive/LaunchPageActivity.java | 55 +-
.../java/com/qxcm/qxlive/LaunchPresenter.java | 10 +-
.../qxcm/qxlive/PasswordLoginActivity.java | 67 ++-
.../qxcm/qxlive/presenter/BasePresenter.java | 7 +-
.../qxcm/qxlive/wxapi/WXEntryActivity.java | 132 ++---
.../main/res/drawable/bg_launcher_skip.xml | 3 +-
.../main/res/drawable/bg_launcher_skip_2.xml | 4 +-
.../main/res/layout/activity_launch_page.xml | 138 ++---
.../res/layout/activity_password_login.xml | 541 +++++++++---------
gradle.properties | 4 +-
.../moduleutil/base/CommonAppContext.java | 10 +-
.../xscm/moduleutil/utils/CrashHandler.java | 9 +-
.../com/xscm/moduleutil/utils/ImageUtils.java | 15 +
.../utils/config/EnvironmentEnum.java | 2 +-
.../logger/BaseUrlSwitcherInterceptor.java | 57 ++
.../src/main/res/mipmap-hdpi/cp_tx_k.png | Bin 4504 -> 0 bytes
.../src/main/res/mipmap-hdpi/cp_tx_k.webp | Bin 0 -> 2000 bytes
.../res/mipmap-hdpi/ranking_user_cp_k.png | Bin 3985 -> 0 bytes
.../src/main/res/mipmap-xhdpi/cp_tx_k.png | Bin 5905 -> 0 bytes
.../src/main/res/mipmap-xhdpi/cp_tx_k.webp | Bin 0 -> 2274 bytes
.../src/main/res/mipmap-xhdpi/hourly_d.png | Bin 365 -> 0 bytes
.../res/mipmap-xhdpi/hourly_xlh_status.png | Bin 16208 -> 0 bytes
.../res/mipmap-xhdpi/ranking_user_cp_k.png | Bin 6149 -> 0 bytes
moduleUtil/src/main/res/mipmap-xhdpi/top1.png | Bin 3711 -> 0 bytes
moduleUtil/src/main/res/mipmap-xhdpi/top2.png | Bin 3441 -> 0 bytes
moduleUtil/src/main/res/mipmap-xhdpi/top3.png | Bin 4085 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/cp_tx_k.png | Bin 12540 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/cp_tx_k.webp | Bin 0 -> 4704 bytes
moduleUtil/src/main/res/mipmap-xxhdpi/dcl.png | Bin 13129 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/dcl2.png | Bin 23092 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/dcl3.png | Bin 24805 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/dcl4.png | Bin 24693 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/dcl5.png | Bin 24805 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/dcl6.png | Bin 23092 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/hourly_djs.png | Bin 10032 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/hourly_num.png | Bin 1045 -> 0 bytes
.../src/main/res/mipmap-xxhdpi/hourly_wh.png | Bin 848 -> 0 bytes
.../res/mipmap-xxhdpi/ranking_user_cp_k.png | Bin 11951 -> 0 bytes
.../src/main/res/mipmap-xxxhdpi/me_edit.webp | Bin 17040 -> 0 bytes
.../modulemain/activity/MainActivity.java | 2 +-
.../res/mipmap-anydpi-v26/ic_launcher.xml | 6 -
.../mipmap-anydpi-v26/ic_launcher_round.xml | 6 -
.../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1404 -> 0 bytes
.../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2898 -> 0 bytes
.../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 982 -> 0 bytes
.../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1772 -> 0 bytes
.../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1900 -> 0 bytes
.../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3918 -> 0 bytes
.../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2884 -> 0 bytes
.../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5914 -> 0 bytes
.../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 3844 -> 0 bytes
.../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7778 -> 0 bytes
.../moduleroom/activity/RoomActivity.kt | 46 +-
.../dialog/RoomSettingFragment.java | 10 +-
.../moduleroom/presenter/RoomPresenter.java | 3 +-
.../modulevocal/adapter/TaskBoxAdapter.java | 4 +-
.../res/layout/activity_currency_exchange.xml | 2 +-
.../src/main/res/layout/activity_recharge.xml | 2 +-
.../main/res/layout/activity_withdrawal.xml | 2 +-
.../qcloud/tuikit/timcommon/BuildConfig.java | 10 -
.../classicui/page/TUIC2CChatFragment.java | 2 +-
.../tuikit/tuiconversation/BuildConfig.java | 10 -
65 files changed, 815 insertions(+), 736 deletions(-)
create mode 100644 app/releas/release/output-metadata.json
create mode 100644 moduleUtil/src/main/java/com/xscm/moduleutil/utils/logger/BaseUrlSwitcherInterceptor.java
delete mode 100644 moduleUtil/src/main/res/mipmap-hdpi/cp_tx_k.png
create mode 100644 moduleUtil/src/main/res/mipmap-hdpi/cp_tx_k.webp
delete mode 100644 moduleUtil/src/main/res/mipmap-xhdpi/cp_tx_k.png
create mode 100644 moduleUtil/src/main/res/mipmap-xhdpi/cp_tx_k.webp
delete mode 100644 moduleUtil/src/main/res/mipmap-xxhdpi/cp_tx_k.png
create mode 100644 moduleUtil/src/main/res/mipmap-xxhdpi/cp_tx_k.webp
delete mode 100644 modulemain/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
delete mode 100644 modulemain/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
delete mode 100644 modulemain/src/main/res/mipmap-hdpi/ic_launcher.webp
delete mode 100644 modulemain/src/main/res/mipmap-hdpi/ic_launcher_round.webp
delete mode 100644 modulemain/src/main/res/mipmap-mdpi/ic_launcher.webp
delete mode 100644 modulemain/src/main/res/mipmap-mdpi/ic_launcher_round.webp
delete mode 100644 modulemain/src/main/res/mipmap-xhdpi/ic_launcher.webp
delete mode 100644 modulemain/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
delete mode 100644 modulemain/src/main/res/mipmap-xxhdpi/ic_launcher.webp
delete mode 100644 modulemain/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
delete mode 100644 modulemain/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
delete mode 100644 modulemain/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
delete mode 100644 timcommon/build/generated/source/buildConfig/debug/com/tencent/qcloud/tuikit/timcommon/BuildConfig.java
delete mode 100644 tuiconversation/build/generated/source/buildConfig/debug/com/tencent/qcloud/tuikit/tuiconversation/BuildConfig.java
diff --git a/app/releas/release/output-metadata.json b/app/releas/release/output-metadata.json
new file mode 100644
index 00000000..d79590fa
--- /dev/null
+++ b/app/releas/release/output-metadata.json
@@ -0,0 +1,37 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "APK",
+ "kind": "Directory"
+ },
+ "applicationId": "com.qxcm.qxlive",
+ "variantName": "releasRelease",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "attributes": [],
+ "versionCode": 51,
+ "versionName": "1.0.6.1",
+ "outputFile": "羽声_1.0.6.1_51.apk"
+ }
+ ],
+ "elementType": "File",
+ "baselineProfiles": [
+ {
+ "minApi": 28,
+ "maxApi": 30,
+ "baselineProfiles": [
+ "baselineProfiles/1/羽声_1.0.6.1_51.dm"
+ ]
+ },
+ {
+ "minApi": 31,
+ "maxApi": 2147483647,
+ "baselineProfiles": [
+ "baselineProfiles/0/羽声_1.0.6.1_51.dm"
+ ]
+ }
+ ],
+ "minSdkVersionForDexing": 24
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b504d094..f9872c1b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,235 +1,230 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.qxcm.qxlive">
+ android:name="android.hardware.telephony"
+ android:required="false" />
+ android:name="android.hardware.camera"
+ android:required="false" />
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+ android:name="com.qxcm.qxlive.AppContext"
+ android:allowBackup="true"
+ android:extractNativeLibs="true"
+ android:largeHeap="true"
+ android:dataExtractionRules="@xml/data_extraction_rules"
+ android:fullBackupContent="@xml/backup_rules"
+ android:requestLegacyExternalStorage="true"
+ android:resizeableActivity="true"
+ android:icon="@mipmap/ic_launcher_app"
+ android:label="@string/app_name"
+ android:roundIcon="@mipmap/ic_launcher_foreground"
+ android:supportsRtl="true"
+ android:theme="@style/AppTheme_MAIN"
+ android:networkSecurityConfig="@xml/network_security_config"
+ android:usesCleartextTraffic="true"
+ tools:ignore="SelectedPhotoAccess"
+ tools:replace="android:theme,android:allowBackup,android:roundIcon,android:icon"
+ android:enableOnBackInvokedCallback="true"
+ android:requestRawExternalStorageAccess="true"
+ tools:targetApi="tiramisu"
+ >
+ android:name=".LaunchPageActivity"
+ android:configChanges="orientation|keyboardHidden|screenSize"
+ android:exported="true"
+ android:screenOrientation="behind"
+ android:theme="@style/main_SplashThemeImage">
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+ android:name="BUGLY_APPID"
+ android:value="b45883f58f" />
+
+
+
+
+
+
+
+
+ android:name="BUGLY_ENABLE_DEBUG"
+ android:value="false" />
+ android:name="com.mobile.auth.gatewayauth.LoginAuthActivity"
+ android:configChanges="orientation|keyboardHidden|screenSize"
+ android:exported="false"
+ android:launchMode="singleTask"
+ android:screenOrientation="behind"
+ android:theme="@style/authsdk_activity_dialog" />
-
-
-
-
-
-
+
+
+
+
+
+
+ android:name="com.cmic.sso.sdk.activity.LoginAuthActivity"
+ android:configChanges="orientation|keyboardHidden|screenSize"
+ android:launchMode="singleTop"
+ android:screenOrientation="behind"
+ android:theme="@style/authsdk_activity_dialog" />
+ android:name=".wxapi.WXEntryActivity"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar"
+ android:exported="true"
+ android:taskAffinity="com.qxcm.qxlive"
+ android:launchMode="singleTask">
+ android:name=".wxapi.WXPayEntryActivity"
+ android:exported="true"
+ android:launchMode="singleTop" />
+ android:name="com.example.modulevocal.activity.RealNameActivity"
+ android:exported="false" />
+ android:name=".PasswordLoginActivity"
+ android:exported="true"
+ />
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/qxcm/qxlive/AppContext.java b/app/src/main/java/com/qxcm/qxlive/AppContext.java
index 409eb280..b6e8f669 100644
--- a/app/src/main/java/com/qxcm/qxlive/AppContext.java
+++ b/app/src/main/java/com/qxcm/qxlive/AppContext.java
@@ -39,7 +39,6 @@ public class AppContext extends CommonAppContext {
// });
// L.setDeBug(BuildConfig.DEBUG);
}
-
public static void initSdk() {
// CommonAppContext context = CommonAppContext.getInstance();
@@ -73,6 +72,7 @@ public class AppContext extends CommonAppContext {
// OpenInstall.init(context);
+
}
/**
diff --git a/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java b/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java
index 089f56e7..de4a7447 100644
--- a/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java
+++ b/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java
@@ -20,39 +20,38 @@ import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.dialog.PolicyDialog;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.SpUtil;
-
/**
- * APP准备启动
- *
- * _oo0oo_
- * o8888888o
- * 88" . "88
- * (| -_- |)
- * 0\ = /0
- * ___/`---'\___
- * .' \\| |// '.
- * / \\||| : |||// \
- * / _||||| -卍-|||||- \
- * | | \\\ - /// | |
- * | \_| ''\---/'' |_/ |
- * \ .-\__ '-' ___/-. /
- * ___'. .' /--.--\ `. .'___
- * ."" '< `.___\_<|>_/___.' >' "".
+ APP准备启动
+ *
+ * _oo0oo_
+ * o8888888o
+ * 88" . "88
+ * (| -_- |)
+ * 0\ = /0
+ * ___/`---'\___
+ * .' \\| |// '.
+ * / \\||| : |||// \
+ * / _||||| -卍-|||||- \
+ * | | \\\ - /// | |
+ * | \_| ''\---/'' |_/ |
+ * \ .-\__ '-' ___/-. /
+ * ___'. .' /--.--\ `. .'___
+ * ."" '< `.___\_<|>_/___.' >' "".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `_. \_ __\ /__ _/ .-` / /
- * =====`-.____`.___ \_____/___.-`___.-'=====
- * `=---='
- *
+ *=====`-.____`.___ \_____/___.-`___.-'=====
+ * `=---='
+ *
* 佛祖保佑 永无BUG
* 佛曰:
- * 写字楼里写字间,写字间里程序员;
- * 程序人员写程序,又拿程序换酒钱。
- * 酒醒只在网上坐,酒醉还来网下眠;
- * 酒醉酒醒日复日,网上网下年复年。
- * 但愿老死电脑间,不愿鞠躬老板前;
- * 奔驰宝马贵者趣,公交自行程序员。
- * 别人笑我忒疯癫,我笑自己命太贱;
- * 不见满街漂亮妹,哪个归得程序员?
+ * 写字楼里写字间,写字间里程序员;
+ * 程序人员写程序,又拿程序换酒钱。
+ * 酒醒只在网上坐,酒醉还来网下眠;
+ * 酒醉酒醒日复日,网上网下年复年。
+ * 但愿老死电脑间,不愿鞠躬老板前;
+ * 奔驰宝马贵者趣,公交自行程序员。
+ * 别人笑我忒疯癫,我笑自己命太贱;
+ * 不见满街漂亮妹,哪个归得程序员?
*/
public class LaunchPageActivity extends BaseAppCompatActivity {
private Handler handler;
diff --git a/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java b/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java
index dfd09344..f95ad366 100644
--- a/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java
+++ b/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java
@@ -57,11 +57,11 @@ public class LaunchPresenter extends BasePresenter userBean) {
- if (userBean == null) {
+ if (userBean==null) {
ToastUtils.showShort("登录失败请重试");
return;
}
- if (userBean.size() == 1) {
+ if (userBean.size()==1) {
CommonAppContext.getInstance().setUser(userBean.get(0));
@@ -84,9 +84,9 @@ public class LaunchPresenter extends BasePresenter result = authTask.authV2(authInfo, true);
LogUtils.e(result);
- if (result.get("resultStatus").equals("9000")) {
+ if (result.get("resultStatus").equals("9000")){
Pattern pattern = Pattern.compile("auth_code=([^&]*)");
Matcher matcher = pattern.matcher(result.get("result"));
if (matcher.find()) {
String authCode = matcher.group(1);
LogUtils.e("AuthCode", authCode);
- MvpPre.oauthLogin(authCode, 2);
+ MvpPre.oauthLogin(authCode,2);
}
}
}
diff --git a/app/src/main/java/com/qxcm/qxlive/presenter/BasePresenter.java b/app/src/main/java/com/qxcm/qxlive/presenter/BasePresenter.java
index 45a4206c..842d9f99 100644
--- a/app/src/main/java/com/qxcm/qxlive/presenter/BasePresenter.java
+++ b/app/src/main/java/com/qxcm/qxlive/presenter/BasePresenter.java
@@ -15,8 +15,8 @@ import io.reactivex.disposables.Disposable;
public abstract class BasePresenter implements IPresenter {
protected CompositeDisposable mDisposables = new CompositeDisposable();
- // private RemoteDataSource api;
- protected Reference MvpRef;
+// private RemoteDataSource api;
+ protected Reference MvpRef;
protected Context mContext;
@Deprecated
@@ -74,7 +74,7 @@ public abstract class BasePresenter implements IPresenter {
if (MvpRef != null) {
MvpRef.clear();
}
- mContext = null;
+ mContext=null;
}
/**
@@ -106,4 +106,5 @@ public abstract class BasePresenter implements IPresenter {
}
+
}
diff --git a/app/src/main/java/com/qxcm/qxlive/wxapi/WXEntryActivity.java b/app/src/main/java/com/qxcm/qxlive/wxapi/WXEntryActivity.java
index 98aa1d08..aef240ad 100644
--- a/app/src/main/java/com/qxcm/qxlive/wxapi/WXEntryActivity.java
+++ b/app/src/main/java/com/qxcm/qxlive/wxapi/WXEntryActivity.java
@@ -13,7 +13,7 @@ import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import org.greenrobot.eventbus.EventBus;
-public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
+public class WXEntryActivity extends Activity implements IWXAPIEventHandler{
// private static String TAG = "MicroMsg.WXEntryActivity";
//
// private IWXAPI api;
@@ -158,76 +158,76 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
// finish();
// }
//
- /// / private void goToGetMsg() {
- /// / Intent intent = new Intent(this, GetFromWXActivity.class);
- /// / intent.putExtras(getIntent());
- /// / startActivity(intent);
- /// / finish();
- /// / }
- /// /
- /// / private void goToShowMsg(ShowMessageFromWX.Req showReq) {
- /// / WXMediaMessage wxMsg = showReq.message;
- /// / WXAppExtendObject obj = (WXAppExtendObject) wxMsg.mediaObject;
- /// /
- /// / StringBuffer msg = new StringBuffer();
- /// / msg.append("description: ");
- /// / msg.append(wxMsg.description);
- /// / msg.append("\n");
- /// / msg.append("extInfo: ");
- /// / msg.append(obj.extInfo);
- /// / msg.append("\n");
- /// / msg.append("filePath: ");
- /// / msg.append(obj.filePath);
- /// /
- /// / Intent intent = new Intent(this, ShowFromWXActivity.class);
- /// / intent.putExtra(Constants.ShowMsgActivity.STitle, wxMsg.title);
- /// / intent.putExtra(Constants.ShowMsgActivity.SMessage, msg.toString());
- /// / intent.putExtra(Constants.ShowMsgActivity.BAThumbData, wxMsg.thumbData);
- /// / startActivity(intent);
- /// / finish();
- /// / }
+//// private void goToGetMsg() {
+//// Intent intent = new Intent(this, GetFromWXActivity.class);
+//// intent.putExtras(getIntent());
+//// startActivity(intent);
+//// finish();
+//// }
+////
+//// private void goToShowMsg(ShowMessageFromWX.Req showReq) {
+//// WXMediaMessage wxMsg = showReq.message;
+//// WXAppExtendObject obj = (WXAppExtendObject) wxMsg.mediaObject;
+////
+//// StringBuffer msg = new StringBuffer();
+//// msg.append("description: ");
+//// msg.append(wxMsg.description);
+//// msg.append("\n");
+//// msg.append("extInfo: ");
+//// msg.append(obj.extInfo);
+//// msg.append("\n");
+//// msg.append("filePath: ");
+//// msg.append(obj.filePath);
+////
+//// Intent intent = new Intent(this, ShowFromWXActivity.class);
+//// intent.putExtra(Constants.ShowMsgActivity.STitle, wxMsg.title);
+//// intent.putExtra(Constants.ShowMsgActivity.SMessage, msg.toString());
+//// intent.putExtra(Constants.ShowMsgActivity.BAThumbData, wxMsg.thumbData);
+//// startActivity(intent);
+//// finish();
+//// }
- private final String TAG = this.getClass().getSimpleName();
- public static final String APP_ID = CommonAppContext.getInstance().getCurrentEnvironment().getWxAppId();
- public static final String APP_SECRET = "请自己填写";
- private IWXAPI mApi;
+ private final String TAG = this.getClass().getSimpleName();
+ public static final String APP_ID = CommonAppContext.getInstance().getCurrentEnvironment().getWxAppId();
+ public static final String APP_SECRET = "请自己填写";
+ private IWXAPI mApi;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mApi = WXAPIFactory.createWXAPI(this, APP_ID, true);
- mApi.handleIntent(this.getIntent(), this);
- }
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mApi = WXAPIFactory.createWXAPI(this, APP_ID, true);
+ mApi.handleIntent(this.getIntent(), this);
+ }
- //微信发送的请求将回调到onReq方法
- @Override
- public void onReq(BaseReq baseReq) {
- }
+ //微信发送的请求将回调到onReq方法
+ @Override
+ public void onReq(BaseReq baseReq) {
+ }
- //发送到微信请求的响应结果
- @Override
- public void onResp(BaseResp resp) {
- switch (resp.errCode) {
- case BaseResp.ErrCode.ERR_OK:
- //发送成功
- ToastUtils.showShort("发送成功", resp.transaction);
- EventBus.getDefault().post(resp);
- break;
- case BaseResp.ErrCode.ERR_USER_CANCEL:
- //发送取消
- ToastUtils.showShort("发送取消", resp);
- break;
- case BaseResp.ErrCode.ERR_AUTH_DENIED:
- ToastUtils.showShort("发送被拒绝", resp);
- //发送被拒绝
- break;
- default:
- //发送返回
- break;
- }
- finish();
+ //发送到微信请求的响应结果
+ @Override
+ public void onResp(BaseResp resp) {
+ switch (resp.errCode) {
+ case BaseResp.ErrCode.ERR_OK:
+ //发送成功
+ ToastUtils.showShort("发送成功",resp.transaction);
+ EventBus.getDefault().post(resp);
+ break;
+ case BaseResp.ErrCode.ERR_USER_CANCEL:
+ //发送取消
+ ToastUtils.showShort("发送取消",resp);
+ break;
+ case BaseResp.ErrCode.ERR_AUTH_DENIED:
+ ToastUtils.showShort("发送被拒绝",resp);
+ //发送被拒绝
+ break;
+ default:
+ //发送返回
+ break;
+ }
+ finish();
- }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_launcher_skip.xml b/app/src/main/res/drawable/bg_launcher_skip.xml
index a5086742..456bd4be 100644
--- a/app/src/main/res/drawable/bg_launcher_skip.xml
+++ b/app/src/main/res/drawable/bg_launcher_skip.xml
@@ -1,5 +1,4 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_launcher_skip_2.xml b/app/src/main/res/drawable/bg_launcher_skip_2.xml
index 5c432df4..411b0805 100644
--- a/app/src/main/res/drawable/bg_launcher_skip_2.xml
+++ b/app/src/main/res/drawable/bg_launcher_skip_2.xml
@@ -1,8 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_launch_page.xml b/app/src/main/res/layout/activity_launch_page.xml
index 31903513..76372c38 100644
--- a/app/src/main/res/layout/activity_launch_page.xml
+++ b/app/src/main/res/layout/activity_launch_page.xml
@@ -1,102 +1,102 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+
+
+ android:background="#000" />
-
-
-
+ android:id="@+id/btn_skip_img"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_gravity="right"
+ android:layout_marginTop="37dp"
+ android:layout_marginRight="15dp"
+ android:background="@drawable/bg_launcher_skip"
+ android:visibility="invisible">
+ android:id="@+id/progress"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:cp_bg_color="@color/white"
+ app:cp_cur_progress="0"
+ app:cp_fg_color="#ff7200"
+ app:cp_stroke_width="2dp" />
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:text="@string/recommend_skip"
+ android:textColor="@color/white"
+ android:textSize="11sp" />
+ android:id="@+id/btn_skip_video"
+ android:layout_width="44dp"
+ android:layout_height="26dp"
+ android:layout_gravity="right"
+ android:layout_marginTop="37dp"
+ android:layout_marginRight="15dp"
+ android:background="@drawable/bg_launcher_skip_2"
+ android:gravity="center"
+ android:text="@string/recommend_skip"
+ android:textColor="@color/white"
+ android:textSize="11sp"
+ android:visibility="invisible" />
+ android:id="@+id/ad_tip"
+ android:layout_width="wrap_content"
+ android:layout_height="40dp"
+ android:layout_gravity="bottom|center_horizontal"
+ android:layout_marginBottom="50dp"
+ android:background="@drawable/bg_launcher_ad_tip"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp"
+ android:visibility="invisible">
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/a_067"
+ android:textColor="@color/white"
+ android:textSize="13sp" />
+ android:layout_width="13dp"
+ android:layout_height="13dp"
+ android:src="@mipmap/icon_arrow_right_3" />
+ android:id="@+id/cover"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clickable="true"
+ android:src="@mipmap/screen"
+ android:scaleType="centerCrop"
+ android:visibility="visible" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_password_login.xml b/app/src/main/res/layout/activity_password_login.xml
index 3aacc5b3..0c7b2f3b 100644
--- a/app/src/main/res/layout/activity_password_login.xml
+++ b/app/src/main/res/layout/activity_password_login.xml
@@ -1,379 +1,380 @@
+ xmlns:tools="http://schemas.android.com/tools">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scaleType="centerCrop"
+ android:src="@mipmap/log_bj" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left|top|center"
+ android:orientation="vertical">
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/dp_16"
+ android:layout_marginTop="@dimen/dp_67"
+ android:gravity="left|center"
+ android:orientation="vertical">
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@mipmap/login_title" />
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dp_20"
+ >
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/dp_16">
+ android:id="@+id/tv_login_text"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/dp_27"
+ android:layout_centerVertical="true"
+ android:text="@string/login_title"
+ android:textColor="@color/black"
+ android:textSize="18sp"
+ android:textStyle="bold" />
+ android:id="@+id/rel_phone"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_44"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:layout_marginLeft="@dimen/dp_16"
+ android:layout_marginTop="@dimen/dp_17"
+ android:layout_marginRight="@dimen/dp_16"
+ android:background="@drawable/bg_r16_ffeff2f8">
-
-
-
-
-
-
+ android:src="@mipmap/icon_login_user_new" />
+
+
+
+
+
+
+ android:id="@+id/iv_code"
+ android:layout_width="@dimen/dp_20"
+ android:layout_height="@dimen/dp_20"
+ android:layout_centerVertical="true"
+ android:layout_marginLeft="20dp"
+ android:src="@mipmap/icon_login_code" />
+ android:id="@+id/ed_password"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_28"
+ android:layout_marginLeft="13dp"
+ android:layout_marginRight="25dp"
+ android:layout_toRightOf="@+id/iv_code"
+ android:layout_centerInParent="true"
+ android:background="@android:color/transparent"
+ android:hint="@string/login_hint_code"
+ android:inputType="number"
+ android:maxLength="20"
+ android:singleLine="true"
+ android:textColor="@color/black"
+ android:textColorHint="@color/color_FFCCCCCC"
+ android:textSize="@dimen/sp_16" />
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_alignParentRight="true"
+ android:gravity="center"
+ >
+ android:id="@+id/tv_send_code"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/dp_13"
+ android:gravity="right"
+ android:text="@string/login_send_code"
+ android:textColor="#22BB79"
+ android:textSize="@dimen/sp_16"
+ tools:visibility="visible" />
+ android:id="@+id/rl_pass_code"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_44"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="15dp"
+ android:layout_marginRight="20dp"
+ android:visibility="gone"
+ android:background="@drawable/bg_r16_ffeff2f8">
+ android:id="@+id/iv_pass_code"
+ android:layout_width="@dimen/dp_20"
+ android:layout_height="@dimen/dp_20"
+ android:layout_centerVertical="true"
+ android:layout_marginLeft="20dp"
+ android:src="@mipmap/icon_login_lick" />
+ android:id="@+id/ed_password_code"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_28"
+ android:layout_marginLeft="13dp"
+ android:layout_marginRight="25dp"
+ android:layout_toRightOf="@+id/iv_pass_code"
+ android:layout_centerInParent="true"
+ android:background="@android:color/transparent"
+ android:hint="@string/login_hint_pass"
+ android:inputType="textPassword"
+ android:maxLength="20"
+ android:singleLine="true"
+ android:textColor="@color/black"
+ android:textColorHint="@color/color_FFCCCCCC"
+ android:textSize="@dimen/sp_16" />
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_alignParentRight="true"
+ android:gravity="center"
+ android:orientation="horizontal">
>
+ android:id="@+id/iv_eye"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@mipmap/eye_close"
+ android:visibility="gone"/>
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dp_10">
+ android:id="@+id/tv_code_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginRight="16dp"
+ android:drawableLeft="@mipmap/common_switch_login_icon"
+ android:drawablePadding="@dimen/dp_3"
+ android:gravity="center"
+ android:text="@string/login_btn_switch"
+ android:textColor="#666666"
+ android:textSize="12sp"
+ android:textStyle="bold" />
+
+ android:id="@+id/fl_login"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="@dimen/dp_38"
+ android:layout_marginTop="@dimen/dp_23"
+ android:layout_marginBottom="@dimen/dp_150"
+ android:layout_marginRight="@dimen/dp_38"
+ >
+ android:id="@+id/iv_login_bg"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_42"
+ android:src="@drawable/theme_bg" />
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:enabled="false"
+ android:gravity="center"
+ android:text="@string/login_btn_login"
+ android:textColor="@color/color_white"
+ android:textSize="14sp" />
+ >
+ android:id="@+id/tv_login_error"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentTop="true"
+ android:layout_marginBottom="@dimen/dp_7"
+ android:gravity="center"
+ android:text="@string/login_btn_qt"
+ android:textColor="@color/color_666666"
+ android:textSize="@dimen/sp_12"
+ tools:visibility="visible" />
+ android:id="@+id/ll_other_login"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/tv_login_error"
+ android:gravity="center_horizontal"
+ android:layout_marginBottom="@dimen/dp_55"
+ android:orientation="horizontal"
+ android:visibility="visible"
+ tools:visibility="visible">
+ android:id="@+id/iv_weixin"
+ android:layout_width="@dimen/dp_44"
+ android:layout_height="44dp"
+ android:src="@mipmap/sign_icon_wechat" />
+ android:id="@+id/iv_zfb"
+ android:layout_width="@dimen/dp_44"
+ android:layout_height="@dimen/dp_44"
+ android:layout_marginLeft="@dimen/dp_33"
+ android:src="@mipmap/sign_icon_zfb"
+ />
+ android:id="@+id/ll_agreement"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/ll_other_login"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginBottom="@dimen/dp_25"
+ android:gravity="center"
+ android:orientation="horizontal">
+ android:id="@+id/cb_privacy"
+ android:layout_width="@dimen/dp_15"
+ android:layout_height="@dimen/dp_15"
+ android:layout_marginEnd="@dimen/dp_5"
+ android:background="@drawable/selector_login_agreement"
+ android:button="@null" />
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="我已阅读并同意"
+ android:textColor="@color/color_FFA8A8A8"
+ android:textSize="@dimen/sp_11"
+ android:textStyle="bold" />
+ android:id="@+id/tv_ysxy"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="《用户协议》"
+ android:textColor="#22BB79"
+ android:textSize="@dimen/sp_11"
+ android:textStyle="bold" />
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="和"
+ android:textColor="@color/color_FFA8A8A8"
+ android:textSize="@dimen/sp_11"
+ android:textStyle="bold" />
+ android:id="@+id/tv_yhxy"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="《隐私协议》"
+ android:textColor="#22BB79"
+ android:textSize="@dimen/sp_11"
+ android:textStyle="bold" />
diff --git a/gradle.properties b/gradle.properties
index 11db06a7..53a66531 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -28,8 +28,8 @@ isBuildModule=false
#org.gradle.deamon=false
android.injected.testOnly=false
-APP_VERSION_NAME=1.0.5.9
-APP_VERSION_CODE=49
+APP_VERSION_NAME=1.0.6.2
+APP_VERSION_CODE=52
org.gradle.jvm.toolchain.useLegacyAdapters=false
#org.gradle.java.home=C\:\\Users\\qx\\.jdks\\ms-17.0.15
diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java
index 20a1341f..1ee5ee80 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java
@@ -165,11 +165,11 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
adjustFontScale(getResources().getConfiguration());
CrashHandler.init(this);
- if (currentEnvironment.getShelf()==1){
- if (SpUtil.getShelf()!=1) {
+// if (currentEnvironment.getShelf()==1){
+ if (SpUtil.getShelf()!=0) {
SpUtil.setShelf(1);
}
- }
+// }
}
@@ -457,8 +457,8 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
// }
// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.181.248","android-"+ MqttClient.generateClientId());
- mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.101.98","android-"+ MqttClient.generateClientId());
- mqttConnect.mqttClient();
+// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.101.98","android-"+ MqttClient.generateClientId());
+// mqttConnect.mqttClient();
// 每次启动应用时重置状态
SpUtil.getInstance().setBooleanValue("youth_model_shown", false);
diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/CrashHandler.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/CrashHandler.java
index 98b608d4..de06982a 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/CrashHandler.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/CrashHandler.java
@@ -1,10 +1,13 @@
package com.xscm.moduleutil.utils;
import android.content.Context;
+import android.content.Intent;
import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
+import static com.blankj.utilcode.util.ActivityUtils.startActivity;
+
public class CrashHandler implements Thread.UncaughtExceptionHandler {
private static CrashHandler instance;
private Thread.UncaughtExceptionHandler defaultHandler;
@@ -36,6 +39,10 @@ public class CrashHandler implements Thread.UncaughtExceptionHandler {
private void restartApp() {
// 实现应用重启逻辑
- ARouter.getInstance().build(ARouteConstants.ME).navigation();
+// ARouter.getInstance().build(ARouteConstants.ME).navigation();
+
+ Intent intent = new Intent("com.qxcm.qxlive.LAUNCH_PAGE");
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
}
}
diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageUtils.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageUtils.java
index 2183d6c5..ace5cd22 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageUtils.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/ImageUtils.java
@@ -196,6 +196,21 @@ public class ImageUtils {
}
Glide.with(mImageView).load(path).error(R.mipmap.default_avatar).placeholder(R.mipmap.default_avatar).centerCrop().diskCacheStrategy(DiskCacheStrategy.ALL).into(mImageView);
+ }
+ public static void loadHeadCCTask(String path, ImageView mImageView,int errorImage) {
+ if (mImageView == null) {
+ return;
+ }
+
+ Context context = mImageView.getContext();
+ if (context instanceof android.app.Activity) {
+ android.app.Activity activity = (android.app.Activity) context;
+ if (activity.isFinishing() || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && activity.isDestroyed())) {
+ return;
+ }
+ }
+ Glide.with(mImageView).load(path).error(errorImage).placeholder(errorImage).centerCrop().diskCacheStrategy(DiskCacheStrategy.ALL).into(mImageView);
+
}
public static void loadCompressImg(String path, ImageView mImageView, int width, int height) {
diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java
index a5afa0f2..bac57a61 100644
--- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentEnum.java
@@ -15,7 +15,7 @@ public enum EnvironmentEnum {
"3e8f3add448d4692bc1d04c75ffe801b",
"tcp://81.70.45.221",
"https://vespa.qxyushen.top/h5",
- 1),
+ 0),
TEST(//测试环境
"https://test.vespa.qxyushen.top/",
"6rdWuz058oq5OahdbFiGEybUcdahd12J83L34Uc7MrPIrxtFG+rXiwDvRcqNvjwbClbbmvMrmxKVkIysFByBsl0Qe9kqd2w8T/nhK5G6eXXlk2V9AjYCieIU+jRnjZBB+Cfechr6rCGJ2aeBARIsXcRPW7wm9WFK9euh5T+v6Pyte68yNaNdcYCll3+U4/uCEog7HygCnMIbAU+kqoPdmn2H+51YOHW+VsnsHd4w1+I3f8Tt0xLIXGM4GWnQueZ5GR46GTWiSYMy8dCIh9SPIMRyC91GosVcfGPMJSdcXqc=",
diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/logger/BaseUrlSwitcherInterceptor.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/logger/BaseUrlSwitcherInterceptor.java
new file mode 100644
index 00000000..fb4ae847
--- /dev/null
+++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/logger/BaseUrlSwitcherInterceptor.java
@@ -0,0 +1,57 @@
+package com.xscm.moduleutil.utils.logger;
+
+import okhttp3.HttpUrl;
+import okhttp3.Interceptor;
+import okhttp3.Request;
+import okhttp3.Response;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * com.xscm.moduleutil.utils.logger
+ * qx
+ * 2025/11/6
+ */
+public class BaseUrlSwitcherInterceptor implements Interceptor {
+ private List baseUrls;
+ private int currentIndex = 0;
+
+ public BaseUrlSwitcherInterceptor(List baseUrls) {
+ this.baseUrls = baseUrls;
+ }
+
+ @Override
+ public Response intercept(Chain chain) throws IOException {
+ Request request = chain.request();
+ HttpUrl originalHttpUrl = request.url();
+
+ // 获取当前应该使用的 baseUrl
+ String currentBaseUrl = baseUrls.get(currentIndex);
+ HttpUrl newBaseUrl = HttpUrl.parse(currentBaseUrl);
+
+ if (newBaseUrl == null) {
+ throw new IllegalArgumentException("Invalid base url: " + currentBaseUrl);
+ }
+
+ // 构建新的 HttpUrl
+ HttpUrl newUrl = originalHttpUrl.newBuilder()
+ .scheme(newBaseUrl.scheme())
+ .host(newBaseUrl.host())
+ .port(newBaseUrl.port())
+ .build();
+
+ Request.Builder builder = request.newBuilder().url(newUrl);
+ Request newRequest = builder.build();
+
+ // 尝试执行请求
+ try {
+ return chain.proceed(newRequest);
+ } catch (IOException e) {
+ // 如果请求失败,则切换到下一个 baseUrl 并重试
+ currentIndex = (currentIndex + 1) % baseUrls.size();
+ return intercept(chain); // 递归调用重新构建请求
+ }
+ }
+}
+
diff --git a/moduleUtil/src/main/res/mipmap-hdpi/cp_tx_k.png b/moduleUtil/src/main/res/mipmap-hdpi/cp_tx_k.png
deleted file mode 100644
index 85e5f003ccc2591400b81a7d7ee795d1f0badc12..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 4504
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
i|MfX|
literal 0
HcmV?d00001
diff --git a/moduleUtil/src/main/res/mipmap-hdpi/ranking_user_cp_k.png b/moduleUtil/src/main/res/mipmap-hdpi/ranking_user_cp_k.png
index 03abeb8763d8e49cbab38c759a5f6dd36810da52..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
GIT binary patch
literal 0
HcmV?d00001
literal 3985
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
diff --git a/moduleUtil/src/main/res/mipmap-xhdpi/cp_tx_k.png b/moduleUtil/src/main/res/mipmap-xhdpi/cp_tx_k.png
deleted file mode 100644
index a13d19d436cbdcc0d23b680c5cf6375ad0d7d6cb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5905
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
literal 0
HcmV?d00001
diff --git a/moduleUtil/src/main/res/mipmap-xhdpi/hourly_d.png b/moduleUtil/src/main/res/mipmap-xhdpi/hourly_d.png
index b3c8c52848484420bc93f407b06f181ae20f986a..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
GIT binary patch
literal 0
HcmV?d00001
literal 365
zcmeAS@N?(olHy`uVBq!ia0vp^5-l1r?1?7`sT+^&8)tB
zptf937sn8d^LsCv3msw*VZOMPQ%%x`PfeY<`v3313;z~2Fix%NO=H>bVI>xt);ItF
diff --git a/moduleUtil/src/main/res/mipmap-xhdpi/hourly_xlh_status.png b/moduleUtil/src/main/res/mipmap-xhdpi/hourly_xlh_status.png
index 551d1088db396dc42c6383afbf4de6aa3af77d42..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
GIT binary patch
literal 0
HcmV?d00001
literal 16208
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