Browse Source

交班留言修改为分页显示

weizhengliang 1 year ago
parent
commit
4220b244b6

+ 2 - 1
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/activity/CreateMessageActivity.kt

@@ -28,6 +28,7 @@ import com.wdkl.ncs.android.middleware.logic.presenter.nursehome.MessagePresente
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.FrameDO
 import com.wdkl.ncs.android.middleware.model.dos.FrameDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
+import com.wdkl.ncs.android.middleware.model.vo.RemarksVO
 import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import com.wdkl.ncs.android.middleware.utils.MessageEvent
 import com.wdkl.ncs.android.middleware.utils.MessageEvent
 import com.wdkl.ncs.android.middleware.utils.ScreenUtils
 import com.wdkl.ncs.android.middleware.utils.ScreenUtils
@@ -231,7 +232,7 @@ class CreateMessageActivity : BaseActivity<MessagePresenter, MessageCreateDialog
 
 
     }
     }
 
 
-    override fun showPageMessages(data: ArrayList<RemarkDO>) {
+    override fun showPageMessages(data: RemarksVO) {
 
 
     }
     }
 
 

+ 65 - 63
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/MessageFragment.kt

@@ -21,6 +21,7 @@ import com.wdkl.ncs.android.middleware.logic.contract.nursehome.MessageContract
 import com.wdkl.ncs.android.middleware.logic.presenter.nursehome.MessagePresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.nursehome.MessagePresenter
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
+import com.wdkl.ncs.android.middleware.model.vo.RemarksVO
 import com.wdkl.ncs.android.middleware.utils.MessageEvent
 import com.wdkl.ncs.android.middleware.utils.MessageEvent
 import kotlinx.android.synthetic.main.fragment_message.*
 import kotlinx.android.synthetic.main.fragment_message.*
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.Subscribe
@@ -34,8 +35,10 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
 
 
     private var messageAdapter: MessageAdapter? = null
     private var messageAdapter: MessageAdapter? = null
 
 
-    private val pageSize: Int = 10
-    private var pageNo: Int = 1
+    private var pageNo = 1
+    private val pageSize = 4
+    private var totalSize = 0
+    private var totalPage = 1
 
 
     /**
     /**
      * 提供layoutID
      * 提供layoutID
@@ -62,7 +65,6 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
 
 
         messageAdapter = MessageAdapter(ArrayList())
         messageAdapter = MessageAdapter(ArrayList())
         delegateAdapter.addAdapter(messageAdapter)
         delegateAdapter.addAdapter(messageAdapter)
-        message_refresh.setRefreshFooter(ClassicsFooter(activity))
 
 
         /**配置到RecycleView*/
         /**配置到RecycleView*/
         rv_messages.layoutManager = virtualLayoutManager
         rv_messages.layoutManager = virtualLayoutManager
@@ -77,23 +79,8 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
      *绑定事件
      *绑定事件
      */
      */
     override fun bindEvent() {
     override fun bindEvent() {
-        message_refresh.setOnRefreshListener {
-            if (Constants.part_id != -1) {
-                pageNo = 1
-                presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
-            }
-        }
-
-        message_refresh.setOnLoadMoreListener {
-            if (Constants.part_id != -1) {
-                pageNo += 1
-                presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
-            }
-        }
-
         btn_add_message.setOnClickListener {
         btn_add_message.setOnClickListener {
             val intent = Intent(BaseApplication.appContext, CreateMessageActivity::class.java)
             val intent = Intent(BaseApplication.appContext, CreateMessageActivity::class.java)
-            //startActivity(intent)
             startActivityForResult(intent, 1)
             startActivityForResult(intent, 1)
         }
         }
 
 
@@ -108,6 +95,50 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
             //放大显示
             //放大显示
             MessageDialogHelper.showDialog(activity, data)
             MessageDialogHelper.showDialog(activity, data)
         }
         }
