瀏覽代碼

增加音频增益调节

weizhengliang 1 年之前
父節點
當前提交
78aa51d81b

+ 20 - 13
android_door/src/main/h10_3128/java/com/wdkl/app/ncs/callingdoor/activity/CallingdoorActivity.kt

@@ -218,8 +218,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
                 }
 
                 //麦和喇叭增益
-                zhylManager.sys_setDacVolume(BaseApplication.appContext, 138)
-                zhylManager.sys_setMic1gain(BaseApplication.appContext, 24)
+                zhylManager.sys_setDacVolume(BaseApplication.appContext, SettingConfig.getHORN(activity))
+                zhylManager.sys_setMic1gain(BaseApplication.appContext, SettingConfig.getMic(activity))
             } catch (e: Exception) {
                 //
             } catch (e2: NoSuchMethodError) {
@@ -322,6 +322,9 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
         SettingConfig.setAppStartTime(activity, currentTime)
 
         VoiceManagerUtil.setCallVoice(activity, SettingConfig.getExtensionCallVolume(activity))
+        //系统音量和媒体音量默认100
+        VoiceManagerUtil.setSystemVoice(this, 100)
+        VoiceManagerUtil.setMusicVoice(this, 100)
 
         //初始化soundpool
         SoundPoolManager.getInstance().init()
@@ -1176,13 +1179,17 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
                 }
             }
 
-            //喇叭功放设置
-            //zhylManager.sys_setDacVolume(BaseApplication.appContext, partSetting.androidDoorVolumeNative)
-            //mic设置
-            //zhylManager.sys_setMic1gain(BaseApplication.appContext, partSetting.androidDoorGainSize)
-        } catch (ex: Exception) {
-            showMessage(StringUtil.getResString(R.string.setting_params_error) + ex.message)
-            ex.printStackTrace()
+            /*if ("mk_h10_a133_1".equals(BuildConfig.APP_DEVICE_TYPE)) {
+                //喇叭功放设置
+                zhylManager.sys_setDacVolume(BaseApplication.appContext, partSetting.androidDoorVolumeNative)
+                //mic设置
+                zhylManager.sys_setMic1gain(BaseApplication.appContext, partSetting.androidDoorGainSize)
+            }*/
+        } catch (e1: Exception) {
+            showMessage(StringUtil.getResString(R.string.setting_params_error) + e1.message)
+            e1.printStackTrace()
+        } catch (e2: NoSuchMethodError) {
+            //
         }
 
         Constant.inNursing = SettingConfig.getInNursing(activity)
@@ -1952,8 +1959,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
                 }
 
                 //设置白天系统音量和响铃音
-                VoiceManagerUtil.setSystemVoice(this, SettingConfig.getDoorDaytimeSystemVolume(this))
-                VoiceManagerUtil.setMusicVoice(this, SettingConfig.getDoorDaytimeSystemVolume(this))
+                //VoiceManagerUtil.setSystemVoice(this, SettingConfig.getDoorDaytimeSystemVolume(this))
+                //VoiceManagerUtil.setMusicVoice(this, SettingConfig.getDoorDaytimeSystemVolume(this))
 
                 if (BuildConfig.UI_TYPE == "mom" && Constant.babyGirl) {
                     view_title_layout_iv_day_night.setImageResource(R.mipmap.ic_daylight_red)
@@ -1977,8 +1984,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
                     ScreenManagerUtil().setScreenBrightness(this, Math.ceil(2.54 * SettingConfig.getNightBrightness(this)).toInt())
                 }
                 //设置晚上系统音量和响铃音
-                VoiceManagerUtil.setSystemVoice(this, SettingConfig.getDoorNightSystemVolume(this))
-                VoiceManagerUtil.setMusicVoice(this, SettingConfig.getDoorNightSystemVolume(this))
+                //VoiceManagerUtil.setSystemVoice(this, SettingConfig.getDoorNightSystemVolume(this))
+                //VoiceManagerUtil.setMusicVoice(this, SettingConfig.getDoorNightSystemVolume(this))
 
                 if (BuildConfig.UI_TYPE == "mom" && Constant.babyGirl) {
                     view_title_layout_iv_day_night.setImageResource(R.mipmap.ic_night_red)

+ 8 - 0
android_door/src/main/h10_3128/java/com/wdkl/app/ncs/callingdoor/fragment/QrCodeFragment.kt

@@ -90,6 +90,10 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
             tv_nursing_timing.visibility = View.GONE
             ll_nursing_color_set.visibility = View.GONE
         }
