diff --git a/WORKSPACE b/WORKSPACE
index 7b21505c587..0c20dcd36a1 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -125,9 +125,9 @@ git_repository(
# to correctly size in-line SVGs (such as those needed for LaTeX-based math expressions).
git_repository(
name = "androidsvg",
- commit = "4bc1d26412f0fb9fd4ef263fa93f6a64f4d4dbcf",
+ commit = "1265eb1087056cf3fc2e10442e5545bc65c109ce",
remote = "https://github.com/oppia/androidsvg",
- shallow_since = "1647295507 -0700",
+ shallow_since = "1686302944 -0700",
)
git_repository(
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index e0b148d3010..f96e9211f28 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -530,13 +530,13 @@
لماذا لا يتم تحميل مشغل الاستكشاف؟
لماذا لا يتم تشغيل الصوت الخاص بي؟
لا أجد سؤالي هنا. ماذا الان؟
- <p>إذا كانت هذه هي المرة الأولى التي تنشئ فيها ملفًا شخصيًا وليس لديك رقم تعريف شخصي: </p> <p> 1. من منتقي الملف الشخصي ، اضغط على<strong> قم بإعداد ملفات تعريف متعددة</strong></p><p> 2. قم بإنشاء رقم تعريف شخصي و<strong>احفظ</strong></p> <p> 3. املأ جميع البيانات للملف الشخصي.</p> <ol> <li>(اختياري) قم بتحميل صورة.</li> <li>إدخال اسم.</li> <li>(اختياري) قم بتعيين رقم تعريف شخصي مكون من 3 أرقام.</li> </ol> <p> 4. اضغط<strong>إنشاء</strong> . تمت إضافة هذا الملف الشخصي إلى منتقي ملف التعريف الخاص بك!<br/> <br/> إذا قمت بإنشاء ملف تعريف من قبل ولديك رقم تعريف شخصي:</p><p> 1. من منتقي الملف الشخصي ، اضغط على<strong>إضافة الملف الشخصي</strong></p> <p> 2. أدخل رقم التعريف الشخصي الخاص بك وانقر فوق<strong>إرسال</strong></p> <p>3. املأ جميع الحقول للملف الشخصي.</p> <ol> <li>(اختياري) قم بتحميل صورة.</li> <li>إدخال اسم.</li> <li>(اختياري) قم بتعيين رقم تعريف شخصي مكون من 3 أرقام.</li> </ol> <p> 4. اضغط<strong>إنشاء</strong> . تمت إضافة هذا الملف الشخصي إلى منتقي ملف التعريف الخاص بك!<br/><br/> ملاحظة: فقط ال<u>مدير</u> قادر على إدارة الملفات الشخصية.</p>
- <p>بمجرد حذف ملف التعريف:</p><p><br></p> <p><li>لا يمكن استعادة ملف التعريف.</li></p><p><li>سيتم حذف معلومات الملف الشخصي مثل الاسم والصور والتقدم بشكل دائم.</li></p><p><br></p><p>لحذف ملف تعريف (باستثناء<u>المسؤول</u></p><p>1. من الصفحة الرئيسية للمسؤول ، اضغط على زر القائمة أعلى اليسار.</p><p>2. اضغط على<strong>ضوابط المسؤول</strong></p><p>3. اضغط على<strong>تحرير ملفات التعريف</strong></p><p>4. اضغط على الملف الشخصي الذي ترغب في حذفه.</p><p>5. في الجزء السفلي من الشاشة ، انقر فوق<strong>حذف الملف الشخصي</strong></p><p>6. اضغط<strong>حذف</strong>لتأكيد الحذف.</p><p><br></p><p>ملاحظة:<u>المسؤول</u>فقط هو القادر على إدارة الملفات الشخصية.</p>
- <p>لتغيير بريدك الإلكتروني / رقم هاتفك:</p> <p>1. من الصفحة الرئيسية للمشرف ، اضغط على زر القائمة أعلى اليسار.</p> <p>2. اضغط على <strong> عناصر تحكم المسؤول </ strong>.</p> <p>3. اضغط على <strong> تعديل الحساب </ strong>.</p> <p><br></p> <p>إذا كنت تريد تغيير بريدك الإلكتروني:</p> <p>4. أدخل بريدك الإلكتروني الجديد وانقر على <strong> حفظ </ strong>.</p> <p>5. يتم إرسال رابط التأكيد لتأكيد بريدك الإلكتروني الجديد. ستنتهي صلاحية الرابط بعد 24 ساعة ويجب النقر عليه لربطه بحسابك.</p> <p><br></p> <p>في حالة تغيير رقم هاتفك: </ p> <p> 4. أدخل رقم هاتفك الجديد وانقر على <strong> تحقق </ strong>.</p> <p>5. يتم إرسال رمز لتأكيد رقمك الجديد. ستنتهي صلاحية الرمز بعد 5 دقائق ويجب إدخاله في الشاشة الجديدة لربطه بحسابك.</p>
+ <p>إذا كانت هذه هي المرة الأولى التي تنشئ فيها ملفًا شخصيًا وليس لديك رقم تعريف شخصي: <ol><li> من منتقي الملف الشخصي ، اضغط على<strong> قم بإعداد ملفات تعريف متعددة</strong></li><li> قم بإنشاء رقم تعريف شخصي و<strong>احفظ</strong></li><li> املأ جميع البيانات للملف الشخصي.<ol><li>(اختياري) قم بتحميل صورة.</li> <li>إدخال اسم.</li> <li>(اختياري) قم بتعيين رقم تعريف شخصي مكون من 3 أرقام.</li></ol></li><li> اضغط<strong>إنشاء</strong> . تمت إضافة هذا الملف الشخصي إلى منتقي ملف التعريف الخاص بك!</li></ol></p><p> إذا قمت بإنشاء ملف تعريف من قبل ولديك رقم تعريف شخصي:<ol><li> من منتقي الملف الشخصي ، اضغط على<strong>إضافة الملف الشخصي</strong></li> <li> أدخل رقم التعريف الشخصي الخاص بك وانقر فوق<strong>إرسال</strong></li><li> املأ جميع الحقول للملف الشخصي. <ol> <li>(اختياري) قم بتحميل صورة.</li> <li>إدخال اسم.</li> <li>(اختياري) قم بتعيين رقم تعريف شخصي مكون من 3 أرقام. </li></ol></li><li> اضغط<strong>إنشاء</strong> . تمت إضافة هذا الملف الشخصي إلى منتقي ملف التعريف الخاص بك!</li></ol></p><br><p> ملاحظة: فقط ال<u>مدير</u> قادر على إدارة الملفات الشخصية.</p>
+ <p>بمجرد حذف ملف التعريف:</p><ol><li>لا يمكن استعادة ملف التعريف.</li><li>سيتم حذف معلومات الملف الشخصي مثل الاسم والصور والتقدم بشكل دائم.</li></ol><p>لحذف ملف تعريف (باستثناء<u>المسؤول</u>):</p><ol><li> من الصفحة الرئيسية للمسؤول ، اضغط على زر القائمة أعلى اليسار.</li><li> اضغط على<strong>ضوابط المسؤول</strong>. </li><li> اضغط على<strong>تحرير ملفات التعريف</strong>.</li><li> اضغط على الملف الشخصي الذي ترغب في حذفه.</li><li> في الجزء السفلي من الشاشة ، انقر فوق<strong>حذف الملف الشخصي</strong>. </li><li> اضغط<strong>حذف</strong>لتأكيد الحذف. </li></ol><p><br></p><p> ملاحظة:<u>المسؤول</u>فقط هو القادر على إدارة الملفات الشخصية.</p>
+ <p>لتغيير بريدك الإلكتروني / رقم هاتفك:</p><ol><li> من الصفحة الرئيسية للمشرف ، اضغط على زر القائمة أعلى اليسار.</li><li> اضغط على <strong> عناصر تحكم المسؤول </strong>.</li><li> اضغط على <strong> تعديل الحساب </strong>.</li></ol><p><br></p> <p>إذا كنت تريد تغيير بريدك الإلكتروني:</p><ol><li>أدخل بريدك الإلكتروني الجديد وانقر على <strong> حفظ </strong>.</li><li> يتم إرسال رابط التأكيد لتأكيد بريدك الإلكتروني الجديد. ستنتهي صلاحية الرابط بعد 24 ساعة ويجب النقر عليه لربطه بحسابك.</li></ol><p><br></p> <p>في حالة تغيير رقم هاتفك: </p><ol><li> أدخل رقم هاتفك الجديد وانقر على <strong> تحقق </strong>.</li><li> يتم إرسال رمز لتأكيد رقمك الجديد. ستنتهي صلاحية الرمز بعد 5 دقائق ويجب إدخاله في الشاشة الجديدة لربطه بحسابك.</li></ol>
<p>%1$s <i>\"أو-بي-يا\"</i>(فنلندية) - \"للتعلم\"</p><p><br></p><p>%1$sمهمتنا هي مساعدة أي شخص على تعلم أي شيء يريده بطريقة فعالة وممتعة.</p><p><br></p><p>من خلال إنشاء مجموعة من الدروس المجانية عالية الجودة والفعالة بشكل واضح بمساعدة معلمين من جميع أنحاء العالم ، تهدف %1$s إلى تزويد الطلاب بتعليم جيد - بغض النظر عن مكان وجودهم أو الموارد التقليدية التي يمكنهم الوصول إليها.</p><p><br></p><p>كطالب ، يمكنك أن تبدأ مغامرتك التعليمية من خلال تصفح الموضوعات المدرجة في الصفحة الرئيسية!</p>
<p>المشرف هو المستخدم الرئيسي الذي يدير ملفات التعريف والإعدادات لكل ملف تعريف على حسابه. هم على الأرجح والدك أو معلمك أو وصي عليك الذي أنشأ هذا الملف الشخصي لك.</p><p><br></p><p>يمكن للمسؤولين إدارة الملفات الشخصية وتعيين أرقام التعريف الشخصية وتغيير الإعدادات الأخرى ضمن حساباتهم. بناءً على ملف التعريف الخاص بك ، قد تكون أذونات المسؤول مطلوبة لبعض الميزات مثل تنزيل الموضوعات وتغيير رقم التعريف الشخصي وغير ذلك.</p><p><br></p><p>لمعرفة من هو المسؤول لديك ، انتقل إلى منتقي الملف الشخصي. الملف الشخصي الأول المدرج ولديه \"المسؤول\" مكتوب باسمه هو المسؤول.</p>
- <p>إذا لم يتم تحميل مشغل الاستكشاف</p><p><br></p><p>تحقق لمعرفة ما إذا كان التطبيق محدثًا أم لا:</p><p> <ol> <li> انتقل إلى متجر Play وتأكد من تحديث التطبيق إلى أحدث إصدار </li> </ol> </p><p><br></p><p>تحقق من اتصالك بالإنترنت:</p><p> <li> إذا كان اتصالك بالإنترنت بطيئًا ، فحاول إعادة الاتصال بشبكة Wi-Fi أو الاتصال بشبكة أخرى. </li> </p><p><br></p><p>اطلب من المشرف التحقق من أجهزتهم واتصال الإنترنت:</p><p> <li> اطلب من المشرف استكشاف الأخطاء وإصلاحها باستخدام الخطوات المذكورة أعلاه </li> </p><p><br></p><p>أخبرنا إذا كنت لا تزال تواجه مشكلات في التحميل:</p><p> <li> أبلغ عن مشكلة عن طريق الاتصال بنا على admin@oppia.org. </li> </p>
- <p>إذا لم يتم تشغيل الصوت الخاص بك</p><p><br></p><p>تحقق لمعرفة ما إذا كان التطبيق محدثًا أم لا:</p><p> <li>انتقل إلى متجر Play وتأكد من تحديث التطبيق إلى أحدث إصدار</li> </p><p><br></p><p>تحقق من اتصالك بالإنترنت:</p><p> <li>إذا كان اتصالك بالإنترنت بطيئًا ، فحاول إعادة الاتصال بشبكة Wi-Fi أو الاتصال بشبكة أخرى. قد يتسبب الإنترنت البطيء في تحميل الصوت بشكل غير منتظم ، مما يجعل من الصعب تشغيله.</li> </p><p><br></p><p>اطلب من المسؤول التحقق من أجهزتهم واتصال الإنترنت:</p><p> <li>اطلب من المسؤول استكشاف الأخطاء وإصلاحها باستخدام الخطوات المذكورة أعلاه</li> </p><p><br></p><p>أخبرنا إذا كنت لا تزال تواجه مشكلات في التحميل:</p><p> <li>أبلغ عن مشكلة عن طريق الاتصال بنا على admin@oppia.org.</li></p>
+ <p>إذا لم يتم تحميل مشغل الاستكشاف</p><p><br></p><p>تحقق لمعرفة ما إذا كان التطبيق محدثًا أم لا:</p><p> <ul> <li> انتقل إلى متجر Play وتأكد من تحديث التطبيق إلى أحدث إصدار </li></ul><p><br></p><p>تحقق من اتصالك بالإنترنت:</p><ul><li> إذا كان اتصالك بالإنترنت بطيئًا ، فحاول إعادة الاتصال بشبكة Wi-Fi أو الاتصال بشبكة أخرى. </li></ul><p>اطلب من المشرف التحقق من أجهزتهم واتصال الإنترنت:</p><ul><li> اطلب من المشرف استكشاف الأخطاء وإصلاحها باستخدام الخطوات المذكورة أعلاه </li></ul><p>أخبرنا إذا كنت لا تزال تواجه مشكلات في التحميل:</p><ul><li> أبلغ عن مشكلة عن طريق الاتصال بنا على admin@oppia.org. </li></ul>
+ <p>إذا لم يتم تشغيل الصوت الخاص بك</p><p><br></p><p>تحقق لمعرفة ما إذا كان التطبيق محدثًا أم لا:</p><ul><li>انتقل إلى متجر Play وتأكد من تحديث التطبيق إلى أحدث إصدار</li></ul><p><br></p><p>تحقق من اتصالك بالإنترنت:</p><ul><li>إذا كان اتصالك بالإنترنت بطيئًا ، فحاول إعادة الاتصال بشبكة Wi-Fi أو الاتصال بشبكة أخرى. قد يتسبب الإنترنت البطيء في تحميل الصوت بشكل غير منتظم ، مما يجعل من الصعب تشغيله.</li></ul><p><br></p><p>اطلب من المسؤول التحقق من أجهزتهم واتصال الإنترنت:</p><ul><li>اطلب من المسؤول استكشاف الأخطاء وإصلاحها باستخدام الخطوات المذكورة أعلاه</li></ul><p><br></p><p>أخبرنا إذا كنت لا تزال تواجه مشكلات في التحميل:</p><ul><li>أبلغ عن مشكلة عن طريق الاتصال بنا على admin@oppia.org.</li></ul>
<p> إذا لم تتمكن من العثور على سؤالك أو كنت ترغب في الإبلاغ عن خطأ ، فاتصل بنا على admin@oppia.org. </p>
نشاط اختبار جزء تحرير ملف التعريف
يتحكم المسؤول في نشاط اختبار التجزئة
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 4bfbc6975ab..a9fa5c5220b 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -477,13 +477,13 @@
Por que a exploração não está carregando?
Por que meu áudio não está tocando?
Não consigo encontrar minha pergunta aqui. E agora?
- <p>Se é a sua primeira vez criando um perfil e você não tem um PIN:</p> <p> 1. No Seletor de Perfil, toque em <strong>Configurar Múltiplos Perfis</strong>. </p> <p> 2. Crie um PIN e <strong>Salvar</strong>. </p> <p> 3. Preencha todos os campos do perfil. </p> <ol> <li> (Opcional) Carregue uma foto. </li> <li> Insira um nome. </li> <li> (Opcional) Atribua um PIN de 3 dígitos. </li> </ol> <p> 4. Toque em <strong>Criar</strong>. Este perfil está adicionado ao seu Seletor de Perfil! <br/> <br/> Se você já criou um perfil antes e tem um PIN: </p> <p> 1. No Seletor de Perfil, toque em <strong>Adicionar Perfil</strong>. </p> <p> 2. Digite seu PIN e toque em <strong>Enviar</strong>. </p> <p> 3. Preencha todos os campos do perfil. </p> <ol> <li> (Opcional) Carregue uma foto. </li> <li> Insira um nome. </li> <li> (Opcional) Atribua um PIN de 3 dígitos. </li> </ol> <p> 4. Toque em <strong>Criar</strong>. Este perfil está adicionado ao seu Seletor de Perfil! <br/> <br/> Nota: Apenas o <u>Administrador</u> pode gerenciar perfis.</p>
- <p>Depois que um perfil é deletado:</p> <p><br></p> <p> <li> O perfil não pode ser recuperado. </li> </p> <p> <li> As informações do perfil, como nome, fotos e progresso, serão excluídas permanentemente. </li> </p> <p><br></p> <p>Para deletar um perfil(excluindo o do <u>Administrador</u>):</p> <p>1. Na página inicial do administrador, toque no botão de menu no canto superior esquerdo.</p> <p>2. Toque em <strong>Controles do Administrador</strong>.</p> <p>3. Toque em <strong>Editar Perfis</strong>.</p> <p>4. Toque no perfil que deseja excluir.</p> <p>5. Na parte inferior da tela, toque em <strong>Exclusão de Perfil</strong>.</p> <p>6. Toque em <strong>Deletar</strong> para confirmar a exclusão.</p><p><br></p><p>Nota: Apenas o <u>Administrador</u> pode gerenciar perfis.</p>
- <p>Para alterar seu e-mail/número de telefone:</p> <p>1. Na página inicial do administrador, toque no botão de menu no canto superior esquerdo.</p> <p>2. Toque em <strong>Controles do Administrador</strong>.</p> <p>3. Toque em <strong>Editar Conta</strong>.</p> <p><br></p> <p>Se você deseja alterar seu e-mail:</p> <p>4. Digite seu novo e-mail e toque em <strong>Salvar</strong>.</p> <p>5. Um link de confirmação será enviado para confirmar seu novo e-mail. O link irá expirar após 24 horas e deve ser clicado para ser associado à sua conta. </p> <p><br></p> <p>Se mudar seu número de telefone:</p> <p>4. Digite seu novo número de telefone e toque em <strong>Verificar</strong>.</p> <p>5. Um código será enviado para confirmar seu novo número. O código expira após 5 minutos e deve ser inserido na nova tela para ser associado à sua conta.</p>
+ <p>Se é a sua primeira vez criando um perfil e você não tem um PIN:<ol> <li> No Seletor de Perfil, toque em <strong>Configurar Múltiplos Perfis</strong>. </li> <li> Crie um PIN e <strong>Salvar</strong>. </li> <li> Preencha todos os campos do perfil. <ol> <li> (Opcional) Carregue uma foto. </li> <li> Insira um nome. </li> <li> (Opcional) Atribua um PIN de 3 dígitos. </li></ol></li><li> 4. Toque em <strong>Criar</strong>. Este perfil está adicionado ao seu Seletor de Perfil! </li></ol></p><p> Se você já criou um perfil antes e tem um PIN: <ol> <li>No Seletor de Perfil, toque em <strong>Adicionar Perfil</strong>. </li> <li> 2. Digite seu PIN e toque em <strong>Enviar</strong>. </li> <li> Preencha todos os campos do perfil. <ol> <li> (Opcional) Carregue uma foto. </li> <li> Insira um nome. </li> <li> (Opcional) Atribua um PIN de 3 dígitos. </li> </ol> </li> <li> 4. Toque em <strong>Criar</strong>. Este perfil está adicionado ao seu Seletor de Perfil! </li></ol></p><br><p> Nota: Apenas o <u>Administrador</u> pode gerenciar perfis.</p>
+ <p>Depois que um perfil é deletado:</p> <ol><li>O perfil não pode ser recuperado. </li> <li> As informações do perfil, como nome, fotos e progresso, serão excluídas permanentemente. </li></ol><p>Para deletar um perfil(excluindo o do <u>Administrador</u>):</p> <ol><li>Na página inicial do administrador, toque no botão de menu no canto superior esquerdo.</li> <li>Toque em <strong>Controles do Administrador</strong>.</li> <li>3. Toque em <strong>Editar Perfis</strong>.</li> <li>4. Toque no perfil que deseja excluir.</li> <li>5. Na parte inferior da tela, toque em <strong>Exclusão de Perfil</strong>.</li> <li>6. Toque em <strong>Deletar</strong> para confirmar a exclusão.</li></ol><p><br></p><p>Nota: Apenas o <u>Administrador</u> pode gerenciar perfis.</p>
+ <p>Para alterar seu e-mail/número de telefone:</p><ol><li>Na página inicial do administrador, toque no botão de menu no canto superior esquerdo.</li><li>Toque em <strong>Controles do Administrador</strong>.</li><li>Toque em <strong>Editar Conta</strong>.</li></ol><p><br></p> <p>Se você deseja alterar seu e-mail:</p><ol><li>Digite seu novo e-mail e toque em <strong>Salvar</strong>.</li><li>Um link de confirmação será enviado para confirmar seu novo e-mail. O link irá expirar após 24 horas e deve ser clicado para ser associado à sua conta. </li></ol><p><br></p> <p>Se mudar seu número de telefone:</p><ol><li>Digite seu novo número de telefone e toque em <strong>Verificar</strong>.</li><li>Um código será enviado para confirmar seu novo número. O código expira após 5 minutos e deve ser inserido na nova tela para ser associado à sua conta.</li></ol>
<p>%1$s <i>\"O-pee-yah\"</i> (Finnish) - \"aprender\"</p><p><br></p><p>%1$s tem a missão de ajudar qualquer pessoa a aprender o que quiser de uma forma eficaz e agradável.</p><p><br></p><p>Ao criar um conjunto de aulas gratuitas, de alta qualidade e comprovadamente eficazes com a ajuda de educadores de todo o mundo, %1$s visa proporcionar aos alunos uma educação de qualidade - independentemente de onde estejam ou a quais recursos tradicionais tenham acesso.</p><p><br></p><p>Como estudante, você pode começar sua aventura de aprendizado navegando pelos tópicos listados na página inicial!</p>
<p>Um administrador é o usuário principal que gerencia perfis e configurações para cada perfil em sua conta. Provavelmente, eles são seus pais, professores ou responsáveis que criaram este perfil para você.</p><p><br></p><p>Os administradores podem gerenciar perfis, atribuir PINs e alterar outras configurações em suas contas. Dependendo do seu perfil, as permissões de administrador podem ser necessárias para determinados recursos, como download de tópicos, alteração do PIN e muito mais. </p><p><br></p><p>Para ver quem é o seu administrador, vá para o Seletor de perfil. O primeiro perfil listado e com \"Administrador\" escrito em seu nome é o Administrador. </p>
- <p>Se a exploração não estiver carregando</p><p><br></p><p>Verifique se o aplicativo está atualizado:</p><p> <ol> <li> Acesse a Play Store e certifique-se de que o aplicativo esteja atualizado com a versão mais recente </li> </ol> </p><p><br></p><p>Verifique sua conexão com a internet:</p><p> <li> Se sua conexão com a Internet estiver lenta, tente se reconectar à rede Wi-Fi ou conectar-se a uma rede diferente. </li> </p><p><br></p><p>Peça ao administrador para verificar o dispositivo e a conexão com a Internet:</p><p> <li> Peça ao administrador para solucionar o problema usando as etapas acima </li> </p><p><br></p><p>Informe-nos se você ainda tiver problemas com o carregamento:</p><p> <li> Relate um problema entrando em contato conosco em admin@oppia.org. </li> </p>
- <p>Se o seu áudio não estiver tocando</p><p><br></p><p>Verifique se o aplicativo está atualizado:</p><p> <li> Acesse a Play Store e certifique-se de que o aplicativo esteja atualizado com a versão mais recente </li> </p><p><br></p><p>Verifique sua conexão com a internet:</p><p> <li> Se sua conexão com a Internet estiver lenta, tente se reconectar à rede Wi-Fi ou conectar-se a uma rede diferente. A Internet lenta pode fazer com que o áudio carregue irregularmente, dificultando a reprodução. </li> </p><p><br></p><p>Peça ao administrador para verificar o dispositivo e a conexão com a Internet:</p><p> <li> Peça ao administrador para solucionar o problema usando as etapas acima</li> </p><p><br></p><p>Informe-nos se você ainda tiver problemas com o carregamento:</p><p> <li> Relate um problema entrando em contato conosco em admin@oppia.org. </li></p>
+ <p>Se a exploração não estiver carregando</p><p><br></p><p>Verifique se o aplicativo está atualizado:</p><p> <ul> <li> Acesse a Play Store e certifique-se de que o aplicativo esteja atualizado com a versão mais recente </li></ul><p><br></p><p>Verifique sua conexão com a internet:</p><ul><li> Se sua conexão com a Internet estiver lenta, tente se reconectar à rede Wi-Fi ou conectar-se a uma rede diferente. </li></ul><p>Peça ao administrador para verificar o dispositivo e a conexão com a Internet:</p><ul><li> Peça ao administrador para solucionar o problema usando as etapas acima </li></ul><p>Informe-nos se você ainda tiver problemas com o carregamento::</p><ul><li> Relate um problema entrando em contato conosco em admin@oppia.org. </li> </ul>
+ <p>Se o seu áudio não estiver tocando</p><p><br></p><p>Verifique se o aplicativo está atualizado:</p><ul><li> Acesse a Play Store e certifique-se de que o aplicativo esteja atualizado com a versão mais recente </li></ul><p><br></p><p>Verifique sua conexão com a internet:</p><ul><li> Se sua conexão com a Internet estiver lenta, tente se reconectar à rede Wi-Fi ou conectar-se a uma rede diferente. A Internet lenta pode fazer com que o áudio carregue irregularmente, dificultando a reprodução. </li></ul><p><br></p><p>Peça ao administrador para verificar o dispositivo e a conexão com a Internet:</p><ul><li> Peça ao administrador para solucionar o problema usando as etapas acima</li></ul><p><br></p><p>Informe-nos se você ainda tiver problemas com o carregamento:</p><ul><li> Relate um problema entrando em contato conosco em admin@oppia.org. </li></ul>
<p>Se você não consegue encontrar sua pergunta ou gostaria de relatar um problema, entre em contato conosco em admin@oppia.org.</p>
Atividade de Teste de Fragmento de Edição de Perfil
Controle Administrativo da Atividade de Teste de Fragmento
diff --git a/app/src/main/res/values-sw/strings.xml b/app/src/main/res/values-sw/strings.xml
index 93bac0a7297..440b4d2af9e 100644
--- a/app/src/main/res/values-sw/strings.xml
+++ b/app/src/main/res/values-sw/strings.xml
@@ -431,12 +431,12 @@
Kwa nini kicheza Uchunguzi hakipakii?
Kwa nini sauti yangu haichezwi?
Sijapata swali langu hapa. Nini sasa?
- <p>Ikiwa ni mara yako ya kwanza kuunda wasifu na huna Nambari ya Siri: </p> <p> 1. Kutoka kwa Kichagua Wasifu, gusa <strong>Weka Wasifu Nyingi</strong>. </p> <p> 2. Unda Nambari ya Siri na <strong>Hifadhi</strong>. </p> <p> 3. Jaza sehemu zote za wasifu. </p> <ol> <li> (Si lazima) Pakia picha. </li> <li> Weka jina. </li> <li> (Si lazima) Weka Nambari ya Siri yenye tarakimu 3. </li> </ol> <p> 4. Gusa <strong>Unda</strong>. Wasifu huu umeongezwa kwa Kichagua Wasifu wako! <br/> <br/> Ikiwa umeunda wasifu hapo awali na una Nambari ya Siri: </p> <p> 1. Kutoka kwa Kichagua Wasifu, gusa <strong>Ongeza Wasifu</strong>. </p> <p> 2. Weka Nambari yako ya Siri na uguse <strong>Wasilisha</strong>. </p> <p> 3. Jaza sehemu zote za wasifu. </p> <ol> <li> (Si lazima) Pakia picha. </li> <li> Weka jina. </li> <li> (Si lazima) Weka Nambari ya Siri yenye tarakimu 3. </li> </ol> <p> 4. Gusa <strong>Unda</strong>. Wasifu huu umeongezwa kwa Kichagua Wasifu wako! <br/> <br/> Kumbuka: <u>Msimamizi pekee</u> ndiye anayeweza kudhibiti wasifu.</p>
- <p>Wasifu unapofutwa:</p> <p><br></p> <p> <li> Wasifu hauwezi kurejeshwa. </li> </p> <p> <li> Taarifa ya wasifu kama vile jina, picha na maendeleo yatafutwa kabisa. </li> </p> <p><br></p> <p>Ili kufuta wasifu (bila kujumuisha <u>Msimamizi</u>):</p> <p>1. Kutoka kwa Ukurasa wa Mwanzo wa Msimamizi, gusa kitufe cha menyu kilicho upande wa juu kushoto.</p> <p>2. Gusa <strong>Vidhibiti vya Msimamizi</strong>.</p> <p>3. Gusa <strong>Hariri Wasifu</strong>.</p> <p>4. Gonga Wasifu ambao ungependa kufuta.</p> <p>5. Katika sehemu ya chini ya skrini, gusa <strong>Ufutaji wa Wasifu</strong>.</p> <p>6. Gusa <strong>Futa</strong> ili kuthibitisha kufuta.</p><p><br></p><p>Kumbuka: <u>Msimamizi</u> pekee ndiye anayeweza kudhibiti wasifu.</ p>
- <p>Ili kubadilisha barua pepe/nambari yako ya simu:</p> <p>1. Kutoka kwa Ukurasa wa Mwanzo wa Msimamizi, gusa kitufe cha menyu kilicho upande wa juu kushoto.</p> <p>2. Gusa <strong>Vidhibiti vya Msimamizi</strong>.</p> <p>3. Gusa <strong>Hariri Akaunti</strong>.</p> <p><br></p> <p>Ikiwa ungependa kubadilisha barua pepe yako:</p> <p>4. Weka barua pepe yako mpya na uguse <strong>Hifadhi</strong>.</p> <p>5. Kiungo cha uthibitishaji kinatumwa ili kuthibitisha barua pepe yako mpya. Muda wa kiungo utaisha baada ya saa 24 na lazima ubofye ili kuhusishwa na akaunti yako. </p> <p><br></p> <p>Ikiwa unabadilisha nambari yako ya simu:</p> <p>4. Weka nambari yako mpya ya simu na uguse <strong>Thibitisha</strong>.</p> <p>5. Nambari ya kuthibitisha inatumwa ili kuthibitisha nambari yako mpya. Nambari ya kuthibitisha itaisha baada ya dakika 5 na lazima iwekwe kwenye skrini mpya ili kuhusishwa na akaunti yako.</p>
+ <p>Ikiwa ni mara yako ya kwanza kuunda wasifu na huna Nambari ya Siri: <ol> <li> Kutoka kwa Kichagua Wasifu, gusa <strong>Weka Wasifu Nyingi</strong>. </li> <li> Unda Nambari ya Siri na <strong>Hifadhi</strong>. </li> <li> Jaza sehemu zote za wasifu. <ol><li> (Si lazima) Pakia picha. </li> <li> Weka jina. </li> <li> (Si lazima) Weka Nambari ya Siri yenye tarakimu 3.</li></ol></li><li>Gusa <strong>Unda</strong>. Wasifu huu umeongezwa kwa Kichagua Wasifu wako! </li></ol></p><p> Ikiwa umeunda wasifu hapo awali na una Nambari ya Siri: <ol><li> Kutoka kwa Kichagua Wasifu, gusa <strong>Ongeza Wasifu</strong>. </li><li>Weka Nambari yako ya Siri na uguse <strong>Wasilisha</strong>. </li><li> Jaza sehemu zote za wasifu. <ol><li> (Si lazima) Pakia picha. </li> <li> Weka jina. </li> <li> (Si lazima) Weka Nambari ya Siri yenye tarakimu 3. </li></ol></li><li> Gusa <strong>Unda</strong>. Wasifu huu umeongezwa kwa Kichagua Wasifu wako! </li></ol></p><br><p> Kumbuka: <u>Msimamizi pekee</u> ndiye anayeweza kudhibiti wasifu.</p>
+ <p>Wasifu unapofutwa:</p><ol><li> Wasifu hauwezi kurejeshwa. </li><li> Taarifa ya wasifu kama vile jina, picha na maendeleo yatafutwa kabisa. </li></ol><p>Ili kufuta wasifu (bila kujumuisha <u>Msimamizi</u>):</p> <ol><li> Kutoka kwa Ukurasa wa Mwanzo wa Msimamizi, gusa kitufe cha menyu kilicho upande wa juu kushoto. </li><li> Gusa <strong>Vidhibiti vya Msimamizi</strong>. </li><li> Gusa <strong>Hariri Wasifu</strong>. </li><li> Gonga Wasifu ambao ungependa kufuta. </li><li> Katika sehemu ya chini ya skrini, gusa <strong>Ufutaji wa Wasifu</strong>. </li><li> Gusa <strong>Futa</strong> ili kuthibitisha kufuta.</li></ol><p><br></p><p>Kumbuka: <u>Msimamizi</u> pekee ndiye anayeweza kudhibiti wasifu.</p>
+ <p>Ili kubadilisha barua pepe/nambari yako ya simu:</p> <ol><li>Kutoka kwa Ukurasa wa Mwanzo wa Msimamizi, gusa kitufe cha menyu kilicho upande wa juu kushoto.</li> <li>Gusa <strong>Vidhibiti vya Msimamizi</strong>.</li><li> Gusa <strong>Hariri Akaunti</strong>.</li></ol><p><br></p> <p>Ikiwa ungependa kubadilisha barua pepe yako:</p><ol><li> Weka barua pepe yako mpya na uguse <strong>Hifadhi</strong>.</li><li> Kiungo cha uthibitishaji kinatumwa ili kuthibitisha barua pepe yako mpya. Muda wa kiungo utaisha baada ya saa 24 na lazima ubofye ili kuhusishwa na akaunti yako. </li></ol><p><br></p> <p>Ikiwa unabadilisha nambari yako ya simu:</p><ol><li> Weka nambari yako mpya ya simu na uguse <strong>Thibitisha</strong>.</li><li> Nambari ya kuthibitisha inatumwa ili kuthibitisha nambari yako mpya. Nambari ya kuthibitisha itaisha baada ya dakika 5 na lazima iwekwe kwenye skrini mpya ili kuhusishwa na akaunti yako.</li></ol>
<p>%1$s <i>\"O-pee-yah\"</i> (Kifini) - \"kujifunza\"</p><p><br></p><p>%1$s\'s dhamira ni kumsaidia mtu yeyote kujifunza chochote anachotaka kwa njia bora na ya kufurahisha.</p><p><br></p><p>Kwa kuunda seti ya masomo yasiyolipishwa, ya ubora wa juu, na yenye matokeo kwa usaidizi. ya waelimishaji kutoka duniani kote, %1$s inalenga kuwapa wanafunzi elimu bora — bila kujali walipo au ni nyenzo gani za jadi wanazoweza kufikia.</p><p><br></p><p> Kama mwanafunzi, unaweza kuanza safari yako ya kujifunza kwa kuvinjari mada zilizoorodheshwa kwenye Ukurasa wa Mwanzo!</p>
- <p>Msimamizi ndiye mtumiaji mkuu anayedhibiti wasifu na mipangilio ya kila wasifu kwenye akaunti yake.Uwezekano mkubwa ni mzazi, mwalimu au mlezi wako aliyekuundia wasifu huu. </p><p><br></p><p>Wasimamizi wana uwezo wa kudhibiti wasifu, kugawa Nambari ya Siri, na kubadilisha mipangilio mingine chini ya akaunti yao. Kulingana na wasifu wako, ruhusa za Msimamizi zinaweza kuhitajika kwa vipengele fulani kama vile kupakua Mada, kubadilisha Nambari yako ya Siri na zaidi. </p><p><br></p><p>Ili kujua Msimamizi wako ni nani, nenda kwa Kichagua Wasifu. Wasifu wa kwanza ulioorodheshwa na una \"Msimamizi\" iliyoandikwa chini ya jina lake ni Msimamizi. </ p>
- <p>Ikiwa Kicheza Ugunduzi hakipakii</p><p><br></p><p>Angalia kama programu imesasishwa:</p><p> <ol> <li > Nenda kwenye Hifadhi ya Michezo na uhakikishe kuwa programu imesasishwa hadi toleo lake jipya zaidi </li> </ol> </p><p><br></p><p>Angalia muunganisho wako wa mtandao:</p ><p> <li> Ikiwa muunganisho wako wa mtandao ni wa polepole, jaribu kuunganisha tena kwenye mtandao wako wa Wi-Fi au unganisha kwenye mtandao tofauti. </li> </p><p><br></p><p>Uliza Msimamizi aangalie kifaa chake na muunganisho wa mtandao:</p><p> <li> Pata Msimamizi kusuluhisha kwa kutumia hatua hapo juu </li> </p><p><br></p><p>Tujulishe ikiwa bado una matatizo ya upakiaji:</p><p> <li> Ripoti tatizo kwa kuwasiliana nasi kwa admin@oppia.org. </li> </p>
- <p>Ikiwa sauti yako haichezi</p><p><br></p><p>Angalia ili kuona kama programu imesasishwa:</p><p> <li> Nenda kwenye Hifadhi ya Michezo na uhakikishe kuwa programu imesasishwa hadi toleo lake jipya zaidi </li> </p><p><br></p><p>Angalia muunganisho wako wa mtandao:</p><p> <li> Iwapo muunganisho wako wa mtandao ni wa polepole, jaribu kuunganisha tena kwenye mtandao wako wa Wi-Fi au unganisha kwenye mtandao tofauti. Mtandao wa polepole unaweza kusababisha sauti kupakia kwa njia isiyo ya kawaida, na kuifanya iwe vigumu kucheza. </li> </p><p><br></p><p>Uliza Msimamizi aangalie kifaa chake na muunganisho wa mtandao:</p><p> <li> Wasiliana na Msimamizi ili asuluhishe kwa kutumia hatua hapo juu</li> </p><p><br></p><p>Tujulishe ikiwa bado una matatizo ya upakiaji:</p><p> <li> Ripoti tatizo kwa kuwasiliana nasi kwa admin@oppia.org. </li></p>
+ <p>Msimamizi ndiye mtumiaji mkuu anayedhibiti wasifu na mipangilio ya kila wasifu kwenye akaunti yake.Uwezekano mkubwa ni mzazi, mwalimu au mlezi wako aliyekuundia wasifu huu. </p><p><br></p><p>Wasimamizi wana uwezo wa kudhibiti wasifu, kugawa Nambari ya Siri, na kubadilisha mipangilio mingine chini ya akaunti yao. Kulingana na wasifu wako, ruhusa za Msimamizi zinaweza kuhitajika kwa vipengele fulani kama vile kupakua Mada, kubadilisha Nambari yako ya Siri na zaidi. </p><p><br></p><p>Ili kujua Msimamizi wako ni nani, nenda kwa Kichagua Wasifu. Wasifu wa kwanza ulioorodheshwa na una "Msimamizi" iliyoandikwa chini ya jina lake ni Msimamizi. </p>
+ <p>Ikiwa Kicheza Ugunduzi hakipakii</p><p><br></p><p>Angalia kama programu imesasishwa:</p><p> <ul> <li> Nenda kwenye Hifadhi ya Michezo na uhakikishe kuwa programu imesasishwa hadi toleo lake jipya zaidi </li> </ul> <p><br></p><p>Angalia muunganisho wako wa mtandao:</p><ul><li> Ikiwa muunganisho wako wa mtandao ni wa polepole, jaribu kuunganisha tena kwenye mtandao wako wa Wi-Fi au unganisha kwenye mtandao tofauti. </li></ul><p>Uliza Msimamizi aangalie kifaa chake na muunganisho wa mtandao:</p><ul><li> Pata Msimamizi kusuluhisha kwa kutumia hatua hapo juu </li></ul><p>Tujulishe ikiwa bado una matatizo ya upakiaji:</p><ul><li> Ripoti tatizo kwa kuwasiliana nasi kwa admin@oppia.org. </li></ul>
+ <p>Ikiwa sauti yako haichezi</p><p><br></p><p>Angalia ili kuona kama programu imesasishwa:</p><ul><li> Nenda kwenye Hifadhi ya Michezo na uhakikishe kuwa programu imesasishwa hadi toleo lake jipya zaidi </li></ul><p><br></p><p>Angalia muunganisho wako wa mtandao:</p><ul><li> Iwapo muunganisho wako wa mtandao ni wa polepole, jaribu kuunganisha tena kwenye mtandao wako wa Wi-Fi au unganisha kwenye mtandao tofauti. Mtandao wa polepole unaweza kusababisha sauti kupakia kwa njia isiyo ya kawaida, na kuifanya iwe vigumu kucheza. </li></ul><p><br></p><p>Uliza Msimamizi aangalie kifaa chake na muunganisho wa mtandao:</p><ul><li> Wasiliana na Msimamizi ili asuluhishe kwa kutumia hatua hapo juu</li></ul><p><br></p><p>Tujulishe ikiwa bado una matatizo ya upakiaji:</p><ul><li> Ripoti tatizo kwa kuwasiliana nasi kwa admin@oppia.org. </li></ul>
<p>Ikiwa huwezi kupata swali lako au ungependa kuripoti hitilafu, wasiliana nasi kwa admin@oppia.org.</p>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 90dc477da97..370de593631 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -565,7 +565,7 @@
this page for the latest version of this privacy policy.]]>
Terms of Service
- Terms of Service and Privacy Policy.]]>
+ Terms of Service and Privacy Policy.]]>
this page for the latest version of these terms.]]>
How can I create a new profile?
@@ -579,8 +579,8 @@
If it is your first time creating a profile and not have a PIN:- From the Profile Chooser, tap on Set up Multiple Profiles.
- Create a PIN and Save.
- Fill in all fields for the profile.
- (Optional) Upload a photo.
- Enter a name.
- (Optional) Assign a 3-digit PIN.
- Tap Create. This profile is added to your Profile Chooser!
If you have created a profile before and have a PIN:
- From the Profile Chooser, tap on Add Profile.
- Enter your PIN and tap Submit.
- Fill in all fields for the profile.
- (Optional) Upload a photo.
- Enter a name.
- (Optional) Assign a 3-digit PIN.
- Tap Create. This profile is added to your Profile Chooser!
Note: Only the Administrator is able to manage profiles.
]]>
Once a profile is deleted:- The profile cannot be recovered.
- Profile information such as name, photos, and progress will be permanently deleted.
To delete a profile (excluding the Administrator\'s):
- From the Administrator\'s Home Page, tap on the menu button on the top left.
- Tap on Administrator Controls.
- Tap on Edit Profiles.
- Tap on the Profile you would like to delete.
- At the bottom of the screen, tap Profile Deletion.
- Tap Delete to confirm deletion.
Note: Only the Administrator is able to manage profiles.
]]>
To change your email/phone number:- From the Administrator\'s Home Page, tap on the menu button on the top left.
- Tap on Administrator Controls.
- Tap on Edit Account.
If you want to change your email:
- Enter your new email and tap Save.
- A confirmation link is sent to confirm your new email. The link will expire after 24 hours and must be clicked on to be associated with your account.
If changing your phone number:
- Enter your new phone number and tap Verify.
- A code is sent to confirm your new number. The code will expire after 5 minutes and must be entered in the new screen to be associated with your account.
]]>
- %1$s \"O-pee-yah\" (Finnish) - \"to learn\"
%1$s\'s mission is to help anyone learn anything they want in an effective and enjoyable way.
By creating a set of free, high-quality, demonstrably effective lessons with the help of educators from around the world, %1$s aims to provide students with quality education — regardless of where they are or what traditional resources they have access to.
As a student, you can begin your learning adventure by browsing the topics listed on the Home Page!
]]>
- An Administrator is the main user that manages profiles and settings for every profile on their account. They are most likely your parent, teacher, or guardian that created this profile for you.
Administrators have the ability to manage profiles, assign PINs, and change other settings under their account. Depending on your profile, Administrator permissions may be required for certain features such as changing your PIN, and more.
To see who your Administrator is, go to the Profile Chooser. The first profile listed and has \"Administrator\" written under their name is the Administrator.
]]>
+ %1$s "O-pee-yah" (Finnish) - "to learn"
%1$s\'s mission is to help anyone learn anything they want in an effective and enjoyable way.
By creating a set of free, high-quality, demonstrably effective lessons with the help of educators from around the world, %1$s aims to provide students with quality education — regardless of where they are or what traditional resources they have access to.
As a student, you can begin your learning adventure by browsing the topics listed on the Home Page!
]]>
+ An Administrator is the main user that manages profiles and settings for every profile on their account. They are most likely your parent, teacher, or guardian that created this profile for you.
Administrators have the ability to manage profiles, assign PINs, and change other settings under their account. Depending on your profile, Administrator permissions may be required for certain features such as changing your PIN, and more.
To see who your Administrator is, go to the Profile Chooser. The first profile listed and has "Administrator" written under their name is the Administrator.
]]>
If the Exploration Player is not loading
Check to see if the app is up to date:
- Go to the Play Store and make sure the app is updated to its latest version
Check your internet connection:
- If your internet connection is slow, try re-connecting to your Wi-Fi network or connecting to a different network.
Ask the Administrator to check their device and internet connection:
- Get the Administrator to troubleshoot using the steps above
Let us know if you still have issues with loading:
- Report a problem by contacting us at admin@oppia.org.
]]>
If your audio is not playing
Check to see if the app is up to date:
- Go to the Play Store and make sure the app is updated to its latest version
Check your internet connection:
- If your internet connection is slow, try re-connecting to your Wi-Fi network or connecting to a different network. Slow internet may cause the audio to load irregularly, making it difficult to play.
Ask the Administrator to check their device and internet connection:
- Get the Administrator to troubleshoot using the steps above
Let us know if you still have issues with loading:
- Report a problem by contacting us at admin@oppia.org.
]]>
If you cannot find your question or would like to report a bug, contact us at admin@oppia.org.]]>
diff --git a/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt b/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt
index b7515853e05..91339129701 100644
--- a/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt
+++ b/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt
@@ -562,16 +562,16 @@ class ListItemLeadingMarginSpanTest {
textView.layout
)
- assertThat(shadowCanvas.getDrawnCircle(0).centerX).isWithin(1e-5f).of(944.0f)
+ assertThat(shadowCanvas.getDrawnCircle(0).centerX).isWithin(1e-5f).of(926.0f)
assertThat(shadowCanvas.getDrawnCircle(0).centerY).isWithin(1e-5f).of(48.0f)
- assertThat(shadowCanvas.getDrawnCircle(1).centerX).isWithin(1e-5f).of(878.0f)
+ assertThat(shadowCanvas.getDrawnCircle(1).centerX).isWithin(1e-5f).of(860.0f)
assertThat(shadowCanvas.getDrawnCircle(1).centerY).isWithin(1e-5f).of(139.0f)
- assertThat(shadowCanvas.getDrawnCircle(2).centerX).isWithin(1e-5f).of(878.0f)
+ assertThat(shadowCanvas.getDrawnCircle(2).centerX).isWithin(1e-5f).of(860.0f)
assertThat(shadowCanvas.getDrawnCircle(2).centerY).isWithin(1e-5f).of(225.0f)
- assertThat(shadowCanvas.getDrawnCircle(3).centerX).isWithin(1e-5f).of(944.0f)
+ assertThat(shadowCanvas.getDrawnCircle(3).centerX).isWithin(1e-5f).of(926.0f)
assertThat(shadowCanvas.getDrawnCircle(3).centerY).isWithin(1e-5f).of(397.0f)
}
diff --git a/utility/build.gradle b/utility/build.gradle
index 568eac1841b..52164f42b34 100644
--- a/utility/build.gradle
+++ b/utility/build.gradle
@@ -82,7 +82,7 @@ dependencies {
'androidx.appcompat:appcompat:1.0.2',
'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha03',
'androidx.work:work-runtime-ktx:2.4.0',
- 'com.github.oppia:androidsvg:4bc1d26412f0fb9fd4ef263fa93f6a64f4d4dbcf',
+ 'com.github.oppia:androidsvg:1265eb1087056cf3fc2e10442e5545bc65c109ce',
'com.github.oppia:kotlitex:43139c140833c7120f351d63d74b42c253d2b213',
'com.github.bumptech.glide:glide:4.11.0',
'com.google.dagger:dagger:2.24',
diff --git a/utility/src/main/java/org/oppia/android/util/parser/html/ImageTagHandler.kt b/utility/src/main/java/org/oppia/android/util/parser/html/ImageTagHandler.kt
index 39ccbe5e9e4..27bdc52cb37 100644
--- a/utility/src/main/java/org/oppia/android/util/parser/html/ImageTagHandler.kt
+++ b/utility/src/main/java/org/oppia/android/util/parser/html/ImageTagHandler.kt
@@ -48,12 +48,12 @@ class ImageTagHandler(
)
}
} else consoleLogger.e("ImageTagHandler", "Failed to parse image tag")
- if (contentDescription != null) {
+ if (!contentDescription.isNullOrBlank()) {
val spannableBuilder = SpannableStringBuilder(contentDescription)
spannableBuilder.setSpan(
contentDescription,
- /* start= */ 0,
- /* end= */ contentDescription.length,
+ /* start = */ 0,
+ /* end = */ contentDescription.length,
Spannable.SPAN_INCLUSIVE_EXCLUSIVE
)
output.replace(openIndex, output.length, spannableBuilder)
diff --git a/utility/src/main/java/org/oppia/android/util/parser/html/ListItemLeadingMarginSpan.kt b/utility/src/main/java/org/oppia/android/util/parser/html/ListItemLeadingMarginSpan.kt
index 36bce0e79df..de1c028aed2 100644
--- a/utility/src/main/java/org/oppia/android/util/parser/html/ListItemLeadingMarginSpan.kt
+++ b/utility/src/main/java/org/oppia/android/util/parser/html/ListItemLeadingMarginSpan.kt
@@ -46,6 +46,7 @@ sealed class ListItemLeadingMarginSpan : LeadingMarginSpan {
private val isRtl by lazy {
displayLocale.getLayoutDirection() == ViewCompat.LAYOUT_DIRECTION_RTL
}
+ private val clipBounds by lazy { Rect() }
override fun drawLeadingMargin(
canvas: Canvas,
@@ -69,8 +70,14 @@ sealed class ListItemLeadingMarginSpan : LeadingMarginSpan {
val bulletDrawRadius = bulletRadius.toFloat()
val indentedX = parentAbsoluteLeadingMargin + spacingBeforeBullet
- val bulletStartX = (if (isRtl) canvas.width - indentedX - 1 else indentedX).toFloat()
- val bulletCenterX = bulletStartX + bulletDrawRadius
+ val bulletCenterLtrX = indentedX + bulletDrawRadius
+ val bulletCenterX = if (isRtl) {
+ // See https://stackoverflow.com/a/21845993/3689782 for 'right' property exclusivity.
+ val maxDrawX = if (canvas.getClipBounds(clipBounds)) {
+ clipBounds.right - 1
+ } else canvas.width - 1
+ maxDrawX - bulletCenterLtrX
+ } else bulletCenterLtrX
val bulletCenterY = (top + bottom) / 2f
when (indentationLevel) {
0 -> {
@@ -90,7 +97,7 @@ sealed class ListItemLeadingMarginSpan : LeadingMarginSpan {
val rectSize = bulletDiameter.toFloat()
canvas.drawRect(
RectF().apply {
- left = bulletStartX
+ left = bulletCenterX
right = left + rectSize
this.top = bulletCenterY - bulletDrawRadius
this.bottom = this.top + rectSize
diff --git a/utility/src/test/java/org/oppia/android/util/parser/html/ImageTagHandlerTest.kt b/utility/src/test/java/org/oppia/android/util/parser/html/ImageTagHandlerTest.kt
index f13ca551998..17219b230f7 100644
--- a/utility/src/test/java/org/oppia/android/util/parser/html/ImageTagHandlerTest.kt
+++ b/utility/src/test/java/org/oppia/android/util/parser/html/ImageTagHandlerTest.kt
@@ -55,6 +55,21 @@ private const val IMAGE_TAG_WITHOUT_ALT_VALUE_MARKUP =
""
+private const val IMAGE_TAG_WITH_EMPTY_ALT_VALUE_MARKUP =
+ ""
+
+private const val IMAGE_TAG_WITH_EMPTY_STRING_ALT_VALUE_MARKUP =
+ ""
+
+private const val IMAGE_TAG_WITH_SPACE_ONLY_ALT_VALUE_MARKUP =
+ ""
+
/** Tests for [ImageTagHandler]. */
@RunWith(AndroidJUnit4::class)
@LooperMode(LooperMode.Mode.PAUSED)
@@ -138,6 +153,51 @@ class ImageTagHandlerTest {
assertThat(parsedHtml.first().isObjectReplacementCharacter()).isFalse()
}
+ @Test
+ fun testParseHtml_withEmptyImageCardMarkup_hasNoReadableText() {
+ val parsedHtml =
+ CustomHtmlContentHandler.fromHtml(
+ html = IMAGE_TAG_WITH_EMPTY_ALT_VALUE_MARKUP,
+ imageRetriever = mockImageRetriever,
+ customTagHandlers = tagHandlersWithImageTagSupport
+ )
+
+ // If the alt text is present but empty, then only the image control character should show.
+ val parsedHtmlStr = parsedHtml.toString()
+ assertThat(parsedHtmlStr).hasLength(1)
+ assertThat(parsedHtmlStr.first().isObjectReplacementCharacter()).isTrue()
+ }
+
+ @Test
+ fun testParseHtml_withEmptyImageCardMarkupString_hasNoReadableText() {
+ val parsedHtml =
+ CustomHtmlContentHandler.fromHtml(
+ html = IMAGE_TAG_WITH_EMPTY_STRING_ALT_VALUE_MARKUP,
+ imageRetriever = mockImageRetriever,
+ customTagHandlers = tagHandlersWithImageTagSupport
+ )
+
+ // If the alt text is present but empty, then only the image control character should show.
+ val parsedHtmlStr = parsedHtml.toString()
+ assertThat(parsedHtmlStr).hasLength(1)
+ assertThat(parsedHtmlStr.first().isObjectReplacementCharacter()).isTrue()
+ }
+
+ @Test
+ fun testParseHtml_withSpaceOnlyImageCardMarkup_hasNoReadableText() {
+ val parsedHtml =
+ CustomHtmlContentHandler.fromHtml(
+ html = IMAGE_TAG_WITH_SPACE_ONLY_ALT_VALUE_MARKUP,
+ imageRetriever = mockImageRetriever,
+ customTagHandlers = tagHandlersWithImageTagSupport
+ )
+
+ // If the alt text is present but only spaces, then the image control character should show.
+ val parsedHtmlStr = parsedHtml.toString()
+ assertThat(parsedHtmlStr).hasLength(1)
+ assertThat(parsedHtmlStr.first().isObjectReplacementCharacter()).isTrue()
+ }
+
@Test
fun testParseHtml_withImageCardMarkup_missingFilename_doesNotIncludeImageSpan() {
val parsedHtml =
diff --git a/version.bzl b/version.bzl
index 62d47832e26..06396bf6077 100644
--- a/version.bzl
+++ b/version.bzl
@@ -13,10 +13,10 @@ MAJOR_VERSION = 0
MINOR_VERSION = 11
# TODO(#4419): Remove the Kenya-specific alpha version code.
-OPPIA_DEV_VERSION_CODE = 89
-OPPIA_DEV_KITKAT_VERSION_CODE = 88
-OPPIA_ALPHA_VERSION_CODE = 87
-OPPIA_ALPHA_KITKAT_VERSION_CODE = 86
-OPPIA_ALPHA_KENYA_VERSION_CODE = 85
-OPPIA_BETA_VERSION_CODE = 84
-OPPIA_GA_VERSION_CODE = 83
+OPPIA_DEV_VERSION_CODE = 96
+OPPIA_DEV_KITKAT_VERSION_CODE = 95
+OPPIA_ALPHA_KENYA_VERSION_CODE = 94
+OPPIA_ALPHA_VERSION_CODE = 93
+OPPIA_ALPHA_KITKAT_VERSION_CODE = 92
+OPPIA_BETA_VERSION_CODE = 91
+OPPIA_GA_VERSION_CODE = 90