From 42ea59771a54d2591df0a6dd3936dda669be99ae Mon Sep 17 00:00:00 2001
From: gs <3129367635@qq.com>
Date: 星期一, 08 七月 2024 12:23:48 +0800
Subject: [PATCH] 会议统计接入增加,删除,修改接口
---
app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java | 66 ++++++++++++++++++++++-----------
1 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
index 0c3c199..bc15915 100644
--- a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
+++ b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
@@ -5,6 +5,7 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@@ -15,30 +16,30 @@
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
+import androidx.drawerlayout.widget.DrawerLayout;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import com.android.app_base.action.TitleBarAction;
-import com.android.app_base.base.BaseApplication;
+import com.android.app_base.base.action.ClickAction;
import com.android.app_base.base.viewmodel.BaseViewModel;
import com.android.app_base.base.StateViewEnum;
-import com.android.app_base.utils.ScreenSizeUtils;
-import com.blankj.utilcode.util.AdaptScreenUtils;
+import com.android.app_base.base.viewmodel.SimpleViewModel;
+import com.blankj.utilcode.util.ToastUtils;
import com.gyf.immersionbar.ImmersionBar;
-import com.hjq.bar.OnTitleBarListener;
import com.hjq.bar.TitleBar;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.util.Set;
/**
* Activity鍩虹被,鎵�鏈夌殑 Activity 閮借缁ф壙姝ょ被
*/
-public abstract class BaseActivity<V extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction{
- protected V binding;
+public abstract class BaseActivity<VDB extends ViewDataBinding,VM extends BaseViewModel> extends AppCompatActivity implements TitleBarAction, ClickAction {
+ protected VDB binding;
protected VM viewModel;
private int viewModelId;
-
/**
* 鏍囬鏍忓璞�
*/
@@ -47,12 +48,6 @@
* 鐘舵�佹爮娌夋蹈
*/
private ImmersionBar mImmersionBar;
-
-
- @Override
- protected void onResume() {
- super.onResume();
- }
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -63,13 +58,12 @@
initParam();
//椤甸潰view鍒濆鍖栨柟娉�
initView();
- //椤甸潰鏁版嵁鍒濆鍖栨柟娉�
- initData();
//椤甸潰浜嬩欢鐩戝惉鐨勬柟娉曪紝鐢ㄤ簬ViewModel灞傝浆鍒癡iew灞傜殑浜嬩欢娉ㄥ唽
initLiveDataObserve();
-
- ScreenSizeUtils.setCustomDensity(this, BaseApplication.getInstance());
+ //椤甸潰鏁版嵁鍒濆鍖栨柟娉�
+ initData();
}
+
@Override
protected void onDestroy() {
@@ -92,6 +86,7 @@
initStateView();
//鍒濆鍖栨矇娴稿紡鐘舵�佹爮鍜� titleBar
initStatusBar();
+ initSoftKeyboard();
}
/**
@@ -99,8 +94,7 @@
*/
protected void initViewDataBindingAndViewModel() {
if (getLayoutId() > 0) {
- binding = DataBindingUtil.setContentView(this, getLayoutId());
- initSoftKeyboard();
+ binding = initViewBinding();
}
viewModelId = getVariableId();
viewModel = initViewModel();
@@ -115,6 +109,13 @@
getLifecycle().addObserver(viewModel);
}
}
+
+ /**
+ * 鍒濆鍖朧iewBinding
+ */
+ protected VDB initViewBinding() {
+ return DataBindingUtil.setContentView(this, getLayoutId());
+ }
/**
* 鍒濆鍖朧iewModel
* @return 杩斿洖涓�涓猇iewModel
@@ -125,11 +126,12 @@
if (type instanceof ParameterizedType){
vmClass = (Class) ((ParameterizedType) type).getActualTypeArguments()[1];
} else {
- //濡傛灉娌℃湁鎸囧畾娉涘瀷鍙傛暟锛屽垯榛樿浣跨敤BaseViewModel
- vmClass = (Class<VM>) BaseViewModel.class;
+ //濡傛灉娌℃湁鎸囧畾娉涘瀷鍙傛暟锛屽垯榛樿浣跨敤SimpleViewModel
+ vmClass = (Class<VM>) SimpleViewModel.class;
}
return new ViewModelProvider(this, (ViewModelProvider.Factory) ViewModelProvider.AndroidViewModelFactory.getInstance(getApplication())).get(vmClass);
}
+
/**
* 瀵圭姸鎬佽鍥緇iveData杩涜瑙傚療鐩戝惉
@@ -148,6 +150,9 @@
case DATA_LOADING:
dataLoading();
break;
+ case DATA_FINISH:
+ dataFinish();
+ break;
case DATA_ERROR:
dataError();
break;
@@ -165,16 +170,30 @@
}
}
});
+ viewModel.getMessageLivaData().observe(this, new Observer<String>() {
+ @Override
+ public void onChanged(String message) {
+ if (!TextUtils.isEmpty(message)){
+ ToastUtils.showShort(message);
+ }
+ }
+ });
}
+
+
+
/**
* 缂虹渷椤电瓑鐘舵�佽鍥剧殑鏇存柊
* 鏈夐渶姹傜殑锛屽湪瀛愮被閫夋嫨閲嶅啓
*/
protected void dialogLoading() {
+
}
protected void dialogDismiss() {
}
protected void dataLoading() {
+ }
+ protected void dataFinish() {
}
protected void dataError() {
}
@@ -189,12 +208,14 @@
* 鍒濆鍖栨矇娴稿紡鐘舵�佹爮
*/
protected void initStatusBar(){
+ if (getTitleBar() != null) {
+ getTitleBar().setOnTitleBarListener(this);
+ }
if (isStatusBarImmersionEnabled()) {
getImmersionBarConfig().init();
// 璁剧疆鏍囬鏍忔矇娴�()
if (getTitleBar() != null) {
ImmersionBar.setTitleBar(this, getTitleBar());
- getTitleBar().setOnTitleBarListener(this);
}
}
}
@@ -287,6 +308,7 @@
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (manager != null && manager.isActive(view)) {
manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
+ view.clearFocus();
}
}
}
--
Gitblit v1.9.1