diff --git a/app/build.gradle b/app/build.gradle
index c0c0b01..fe45dd0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -15,8 +15,8 @@ android {
applicationId "com.xxpatx.os"
minSdkVersion 24
targetSdkVersion 29
- versionCode 1039
- versionName "1.3.8"
+ versionCode 1040
+ versionName "1.4.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 73b984b..238d9cb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -208,7 +208,7 @@
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:screenOrientation="portrait"
- android:theme="@style/FloatingWindow" />
+ android:theme="@style/AppBlackTheme" />
{
- private String TAG = "EmergencyActivity";
+ private static final String TAG = "EmergencyActivity";
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
- private SosNnmberAdapter mSosNnmberAdapter;
+ // private SosNnmberAdapter mSosNnmberAdapter;
+ private EmergencyContactAdapter mEmergencyContactAdapter;
- private Disposable subscribe;
- private boolean needDial = false;
- private boolean isCalling = false;
- private List phoneList;
+
+ private Disposable mDisposable;
+ private boolean mNeedDial = false;
+ private boolean mCalling = false;
+ private List mContactList;
@Override
protected int getLayoutId() {
@@ -62,22 +64,23 @@ public class EmergencyActivity extends BaseMvvmActivity {
Log.e("TAG", "倒计时:" + aLong);
- if (aLong < time && !subscribe.isDisposed()) {
+ if (aLong < time && !mDisposable.isDisposed()) {
mViewDataBinding.tvCountdown.setText("倒计时(" + (time - aLong - 1) + ")秒");
Log.e(TAG, "accept: " + (time - aLong - 1));
} else {
@@ -109,22 +112,22 @@ public class EmergencyActivity extends BaseMvvmActivity>() {
@Override
public void onChanged(List contacts) {
- phoneList = contacts;
- mSosNnmberAdapter.setPhoneNumberList(phoneList);
+ mContactList = contacts;
+ mEmergencyContactAdapter.setContactList(mContactList);
}
});
mViewModel.getCacheContact();
@@ -167,10 +170,10 @@ public class EmergencyActivity extends BaseMvvmActivity {
+
+ private Context mContext;
+ private List mContactList;
+
+ public void setContactList(List contactList) {
+ mContactList = contactList;
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public EmergencyContactHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ mContext = parent.getContext();
+ return new EmergencyContactHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_emergency_contact, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull EmergencyContactHolder holder, int position) {
+ Contact contact = mContactList.get(position);
+ GlideLoadUtils.getInstance().glideLoad(mContext, contact.getAvatar(), holder.iv_avatar, R.drawable.default_avatar);
+ holder.tv_name.setText(contact.getName());
+ holder.tv_phone.setText(contact.getMobile());
+ holder.root.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(Intent.ACTION_CALL);
+ Uri data = Uri.parse("tel:" + contact.getMobile());
+ intent.setData(data);
+ mContext.startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public int getItemCount() {
+ return mContactList == null ? 0 : mContactList.size();
+ }
+
+ public class EmergencyContactHolder extends RecyclerView.ViewHolder {
+ ConstraintLayout root;
+ NiceImageView iv_avatar;
+ TextView tv_name, tv_phone;
+
+ public EmergencyContactHolder(@NonNull View itemView) {
+ super(itemView);
+ root = itemView.findViewById(R.id.root);
+ iv_avatar = itemView.findViewById(R.id.iv_avatar);
+ tv_name = itemView.findViewById(R.id.tv_name);
+ tv_phone = itemView.findViewById(R.id.tv_phone);
+ }
+ }
+}
diff --git a/app/src/main/res/drawable-hdpi/icon_notice_alarm.png b/app/src/main/res/drawable-hdpi/icon_notice_alarm.png
new file mode 100644
index 0000000..2f061cd
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/icon_notice_alarm.png differ
diff --git a/app/src/main/res/drawable/bt_alarm_bg.xml b/app/src/main/res/drawable/bt_alarm_bg.xml
new file mode 100644
index 0000000..57478c4
--- /dev/null
+++ b/app/src/main/res/drawable/bt_alarm_bg.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bt_sos_bg.xml b/app/src/main/res/drawable/bt_sos_bg.xml
new file mode 100644
index 0000000..d7618f8
--- /dev/null
+++ b/app/src/main/res/drawable/bt_sos_bg.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/tv_sos_bg.xml b/app/src/main/res/drawable/tv_sos_bg.xml
new file mode 100644
index 0000000..050a706
--- /dev/null
+++ b/app/src/main/res/drawable/tv_sos_bg.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_emergency.xml b/app/src/main/res/layout/activity_emergency.xml
index 238912d..c90e0e2 100644
--- a/app/src/main/res/layout/activity_emergency.xml
+++ b/app/src/main/res/layout/activity_emergency.xml
@@ -15,17 +15,48 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+ app:layout_constraintTop_toTopOf="parent">
+
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/constraintLayout12" />
+ tools:listitem="@layout/item_emergency_contact" />
+
+
+
+
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/constraintLayout9" />
+ android:src="@drawable/icon_nodata"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_emergency_contact.xml b/app/src/main/res/layout/item_emergency_contact.xml
new file mode 100644
index 0000000..641790d
--- /dev/null
+++ b/app/src/main/res/layout/item_emergency_contact.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index fef054c..81cfb3b 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -30,7 +30,7 @@
#808080
#99FFFFFF
#ffffff
- #ff5257
+ #E84446
#00D56B
#ffffff
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 1e88e32..4398925 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -26,6 +26,14 @@
- @color/gray
+
+