app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -69,7 +69,7 @@ BusinessProvider.getInstance(this); break; case BaseCommon.Generalv1Library: com.dayu.general.BaseApplication.getInstance().application = this; com.dayu.general.BaseApplication.getInstance(this); break; } } app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -1,5 +1,7 @@ package com.dayu.recharge.activity; import static com.dayu.baselibrary.utils.BaseCommon.Generalv1Library; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -20,6 +22,7 @@ import com.dayu.baselibrary.utils.TipUtil; import com.dayu.baselibrary.utils.WSMD5; import com.dayu.baselibrary.view.LibraryDialog; import com.dayu.general.view.ProjectDialog; import com.dayu.henanlibrary.HeNanApplication; import com.dayu.henanlibrary.dao.HNBaseDaoSingleton; @@ -127,6 +130,8 @@ } else if (type == BaseCommon.Generalv1Library) { binding.nameLL.setVisibility(View.VISIBLE); getGeneralV1Permission(); ProjectDialog projectDialog=new ProjectDialog(this); projectDialog.show(); } MyApplication.myApplication.initApplication(); }); baselibrary/src/main/java/com/dayu/baselibrary/view/ConfirmDialog.java
@@ -2,6 +2,7 @@ import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.text.TextUtils; import android.view.Gravity; import android.view.View; @@ -23,18 +24,18 @@ public class ConfirmDialog extends Dialog { Activity mContext; Context mContext; View.OnClickListener mListner; String mData; String mTitle; public ConfirmDialog(@NonNull Activity context) { public ConfirmDialog(@NonNull Context context) { super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); mContext = context; initView(); } public ConfirmDialog(@NonNull Activity context, View.OnClickListener listner) { public ConfirmDialog(@NonNull Context context, View.OnClickListener listner) { super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); mContext = context; mListner = listner; @@ -42,7 +43,7 @@ } public ConfirmDialog(@NonNull Activity context, String data, View.OnClickListener listner) { public ConfirmDialog(@NonNull Context context, String data, View.OnClickListener listner) { super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); mContext = context; mListner = listner; @@ -50,7 +51,7 @@ initView(); } public ConfirmDialog(@NonNull Activity context, String title, String data, View.OnClickListener listner) { public ConfirmDialog(@NonNull Context context, String title, String data, View.OnClickListener listner) { super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); mContext = context; mListner = listner; @@ -80,7 +81,6 @@ if (mListner == null) { ok.setOnClickListener((View v) -> { ConfirmDialog.this.dismiss(); mContext.finish(); }); } else { ok.setOnClickListener(mListner); baselibrary/src/main/java/com/dayu/baselibrary/view/LibraryDialog.java
@@ -93,6 +93,7 @@ mLibraryBack.listener(type); LibraryDialog.this.dismiss(); confirmDialog.dismiss(); } }); confirmDialog.show(); generallibrary/src/main/java/com/dayu/general/BaseApplication.kt
@@ -1,6 +1,8 @@ package com.dayu.general import android.app.Application import android.nfc.Tag import com.dayu.general.dao.BaseDaoSingleton class BaseApplication private constructor() { @@ -13,14 +15,29 @@ @Volatile private var myApplication: BaseApplication? = null private var Tag : String ?= "" var projectDataDao = BaseDaoSingleton.getInstance(application)?.projectDataDao() @JvmStatic fun getInstance(): BaseApplication { return myApplication ?: synchronized(this) { myApplication ?: BaseApplication().also { myApplication = it } fun getInstance(application: Application): BaseApplication { if (myApplication == null) { myApplication = BaseApplication() BaseApplication.application = application } return myApplication as BaseApplication } } fun init() { if (projectDataDao!=null){ val projectDataBean = projectDataDao?.findFirst() if (projectDataBean!=null){ Tag = projectDataBean.projectTag } } } } generallibrary/src/main/java/com/dayu/general/activity/SearchUserActivity.kt
@@ -9,7 +9,7 @@ import com.dayu.general.adapter.SearchListAdapter import com.dayu.general.bean.net.SearchUserResult import com.dayu.general.databinding.ActivitySearchUserGeBinding import com.dayu.general.dialog.SearchDialog import com.dayu.general.view.SearchDialog import com.dayu.general.net.ApiManager import com.dayu.general.net.BaseResponse generallibrary/src/main/java/com/dayu/general/bean/db/ProjectDataBean.kt
New file @@ -0,0 +1,19 @@ package com.dayu.general.bean.db import androidx.room.Entity import androidx.room.PrimaryKey /** * Description:项目选项 * Author: zuo * Date: 2025/3/18 */ @Entity class ProjectDataBean { @PrimaryKey(autoGenerate = true) var projectId: Long? = 0 var projectName: String? = null var projectType: Int? = null var projectTag: String = "" } generallibrary/src/main/java/com/dayu/general/dao/AppDataBase.kt
@@ -8,4 +8,5 @@ @Database(entities = [PassWordCardBean::class, CardData::class], version = 1, exportSchema = false) abstract class AppDataBase : RoomDatabase() { abstract fun cardDataDao(): CardDataDao abstract fun projectDataDao(): ProjectDataDao } generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt
@@ -9,28 +9,31 @@ class BaseDaoSingleton { companion object { var baseDao: AppDataBase? = null @JvmField val SqlitePath: String = Environment.getExternalStorageDirectory().absolutePath + File.separator + ".dayu" + File.separator + "data" + File.separator @JvmStatic fun getInstance(context: Context?): AppDataBase? { if (baseDao == null) { baseDao = Room.databaseBuilder<AppDataBase>( context!!, AppDataBase::class.java, SqlitePath + "ConfigurationData_generalV1" ).allowMainThreadQueries().build() } return baseDao } } var baseDao: AppDataBase? = null var AsynchBaseDao: AppDataBase? = null //MyFileUtil.SqlitePath + fun getInstance(context: Context?): AppDataBase? { if (baseDao == null) { baseDao = Room.databaseBuilder<AppDataBase>( context!!, AppDataBase::class.java, SqlitePath + "ConfigurationData_generalV1" ).allowMainThreadQueries().build() } return baseDao } fun getAsynchInstance(context: Context?): AppDataBase? { if (AsynchBaseDao == null) { generallibrary/src/main/java/com/dayu/general/dao/ProjectDataDao.kt
New file @@ -0,0 +1,29 @@ package com.dayu.general.dao import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update import com.dayu.general.bean.db.ProjectDataBean /** * Description: * Author: zuo * Date: 2025/3/18 */ @Dao interface ProjectDataDao { @Insert(onConflict = OnConflictStrategy.REPLACE) fun insert(projectDataBean: ProjectDataBean) @Update fun update(projectDataBean: ProjectDataBean) @Delete fun delete(projectDataBean: ProjectDataBean) @Query("select * from ProjectDataBean limit 1") fun findFirst(): ProjectDataBean? } generallibrary/src/main/java/com/dayu/general/tool/BaseCommon.kt
New file @@ -0,0 +1,16 @@ package com.dayu.general.tool /** * Description: * Author: zuo * Date: 2025/3/20 */ class BaseCommon { companion object{ val YuanMo: Int = 1 val QiHe: Int = 2 } } generallibrary/src/main/java/com/dayu/general/view/ProjectDialog.kt
New file @@ -0,0 +1,92 @@ package com.dayu.general.view import android.app.Dialog import android.content.Context import android.os.Bundle import android.view.Gravity import android.view.ViewGroup import android.widget.RadioGroup import android.widget.TextView import com.dayu.baselibrary.view.ConfirmDialog import com.dayu.general.R import com.dayu.general.bean.db.ProjectDataBean import com.dayu.general.dao.BaseDaoSingleton import com.dayu.general.tool.BaseCommon /** * Description: * Author: zuo * Date: 2025/3/17 */ class ProjectDialog(context: Context):Dialog(context,com.dayu.baselibrary.R.style.ws_pay_showSelfDialog){ var confirmDialog: ConfirmDialog? = null var mLibraryBack: LibraryBack? = null var isChose: Boolean = false var projectDataDao = BaseDaoSingleton.getInstance(context)?.projectDataDao() var projectBean: ProjectDataBean = ProjectDataBean() var type: Int = 0 var data: String = "" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) initView() } private fun initView() { window?.setGravity(Gravity.CENTER) setContentView(R.layout.project_dialog) setCanceledOnTouchOutside(false) setCancelable(false) val radioGroup = findViewById<RadioGroup>(R.id.radioLibrary) if (projectDataDao != null) { projectBean = projectDataDao?.findFirst() ?: ProjectDataBean() radioGroup.setOnCheckedChangeListener { _, checkedId -> isChose = true // 当选中的RadioButton发生变化时调用 when (checkedId) { R.id.yuanMouLibrary -> { type = BaseCommon.YuanMo projectBean.projectType = type data = "确认选择河南版本吗?" } R.id.qiHeLibrary -> { type = BaseCommon.QiHe projectBean.projectType = type data = "确认选择齐河单机版本吗?" } } } val okBtn = findViewById<TextView>(R.id.ok) okBtn.setOnClickListener { if (isChose) { // 二次确认 confirmDialog = ConfirmDialog(context, data) { projectDataDao?.insert(projectBean) mLibraryBack?.listener(type) dismiss() confirmDialog?.dismiss() } confirmDialog?.show() } } } } interface LibraryBack { fun listener(type: Int) } override fun show() { super.show() /** * 设置宽度全屏,要设置在show的后面 */ val layoutParams = window?.attributes layoutParams?.gravity = Gravity.CENTER layoutParams?.width = ViewGroup.LayoutParams.MATCH_PARENT layoutParams?.height = ViewGroup.LayoutParams.MATCH_PARENT window?.decorView?.setPadding(0, 0, 0, 0) window?.attributes = layoutParams } } generallibrary/src/main/java/com/dayu/general/view/SearchDialog.kt
File was renamed from generallibrary/src/main/java/com/dayu/general/dialog/SearchDialog.kt @@ -1,4 +1,4 @@ package com.dayu.general.dialog package com.dayu.general.view import android.app.Dialog import android.content.Context @@ -6,8 +6,6 @@ import android.view.Gravity import android.view.LayoutInflater import android.view.ViewGroup import android.view.WindowManager import com.dayu.general.R import com.dayu.general.databinding.DialogSearchBinding /** generallibrary/src/main/res/layout/project_dialog.xml
New file @@ -0,0 +1,104 @@ <?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:background="#40000000" android:gravity="center" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/dialog_bg_margin" android:background="@drawable/base_bg_dialog_top_stroke" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="300dp" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:gravity="center" android:text="请先选择项目" android:textColor="@color/dialog_btn" android:textSize="23sp" android:textStyle="bold" /> <View android:layout_width="match_parent" android:layout_height="2px" android:layout_marginTop="20dp" android:background="@color/line_bg" /> <RadioGroup android:id="@+id/radioLibrary" android:layout_width="match_parent" android:layout_height="wrap_content"> <RadioButton android:id="@+id/yuanMouLibrary" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:layout_marginTop="25dp" android:layout_marginRight="50dp" android:background="@drawable/radio_select" android:button="@null" android:gravity="center" android:padding="6dp" android:text="元谋项目" android:textColor="@drawable/radio_text_select" android:textSize="20sp" /> <RadioButton android:id="@+id/qiHeLibrary" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:layout_marginTop="25dp" android:layout_marginRight="50dp" android:background="@drawable/radio_select" android:button="@null" android:gravity="center" android:padding="6dp" android:text="齐河项目" android:textColor="@drawable/radio_text_select" android:textSize="20sp" /> </RadioGroup> <View android:layout_width="match_parent" android:layout_height="2px" android:layout_marginTop="35dp" android:background="@color/line_bg" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:padding="5dp" android:orientation="horizontal"> <TextView android:id="@+id/ok" android:layout_width="match_parent" android:layout_height="@dimen/dialog_btn_height" android:background="@drawable/textview_select_bg" android:gravity="center" android:paddingLeft="15dp" android:paddingTop="5dp" android:paddingRight="15dp" android:paddingBottom="5dp" android:text="确 认" android:textColor="@color/dialog_btn" android:textSize="20sp" /> </LinearLayout> </LinearLayout> </LinearLayout>