+
+        if ("mk_h10_a133_1".equals(BuildConfig.APP_DEVICE_TYPE)) {
+            tv_device_call_config.visibility = View.VISIBLE
+        }
     }
 
     override fun bindEvent() {
@@ -119,6 +123,10 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
             }
         }
 
+        tv_device_call_config.setOnClickListener {
+            CallConfigDialogHelper.showDialog(activity)
+        }
+
         tv_language_set.setOnClickListener {
             LanguageSetDialogHelper.showDialog(activity)
         }

+ 39 - 0
android_door/src/main/h10_3128/java/com/wdkl/app/ncs/callingdoor/fragment/YzMainFragment.kt

@@ -1,19 +1,24 @@
 package com.wdkl.app.ncs.callingdoor.fragment
 
+import android.app.zhyl.ZhylManager
+import android.os.Build
 import android.text.TextUtils
 import androidx.recyclerview.widget.GridLayoutManager
 import com.enation.javashop.net.engine.model.NetState
 import com.google.gson.JsonObject
+import com.wdkl.app.ncs.callingdoor.BuildConfig
 import com.wdkl.app.ncs.callingdoor.R
 import com.wdkl.app.ncs.callingdoor.activity.CallingdoorActivity
 import com.wdkl.app.ncs.callingdoor.adapter.BabyItemAdapter
 import com.wdkl.app.ncs.callingdoor.databinding.MainViewLayoutBinding
 import com.wdkl.app.ncs.callingdoor.helper.AppInfoDialogHelper
 import com.wdkl.app.ncs.callingdoor.helper.AppUpdateHelper
+import com.wdkl.app.ncs.callingdoor.helper.CallConfigDialogHelper
 import com.wdkl.app.ncs.callingdoor.helper.CallTypeDialogHelper
 import com.wdkl.app.ncs.callingdoor.launch.CallingdoorLaunch
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.BaseFragment
+import com.wdkl.ncs.android.lib.utils.AppTool
 import com.wdkl.ncs.android.lib.utils.TimeHandle
 import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.lib.vo.filter
@@ -40,6 +45,9 @@ class YzMainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>
     private var babyItems = ArrayList<FrameBedRelativeVO>()
     private var bedVO: FrameBedVO? = null
 
+    private var clickVersionTime : Long = 0
+    private var clickCount = 1
+
     override fun getLayId(): Int {
         return R.layout.yz_main_view_layout
     }
@@ -73,6 +81,30 @@ class YzMainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>
             return@setOnLongClickListener true
         }
 
+        tv_version_no.setOnClickListener {
+            if (System.currentTimeMillis() - clickVersionTime < 1500) {
+                clickCount++
+            } else {
+                clickCount = 1
+            }
+
+            if (clickCount == 5) {
+                showMessage(R.string.enter_settings_tips)
+            }
+
+            if (clickCount > 7) {
+                clickCount = 1
+                AppTool.Setting.systemSetting(activity)
+
+                if ("mk_h10_a133_1".equals(BuildConfig.APP_DEVICE_TYPE)) {
+                    //显示虚拟导航栏
+                    ZhylManager.getInstance(BaseApplication.appContext).disp_setNavigationBar(true)
+                    ZhylManager.getInstance(BaseApplication.appContext).disp_setStatusBar(true)
+                }
+            }
+            clickVersionTime = System.currentTimeMillis()
+        }
+
         btn_call.setOnClickListener {
             CallTypeDialogHelper.showDialog(activity, object : CallTypeDialogHelper.ClickListener {
                 override fun onCallNurse() {
@@ -94,6 +126,13 @@ class YzMainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>
                 }
             })
         }