+
+        btn_first_page.setOnClickListener {
+            //第一页
+            if (pageNo <= 1) {
+                pageNo = 1
+                showMessage(R.string.str_first_page)
+            } else {
+                pageNo = 1
+                presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
+            }
+        }
+
+        btn_last_page.setOnClickListener {
+            //最后一页
+            if (pageNo >= totalPage) {
+                pageNo = totalPage
+                showMessage(R.string.str_last_page)
+            } else {
+                pageNo = totalPage
+                presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
+            }
+        }
+
+        btn_pre_page.setOnClickListener {
+            //上一页
+            if (pageNo <= 1) {
+                pageNo = 1
+                showMessage(R.string.str_first_page)
+            } else {
+                pageNo--
+                presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
+            }
+        }
+
+        btn_next_page.setOnClickListener {
+            //下一页
+            if (pageNo >= totalPage) {
+                pageNo = totalPage
+                showMessage(R.string.str_last_page)
+            } else {
+                pageNo++
+                presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
+            }
+        }
     }
     }
 
 
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
@@ -124,56 +155,31 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
     }
     }
 
 
     override fun showMessages(data: ArrayList<RemarkDO>) {
     override fun showMessages(data: ArrayList<RemarkDO>) {
-        message_refresh.finishRefresh()
+        //
+    }
+
+    override fun showPageMessages(data: RemarksVO) {
+        totalSize = data.dataTotal
+        pageNo = data.pageNo
+        if (totalSize%pageSize == 0) {
+            totalPage = totalSize/pageSize
+        } else {
+            totalPage = totalSize/pageSize + 1
+        }
+        tv_page_no.text = "" + pageNo + "/" + totalPage
 
 
         messageAdapter!!.data.clear()
         messageAdapter!!.data.clear()
-        if (data.size > 0) {
-            for (remark in data) {
-                if (remark.type == 2 || remark.type == 3) {
+        if (data.data.size > 0) {
+            for (remark in data.data) {
+                //if (remark.type == 2 || remark.type == 3) {
                     //便签或语音留言
                     //便签或语音留言
                     messageAdapter!!.data.add(remark)
                     messageAdapter!!.data.add(remark)
-                }
+                //}
             }
             }
         }
         }
         messageAdapter!!.notifyDataSetChanged()
         messageAdapter!!.notifyDataSetChanged()
     }
     }
 
 
-    override fun showPageMessages(data: ArrayList<RemarkDO>) {
-        message_refresh.finishRefresh()
-        if (pageNo == 1) {
-            //刷新数据
-            message_refresh.resetNoMoreData()
-            message_refresh.finishLoadMore()
-
-            messageAdapter!!.data.clear()
-            if (data.size > 0) {
-                for (remark in data) {
-                    if (remark.type == 2 || remark.type == 3) {
-                        //便签或语音留言
-                        messageAdapter!!.data.add(remark)
-                    }
-                }
-            }
-            messageAdapter!!.notifyDataSetChanged()
-        } else {
-            //加载更多
-            if (data.size > 0) {
-                message_refresh.finishLoadMore()
-
-                for (remark in data) {
-                    if (remark.type == 2 || remark.type == 3) {
-                        //便签或语音留言
-                        messageAdapter!!.data.add(remark)
-                    }
-                }
-                messageAdapter!!.notifyDataSetChanged()
-            } else {
-                //已经没有更多数据了
-                message_refresh.finishLoadMoreWithNoMoreData()
-            }
-        }
-    }
-
     override fun resultAddMessage(remarkDO: RemarkDO) {
     override fun resultAddMessage(remarkDO: RemarkDO) {
 
 
     }
     }
@@ -183,7 +189,6 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
         showMessage(data)
         showMessage(data)
 
 
         //删除成功后刷新列表
         //删除成功后刷新列表
-        pageNo = 1
         presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
         presenter.loadMessageByPage(pageNo, pageSize, Constants.part_id)
     }
     }
 
 
@@ -199,9 +204,6 @@ class MessageFragment : BaseFragment<MessagePresenter, FragmentMessageBinding>()
      *处理错误信息
      *处理错误信息
      */
      */
     override fun onError(message: String, type: Int) {
     override fun onError(message: String, type: Int) {
-        message_refresh.finishRefresh()
-        message_refresh.finishLoadMore()
-
         //messageAdapter!!.data.clear()
         //messageAdapter!!.data.clear()
         //messageAdapter!!.notifyDataSetChanged()
         //messageAdapter!!.notifyDataSetChanged()
     }
     }

+ 2 - 2
android_host/src/main/h10_wke_1h/res/layout/adapter_message_item.xml

@@ -3,7 +3,7 @@
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/ll_message"
         android:id="@+id/ll_message"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="92dp"
+        android:layout_height="100dp"
         android:layout_marginTop="10dp"
         android:layout_marginTop="10dp"
         android:gravity="center_vertical"
         android:gravity="center_vertical"
         android:padding="20dp">
         android:padding="20dp">
@@ -30,7 +30,7 @@
             android:ellipsize="end"
             android:ellipsize="end"
             android:text="----"
             android:text="----"
             android:textColor="@color/black"
             android:textColor="@color/black"
