AbdelwadoudOmrachi سعدت بالمساهمة في مشروع Open Mushaf والعمل على المهمة الخاصة بإضافة تذكيرات الورد اليومي. المشكلة: كان المطلوب توفير تذكير لبدء الورد اليومي، ثم تذكير لاحق في حال لم يُكمل المستخدم ورده، مع إمكانية تفعيل كل تذكير بشكل مستقل وتحديد وقته. كذلك كان يجب ألا يستمر التطبيق في إرسال تذكيرات اليوم بعد اكتمال الورد. طريقة الحل التي اعتمدتها: إضافة تذكير ثانٍ لمتابعة الورد اليومي مع وقت مستقل وإمكانية تفعيله أو تعطيله بشكل منفصل. ربط التذكيرات بحالة إنجاز الورد بحيث تُلغى التذكيرات المتبقية لليوم عند إكمال الهدف. اعتماد مزامنة مركزية لتذكيرات الورد، مع جدولة إشعارات منفصلة للأيام القادمة، حتى يمكن إلغاء ما تبقى من اليوم دون التأثير على التذكيرات المستقبلية. معالجة صلاحية Alarms & reminders في Android 12+ بحيث لا يظهر تنبيه الصلاحية للمستخدم إذا كانت ممنوحة بالفعل. اختبار السلوك على جهاز Android حقيقي، إضافة إلى تشغيل اختبارات المشروع والتحقق من الـtype-check والـlint والـbuild. النتيجة: أصبح المستخدم قادرًا على تخصيص تذكيرين للورد اليومي، مع منع الإشعارات غير الضرورية بعد إكمال الورد، والتعامل بشكل أدق مع صلاحيات Android. تمت مراجعة المساهمة وقبولها ودمجها في المشروع، وإغلاق المهمة. Pull Request: https://github.com/adelpro/open-mushaf-native/pull/170 Issue: https://github.com/adelpro/open-mushaf-native/issues/151
أبو بكر عبد الرحمن AbdelwadoudOmrachi 8pm to start, 10pm if the wird is still open, and that second one drops off the moment the goal is met. Thirteen days after that stay queued. I liked that the phone test actually sat there until 100% and then went quiet.
عادل بن يحي بارك الله فيك أخي مساهمة قسمة ومشكور على إضافة خاصية طلب permissions للأجهزة التي تعمل على الأندرويد للإصدارات 12+. بارك الله فيك وجعله في ميزان حسناتك
علا صالح مشكور على جهودك الطيبة أخ عبد الودود أسأل الله أن يتقبلها منك اود الاستفسار منك هل توجد اختلافات في تنفيذ هذه الميزة بين Android وiOS خصوصًا في دقة توقيت الإشعارات والصلاحيات؟ كذلك ذكرت أن Android 12+ يحتاج أحيانًا إلى صلاحية Alarms & reminders ماذا يحدث إذا رفض المستخدم منحها؟ هل يستمر التذكير لكن بتوقيت أقل دقة
علي ملص ما شاء الله، عملك متقن، خاصة في فكرة إلغاء التذكير المتبقي لليوم بمجرد إتمام الورد، فهذا يجعل المستخدم يشعر أن التطبيق يتفاعل مع إنجازه الفعلي بشكل ذكي. بارك الله فيك وبالدكتور عادل، وجعل هذا العمل في ميزان حسناتكم.
AbdelwadoudOmrachi جزاك الله خيرًا على كلامك الطيب. سعيد أن الإضافة كانت مفيدة، وأسأل الله أن ينفع بها.
AbdelwadoudOmrachi جزاكِ الله خيرًا. نعم، هناك اختلاف بين Android وiOS في موضوع الصلاحيات ودقة توقيت الإشعارات. في هذه المساهمة كان اختباري العملي بشكل أساسي على Android، وخصوصًا Android 12+، لأن النظام هناك يحتاج أحيانًا إلى صلاحية Alarms & reminders حتى تكون الإشعارات المجدولة في الوقت المحدد أكثر دقة. إذا رفض المستخدم هذه الصلاحية فنحن لا نلغي التذكير من داخل التطبيق، لكن Android قد لا يضمن وصوله في نفس الدقيقة المحددة، ولهذا أضفت التنبيه للمستخدم بدل افتراض أن الصلاحية موجودة. أما iOS فلا توجد فيه نفس صلاحية الـExact Alarm بهذا الشكل، وطريقة إدارة الإشعارات مختلفة قليلًا.
AbdelwadoudOmrachi Jazak Allah khayran, yes exactly. I wanted the reminder logic to follow the actual Wird state, not just fire blindly at fixed times. Glad you noticed the physical-device test as well.
AbdelwadoudOmrachi جزاك الله خيرًا، هذا بالضبط كان الهدف من الفكرة: ألا يبقى التذكير يعمل وكأن المستخدم لم ينجز شيئًا بعد إكمال الورد. بارك الله فيك على كلامك الطيب.