From ea7b6a457318d0ee3031f70e5af3379e5df48ebe Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Fri, 15 Nov 2024 14:22:59 +0800 Subject: [PATCH] =?UTF-8?q?version:1.4.0=20fix:=20update:=E9=97=B9?= =?UTF-8?q?=E9=92=9F=E6=8F=90=E9=86=92=E5=BE=AA=E7=8E=AF=E6=92=AD=E6=94=BE?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96sos=E5=92=8C=E6=8F=90=E9=86=92?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 2 +- .../activity/emergency/EmergencyActivity.java | 79 +++++++++--------- .../os/activity/noti/NoticeActivity.java | 1 + .../os/adapter/EmergencyContactAdapter.java | 74 ++++++++++++++++ .../res/drawable-hdpi/icon_notice_alarm.png | Bin 0 -> 2890 bytes app/src/main/res/drawable/bt_alarm_bg.xml | 14 ++++ app/src/main/res/drawable/bt_sos_bg.xml | 14 ++++ app/src/main/res/drawable/tv_sos_bg.xml | 14 ++++ .../main/res/layout/activity_emergency.xml | 55 +++++++++--- .../main/res/layout/activity_notice_info.xml | 62 ++++++++++++-- .../res/layout/item_emergency_contact.xml | 77 +++++++++++++++++ app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/styles.xml | 8 ++ 14 files changed, 347 insertions(+), 59 deletions(-) create mode 100644 app/src/main/java/com/xxpatx/os/adapter/EmergencyContactAdapter.java create mode 100644 app/src/main/res/drawable-hdpi/icon_notice_alarm.png create mode 100644 app/src/main/res/drawable/bt_alarm_bg.xml create mode 100644 app/src/main/res/drawable/bt_sos_bg.xml create mode 100644 app/src/main/res/drawable/tv_sos_bg.xml create mode 100644 app/src/main/res/layout/item_emergency_contact.xml 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 0000000000000000000000000000000000000000..2f061cd779d463dabc1119ac8027d3dd14bab592 GIT binary patch literal 2890 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 literal 0 HcmV?d00001 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" />