+
+        btn_call.setOnLongClickListener {
+            //音频增益设置
+            CallConfigDialogHelper.showDialog(activity)
+
+            return@setOnLongClickListener true
+        }
     }
 
     override fun destory() {

+ 94 - 0
android_door/src/main/h10_3128/java/com/wdkl/app/ncs/callingdoor/helper/CallConfigDialogHelper.java

@@ -0,0 +1,94 @@
+package com.wdkl.app.ncs.callingdoor.helper;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.zhyl.ZhylManager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+
+import com.wdkl.app.ncs.callingdoor.R;
+import com.wdkl.ncs.android.lib.base.BaseApplication;
+import com.wdkl.ncs.android.lib.settings.SettingConfig;
+
+import static com.wdkl.ncs.android.lib.utils.ExtendMethodsKt.showMessage;
+
+
+public class CallConfigDialogHelper {
+
+    private static AlertDialog alertDialog;
+
+    public static void showDialog(Activity activity) {
+        if (alertDialog != null) {
+            alertDialog.dismiss();
+        }
+
+        View contentView = LayoutInflater.from(activity).inflate(R.layout.call_config_dialog, null);
+        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+        builder.setView(contentView);
+        LinearLayout layout = contentView.findViewById(R.id.ll_call_config_view);
+        EditText call_config_mic = contentView.findViewById(R.id.call_config_mic);
+        EditText call_config_horn = contentView.findViewById(R.id.call_config_horn);
+        Button call_config_cancel_button = contentView.findViewById(R.id.call_config_cancel_button);
+        Button call_config_determine_button = contentView.findViewById(R.id.call_config_determine_button);
+
+        layout.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    Utils.hideInputKeyboard(alertDialog.getWindow().getDecorView().getWindowToken());
+                } catch (Exception e) {
+                    //
+                }
+            }
+        });
+
+
+        try {
+            //int mic1 =ZhylManager.getInstance(BaseApplication.appContext).sys_getMic1gain(BaseApplication.appContext);
+            //int yl2 = ZhylManager.getInstance(BaseApplication.appContext).sys_getDacVolume(BaseApplication.appContext);
+            int mic1 = SettingConfig.getMic(BaseApplication.appContext);
+            int yl2 = SettingConfig.getHORN(BaseApplication.appContext);
+
+            call_config_mic.setText(String.valueOf(mic1));
+            call_config_horn.setText(String.valueOf(yl2));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        call_config_cancel_button.setOnClickListener(v -> {
+            if (alertDialog != null && alertDialog.isShowing()) {
+                alertDialog.dismiss();
+            }
+        });
+
+        call_config_determine_button.setOnClickListener(v -> {
+            if (alertDialog != null && alertDialog.isShowing()) {
+                int mic = Integer.parseInt(call_config_mic.getText().toString());
+                int yl =  Integer.parseInt(call_config_horn.getText().toString());
+                    alertDialog.dismiss();
+                    try {
+                        //设置静态网络
+                        if (ZhylManager.getInstance(BaseApplication.appContext).sys_setDacVolume(BaseApplication.appContext,yl) == 1 &&
+                                ZhylManager.getInstance(BaseApplication.appContext).sys_setMic1gain(BaseApplication.appContext,mic) == 1) {
+                            showMessage("Success");
+                            SettingConfig.setMIC(activity, mic);
+                            SettingConfig.setHORN(activity, yl);
+                        } else {
+                            showMessage("Failed");
+                        }
+                    } catch (Exception e) {
+                        showMessage("Failed");
+                    }
+                }
+        });
+
+        alertDialog = builder.create();
+        alertDialog.setCanceledOnTouchOutside(true);
+        alertDialog.setCancelable(true);
+        alertDialog.show();
+
+    }
+}

+ 16 - 0
android_door/src/main/h10_3128/java/com/wdkl/app/ncs/callingdoor/helper/Utils.java

@@ -1,8 +1,13 @@
 package com.wdkl.app.ncs.callingdoor.helper;
 
+import android.content.Context;
 import android.hardware.Camera;
+import android.os.IBinder;
 import android.text.TextUtils;
+import android.util.Log;
+import android.view.inputmethod.InputMethodManager;
 
+import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.common.Constant;
 import com.wdkl.ncs.android.middleware.model.vo.FrameBedVO;
 
