From 1311774b7c71fe94016a7b2cdf508e3d39114422 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 12 四月 2024 09:46:06 +0800 Subject: [PATCH] Merge branch 'dev-hxb' into wjc_new --- app/src/main/res/anim/dcloud_unimp_close_exit.xml | 17 +--- app/src/main/res/values/styles.xml | 4 app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java | 34 ++++++-- app/src/main/res/layout/activity_splash.xml | 8 ++ app/src/main/res/values/themes.xml | 2 app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java | 35 +++++++- app/src/main/res/anim/dcloud_unimp_host_open_enter.xml | 19 ++-- app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 9 ++ app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java | 11 ++ app/src/main/res/anim/dcloud_unimp_open_enter.xml | 18 +--- build.gradle | 13 +++ app/src/main/res/anim/dcloud_unimp_host_close_exit.xml | 19 +--- app/src/main/java/com/hdl/photovoltaic/uni/MySplashView.java | 35 ++++++++ app/build.gradle | 8 + 14 files changed, 165 insertions(+), 67 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0132905..d53f677 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,14 +28,14 @@ defaultConfig { applicationId "com.hdl.photovoltaic" minSdk 23 - targetSdk 30 + targetSdk 28 versionCode 1 versionName "1.3.2"//鐗堟湰瑙勫垯1.3鏄骇鍝佸姛鑳借凯浠g敤鐨�,鏈�鍚庝竴浣�0鏄垜浠慨澶峛ug鐢ㄧ殑 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true manifestPlaceholders = mfph ndk { - abiFilters 'x86', 'armeabi-v7a', "arm64-v8a" //涓嶆敮鎸乤rmeabi + abiFilters 'armeabi-v7a', "arm64-v8a" //涓嶆敮鎸乤rmeabi } manifestPlaceholders = [ @@ -62,6 +62,10 @@ ] } + // 淇濊瘉鍏朵粬鐨刲ib娌℃湁琚玴reDex + dexOptions { + preDexLibraries = false + } repositories { flatDir { dirs 'libs' diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java index fafd7b0..3011dbc 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -1,10 +1,13 @@ package com.hdl.photovoltaic; import android.app.Application; +import android.content.Context; import android.content.Intent; import android.os.SystemClock; import android.text.TextUtils; + +import androidx.multidex.MultiDex; import com.hdl.hdlhttp.HxHttpConfig; import com.hdl.linkpm.sdk.HDLLinkPMSdk; @@ -313,4 +316,10 @@ HdlLogLogic.print("娴嬭瘯Mqtt杩炴帴鏈嶅姟绔け璐�--->"); } } + + @Override + protected void attachBaseContext(Context base) { + MultiDex.install(base); + super.attachBaseContext(base); + } } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java index b66e48c..87db5a5 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java @@ -5,7 +5,10 @@ import android.os.Process; import android.os.SystemClock; import android.text.TextUtils; +import android.util.Log; + +import androidx.annotation.Nullable; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -87,7 +90,27 @@ protected void onResume() { super.onResume(); //鍚姩椤典笌mainActivity鏍峰紡涓�鏍凤紝杩欐牱鍚姩椤靛拰mainActivity鐪嬩笂鍘绘槸涓�涓晫闈紝鐩殑鏄负浜唌ainActivity閬綇涓嬩竴椤碉紱 - AppManagerUtils.getAppManager().finishActivity(StartActivity.class); +// AppManagerUtils.getAppManager().finishActivity(StartActivity.class); +// this.portConflictDialog(); + } + public void startAppAutomaticallyOpenUni() { + new Thread(new Runnable() { + @Override + public void run() { + SystemClock.sleep(10); + runOnUiThread(new Runnable() { + @Override + public void run() { + //浣庝簬瀹夊崜14鐗堟湰 + if (android.os.Build.VERSION.SDK_INT < 34) { + startAppAutomaticallyOpenUni(false); + } else { + startAppAutomaticallyOpenUni(true); + } + } + }); + } + }).start(); } @Subscribe(threadMode = ThreadMode.MAIN) @@ -175,11 +198,15 @@ } } + /** * C绔惎鍔ˋpp鑷姩鎵撳紑灏忕▼搴忕數绔欒鎯呯晫闈� */ - private void startAppAutomaticallyOpenUni() { + private void startAppAutomaticallyOpenUni(boolean delay) { + if(delay) { + SystemClock.sleep(2000); + } List<HouseIdBean> HouseIdList = HdlResidenceLogic.getInstance().getHouseIdList(); if (HouseIdList.size() == 0) { String path = HDLUniMP.UNI_EVENT_OPEN_HOME_Null_C; @@ -197,8 +224,6 @@ String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); HdlUniLogic.getInstance().openUniMP(path, null); } - - } // /** @@ -396,4 +421,4 @@ } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java index a8a220e..0fab7ea 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java @@ -3,7 +3,11 @@ import android.content.Intent; import android.os.Bundle; +import android.os.SystemClock; import android.text.TextUtils; +import android.util.Log; + +import androidx.annotation.Nullable; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; @@ -12,10 +16,12 @@ import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.uni.HDLUniMP; +import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import java.util.List; @@ -53,8 +59,7 @@ intent.setClass(StartActivity.this, CPowerStationActivity.class); } - startActivity(intent); -// finish(); + openActivity(intent); } @Override @@ -68,20 +73,31 @@ //C绔敤鎴疯烦杞晫闈� intent.setClass(StartActivity.this, CPowerStationActivity.class); } - startActivity(intent); -// finish(); + openActivity(intent); } }); } else { Intent intent = new Intent(); intent.setClass(this, HomeLoginActivity.class); - startActivity(intent); - finish(); + openActivity(intent); } - - } + @Override + public void startActivity(Intent intent) { + super.startActivity(intent); + overridePendingTransition(0, 0); + } -} \ No newline at end of file + void openActivity(Intent intent) { + intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); + startActivity(intent); + finish(); + } + @Override + protected void onDestroy() { + super.onDestroy(); + overridePendingTransition(0, 0); + } +} diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java index 6f5b2e7..9f1abdf 100644 --- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java +++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java @@ -3,6 +3,7 @@ import android.app.Application; import android.content.Context; import android.os.Environment; +import android.os.SystemClock; import android.text.TextUtils; @@ -279,14 +280,22 @@ UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration(); uniMPOpenConfiguration.path = path; uniMPOpenConfiguration.extraData = jsonObject; + uniMPOpenConfiguration.splashClass=MySplashView.class; uniMP = DCUniMPSDK.getInstance().openUniMP(mContext, uniAppId, uniMPOpenConfiguration); + } + //android14鏈変簺璁惧鏈夐棶棰橈紝闇�瑕佺瓑寰� + if (android.os.Build.VERSION.SDK_INT >= 34) { + if (TextUtils.isEmpty(mCurrentAppId)) { + //绗竴娆$敤瑕佷紤鐪� + SystemClock.sleep(1000); + } } mCurrentAppId = uniAppId;//璁板綍褰撳墠灏忕▼搴� mUniMPCaches.put(uniMP.getAppid(), uniMP); } catch (Exception e) { e.printStackTrace(); HdlThreadLogic.toast(HDLApp.getInstance(), R.string.uni_open_error); - initDCUniMPSDK(HDLApp.getInstance()); +// initDCUniMPSDK(HDLApp.getInstance()); HdlLogLogic.print("鎵撳紑澶辫触===" + e.getMessage()); } } diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/MySplashView.java b/app/src/main/java/com/hdl/photovoltaic/uni/MySplashView.java new file mode 100755 index 0000000..69c6a9d --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/uni/MySplashView.java @@ -0,0 +1,35 @@ +package com.hdl.photovoltaic.uni; + +import android.content.Context; +import android.graphics.Color; +import android.util.Log; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.TextView; + +import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.ui.CPowerStationActivity; + +import io.dcloud.feature.sdk.Interface.IDCUniMPAppSplashView; + +public class MySplashView implements IDCUniMPAppSplashView { + View splashView; + + @Override + public View getSplashView(Context context, String appid, String s1, String s2) { + // 鍦ˋctivity涓紝鍙互鐩存帴浣跨敤this鑾峰彇LayoutInflater + LayoutInflater inflater = LayoutInflater.from(context); + // 閫氳繃inflate鏂规硶灏嗗竷灞�鏂囦欢杞崲涓篤iew瀵硅薄 + splashView = inflater.inflate(R.layout.activity_splash, null); + return splashView; + } + + @Override + public void onCloseSplash(ViewGroup rootView) { + if (rootView != null) + rootView.removeView(splashView); + } +} diff --git a/app/src/main/res/anim/dcloud_unimp_close_exit.xml b/app/src/main/res/anim/dcloud_unimp_close_exit.xml index e6a3dac..2b148e2 100644 --- a/app/src/main/res/anim/dcloud_unimp_close_exit.xml +++ b/app/src/main/res/anim/dcloud_unimp_close_exit.xml @@ -1,17 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> -<set xmlns:android="http://schemas.android.com/apk/res/android"> - <alpha - - android:duration="300" - android:fromAlpha="1.0" - android:toAlpha="0" /> -<!-- <translate--> -<!-- android:fromXDelta="0"--> -<!-- android:toXDelta="100%p"--> -<!-- android:duration="300"--> -<!-- android:interpolator="@android:anim/accelerate_interpolator"--> -<!-- />--> -</set> +<translate xmlns:android="http://schemas.android.com/apk/res/android" + android:duration="10" + android:fromXDelta="0%p" + android:toXDelta="0%p" /> diff --git a/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml b/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml index a54e277..2b148e2 100644 --- a/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml +++ b/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml @@ -1,14 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> -<set xmlns:android="http://schemas.android.com/apk/res/android"> - <alpha +<translate xmlns:android="http://schemas.android.com/apk/res/android" + android:duration="10" + android:fromXDelta="0%p" + android:toXDelta="0%p" /> - android:duration="300" - android:fromAlpha="1.0" - android:toAlpha="0" /> -<!-- <translate--> -<!-- android:fromXDelta="0"--> -<!-- android:toXDelta="100%p"--> -<!-- android:duration="300"--> -<!-- android:interpolator="@android:anim/accelerate_interpolator"--> -<!-- />--> -</set> \ No newline at end of file + + + diff --git a/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml b/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml index 97e86f0..2b148e2 100644 --- a/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml +++ b/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml @@ -1,12 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> -<set xmlns:android="http://schemas.android.com/apk/res/android"> - <alpha - android:duration="300" - android:fromAlpha="0" - android:toAlpha="1.0" /> - <translate - android:duration="300" - android:fromXDelta="100%p" - android:interpolator="@android:anim/accelerate_interpolator" - android:toXDelta="0" /> -</set> \ No newline at end of file +<translate xmlns:android="http://schemas.android.com/apk/res/android" + android:duration="10" + android:fromXDelta="0%p" + android:toXDelta="0%p" /> + + + + diff --git a/app/src/main/res/anim/dcloud_unimp_open_enter.xml b/app/src/main/res/anim/dcloud_unimp_open_enter.xml index b218075..2b148e2 100644 --- a/app/src/main/res/anim/dcloud_unimp_open_enter.xml +++ b/app/src/main/res/anim/dcloud_unimp_open_enter.xml @@ -1,15 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> -<set xmlns:android="http://schemas.android.com/apk/res/android"> - <alpha +<translate xmlns:android="http://schemas.android.com/apk/res/android" + android:duration="10" + android:fromXDelta="0%p" + android:toXDelta="0%p" /> - android:duration="300" - android:fromAlpha="0.0" - android:toAlpha="1.0" /> -<!-- <translate--> -<!-- android:fromXDelta="0"--> -<!-- android:toXDelta="100%p"--> -<!-- android:duration="300"--> -<!-- android:interpolator="@android:anim/accelerate_interpolator"--> -<!-- />--> -</set> \ No newline at end of file + + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml new file mode 100644 index 0000000..6ff3692 --- /dev/null +++ b/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:alpha="0.6" + android:background="@color/text_FFFFFFFF"> + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 4253f75..4fac929 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -4,6 +4,8 @@ <item name="android:background">@color/black_overlay</item> <item name="android:buttonBarStyle">?android:attr/buttonBarStyle</item> </style> - + <style name="NoAnimationTheme" parent="Theme.AppCompat.Light.NoActionBar"> + <item name="android:windowAnimationStyle">@null</item> + </style> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index f887031..e7da647 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -58,7 +58,7 @@ </style> - <style name="DCloudMPHostActivityTheme" parent="@style/Theme.AppCompat"> + <style name="DCloudMPHostActivityTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowAnimationStyle">@style/uniMPHostWindowAnimation</item> </style> diff --git a/build.gradle b/build.gradle index 05c8bec..15d7362 100644 --- a/build.gradle +++ b/build.gradle @@ -52,4 +52,17 @@ task clean(type: Delete) { delete rootProject.buildDir +} + +// 淇濊瘉dex_files鏂囦欢涓寚瀹氱殑鏂囦欢閮藉姞杞藉埌Main Dex涓� +afterEvaluate { + tasks.matching { + it.name.startsWith('dex') + }.each { dx -> + if (dx.additionalParameters == null) { + dx.additionalParameters = [] + } + dx.additionalParameters += '--multi-dex' + dx.additionalParameters += "--main-dex-list=$projectDir/dex_files".toString() + } } \ No newline at end of file -- Gitblit v1.8.0