Эх сурвалжийг харах

针对W303B项目增加自动接听开关

songchengcheng 3 сар өмнө
parent
commit
8ea35af6f4

+ 3 - 1
app/src/main/java/com/sikey/veryfit/component/network/http/model/WatchSettingsInfo.kt

@@ -11,7 +11,9 @@ data class BlockUnknownCallRepo(
 data class BlockUnknownCall(
     // 1 - enable, -1 - disable
     @SerializedName("toggle")
-    val toggle: Int
+    val toggle: Int,
+    @SerializedName("automaticAnswer")
+    val autoAnswer: Int
 )
 
 data class DId(

+ 49 - 9
app/src/main/java/com/sikey/veryfit/k2/ui/rejectStranger/RejectStrangerActivity.kt

@@ -8,6 +8,7 @@ import android.widget.ImageView
 import android.widget.RelativeLayout
 import android.widget.ToggleButton
 import androidx.appcompat.widget.Toolbar
+import androidx.core.view.isVisible
 import androidx.lifecycle.lifecycleScope
 import com.google.android.material.appbar.CollapsingToolbarLayout
 import com.sikey.veryfit.R
@@ -24,8 +25,10 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
 
     var TAG = RejectStrangerActivity::class.java.simpleName
     var mLytRejectHistory: RelativeLayout? = null
+    var mLytAutoAnswer: RelativeLayout? = null
 
     var mTbtn: ToggleButton? = null
+    var mTbtn_auto_answer: ToggleButton? = null
 
     private var mToolbar: Toolbar? = null
     private var mBackView: ImageView? = null
@@ -55,7 +58,7 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
 
         val appBarLayout = findViewById<CollapsingToolbarLayout>(R.id.collapsingToolbar)
         if (appBarLayout != null) {
-            appBarLayout.title = getString(R.string.reject_stranger)
+            appBarLayout.title = getString(R.string.call_settings)
             appBarLayout.setExpandedTitleTextColor(resources.getColorStateList(R.color.dark))
             appBarLayout.setCollapsedTitleTextColor(resources.getColor(R.color.dark))
         }
@@ -69,12 +72,42 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
 
             if (!buttonView.isPressed) return@OnCheckedChangeListener
 
-            if (isChecked)
-                setWhiteListStatus(1)
-            else
-                setWhiteListStatus(0)
+            if (isChecked) {
+
+                if (DataManager.instance.currentChildInfo?.device?.model.equals("W303B", ignoreCase = true)) {
+                    mLytAutoAnswer?.isVisible = true
+                } else {
+                    mLytAutoAnswer?.isVisible = false
+                }
+                if (mTbtn_auto_answer?.isChecked == true)
+                    setWhiteListStatus(1, 1)
+                else
+                    setWhiteListStatus(1, 0)
+            }
+            else {
+                mTbtn_auto_answer?.isChecked = false
+                mLytAutoAnswer?.isVisible = false
+                setWhiteListStatus(0, 0)
+            }
         })
 
+        mLytAutoAnswer = findViewById(R.id.lyt_auto_answer)
+        mTbtn_auto_answer = findViewById(R.id.tbtn_auto_anwer)
+        mTbtn_auto_answer?.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->
+            if (!buttonView.isPressed) return@OnCheckedChangeListener
+            if (isChecked) {
+                if (mTbtn?.isChecked == true)
+                    setWhiteListStatus(1, 1)
+                else
+                    setWhiteListStatus(0, 0)
+            }
+            else {
+                if (mTbtn?.isChecked == true)
+                    setWhiteListStatus(1, 0)
+                else
+                    setWhiteListStatus(0, 0)
+            }
+        })
 
         mLytRejectHistory?.setOnClickListener {
             startActivity(
@@ -102,7 +135,8 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
                 }
                 if (this.code == "200") {
                     val status = (this.mData as BlockUnknownCallRepo).status.toggle
-                    refreshUI(status)
+                    val autoAnswer = (this.mData as BlockUnknownCallRepo).status.autoAnswer
+                    refreshUI(status, autoAnswer)
                 }
             }
         }
@@ -110,7 +144,7 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
     }
 
 