@@ -29,4 +34,15 @@ public class Utils {
     public static ArrayList<FrameBedVO> getInBedVOS() {
         return bedVOS;
     }
+
+    //隐藏软键盘
+    public static void hideInputKeyboard(IBinder token) {
+        try {
+            Log.d("keyboard", "hide input keyboard ===== ");
+            InputMethodManager mInputKeyBoard = (InputMethodManager) BaseApplication.appContext.getSystemService(Context.INPUT_METHOD_SERVICE);
+            mInputKeyBoard.hideSoftInputFromWindow(token, 0);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 113 - 0
android_door/src/main/h10_3128/res/layout/call_config_dialog.xml

@@ -0,0 +1,113 @@
+<?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:gravity="center"
+    android:background="@android:color/transparent">
+
+    <LinearLayout
+        android:id="@+id/ll_call_config_view"
+        android:layout_width="480dp"
+        android:layout_height="448dp"
+        android:background="@color/white"
+        android:gravity="center"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="23dp"
+            android:gravity="center"
+            android:text="@string/call_config"
+            android:textColor="@color/black"
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
+
+        <LinearLayout
+            android:layout_width="380dp"
+            android:layout_height="52dp"
+            android:layout_marginTop="24dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="mic"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+            <EditText
+                android:id="@+id/call_config_mic"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="20dp"
+                android:background="@drawable/selector_nuser_ed_d"
+                android:paddingLeft="30dp"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold"
+                android:inputType="number"/>
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="380dp"
+            android:layout_height="52dp"
+            android:layout_marginTop="10dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="horn"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+            <EditText
+                android:id="@+id/call_config_horn"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="15dp"
+                android:background="@drawable/selector_nuser_ed_d"
+                android:paddingLeft="30dp"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold"
+                android:inputType="number"/>
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="380dp"
+            android:layout_height="52dp"
+            android:layout_marginTop="24dp"
+            android:layout_marginBottom="40dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <Button
+                android:id="@+id/call_config_cancel_button"
+                android:layout_width="176dp"
+                android:layout_height="48dp"
+                android:background="@drawable/shape_callconfig_bt_bg"
+                android:gravity="center"
+                android:text="@string/str_cancel"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+
+            <Button
+                android:id="@+id/call_config_determine_button"
+                android:layout_width="176dp"
+                android:layout_height="48dp"
+                android:layout_marginLeft="30dp"
+                android:background="@drawable/shape_main_hos_txt_bg"
+                android:gravity="center"
+                android:text="@string/str_confirm"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+        </LinearLayout>
+    </LinearLayout>
+
+</LinearLayout>

+ 13 - 0
android_door/src/main/h10_3128/res/layout/qr_code_lay.xml

@@ -172,6 +172,19 @@
                     android:visibility="gone"/>
 
                 <TextView
+                    android:id="@+id/tv_device_call_config"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:padding="10dp"
+                    android:background="?attr/myBackgroundColor"
+                    android:gravity="center_horizontal"
+                    android:text="@string/call_config"
+                    android:textColor="@drawable/selector_bottom_btn_text_color"
+                    android:textSize="24sp"
+                    android:visibility="gone"/>
+
+                <TextView
                     android:id="@+id/tv_device_test"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"

+ 2 - 2
common/src/main/code/com/wdkl/ncs/android/lib/settings/SettingConfig.java

@@ -87,14 +87,14 @@ public class SettingConfig {
     }
 
     public static int getMic(Context context) {
-        return getSP(context).getInt(KEY_SP_MIC_ENABLE, 0);
+        return getSP(context).getInt(KEY_SP_MIC_ENABLE, 22);
     }
     public static void setHORN(Context context, int mode) {
         getEditor(context).putInt(KEY_SP_HORN_ENABLE, mode).apply();
     }
 
     public static int getHORN(Context context) {
-        return getSP(context).getInt(KEY_SP_HORN_ENABLE, 0);
+        return getSP(context).getInt(KEY_SP_HORN_ENABLE, 130);
     }
 
 

+ 6 - 0
resource/src/main/res/drawable/selector_nuser_ed_d.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/shape_n_login_ed_bg" android:state_checked="false" />
+    <item android:drawable="@drawable/shape_n_login_ed_bg2" android:state_checked="true" />
+</selector>

+ 6 - 0
resource/src/main/res/drawable/shape_callconfig_bt_bg.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#97A2BE" />
+    <corners
+        android:radius="18dp" />
+</shape>

+ 1 - 2
resource/src/main/res/drawable/shape_n_login_ed_bg.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid
-        android:color="#F7F7F7" />
+    <solid android:color="#F7F7F7" />
     <stroke android:width="2dp" android:color="#F2F2F2" />
     <corners android:radius="18dp" />
 </shape>

+ 7 - 0
resource/src/main/res/drawable/shape_n_login_ed_bg2.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <solid android:color="#F7F8FC" />
+    <stroke android:width="2dp" android:color="#ff3f80f1" />
+    <corners android:radius="18dp" />
+</shape>