ประวัติการแจ้งเตือน

ประวัติการแจ้งเตือนเป็นหน้าจออุปกรณ์ที่ผู้ใช้สามารถดูการแจ้งเตือนที่ปิดเสียงชั่วคราว การแจ้งเตือนที่เพิ่งปิดไปบางส่วน และประวัติการแจ้งเตือนวันสุดท้าย เป็นคุณสมบัติเสริมสำหรับ OEM ที่จะนำไปใช้ ไม่มีผลกระทบต่อ SoC หรือผู้ให้บริการ

ประวัติการแจ้งเตือนมีไว้เพื่อจัดการกับกรณีการใช้งานเหล่านี้:

  • การปิดโดยไม่ ตั้งใจ : คุณปิดการแจ้งเตือนโดยไม่ตั้งใจและต้องการดูอย่างรวดเร็วว่ามันคืออะไร
  • การ แจ้งเตือน ที่ปิดเสียงชั่วคราว : คุณปิดเสียงการแจ้งเตือนชั่วคราวแต่ต้องการดูก่อนที่ช่วงเลื่อนการแจ้งเตือนจะสิ้นสุดลง
  • การ แก้ไขปัญหา : คุณคิดว่าคุณพลาดการแจ้งเตือน คุณตรวจสอบประวัติการแจ้งเตือนเพื่อดูว่ามีการแจ้งเตือนหรือไม่และแจ้งเตือนหรือไม่ หากไม่พบ ให้ตรวจสอบว่ามีการบล็อกการแจ้งเตือนหรือไม่ คุณสามารถเปลี่ยนการตั้งค่าการแจ้งเตือนในประวัติการแจ้งเตือน
  • การจัดการการแจ้งเตือน : คุณต้องการเปลี่ยนวิธีการแจ้งเตือนแบบขัดจังหวะ ดังนั้นคุณจึงใช้ประวัติการแจ้งเตือน เนื่องจากมีการโหลดการแจ้งเตือนรายวันตามความเป็นจริง ซึ่งทำให้ง่ายต่อการเข้าใจขอบเขตของการเปลี่ยนแปลงการแจ้งเตือน การบล็อก เป็นต้น

การใช้งานอ้างอิงขององค์ประกอบเหล่านี้ของประวัติการแจ้งเตือนมีอยู่:

  • การตั้งค่า : packages/apps/Settings/src/com/android/settings/notification/history
  • เซิร์ฟเวอร์ระบบ : com.android.server.notification.NotificationHistory.*.java

ขั้นตอนเหล่านี้เป็นขั้นตอนสำคัญในการนำประวัติการแจ้งเตือนไปใช้:

  • เขียนเหตุการณ์การแจ้งเตือนลงในบันทึก
  • เพิ่มจุดเข้าสู่บันทึกและการตั้งค่าเพื่อเปิดและปิด
  • ใช้หน้าจอประวัติการแจ้งเตือน

ผู้ใช้สามารถปิดประวัติการแจ้งเตือนได้ เมื่อปิดอยู่ รายการประวัติทั้งหมดจะถูกลบและไม่มีรายการใดถูกเขียนลงในบันทึก

คุณสามารถกำหนดจำนวนวันที่การแจ้งเตือนปรากฏในประวัติการแจ้งเตือนโดยใช้ค่าคงที่ HISTORY_RETENTION_DAYS ในคลาส NotificationHistoryDatabase คุณยังสามารถแก้ไขส่วนที่ปรากฏในหน้าจอประวัติการแจ้งเตือนและวิธีการนำเสนอข้อมูล

ระยะเวลาเก็บรักษาประวัติการแจ้งเตือนเริ่มต้นคือ 24 ชั่วโมง

การทดสอบหน่วยเหล่านี้มีไว้สำหรับแต่ละส่วนประกอบของรหัส:

  • การทดสอบหน่วยเซิร์ฟเวอร์ระบบ : FrameworksUiServicesTests
  • การทดสอบหน่วยการตั้งค่า : make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"