-            android:textSize="28sp" />
+            android:textSize="32sp" />
 
 
         <ImageView
         <ImageView
             android:id="@+id/iv_message_play"
             android:id="@+id/iv_message_play"

+ 70 - 15
android_host/src/main/h10_wke_1h/res/layout/fragment_message.xml

@@ -6,27 +6,82 @@
         android:layout_height="match_parent"
         android:layout_height="match_parent"
         android:background="#EAF2F9">
         android:background="#EAF2F9">
 
 
-        <Button
-            android:id="@+id/btn_add_message"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="20dp"
-            android:layout_marginBottom="40dp"
-            android:padding="10dp"
+        <RelativeLayout
+            android:id="@+id/rl_page_select"
+            android:layout_width="match_parent"
+            android:layout_height="200dp"
+            android:paddingBottom="40dp"
             android:layout_alignParentBottom="true"
             android:layout_alignParentBottom="true"
-            android:layout_centerHorizontal="true"
-            android:background="@drawable/shape_main_hos_txt_bg"
-            android:textColor="@drawable/selector_bottom_btn_text_color"
-            android:text="@string/str_add_message"
-            android:textSize="28sp" />
+            android:gravity="center_vertical"
+            android:background="@drawable/shape_top_corner">
+
+            <TextView
+                android:id="@+id/tv_page_no"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="32dp"
+                android:text="1"
+                android:textColor="@color/black"
+                android:textSize="24sp"/>
+
+            <ImageButton
+                android:id="@+id/btn_first_page"
+                android:layout_width="60dp"
+                android:layout_height="60dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginRight="40dp"
+                android:layout_toLeftOf="@+id/btn_pre_page"
+                android:src="@drawable/ic_first_page"/>
+
+            <ImageButton
+                android:id="@+id/btn_pre_page"
+                android:layout_width="60dp"
+                android:layout_height="60dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginRight="40dp"
+                android:layout_toLeftOf="@id/tv_page_no"
+                android:src="@drawable/ic_arrow_left"/>
+
+            <ImageButton
+                android:id="@+id/btn_next_page"
+                android:layout_width="60dp"
+                android:layout_height="60dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginLeft="40dp"
+                android:layout_toRightOf="@id/tv_page_no"
+                android:src="@drawable/ic_arrow_right"/>
+
+            <ImageButton
+                android:id="@+id/btn_last_page"
+                android:layout_width="60dp"
+                android:layout_height="60dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginLeft="40dp"
+                android:layout_toRightOf="@id/btn_next_page"
+                android:src="@drawable/ic_last_page"/>
+
+            <Button
+                android:id="@+id/btn_add_message"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentBottom="true"
+                android:layout_centerHorizontal="true"
+                android:padding="10dp"
+                android:background="@drawable/shape_main_hos_txt_bg"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:text="@string/str_add_message"
+                android:textSize="28sp" />
+
+        </RelativeLayout>
 
 
         <com.scwang.smartrefresh.layout.SmartRefreshLayout
         <com.scwang.smartrefresh.layout.SmartRefreshLayout
             android:id="@+id/message_refresh"
             android:id="@+id/message_refresh"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_height="match_parent"
-            android:layout_above="@id/btn_add_message"
-            bind:srlEnableLoadMore="true"
-            bind:srlEnableRefresh="true">
+            android:layout_above="@id/rl_page_select"
+            bind:srlEnableLoadMore="false"
+            bind:srlEnableRefresh="false">
 
 
             <android.support.v7.widget.RecyclerView
             <android.support.v7.widget.RecyclerView
                 android:id="@+id/rv_messages"
                 android:id="@+id/rv_messages"

+ 2 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/nursehome/MessageContract.kt

@@ -3,6 +3,7 @@ package com.wdkl.ncs.android.middleware.logic.contract.nursehome
 import com.wdkl.ncs.android.lib.base.BaseContract
 import com.wdkl.ncs.android.lib.base.BaseContract
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
+import com.wdkl.ncs.android.middleware.model.vo.RemarksVO
 import okhttp3.MultipartBody
 import okhttp3.MultipartBody
 
 
 
 
