From ce3b8953780d1cd77c8781befec6bf7dc22b42b1 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 22 四月 2025 13:12:00 +0800 Subject: [PATCH] 2025年04月22日13:11:57 --- app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 94 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java index 04b2ce1..f3fac7c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java @@ -1,25 +1,40 @@ package com.hdl.photovoltaic.base; import android.app.Activity; +import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.os.Bundle; -import android.util.Log; import android.view.View; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.BaseView; +import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.widget.LoadingDialog; +import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; public abstract class BaseActivity extends AppCompatActivity implements BaseView { + private LoadingDialog loadingDialog; protected Activity _mActivity; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + _mActivity = this; Object content = getContentView(); //娣诲姞Activity鍒板爢鏍� @@ -32,15 +47,92 @@ throw new RuntimeException("getContentView() should be a @LayoutRes or a View"); } onBindView(savedInstanceState); + //娉ㄥ唽EventBus + registerEventBus(); + } + + @Override + protected void attachBaseContext(Context newBase) { + //app涓嫳鏂囪缃� + LocalManageUtil.changeAppLanguage(UserConfigManage.getInstance().getCurrentAppLanguage(), newBase); + super.attachBaseContext(newBase); + + + } + + /** + * 鑾峰彇LoadingDialog + * + * @return LoadingDialog + */ + protected LoadingDialog getLoadingDialog() { + if (loadingDialog == null && _mActivity != null) { + loadingDialog = new LoadingDialog(_mActivity, R.style.Custom_Dialog); + } + return loadingDialog; + } + + /** + * 寮�濮婰oading + */ + protected void showLoading() { + getLoadingDialog().start(); + } + + /** + * 寮�濮婰oading + * + * @param mes 鑷畾涔夋枃鏈� + */ + protected void showLoading(String mes) { + getLoadingDialog().start(); + getLoadingDialog().setText(mes); + } + + /** + * 鍋滄闅愯棌Loading + */ + protected void hideLoading() { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + if (loadingDialog != null && loadingDialog.isShowing()) { + loadingDialog.stop(); + } + } + }, null, null); } @Override protected void onDestroy() { super.onDestroy(); + //闅愯棌Loading + hideLoading(); + //绉婚櫎Activity + AppManagerUtils.getAppManager().removeActivity(this); + //娉ㄩ攢EventBus + unregisterEventBus(); } + + protected void unregisterEventBus() { + if (EventBus.getDefault().isRegistered(this)) { + EventBus.getDefault().unregister(this); + } + } + + protected void registerEventBus() { + if (!EventBus.getDefault().isRegistered(this)) { + EventBus.getDefault().register(this); + } + } + + @Subscribe(threadMode = ThreadMode.POSTING) + public void onEventMessage(BaseEventBus eventBus) { + } + /** * 鏄剧ずView @@ -81,6 +173,7 @@ public int dip2px(float dpValue) { final float scale = getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); + } /** -- Gitblit v1.8.0