-    private fun setWhiteListStatus(open: Int) {
+    private fun setWhiteListStatus(open: Int, autoAnswer: Int) {
 
 /*        if (open == 1) {
             if (VersionMatch.isBLY() || VersionMatch.isBERE()) {
@@ -126,7 +160,7 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
             HttpServiceExecutor.execute(
                 (RetrofitFactory.retrofit(WatchSettingService::class.java) as WatchSettingService).setBlockUnknownCall(
                     DataManager.instance.currentChildInfo?.childId ?: "",
-                    BlockUnknownCall(if (open == 1) 1 else -1)
+                    BlockUnknownCall(if (open == 1) 1 else -1, if (autoAnswer == 1) 1 else -1)
                 ).flowable
             ).apply {
                 hideProgressDialog()
@@ -139,9 +173,15 @@ class RejectStrangerActivity : BaseNoActionBarActivity() {
         showProgressDialog()
     }
 
-    private fun refreshUI(status: Int) {
+    private fun refreshUI(status: Int, autoAnswer: Int) {
 
         mTbtn?.isChecked = status == 1
+        mTbtn_auto_answer?.isChecked = autoAnswer == 1
+        if (DataManager.instance.currentChildInfo?.device?.model.equals("W303B", ignoreCase = true)) {
+            mLytAutoAnswer?.isVisible = mTbtn!!.isChecked
+        } else {
+            mLytAutoAnswer?.isVisible = false
+        }
 /*        if (status == 1) {
             if (VersionMatch.isBLY() || VersionMatch.isBERE()) {
                 mLytRejectHistory?.visibility = View.GONE

+ 1 - 1
app/src/main/java/com/sikey/veryfit/ui/fragment/main/WatchFragment.kt

@@ -236,7 +236,7 @@ class WatchFragment : androidx.fragment.app.Fragment(), WatchFuncAdapter.OnItemC
                     }
                 }
 
-                getString(R.string.reject_stranger) -> {
+                getString(R.string.call_settings) -> {
                     if (!VersionMatch.morethank2C()) watchItemList.remove(item)
                     item.setSubHandler {
                         startActivity(Intent(activity, RejectStrangerActivity::class.java))

+ 47 - 0
app/src/main/res/layout/activity_reject_stranger.xml

@@ -175,6 +175,53 @@
                         android:layout_height="wrap_content" />
 
                 </RelativeLayout>
+
+                <RelativeLayout
+                    android:id="@+id/lyt_auto_answer"
+                    android:background="@color/white"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/big_item_height"
+                    android:layout_below="@+id/lyt_reject_history">
+
+                    <LinearLayout
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginRight="80dp"
+                        android:layout_centerVertical="true"
+                        android:orientation="vertical">
+                        <TextView
+                            android:layout_marginLeft="@dimen/base_input_margin_left"
+                            android:text="@string/auto_answer_tip"
+                            android:textSize="@dimen/text_size_large"
+                            android:textColor="@color/dark"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content" />
+
+                        <TextView
+                            android:id="@+id/auto_answer_desc"
+                            android:layout_marginLeft="@dimen/base_input_margin_left"
+                            android:text="@string/auto_answer_desc"
+                            android:textSize="@dimen/text_size_small"
+                            android:textColor="@color/gray_60"
+                            android:layout_marginTop="@dimen/space_value_medium"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content" />
+                    </LinearLayout>
+
+
+                    <ToggleButton
+                        android:id="@+id/tbtn_auto_anwer"
+                        android:checked="false"
+                        android:background="@drawable/togglebutton_selector"
+                        android:layout_alignParentRight="true"
+                        android:layout_marginRight="20dp"
+                        android:layout_centerVertical="true"
+                        android:textOn=""
+                        android:textOff=""
+                        android:layout_width="50dp"
+                        android:layout_height="28dp" />
+
+                </RelativeLayout>
             </RelativeLayout>
 
         </RelativeLayout>

+ 1 - 1
app/src/main/res/layout/activity_watch_settings.xml

@@ -474,7 +474,7 @@
 
                 <TextView
                     android:layout_marginLeft="@dimen/base_input_margin_left"
-                    android:text="@string/reject_stranger"
+                    android:text="@string/call_settings"
                     android:textSize="@dimen/text_size_large"
                     android:textColor="@color/location_text_color"
                     android:layout_centerVertical="true"

+ 3 - 0
app/src/main/res/values-zh-rCN/strings.xml

@@ -746,6 +746,9 @@
     <string name="msg_expired">语音消息已过期</string>
     <string name="logo_label">能打电话的4G儿童手表</string>
 
+    <string name="call_settings">通话设置</string>
+    <string name="auto_answer_tip">自动接听</string>
+    <string name="auto_answer_desc">开启后手表会自动接听通讯录中联系人的电话</string>
     <string name="reject_stranger_tip">"陌生号码电话拦截"</string>
     <string name="reject_stranger_desc">"开启后仅接收手表通讯录中联系人的电话"</string>
     <string name="more">"更多"</string>

+ 3 - 0
app/src/main/res/values-zh-rHK/strings.xml

@@ -742,6 +742,9 @@
     <string name="i_konw">我知道了</string>
     <string name="msg_expired">語音消息已過期</string>
     <string name="logo_label">能打電話的4G兒童手錶</string>
+    <string name="call_settings">通話設置</string>
+    <string name="auto_answer_tip">自動接聽</string>
+    <string name="auto_answer_desc">開啓後手錶會自動接聽通訊錄中聯係人的電話</string>
     <string name="reject_stranger_tip">"陌生號碼電話攔截"</string>
     <string name="reject_stranger_desc">開啟後僅接收手錶通訊錄中連絡人的電話</string>
     <string name="more">"更多"</string>

+ 4 - 1
app/src/main/res/values-zh-rTW/strings.xml

@@ -740,6 +740,9 @@
     <string name="i_konw">我知道了</string>
     <string name="msg_expired">語音消息已過期</string>
     <string name="logo_label">能打電話的4G兒童手錶</string>
+    <string name="call_settings">通話設置</string>
+    <string name="auto_answer_tip">自動接聽</string>
+    <string name="auto_answer_desc">開啓後手錶會自動接聽通訊錄中聯係人的電話</string>
     <string name="reject_stranger_tip">陌生號碼電話攔截</string>
     <string name="reject_stranger_desc">開啟後僅接收手錶通訊錄中連絡人的電話</string>
     <string name="more">"更多"</string>
@@ -888,7 +891,7 @@
     <string name="vpn_mmsc">mmsc</string>
     <string name="vpn_server">server</string>
 
-    
+
     <string name="vpn_setting_hint">未設定</string>
     <string name="vpn_setting_title_of_Fragment">請輸入內容</string>
     <string name="vpn_setting_tip_of_apn">請先設定APN</string>

+ 5 - 2
app/src/main/res/values/strings.xml

@@ -36,7 +36,7 @@
     <string-array name="watch_func_menu_admin">
         <item>@string/contacts_title</item>
         <item>@string/contacts</item>
-        <item>@string/reject_stranger</item>
+        <item>@string/call_settings</item>
         <item>@string/safe_fence</item>
         <item>@string/track_history</item>
         <item>@string/fence</item>
@@ -766,6 +766,9 @@
     <string name="i_konw">Got it</string>
     <string name="msg_expired">Voice message expired</string>
     <string name="logo_label">Ojoy Smart Watch Phone</string>
+    <string name="call_settings">Call settings</string>
+    <string name="auto_answer_tip">Auto answer</string>
+    <string name="auto_answer_desc">If enabled, the watch will answer calls from contacts list automatically.</string>
     <string name="reject_stranger_tip">White list.</string>
     <string name="reject_stranger_desc">If enabled, the watch will only receive calls from contacts list.</string>
     <string name="more">More</string>
@@ -1063,7 +1066,7 @@
     <string name="network_status_3">Fair</string>
     <string name="network_status_4">Good</string>
     <string name="network_status_5">Very good</string>
-    
+
     <string name="at_least_one">Please select at least one item</string>
     <string name="qr_format_error">QR code format error</string>
     <string name="unbind_tips">Please unbind the watches first.</string>