@@ -11,7 +12,7 @@ interface MessageContract {
     interface View:BaseContract.BaseView {
     interface View:BaseContract.BaseView {
         fun showMessages(data: ArrayList<RemarkDO>)
         fun showMessages(data: ArrayList<RemarkDO>)
 
 
-        fun showPageMessages(data: ArrayList<RemarkDO>)
+        fun showPageMessages(data: RemarksVO)
 
 
         fun resultAddMessage(remarkDO: RemarkDO)
         fun resultAddMessage(remarkDO: RemarkDO)
 
 

+ 12 - 6
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/nursehome/MessagePresenter.kt

@@ -13,6 +13,7 @@ import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
 import com.wdkl.ncs.android.middleware.logic.contract.nursehome.MessageContract
 import com.wdkl.ncs.android.middleware.logic.contract.nursehome.MessageContract
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
 import com.wdkl.ncs.android.middleware.model.dos.RemarkDO
+import com.wdkl.ncs.android.middleware.model.vo.RemarksVO
 import io.reactivex.disposables.Disposable
 import io.reactivex.disposables.Disposable
 import okhttp3.MultipartBody
 import okhttp3.MultipartBody
 import okhttp3.ResponseBody
 import okhttp3.ResponseBody
@@ -49,7 +50,7 @@ class MessagePresenter@Inject constructor():RxPresenter<MessageContract.View>(),
         }
         }
     }
     }
 
 
