Skip to content

Commit

Permalink
Merge branch 'develop' into fix-platform-specific-issues
Browse files Browse the repository at this point in the history
  • Loading branch information
BenHenning authored Feb 14, 2024
2 parents 2916770 + 30ba44d commit f2d810a
Show file tree
Hide file tree
Showing 16 changed files with 377 additions and 77 deletions.
3 changes: 3 additions & 0 deletions app/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -1022,6 +1022,9 @@ android_library(
name = "firestore_deps",
exports = [
"//third_party:com_google_auto_value_auto-value-annotations",
"//third_party:com_google_firebase_firebase-appcheck",
"//third_party:com_google_firebase_firebase-appcheck-debug",
"//third_party:com_google_firebase_firebase-appcheck-playintegrity",
"//third_party:org_checkerframework_checker-qual",
],
)
Expand Down
3 changes: 3 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,9 @@ dependencies {
'com.google.dagger:dagger:2.24',
'com.google.firebase:firebase-analytics:17.5.0',
'com.google.firebase:firebase-analytics-ktx:17.5.0',
'com.google.firebase:firebase-appcheck:16.0.0',
'com.google.firebase:firebase-appcheck-debug:16.0.0',
'com.google.firebase:firebase-appcheck-playintegrity:16.0.0',
'com.google.firebase:firebase-core:17.5.0',
'com.google.firebase:firebase-crashlytics:17.0.0',
'com.google.firebase:firebase-firestore-ktx:24.2.1',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@ import androidx.multidex.MultiDexApplication
import androidx.work.Configuration
import androidx.work.WorkManager
import com.google.firebase.FirebaseApp
import com.google.firebase.appcheck.FirebaseAppCheck
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory
import com.google.firebase.appcheck.playintegrity.PlayIntegrityAppCheckProviderFactory
import org.oppia.android.app.activity.ActivityComponent
import org.oppia.android.app.activity.ActivityComponentFactory
import org.oppia.android.app.model.BuildFlavor
import org.oppia.android.domain.oppialogger.ApplicationStartupListener

/** The root base [Application] of the Oppia app. */
Expand Down Expand Up @@ -47,6 +51,20 @@ abstract class AbstractOppiaApplication(
// TODO(#4751): Re-enable WorkManager for S+.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
FirebaseApp.initializeApp(applicationContext)
// FirebaseAppCheck protects our API resources from abuse. It works with Firebase services,
// Google Cloud services, and can also be implemented for our own APIs.
// See https://firebase.google.com/docs/app-check for currently supported Firebase products.
// Note that as of this code being checked in, only the app's Firestore usage is affected by
// App Check (Analytics is NOT affected).
if (component.getCurrentBuildFlavor() == BuildFlavor.DEVELOPER) {
FirebaseAppCheck.getInstance().installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance(),
)
} else {
FirebaseAppCheck.getInstance().installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance(),
)
}
WorkManager.initialize(applicationContext, workManagerConfiguration)
val workManager = WorkManager.getInstance(applicationContext)
component.getAnalyticsStartupListenerStartupListeners().forEach { it.onCreate(workManager) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.app.Application
import androidx.work.Configuration
import dagger.BindsInstance
import org.oppia.android.app.activity.ActivityComponentImpl
import org.oppia.android.app.model.BuildFlavor
import org.oppia.android.domain.oppialogger.ApplicationStartupListener
import org.oppia.android.domain.oppialogger.analytics.AnalyticsStartupListener
import javax.inject.Provider
Expand All @@ -30,4 +31,6 @@ interface ApplicationComponent : ApplicationInjector {
fun getAnalyticsStartupListenerStartupListeners(): Set<AnalyticsStartupListener>

fun getWorkManagerConfiguration(): Configuration

fun getCurrentBuildFlavor(): BuildFlavor
}
26 changes: 14 additions & 12 deletions app/src/main/res/values-ar/strings.xml

Large diffs are not rendered by default.

28 changes: 15 additions & 13 deletions app/src/main/res/values-pcm-rNG/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -510,27 +510,29 @@
<string name="faq_question_1">Wetin be %s?</string>
<string name="faq_question_2">Who be Administrator?</string>
<string name="faq_question_3">How I go fit create a new profile?</string>
<string name="faq_question_4">Wetin be %s?</string>
<string name="faq_question_5">Who be Administrator?</string>
<string name="faq_question_6">Why di Exploration player no dey load?</string>
<string name="faq_question_7">Why my audio no dey play?</string>
<string name="faq_question_8">Why di Exploration player no dey load?</string>
<string name="faq_question_4" fuzzy="true">How I fit get the app for my language?</string>
<string name="faq_question_5" fuzzy="true">I see bug for di app. How I fit report am?</string>
<string name="faq_question_6" fuzzy="true">Why only math lessons dey available?</string>
<string name="faq_question_7" fuzzy="true">Una go dey create more lessons?</string>
<string name="faq_question_8" >Why di Exploration player no dey load?</string>
<string name="faq_question_9">Why my audio no dey play?</string>
<string name="faq_question_10">How I go delete a profile?</string>
<string name="faq_question_11">How I go take change my email/phone nomba?</string>
<string name="faq_question_14">I no dey find my question here. What now?</string>
<string name="faq_question_11" fuzzy="true">How I fit update di app?</string>
<string name="faq_question_12" fuzzy="true">How I fit update my Android OS?</string>
<string name="faq_question_13">I no dey find my question here. What now?</string>
<string name="faq_answer_1">&lt;p&gt;%1$s &lt;i&gt;\"O-pee-yah\"&lt;/i&gt; (Finnish) - \"to learn\"&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;%1$s\'s mission na to help anyone learn anything dey want in an effective and enjoyable way.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;By creating a set of free, high-quality, demonstrably effective lessons with di help of educators from around di world, %1$s dey aim to provide students with quality education — regardless of where dem dey or di traditional resources wey dem get access to.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;As a student, you fit start your learning adventure by browsing di topics listed on di Home Page!&lt;/p&gt;</string>
<string name="faq_answer_2">&lt;p&gt;An Administrator na di main user wey dey manage profiles and settings for every profile on top their account. They fit be your parent, teacher, or guardian wey don create dis profile for you. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Administrators get di ability to manage profiles, assign PINs, and change other settings under their account. Depending on your profile, Administrator permissions fit dey required for some features such as changing your PIN, and more. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;To see who your Administrator be, go di Profile Chooser. Di first profile fot di list and get \"Administrator\" written under their name na di Administrator. &lt;/p&gt;</string>
<string name="faq_answer_3">&lt;p&gt;If na your first time creating a profile and not have a PIN:&lt;ol&gt;&lt;li&gt;From di Profile Chooser, tap on &lt;strong&gt;Set up Multiple Profiles&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Create a PIN and &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Fill in all boxes for di profile.&lt;ol&gt;&lt;li&gt;(Optional) Upload a photo.&lt;/li&gt;&lt;li&gt;Enter a name.&lt;/li&gt;&lt;li&gt;(Optional) Assign a 3-digit PIN.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Tap &lt;strong&gt;Create&lt;/strong&gt;. Dis profile go add to your Profile Chooser!&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;p&gt; If you don create a profile before and you get a PIN:&lt;ol&gt;&lt;li&gt;From di Profile Chooser, tap on &lt;strong&gt;Add Profile&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Enter your PIN and tap &lt;strong&gt;Submit&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Fill in all boxes for di profile.&lt;ol&gt;&lt;li&gt; (Optional) Upload a photo. &lt;/li&gt;&lt;li&gt; Enter a name. &lt;/li&gt;&lt;li&gt; (Optional) Assign a 3-digit PIN. &lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Tap &lt;strong&gt;Create&lt;/strong&gt;. Dis profile go add to your Profile Chooser!&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;br&gt;&lt;p&gt;Note: Only di &lt;u&gt;Administrator&lt;/u&gt; go dey able to manage profiles.&lt;/p&gt;</string>
<string name="faq_answer_4">&lt;p&gt;%1$s &lt;i&gt;\"O-pee-yah\"&lt;/i&gt; (Finnish) - \"to learn\"&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;%1$s\'s mission na to help anyone learn anything dey want in an effective and enjoyable way.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;By creating a set of free, high-quality, demonstrably effective lessons with di help of educators from around di world, %1$s dey aim to provide students with quality education — regardless of where dem dey or di traditional resources wey dem get access to.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;As a student, you fit start your learning adventure by browsing di topics listed on di Home Page!&lt;/p&gt;</string>
<string name="faq_answer_5">&lt;p&gt;An Administrator na di main user wey dey manage profiles and settings for every profile on top their account. They fit be your parent, teacher, or guardian wey don create dis profile for you. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Administrators get di ability to manage profiles, assign PINs, and change other settings under their account. Depending on your profile, Administrator permissions fit dey required for some features such as changing your PIN, and more. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;To see who your Administrator be, go di Profile Chooser. Di first profile fot di list and get \"Administrator\" written under their name na di Administrator. &lt;/p&gt;</string>
<string name="faq_answer_6">&lt;p&gt;If di Exploration Player no dey load&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check to see if di app dey up to date:&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt; Go to di Play Store and make sure sey di app dey updated to di latest version &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check your internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; If your internet connection dey slow, try re-connecting to your Wi-Fi network or connecting to a different network. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Ask di Administrator to check their device and internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Get di Administrator to troubleshoot using di steps above &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let us know if you still dey get issues with loading:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Report a problem by contacting us at [email protected]. &lt;/li&gt;&lt;/ul&gt;</string>
<string name="faq_answer_7">&lt;p&gt;If your audio no dey play&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check to see if di app dey up to date:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Go to di Play Store and make sure sey di app dey updated to di latest version &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check your internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; If your internet connection dey slow, try re-connecting to your Wi-Fi network or connecting to a different network. Slow internet fit cause di audio to load irregularly, and go make am difficult to play. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Ask di Administrator to check their device and internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Get di Administrator to troubleshoot using di steps for up&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Let us know if you still dey get issues with loading:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Report a problem by contacting us at [email protected]. &lt;/li&gt;&lt;/ul&gt;</string>
<string name="faq_answer_4" fuzzy="true">&lt;p&gt;The %s app dey support English, Brazilian Portuguese, Arabic, Swahili, and Nigerian Pidgin. Select one of these languages for di menu, under Options. To ask for the app for your language, abeg contact us for <strong>[email protected]</strong>.&lt;/p&gt;</string>
<string name="faq_answer_5" fuzzy="true">&lt;p&gt;<ol><li>From your %s app home screen, tap the menu for di top left corner.</li><li>Tap <strong>Share feedback</strong>.</li><li>Follow di instructions to report di bug or share feedback.</li></ol>&lt;/p&gt;</string>
<string name="faq_answer_6" fuzzy="true"><p>%1$s mission na to help learners gain necessary life skills. Math na essential skill for everyday life. %1$s go dey offer new lessons on science and other subjects very soon!</p></string>
<string name="faq_answer_7" fuzzy="true"><p>Yes, %s go dey offer new lessons on science and other subjects very soon. Abeg check back for updates!</p></string>
<string name="faq_answer_8">&lt;p&gt;If di Exploration Player no dey load&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check to see if di app dey up to date:&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt; Go to di Play Store and make sure sey di app dey updated to di latest version &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check your internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; If your internet connection dey slow, try re-connecting to your Wi-Fi network or connecting to a different network. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Ask di Administrator to check their device and internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Get di Administrator to troubleshoot using di steps above &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let us know if you still dey get issues with loading:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Report a problem by contacting us at [email protected]. &lt;/li&gt;&lt;/ul&gt;</string>
<string name="faq_answer_9">&lt;p&gt;If your audio no dey play&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check to see if di app dey up to date:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Go to di Play Store and make sure sey di app dey updated to di latest version &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check your internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; If your internet connection dey slow, try re-connecting to your Wi-Fi network or connecting to a different network. Slow internet fit cause di audio to load irregularly, and go make am difficult to play. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Ask di Administrator to check their device and internet connection:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Get di Administrator to troubleshoot using di steps for up&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Let us know if you still dey get issues with loading:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Report a problem by contacting us at [email protected]. &lt;/li&gt;&lt;/ul&gt;</string>
<string name="faq_answer_10">&lt;p&gt;Once profile don delete:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Di profile no fit dey recovered. &lt;/li&gt;&lt;li&gt; Profile information such as name, photos, and progress go permanently delete. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;To delete a profile (excluding the &lt;u&gt;Administrator\'s&lt;/u&gt;):&lt;/p&gt;&lt;ol&gt;&lt;li&gt; From di Administrator\'s Home Page, tap on di menu button on di top left. &lt;/li&gt;&lt;li&gt;Tap on &lt;strong&gt;Administrator Controls&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Tap on &lt;strong&gt;Edit Profiles&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Tap on di Profile wey you wan delete. &lt;/li&gt;&lt;li&gt;For di bottom of di screen, tap &lt;strong&gt;Profile Deletion&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Tap &lt;strong&gt;Delete&lt;/strong&gt; to confirm deletion. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Note: Only di &lt;u&gt;Administrator&lt;/u&gt; go dey able to manage profiles.&lt;/p&gt;</string>
<string name="faq_answer_11">&lt;p&gt;To change your email/phone nomba:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;From di Administrator\'s Home Page, tap on di menu button for di top left.&lt;/li&gt;&lt;li&gt;Tap on &lt;strong&gt;Administrator Controls&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Tap on &lt;strong&gt;Edit Account&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;If you wan change your email:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter your new email and tap &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;A confirmation link go send to confirm your new email. Di link go expire after 24 hours and you must click on am to be associated with your account.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;If you dey change your phone nomba:&lt;/p&gt;&lt;ol&gt;&lt;li&gt; Enter your new phone nomba and tap &lt;strong&gt;Verify&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt; A code go send to confirm your new nomba. Di code go expire after 5 minutes and you must be enter am in for di new screen to be associated with your account.&lt;/li&gt;&lt;/ol&gt;</string>
<string name="faq_answer_14">&lt;p&gt;If you no fit find your question or you go like to report a bug, contact us for [email protected].&lt;/p&gt;</string>
<string name="faq_answer_11" fuzzy="true"><p><ol><li>Open di Google Play Store app.</li><li>Search for di %s app.</li><li>Tap Update.</li></ol></p></string>
<string name="faq_answer_12" fuzzy="true"><ol><li>Tap your phone\'s Settings app.</li><li>Tap System updates.</li><li>Tap System updates and follow di instructions to update your Android operating system.</li></ol></string>
<string name="faq_answer_13">&lt;p&gt;If you no fit find your question or you go like to report a bug, contact us for [email protected].&lt;/p&gt;</string>
<string name="profile_edit_fragment_test_activity_label">Profile Edit Fragment Test Activity</string>
<string name="administrator_controls_fragment_test_activity_label">Administrator Controls Fragment Test Activity</string>
<string name="revision_navigation_cards_header">Continue Studying</string>
Expand Down
Loading

0 comments on commit f2d810a

Please sign in to comment.