-    private val observable2 = object : ConnectionObserver<Any>() {
+    /*private val observable2 = object : ConnectionObserver<Any>() {
         override fun onStartWithConnection() {
         override fun onStartWithConnection() {
             providerView()
             providerView()
         }
         }
@@ -69,7 +70,7 @@ class MessagePresenter@Inject constructor():RxPresenter<MessageContract.View>(),
         override fun attachSubscribe(var1: Disposable) {
         override fun attachSubscribe(var1: Disposable) {
             addDisposable(var1)
             addDisposable(var1)
         }
         }
-    }
+    }*/
 
 
     private val observable3 = object : ConnectionObserver<Any>() {
     private val observable3 = object : ConnectionObserver<Any>() {
         override fun onStartWithConnection() {
         override fun onStartWithConnection() {
@@ -108,6 +109,10 @@ class MessagePresenter@Inject constructor():RxPresenter<MessageContract.View>(),
                 is String -> {
                 is String -> {
                     providerView().resultDelMessage(result)
                     providerView().resultDelMessage(result)
                 }
                 }
+
+                is RemarksVO -> {
+                    providerView().showPageMessages(result)
+                }
             }
             }
         }
         }
 
 
@@ -157,16 +162,17 @@ class MessagePresenter@Inject constructor():RxPresenter<MessageContract.View>(),
     override fun loadMessageByPage(pageNo: Int, pageSize: Int, partId: Int) {
     override fun loadMessageByPage(pageNo: Int, pageSize: Int, partId: Int) {
         deviceApi.getMessageByPage(pageNo, pageSize, partId)
         deviceApi.getMessageByPage(pageNo, pageSize, partId)
             .map {
             .map {
-                val remarkList = ArrayList<RemarkDO>()
+                /*val remarkList = ArrayList<RemarkDO>()
                 val gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
                 val gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
                 it.toJsonObject().valueJsonArray("data").arrayObjects().forEach { dic ->
                 it.toJsonObject().valueJsonArray("data").arrayObjects().forEach { dic ->
                     remarkList.add(gson.fromJson(dic.toString(), RemarkDO::class.java))
                     remarkList.add(gson.fromJson(dic.toString(), RemarkDO::class.java))
-                }
+                }*/
 
 
-                return@map remarkList
+                val gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
+                return@map gson.fromJson(it.getJsonString(), RemarksVO::class.java)
             }
             }
             .compose(ThreadFromUtils.defaultSchedulers())
             .compose(ThreadFromUtils.defaultSchedulers())
-            .subscribe(observable2)
+            .subscribe(observer)
     }
     }
 
 
     override fun addNewMessage(remarkDO: RemarkDO) {
     override fun addNewMessage(remarkDO: RemarkDO) {

+ 45 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/vo/RemarksVO.java

@@ -0,0 +1,45 @@
+package com.wdkl.ncs.android.middleware.model.vo;
+
+import com.wdkl.ncs.android.middleware.model.dos.RemarkDO;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+public class RemarksVO implements Serializable {
+    private Integer pageNo;
+    private Integer pageSize;
+    private Integer dataTotal;
+    private ArrayList<RemarkDO> data;
+
+    public Integer getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(Integer pageNo) {
+        this.pageNo = pageNo;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public Integer getDataTotal() {
+        return dataTotal;
+    }
+
+    public void setDataTotal(Integer dataTotal) {
+        this.dataTotal = dataTotal;
+    }
+
+    public ArrayList<RemarkDO> getData() {
+        return data;
+    }
+
+    public void setData(ArrayList<RemarkDO> data) {
+        this.data = data;
+    }
+}

+ 10 - 0
resource/src/main/res/drawable/ic_arrow_left.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="#000000"
+      android:pathData="M15.41,16.59L10.83,12l4.58,-4.59L14,6l-6,6 6,6 1.41,-1.41z"/>
+</vector>

+ 10 - 0
resource/src/main/res/drawable/ic_arrow_right.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="#000000"
+      android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/>
+</vector>

+ 10 - 0
resource/src/main/res/drawable/ic_first_page.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="#000000"
+      android:pathData="M18.41,16.59L13.82,12l4.59,-4.59L17,6l-6,6 6,6zM6,6h2v12H6z"/>
+</vector>

+ 10 - 0
resource/src/main/res/drawable/ic_last_page.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="#000000"
+      android:pathData="M5.59,7.41L10.18,12l-4.59,4.59L7,18l6,-6 -6,-6zM16,6h2v12h-2z"/>
+</vector>

+ 7 - 0
resource/src/main/res/drawable/shape_top_corner.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="#e4e6e5" />
+    <corners
+        android:topLeftRadius="32dp"
+        android:topRightRadius="32dp" />
+</shape>

+ 2 - 0
resource/src/main/res/values-es/strings.xml

@@ -294,6 +294,8 @@
     <string name="str_message_save_success">Success!</string>
     <string name="str_message_save_success">Success!</string>
     <string name="str_record_message_success">Record success!</string>
     <string name="str_record_message_success">Record success!</string>
     <string name="str_invalid_creator_name">Please select creator</string>
     <string name="str_invalid_creator_name">Please select creator</string>
+    <string name="str_first_page">First page!</string>
+    <string name="str_last_page">Last page!</string>
 
 
     <string name="str_warning">Advertencia</string>
     <string name="str_warning">Advertencia</string>
     <string name="str_fall_alarm">Alarma de caída</string>
     <string name="str_fall_alarm">Alarma de caída</string>

+ 2 - 0
resource/src/main/res/values-ru/strings.xml

@@ -296,6 +296,8 @@
     <string name="str_message_save_success">Success!</string>
     <string name="str_message_save_success">Success!</string>
     <string name="str_record_message_success">Record success!</string>
     <string name="str_record_message_success">Record success!</string>
     <string name="str_invalid_creator_name">Please select creator</string>
     <string name="str_invalid_creator_name">Please select creator</string>
+    <string name="str_first_page">First page!</string>
+    <string name="str_last_page">Last page!</string>
 
 
     <string name="str_warning">тревога</string>
     <string name="str_warning">тревога</string>
     <string name="str_fall_alarm">fall alarm</string>
     <string name="str_fall_alarm">fall alarm</string>

+ 2 - 0
resource/src/main/res/values-zh/strings.xml

@@ -219,6 +219,8 @@
     <string name="str_message_save_success">留言成功!</string>
     <string name="str_message_save_success">留言成功!</string>
     <string name="str_record_message_success">语音录制成功!</string>
     <string name="str_record_message_success">语音录制成功!</string>
     <string name="str_invalid_creator_name">请先选择创建人</string>
     <string name="str_invalid_creator_name">请先选择创建人</string>
+    <string name="str_first_page">已是第一页!</string>
+    <string name="str_last_page">已是最后一页!</string>
 
 
     <string name="setting_day_night_time">白天-晚上时间设置</string>
     <string name="setting_day_night_time">白天-晚上时间设置</string>
     <string name="setting_call_type">播报模式:</string>
     <string name="setting_call_type">播报模式:</string>

+ 2 - 0
resource/src/main/res/values/strings.xml

@@ -219,6 +219,8 @@
     <string name="str_message_save_success">Success!</string>
     <string name="str_message_save_success">Success!</string>
     <string name="str_record_message_success">Record success!</string>
     <string name="str_record_message_success">Record success!</string>
     <string name="str_invalid_creator_name">Please select creator</string>
     <string name="str_invalid_creator_name">Please select creator</string>
+    <string name="str_first_page">First page!</string>
+    <string name="str_last_page">Last page!</string>
 
 
     <string name="setting_day_night_time">Day-night time set</string>
     <string name="setting_day_night_time">Day-night time set</string>
     <string name="setting_call_type">Call type:</string>
     <string name="setting_call_type">Call type:</string>