├── .github
├── CODEOWNERS
├── FUNDING.yml
└── issue_template.md
├── .gitignore
├── CONTRIBUTING.md
├── FUNDING.json
├── LICENSE
├── README.md
├── app
├── .gitignore
├── build.gradle
└── src
│ ├── androidTest
│ └── java
│ │ └── org
│ │ └── literacyapp
│ │ ├── ApplicationTest.java
│ │ └── CategoryTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ └── AnimalOverlaysConfig.json
│ ├── java
│ │ └── org
│ │ │ └── literacyapp
│ │ │ ├── CategoryActivity.java
│ │ │ ├── LiteracyApplication.java
│ │ │ ├── MainActivity.java
│ │ │ ├── authentication
│ │ │ ├── AuthenticationActivity.java
│ │ │ ├── StudentImageCollectionActivity.java
│ │ │ ├── animaloverlay
│ │ │ │ ├── AnimalOverlay.java
│ │ │ │ ├── AnimalOverlayHelper.java
│ │ │ │ └── AnimalOverlaysMap.java
│ │ │ ├── datacollection
│ │ │ │ └── StudentImageCollectionActivity.java
│ │ │ ├── fallback
│ │ │ │ ├── StudentAuthenticationActivity.java
│ │ │ │ ├── StudentRegistrationActivity.java
│ │ │ │ └── StudentSelectionActivity.java
│ │ │ ├── helper
│ │ │ │ ├── AuthenticationHelper.java
│ │ │ │ ├── AuthenticationInstructionHelper.java
│ │ │ │ ├── DetectionHelper.java
│ │ │ │ └── StartPrefsHelper.java
│ │ │ └── thread
│ │ │ │ ├── AuthenticationThread.java
│ │ │ │ ├── MergeThread.java
│ │ │ │ ├── RecognitionThread.java
│ │ │ │ └── TrainingThread.java
│ │ │ ├── content
│ │ │ ├── letter
│ │ │ │ └── LettersActivity.java
│ │ │ ├── multimedia
│ │ │ │ └── video
│ │ │ │ │ └── VideosActivity.java
│ │ │ ├── number
│ │ │ │ └── NumbersActivity.java
│ │ │ └── task
│ │ │ │ ├── LessonCompleteActivity.java
│ │ │ │ ├── LetterGraphemeActivity.java
│ │ │ │ ├── LoadingActivity.java
│ │ │ │ ├── NumberActivity.java
│ │ │ │ ├── NumberGraphemeActivity.java
│ │ │ │ ├── ScrollingLetterActivity.java
│ │ │ │ ├── SelectLetterActivity.java
│ │ │ │ ├── SelectNumberActivity.java
│ │ │ │ ├── StarActivity.java
│ │ │ │ ├── TagItemsActivity.java
│ │ │ │ ├── TypeLetterActivity.java
│ │ │ │ ├── TypeNumberActivity.java
│ │ │ │ ├── VideoActivity.java
│ │ │ │ └── VisemeActivity.java
│ │ │ ├── dao
│ │ │ ├── CustomDaoMaster.java
│ │ │ └── DbMigrationHelper.java
│ │ │ ├── logic
│ │ │ └── CurriculumHelper.java
│ │ │ ├── receiver
│ │ │ ├── BootReceiver.java
│ │ │ └── ScreenOnReceiver.java
│ │ │ ├── service
│ │ │ ├── ContentSynchronizationJobService.java
│ │ │ ├── FaceRecognitionTrainingJobService.java
│ │ │ └── synchronization
│ │ │ │ ├── AuthenticationJobService.java
│ │ │ │ ├── DownloadContentAsyncTask.java
│ │ │ │ ├── MergeSimilarStudentsJobService.java
│ │ │ │ ├── ReadDeviceAsyncTask.java
│ │ │ │ └── RegisterDeviceAsyncTask.java
│ │ │ └── util
│ │ │ ├── AiHelper.java
│ │ │ ├── ByteArrayMediaDataSource.java
│ │ │ ├── ConnectivityHelper.java
│ │ │ ├── DeviceInfoHelper.java
│ │ │ ├── EnvironmentSettings.java
│ │ │ ├── JsonLoader.java
│ │ │ ├── MediaPlayerHelper.java
│ │ │ ├── MultimediaDownloader.java
│ │ │ ├── RootHelper.java
│ │ │ ├── StudentHelper.java
│ │ │ ├── StudentUpdateHelper.java
│ │ │ ├── TtsHelper.java
│ │ │ └── VersionHelper.java
│ └── res
│ │ ├── anim
│ │ ├── anim_shake.xml
│ │ ├── checkmark_animation.xml
│ │ ├── path_morph.xml
│ │ ├── rotation.xml
│ │ ├── viseme_neutral_to_t_morph_animator.xml
│ │ ├── viseme_penguin_a_to_neutral_morph_animator.xml
│ │ ├── viseme_penguin_neutral_to_a_morph_animator.xml
│ │ ├── viseme_penguin_neutral_to_t_morph_animator.xml
│ │ ├── viseme_penguin_t_to_neutral_morph_animator.xml
│ │ └── viseme_t_to_neutral_morph_animator.xml
│ │ ├── animator
│ │ ├── path.xml
│ │ └── path_stroke2.xml
│ │ ├── drawable
│ │ ├── akili_neutral.png
│ │ ├── animated_checkmark.xml
│ │ ├── animated_letter_a.xml
│ │ ├── animated_letter_b.xml
│ │ ├── animated_letter_b_stroke2.xml
│ │ ├── animated_letter_c.xml
│ │ ├── animated_letter_d.xml
│ │ ├── animated_letter_d_stroke2.xml
│ │ ├── animated_letter_e.xml
│ │ ├── animated_letter_f.xml
│ │ ├── animated_letter_f_stroke2.xml
│ │ ├── animated_letter_g.xml
│ │ ├── animated_letter_g_stroke2.xml
│ │ ├── animated_letter_h.xml
│ │ ├── animated_letter_h_stroke2.xml
│ │ ├── animated_letter_i.xml
│ │ ├── animated_letter_i_stroke2.xml
│ │ ├── animated_letter_j.xml
│ │ ├── animated_letter_j_stroke2.xml
│ │ ├── animated_letter_k.xml
│ │ ├── animated_letter_k_stroke2.xml
│ │ ├── animated_letter_l.xml
│ │ ├── animated_letter_m.xml
│ │ ├── animated_letter_m_stroke2.xml
│ │ ├── animated_letter_n.xml
│ │ ├── animated_letter_n_stroke2.xml
│ │ ├── animated_letter_o.xml
│ │ ├── animated_letter_t.xml
│ │ ├── animated_letter_t_stroke2.xml
│ │ ├── animated_letter_u.xml
│ │ ├── animated_letter_u_stroke2.xml
│ │ ├── animated_number_0.xml
│ │ ├── animated_number_1.xml
│ │ ├── animated_number_1_stroke2.xml
│ │ ├── animated_number_2.xml
│ │ ├── animated_number_3.xml
│ │ ├── animated_number_4.xml
│ │ ├── animated_number_4_stroke2.xml
│ │ ├── animated_number_5.xml
│ │ ├── animated_number_5_stroke2.xml
│ │ ├── animated_number_6.xml
│ │ ├── animated_number_7.xml
│ │ ├── animated_number_8.xml
│ │ ├── animated_number_9.xml
│ │ ├── animated_star.xml
│ │ ├── authentication_instruction_640.gif
│ │ ├── authentication_instruction_girl_640.gif
│ │ ├── avd.xml
│ │ ├── button_custom.xml
│ │ ├── button_default.xml
│ │ ├── button_disabled.xml
│ │ ├── button_focused.xml
│ │ ├── button_pressed.xml
│ │ ├── checkmark.xml
│ │ ├── circle.xml
│ │ ├── circle_state_normal.xml
│ │ ├── circle_state_pressed.xml
│ │ ├── cow.png
│ │ ├── deer.png
│ │ ├── elephant.png
│ │ ├── emoji_neutral.xml
│ │ ├── gesture.xml
│ │ ├── hippo.png
│ │ ├── horse.png
│ │ ├── ic_arrow_forward_black_24dp.xml
│ │ ├── ic_call_24dp.xml
│ │ ├── ic_camera_alt_black_128dp.xml
│ │ ├── ic_camera_alt_black_24dp.xml
│ │ ├── ic_chevron_right_24dp.xml
│ │ ├── ic_explore_24dp.xml
│ │ ├── ic_flight_24dp.xml
│ │ ├── ic_grain_black_24dp.xml
│ │ ├── ic_hearing_black_64dp.xml
│ │ ├── ic_language_black_24dp.xml
│ │ ├── ic_mail_24dp.xml
│ │ ├── ic_person_black_24dp.xml
│ │ ├── ic_play_circle_filled_black_24dp.xml
│ │ ├── ic_play_circle_outline_black_24dp.xml
│ │ ├── ic_query_builder_24dp.xml
│ │ ├── ic_record_voice_over_black_24dp.xml
│ │ ├── ic_room_24dp.xml
│ │ ├── ic_send_grey_24dp.xml
│ │ ├── ic_send_white_24dp.xml
│ │ ├── ic_spellcheck_black_24dp.xml
│ │ ├── indicator_selected.xml
│ │ ├── indicator_unselected.xml
│ │ ├── landscape_2560_1800.png
│ │ ├── letter_a.xml
│ │ ├── letter_b.xml
│ │ ├── letter_b_stroke2.xml
│ │ ├── letter_c.xml
│ │ ├── letter_d.xml
│ │ ├── letter_d_stroke2.xml
│ │ ├── letter_e.xml
│ │ ├── letter_f.xml
│ │ ├── letter_f_stroke2.xml
│ │ ├── letter_g.xml
│ │ ├── letter_g_stroke2.xml
│ │ ├── letter_h.xml
│ │ ├── letter_h_stroke2.xml
│ │ ├── letter_i.xml
│ │ ├── letter_i_stroke2.xml
│ │ ├── letter_j.xml
│ │ ├── letter_j_stroke2.xml
│ │ ├── letter_k.xml
│ │ ├── letter_k_stroke2.xml
│ │ ├── letter_l.xml
│ │ ├── letter_m.xml
│ │ ├── letter_m_stroke2.xml
│ │ ├── letter_n.xml
│ │ ├── letter_n_stroke2.xml
│ │ ├── letter_o.xml
│ │ ├── letter_t.xml
│ │ ├── letter_t_stroke2.xml
│ │ ├── letter_u.xml
│ │ ├── letter_u_stroke2.xml
│ │ ├── loading_colors.gif
│ │ ├── loading_dinosaur.gif
│ │ ├── loading_dog.gif
│ │ ├── loading_fly.gif
│ │ ├── loading_jellyfish.gif
│ │ ├── loading_sky.gif
│ │ ├── loading_space.gif
│ │ ├── loading_spring.gif
│ │ ├── loading_sun.gif
│ │ ├── number_0.xml
│ │ ├── number_1.xml
│ │ ├── number_1_stroke2.xml
│ │ ├── number_2.xml
│ │ ├── number_3.xml
│ │ ├── number_4.xml
│ │ ├── number_4_stroke2.xml
│ │ ├── number_5.xml
│ │ ├── number_5_stroke2.xml
│ │ ├── number_6.xml
│ │ ├── number_7.xml
│ │ ├── number_8.xml
│ │ ├── number_9.xml
│ │ ├── pig.png
│ │ ├── scrolling_background.png
│ │ ├── scrolling_foreground.png
│ │ ├── shadow.xml
│ │ ├── sheep.png
│ │ ├── star.xml
│ │ ├── van.png
│ │ ├── vectordrawable.xml
│ │ ├── video_thumbnail.png
│ │ ├── viseme_neutral.xml
│ │ ├── viseme_neutral_to_t_animated_vector.xml
│ │ ├── viseme_penguin_a.xml
│ │ ├── viseme_penguin_a_to_neutral_animated_vector.xml
│ │ ├── viseme_penguin_neutral.xml
│ │ ├── viseme_penguin_neutral_to_a_animated_vector.xml
│ │ ├── viseme_penguin_neutral_to_t_animated_vector.xml
│ │ ├── viseme_penguin_t.xml
│ │ ├── viseme_penguin_t_to_neutral_animated_vector.xml
│ │ ├── viseme_t.xml
│ │ ├── viseme_t_to_neutral_animated_vector.xml
│ │ └── zebra.png
│ │ ├── layout
│ │ ├── activity_authentication.xml
│ │ ├── activity_authentication_student_image_collection.xml
│ │ ├── activity_category.xml
│ │ ├── activity_lesson_complete.xml
│ │ ├── activity_letter_grapheme.xml
│ │ ├── activity_letters.xml
│ │ ├── activity_loading.xml
│ │ ├── activity_main.xml
│ │ ├── activity_number.xml
│ │ ├── activity_number_grapheme.xml
│ │ ├── activity_number_list.xml
│ │ ├── activity_numbers.xml
│ │ ├── activity_scrolling_letter.xml
│ │ ├── activity_select_letter.xml
│ │ ├── activity_select_number.xml
│ │ ├── activity_star.xml
│ │ ├── activity_student_authentication.xml
│ │ ├── activity_student_image_collection.xml
│ │ ├── activity_student_registration.xml
│ │ ├── activity_student_selection.xml
│ │ ├── activity_tag_items.xml
│ │ ├── activity_type_letter.xml
│ │ ├── activity_type_number.xml
│ │ ├── activity_video.xml
│ │ ├── activity_videos.xml
│ │ ├── activity_viseme.xml
│ │ ├── activity_word_list.xml
│ │ ├── content_letters.xml
│ │ ├── content_letters_letter_view.xml
│ │ ├── content_numbers.xml
│ │ ├── content_numbers_number_view.xml
│ │ ├── content_student_selection.xml
│ │ ├── content_student_selection_extra_view.xml
│ │ ├── content_student_selection_view.xml
│ │ ├── content_videos.xml
│ │ ├── content_videos_video_view.xml
│ │ ├── fragment_category.xml
│ │ └── main.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_authentication.png
│ │ ├── ic_launcher_literacy.png
│ │ ├── ic_launcher_numeracy.png
│ │ ├── ic_launcher_student_image_collection.png
│ │ └── ic_launcher_videos.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_authentication.png
│ │ ├── ic_launcher_literacy.png
│ │ ├── ic_launcher_numeracy.png
│ │ ├── ic_launcher_student_image_collection.png
│ │ └── ic_launcher_videos.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_authentication.png
│ │ ├── ic_launcher_literacy.png
│ │ ├── ic_launcher_numeracy.png
│ │ ├── ic_launcher_student_image_collection.png
│ │ └── ic_launcher_videos.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_authentication.png
│ │ ├── ic_launcher_literacy.png
│ │ ├── ic_launcher_numeracy.png
│ │ ├── ic_launcher_student_image_collection.png
│ │ └── ic_launcher_videos.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_authentication.png
│ │ ├── ic_launcher_literacy.png
│ │ ├── ic_launcher_numeracy.png
│ │ ├── ic_launcher_student_image_collection.png
│ │ └── ic_launcher_videos.png
│ │ ├── raw-sw
│ │ ├── activity_instruction_letter_grapheme.wav
│ │ ├── activity_instruction_letter_identification.wav
│ │ ├── activity_instruction_letter_tracing.wav
│ │ ├── activity_instruction_letter_typing.wav
│ │ ├── activity_instruction_number_grapheme.wav
│ │ ├── activity_instruction_number_identification.wav
│ │ ├── activity_instruction_number_tracing.wav
│ │ ├── activity_instruction_number_typing.wav
│ │ ├── auth_fallback_registration_button.wav
│ │ ├── auth_fallback_registration_complete.wav
│ │ ├── auth_fallback_registration_picture.wav
│ │ ├── auth_fallback_selection.wav
│ │ ├── auth_fallback_selection_hint.wav
│ │ ├── auth_tablet_placement.wav
│ │ ├── auth_tablet_placement_overlay.wav
│ │ ├── digit_0.wav
│ │ ├── digit_1.wav
│ │ ├── digit_2.wav
│ │ ├── digit_3.wav
│ │ ├── digit_4.wav
│ │ ├── digit_5.wav
│ │ ├── digit_6.wav
│ │ ├── digit_7.wav
│ │ ├── digit_8.wav
│ │ ├── digit_9.wav
│ │ ├── letter_name_a.wav
│ │ ├── letter_name_b.wav
│ │ ├── letter_name_ch.wav
│ │ ├── letter_name_d.wav
│ │ ├── letter_name_e.wav
│ │ ├── letter_name_f.wav
│ │ ├── letter_name_g.wav
│ │ ├── letter_name_h.wav
│ │ ├── letter_name_i.wav
│ │ ├── letter_name_j.wav
│ │ ├── letter_name_k.wav
│ │ ├── letter_name_l.wav
│ │ ├── letter_name_m.wav
│ │ ├── letter_name_n.wav
│ │ ├── letter_name_o.wav
│ │ ├── letter_name_p.wav
│ │ ├── letter_name_r.wav
│ │ ├── letter_name_s.wav
│ │ ├── letter_name_t.wav
│ │ ├── letter_name_u.wav
│ │ ├── letter_name_v.wav
│ │ ├── letter_name_w.wav
│ │ ├── letter_name_y.wav
│ │ ├── letter_name_z.wav
│ │ ├── letter_sound_a.wav
│ │ ├── letter_sound_b.wav
│ │ ├── letter_sound_ch.wav
│ │ ├── letter_sound_d.wav
│ │ ├── letter_sound_dh.wav
│ │ ├── letter_sound_e.wav
│ │ ├── letter_sound_g.wav
│ │ ├── letter_sound_gh.wav
│ │ ├── letter_sound_h.wav
│ │ ├── letter_sound_i.wav
│ │ ├── letter_sound_j.wav
│ │ ├── letter_sound_k.wav
│ │ ├── letter_sound_kh.wav
│ │ ├── letter_sound_l.wav
│ │ ├── letter_sound_m.wav
│ │ ├── letter_sound_mb.wav
│ │ ├── letter_sound_mv.wav
│ │ ├── letter_sound_n.wav
│ │ ├── letter_sound_nd.wav
│ │ ├── letter_sound_ng.wav
│ │ ├── letter_sound_ngg.wav
│ │ ├── letter_sound_nj.wav
│ │ ├── letter_sound_ny.wav
│ │ ├── letter_sound_nz.wav
│ │ ├── letter_sound_o.wav
│ │ ├── letter_sound_p.wav
│ │ ├── letter_sound_r.wav
│ │ ├── letter_sound_s.wav
│ │ ├── letter_sound_sh.wav
│ │ ├── letter_sound_t.wav
│ │ ├── letter_sound_th.wav
│ │ ├── letter_sound_u.wav
│ │ ├── letter_sound_v.wav
│ │ ├── letter_sound_w.wav
│ │ ├── letter_sound_y.wav
│ │ └── letter_sound_z.wav
│ │ ├── raw
│ │ ├── activity_instruction_letter_grapheme.wav
│ │ ├── activity_instruction_letter_identification.wav
│ │ ├── activity_instruction_letter_tracing.wav
│ │ ├── activity_instruction_letter_typing.wav
│ │ ├── activity_instruction_number_grapheme.wav
│ │ ├── activity_instruction_number_identification.wav
│ │ ├── activity_instruction_number_tracing.wav
│ │ ├── activity_instruction_number_typing.wav
│ │ ├── alternative_correct.wav
│ │ ├── alternative_incorrect.wav
│ │ ├── auth_fallback_registration_button.wav
│ │ ├── auth_fallback_registration_complete.wav
│ │ ├── auth_fallback_registration_picture.wav
│ │ ├── auth_fallback_selection.wav
│ │ ├── auth_fallback_selection_hint.wav
│ │ ├── auth_tablet_placement.wav
│ │ ├── auth_tablet_placement_overlay.wav
│ │ ├── cow.wav
│ │ ├── deer.wav
│ │ ├── digit_0.wav
│ │ ├── digit_1.wav
│ │ ├── digit_2.wav
│ │ ├── digit_3.wav
│ │ ├── digit_4.wav
│ │ ├── digit_5.wav
│ │ ├── digit_6.wav
│ │ ├── digit_7.wav
│ │ ├── digit_8.wav
│ │ ├── digit_9.wav
│ │ ├── elephant.wav
│ │ ├── hippo.m4a
│ │ ├── horse.wav
│ │ ├── letter_name_a.wav
│ │ ├── letter_name_b.wav
│ │ ├── letter_name_c.wav
│ │ ├── letter_name_d.wav
│ │ ├── letter_name_e.wav
│ │ ├── letter_name_f.wav
│ │ ├── letter_name_g.wav
│ │ ├── letter_name_h.wav
│ │ ├── letter_name_i.wav
│ │ ├── letter_name_j.wav
│ │ ├── letter_name_k.wav
│ │ ├── letter_name_l.wav
│ │ ├── letter_name_m.wav
│ │ ├── letter_name_n.wav
│ │ ├── letter_name_o.wav
│ │ ├── letter_name_p.wav
│ │ ├── letter_name_q.wav
│ │ ├── letter_name_r.wav
│ │ ├── letter_name_s.wav
│ │ ├── letter_name_t.wav
│ │ ├── letter_name_u.wav
│ │ ├── letter_name_v.wav
│ │ ├── letter_name_w.wav
│ │ ├── letter_name_x.wav
│ │ ├── letter_name_y.wav
│ │ ├── letter_name_z.wav
│ │ ├── letter_sound_a.wav
│ │ ├── letter_sound_ai.wav
│ │ ├── letter_sound_ar.wav
│ │ ├── letter_sound_b.wav
│ │ ├── letter_sound_c.wav
│ │ ├── letter_sound_ch.wav
│ │ ├── letter_sound_d.wav
│ │ ├── letter_sound_e.wav
│ │ ├── letter_sound_ee.wav
│ │ ├── letter_sound_er.wav
│ │ ├── letter_sound_f.wav
│ │ ├── letter_sound_g.wav
│ │ ├── letter_sound_h.wav
│ │ ├── letter_sound_i.wav
│ │ ├── letter_sound_ie.wav
│ │ ├── letter_sound_j.wav
│ │ ├── letter_sound_k.wav
│ │ ├── letter_sound_l.wav
│ │ ├── letter_sound_m.wav
│ │ ├── letter_sound_n.wav
│ │ ├── letter_sound_ng.wav
│ │ ├── letter_sound_o.wav
│ │ ├── letter_sound_oa.wav
│ │ ├── letter_sound_oi.wav
│ │ ├── letter_sound_oo.wav
│ │ ├── letter_sound_oo_u.wav
│ │ ├── letter_sound_or.wav
│ │ ├── letter_sound_ou.wav
│ │ ├── letter_sound_p.wav
│ │ ├── letter_sound_q.wav
│ │ ├── letter_sound_qu.wav
│ │ ├── letter_sound_r.wav
│ │ ├── letter_sound_s.wav
│ │ ├── letter_sound_sh.wav
│ │ ├── letter_sound_t.wav
│ │ ├── letter_sound_th.wav
│ │ ├── letter_sound_th_t.wav
│ │ ├── letter_sound_u.wav
│ │ ├── letter_sound_ue.wav
│ │ ├── letter_sound_v.wav
│ │ ├── letter_sound_w.wav
│ │ ├── letter_sound_x.wav
│ │ ├── letter_sound_y.wav
│ │ ├── letter_sound_z.wav
│ │ ├── level_up.wav
│ │ ├── menu.wav
│ │ ├── pig.wav
│ │ ├── pipe.wav
│ │ ├── plop.wav
│ │ ├── selection.wav
│ │ ├── sheep.wav
│ │ ├── tada.wav
│ │ ├── vocal_plop.mp3
│ │ ├── waterdrop.wav
│ │ ├── woosh.wav
│ │ └── zebra.wav
│ │ ├── values-land
│ │ └── integers.xml
│ │ ├── values-v21
│ │ └── styles.xml
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── integers.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── org
│ └── literacyapp
│ ├── ExampleUnitTest.java
│ └── util
│ └── StudentHelperTest.java
├── build.gradle
├── contentprovider
├── .gitignore
├── README.md
├── build.gradle
└── src
│ ├── androidTest
│ └── java
│ │ └── org
│ │ └── literacyapp
│ │ └── contentprovider
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── org
│ │ │ └── literacyapp
│ │ │ └── contentprovider
│ │ │ ├── ContentProvider.java
│ │ │ ├── dao
│ │ │ ├── AllophoneDao.java
│ │ │ ├── AudioDao.java
│ │ │ ├── AuthenticationEventDao.java
│ │ │ ├── DaoMaster.java
│ │ │ ├── DaoSession.java
│ │ │ ├── DeviceDao.java
│ │ │ ├── GsonToGreenDaoConverter.java
│ │ │ ├── ImageDao.java
│ │ │ ├── JoinAudiosWithLettersDao.java
│ │ │ ├── JoinAudiosWithNumbersDao.java
│ │ │ ├── JoinAudiosWithWordsDao.java
│ │ │ ├── JoinImagesWithLettersDao.java
│ │ │ ├── JoinImagesWithNumbersDao.java
│ │ │ ├── JoinImagesWithWordsDao.java
│ │ │ ├── JoinLettersWithAllophonesDao.java
│ │ │ ├── JoinNumbersWithWordsDao.java
│ │ │ ├── JoinStudentsWithDevicesDao.java
│ │ │ ├── JoinVideosWithLettersDao.java
│ │ │ ├── JoinVideosWithNumbersDao.java
│ │ │ ├── JoinVideosWithWordsDao.java
│ │ │ ├── LetterDao.java
│ │ │ ├── NumberDao.java
│ │ │ ├── StoryBookDao.java
│ │ │ ├── StudentDao.java
│ │ │ ├── StudentImageCollectionEventDao.java
│ │ │ ├── StudentImageDao.java
│ │ │ ├── StudentImageFeatureDao.java
│ │ │ ├── SyllableDao.java
│ │ │ ├── VideoDao.java
│ │ │ ├── WordDao.java
│ │ │ └── converter
│ │ │ │ ├── AudioFormatConverter.java
│ │ │ │ ├── CalendarConverter.java
│ │ │ │ ├── ConsonantPlaceConverter.java
│ │ │ │ ├── ConsonantTypeConverter.java
│ │ │ │ ├── ConsonantVoicingConverter.java
│ │ │ │ ├── ContentStatusConverter.java
│ │ │ │ ├── GradeLevelConverter.java
│ │ │ │ ├── ImageFormatConverter.java
│ │ │ │ ├── LipRoundingConverter.java
│ │ │ │ ├── LocaleConverter.java
│ │ │ │ ├── SoundTypeConverter.java
│ │ │ │ ├── SpellingConsistencyConverter.java
│ │ │ │ ├── StringSetConverter.java
│ │ │ │ ├── VideoFormatConverter.java
│ │ │ │ ├── VowelFrontnessConverter.java
│ │ │ │ ├── VowelHeightConverter.java
│ │ │ │ └── VowelLengthConverter.java
│ │ │ ├── model
│ │ │ ├── Device.java
│ │ │ ├── JoinLettersWithAllophones.java
│ │ │ ├── JoinNumbersWithWords.java
│ │ │ ├── JoinStudentsWithDevices.java
│ │ │ ├── Student.java
│ │ │ ├── StudentImage.java
│ │ │ ├── StudentImageFeature.java
│ │ │ ├── analytics
│ │ │ │ ├── AuthenticationEvent.java
│ │ │ │ └── StudentImageCollectionEvent.java
│ │ │ └── content
│ │ │ │ ├── Allophone.java
│ │ │ │ ├── Letter.java
│ │ │ │ ├── Number.java
│ │ │ │ ├── StoryBook.java
│ │ │ │ ├── Syllable.java
│ │ │ │ ├── Word.java
│ │ │ │ └── multimedia
│ │ │ │ ├── Audio.java
│ │ │ │ ├── Image.java
│ │ │ │ ├── JoinAudiosWithLetters.java
│ │ │ │ ├── JoinAudiosWithNumbers.java
│ │ │ │ ├── JoinAudiosWithWords.java
│ │ │ │ ├── JoinImagesWithLetters.java
│ │ │ │ ├── JoinImagesWithNumbers.java
│ │ │ │ ├── JoinImagesWithWords.java
│ │ │ │ ├── JoinVideosWithLetters.java
│ │ │ │ ├── JoinVideosWithNumbers.java
│ │ │ │ ├── JoinVideosWithWords.java
│ │ │ │ └── Video.java
│ │ │ └── util
│ │ │ └── MultimediaHelper.java
│ └── res
│ │ └── values
│ │ └── strings.xml
│ └── test
│ └── java
│ └── org
│ └── literacyapp
│ └── contentprovider
│ └── ExampleUnitTest.java
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── openCVLibrary310
├── build.gradle
├── lint.xml
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── aidl
│ └── org
│ │ └── opencv
│ │ └── engine
│ │ └── OpenCVEngineInterface.aidl
│ ├── java
│ └── org
│ │ └── opencv
│ │ ├── android
│ │ ├── AsyncServiceHelper.java
│ │ ├── BaseLoaderCallback.java
│ │ ├── Camera2Renderer.java
│ │ ├── CameraBridgeViewBase.java
│ │ ├── CameraGLRendererBase.java
│ │ ├── CameraGLSurfaceView.java
│ │ ├── CameraRenderer.java
│ │ ├── FpsMeter.java
│ │ ├── InstallCallbackInterface.java
│ │ ├── JavaCameraView.java
│ │ ├── LoaderCallbackInterface.java
│ │ ├── OpenCVLoader.java
│ │ ├── StaticHelper.java
│ │ └── Utils.java
│ │ ├── calib3d
│ │ ├── Calib3d.java
│ │ ├── StereoBM.java
│ │ ├── StereoMatcher.java
│ │ └── StereoSGBM.java
│ │ ├── core
│ │ ├── Algorithm.java
│ │ ├── Core.java
│ │ ├── CvException.java
│ │ ├── CvType.java
│ │ ├── DMatch.java
│ │ ├── KeyPoint.java
│ │ ├── Mat.java
│ │ ├── MatOfByte.java
│ │ ├── MatOfDMatch.java
│ │ ├── MatOfDouble.java
│ │ ├── MatOfFloat.java
│ │ ├── MatOfFloat4.java
│ │ ├── MatOfFloat6.java
│ │ ├── MatOfInt.java
│ │ ├── MatOfInt4.java
│ │ ├── MatOfKeyPoint.java
│ │ ├── MatOfPoint.java
│ │ ├── MatOfPoint2f.java
│ │ ├── MatOfPoint3.java
│ │ ├── MatOfPoint3f.java
│ │ ├── MatOfRect.java
│ │ ├── Point.java
│ │ ├── Point3.java
│ │ ├── Range.java
│ │ ├── Rect.java
│ │ ├── RotatedRect.java
│ │ ├── Scalar.java
│ │ ├── Size.java
│ │ └── TermCriteria.java
│ │ ├── features2d
│ │ ├── DescriptorExtractor.java
│ │ ├── DescriptorMatcher.java
│ │ ├── FeatureDetector.java
│ │ └── Features2d.java
│ │ ├── imgcodecs
│ │ └── Imgcodecs.java
│ │ ├── imgproc
│ │ ├── CLAHE.java
│ │ ├── Imgproc.java
│ │ ├── LineSegmentDetector.java
│ │ ├── Moments.java
│ │ └── Subdiv2D.java
│ │ ├── ml
│ │ ├── ANN_MLP.java
│ │ ├── Boost.java
│ │ ├── DTrees.java
│ │ ├── EM.java
│ │ ├── KNearest.java
│ │ ├── LogisticRegression.java
│ │ ├── Ml.java
│ │ ├── NormalBayesClassifier.java
│ │ ├── RTrees.java
│ │ ├── SVM.java
│ │ ├── StatModel.java
│ │ └── TrainData.java
│ │ ├── objdetect
│ │ ├── BaseCascadeClassifier.java
│ │ ├── CascadeClassifier.java
│ │ ├── HOGDescriptor.java
│ │ └── Objdetect.java
│ │ ├── photo
│ │ ├── AlignExposures.java
│ │ ├── AlignMTB.java
│ │ ├── CalibrateCRF.java
│ │ ├── CalibrateDebevec.java
│ │ ├── CalibrateRobertson.java
│ │ ├── MergeDebevec.java
│ │ ├── MergeExposures.java
│ │ ├── MergeMertens.java
│ │ ├── MergeRobertson.java
│ │ ├── Photo.java
│ │ ├── Tonemap.java
│ │ ├── TonemapDrago.java
│ │ ├── TonemapDurand.java
│ │ ├── TonemapMantiuk.java
│ │ └── TonemapReinhard.java
│ │ ├── utils
│ │ └── Converters.java
│ │ ├── video
│ │ ├── BackgroundSubtractor.java
│ │ ├── BackgroundSubtractorKNN.java
│ │ ├── BackgroundSubtractorMOG2.java
│ │ ├── DenseOpticalFlow.java
│ │ ├── DualTVL1OpticalFlow.java
│ │ ├── KalmanFilter.java
│ │ └── Video.java
│ │ └── videoio
│ │ ├── VideoCapture.java
│ │ ├── VideoWriter.java
│ │ └── Videoio.java
│ └── res
│ └── values
│ └── attrs.xml
└── settings.gradle
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/en/articles/about-code-owners
2 |
3 | # These owners will be the default owners for everything in the repo. Unless a later match takes precedence,
4 | # @elimu-ai/codeowners-ml (https://github.com/orgs/elimu-ai/teams/codeowners-ml/members) will be requested for review when someone opens a pull request.
5 | * @elimu-ai/codeowners-ml
6 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | custom: ['https://www.drips.network/app/drip-lists/41305178594442616889778610143373288091511468151140966646158126636698']
4 |
--------------------------------------------------------------------------------
/.github/issue_template.md:
--------------------------------------------------------------------------------
1 | ## Description
2 |
3 |
4 | ## Why?
5 |
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | local.properties
2 |
3 | .gradle
4 | build/
5 |
6 | # Ignore Gradle GUI config
7 | gradle-app.setting
8 |
9 | # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
10 | !gradle-wrapper.jar
11 |
12 | *.iml
13 | .idea
14 |
15 | /projectFilesBackup/
16 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | ## Contributing to elimu.ai 👩🏽💻
4 |
5 | See https://github.com/elimu-ai/wiki/blob/main/CONTRIBUTING.md
6 |
--------------------------------------------------------------------------------
/FUNDING.json:
--------------------------------------------------------------------------------
1 | {
2 | "drips": {
3 | "ethereum": {
4 | "ownedBy": "0x282EF5377C35E90C33a94833d69dBA880430c9cB"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 elimu.ai
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Authentication 😶🌫️
2 |
3 | Android application which authenticates the student using the tablet at the beginning of a new learning session.
4 |
5 | ---
6 |
7 |
8 |
9 |
10 |
11 | elimu.ai - Free open-source learning software for out-of-school children ✨🚀
12 |
13 |
14 | Website 🌐
15 | •
16 | Wiki 📃
17 | •
18 | Projects 👩🏽💻
19 | •
20 | Milestones 🎯
21 | •
22 | Community 👋🏽
23 | •
24 | Support 💜
25 |
26 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | *.iml
3 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/org/literacyapp/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/app/src/main/assets/AnimalOverlaysConfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "animalOverlays" : {
3 | "deer": {
4 | "frameStartX":662, "frameStartY": 232, "frameEndX": 1260, "frameEndY": 830, "soundFile": "deer"
5 | },
6 | "elephant": {
7 | "frameStartX":584, "frameStartY": 0, "frameEndX": 1330, "frameEndY": 676, "soundFile": "elephant"
8 | },
9 | "hippo": {
10 | "frameStartX":584, "frameStartY": 0, "frameEndX": 1330, "frameEndY": 746, "soundFile": "hippo"
11 | },
12 | "sheep": {
13 | "frameStartX":588, "frameStartY": 184, "frameEndX": 1334, "frameEndY": 930, "soundFile": "sheep"
14 | },
15 | "zebra": {
16 | "frameStartX":644, "frameStartY": 106, "frameEndX": 1290, "frameEndY": 752, "soundFile": "zebra"
17 | },
18 | "cow": {
19 | "frameStartX":662, "frameStartY": 0, "frameEndX": 1258, "frameEndY": 664, "soundFile": "cow"
20 | },
21 | "pig": {
22 | "frameStartX":650, "frameStartY": 64, "frameEndX": 1264, "frameEndY": 682, "soundFile": "pig"
23 | },
24 | "horse": {
25 | "frameStartX":630, "frameStartY": 96, "frameEndX": 1284, "frameEndY": 720, "soundFile": "horse"
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/authentication/animaloverlay/AnimalOverlaysMap.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.authentication.animaloverlay;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * Created by sladomic on 27.12.16.
7 | */
8 |
9 | public class AnimalOverlaysMap {
10 |
11 | private Map animalOverlays;
12 |
13 | public Map getAnimalOverlays() {
14 | return animalOverlays;
15 | }
16 |
17 | public void setAnimalOverlays(Map animalOverlays) {
18 | this.animalOverlays = animalOverlays;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/content/task/LessonCompleteActivity.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.content.task;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 | import android.util.Log;
6 |
7 | import org.literacyapp.R;
8 |
9 | public class LessonCompleteActivity extends AppCompatActivity {
10 |
11 | @Override
12 | protected void onCreate(Bundle savedInstanceState) {
13 | Log.i(getClass().getName(), "onCreate");
14 | super.onCreate(savedInstanceState);
15 | setContentView(R.layout.activity_lesson_complete);
16 | }
17 |
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/service/synchronization/MergeSimilarStudentsJobService.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.service.synchronization;
2 |
3 | import android.app.job.JobParameters;
4 | import android.app.job.JobService;
5 | import android.util.Log;
6 |
7 | import org.literacyapp.authentication.thread.MergeThread;
8 |
9 | public class MergeSimilarStudentsJobService extends JobService {
10 |
11 | private MergeThread mergeThread;
12 | private JobParameters jobParameters;
13 |
14 | @Override
15 | public boolean onStartJob(JobParameters jobParameters) {
16 | Log.i(getClass().getName(), "onStartJob");
17 | this.jobParameters = jobParameters;
18 | mergeThread = new MergeThread(this);
19 | mergeThread.start();
20 | return false;
21 | }
22 |
23 | @Override
24 | public boolean onStopJob(JobParameters jobParameters) {
25 | Log.i(getClass().getName(), "onStopJob");
26 | mergeThread.interrupt();
27 | return false;
28 | }
29 |
30 | public JobParameters getJobParameters() {
31 | return jobParameters;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/util/AiHelper.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.util;
2 |
3 | import android.os.Environment;
4 |
5 | import java.io.File;
6 |
7 | public class AiHelper {
8 |
9 | public static File getAiDirectory() {
10 | File aiDirectory = new File(Environment.getExternalStorageDirectory() + "/.literacyapp/ai");
11 | if (!aiDirectory.exists()) {
12 | aiDirectory.mkdirs();
13 | }
14 | return aiDirectory;
15 | }
16 |
17 | public static File getModelDirectory() {
18 | File modelDirectory = new File(getAiDirectory(), "model");
19 | if (!modelDirectory.exists()) {
20 | modelDirectory.mkdir();
21 | }
22 | return modelDirectory;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/util/ByteArrayMediaDataSource.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.util;
2 |
3 | import android.annotation.TargetApi;
4 | import android.media.MediaDataSource;
5 | import android.os.Build;
6 | import java.io.IOException;
7 |
8 | @TargetApi(Build.VERSION_CODES.M)
9 | public class ByteArrayMediaDataSource extends MediaDataSource {
10 |
11 | private final byte[] data;
12 |
13 | public ByteArrayMediaDataSource(byte []data) {
14 | assert data != null;
15 | this.data = data;
16 | }
17 | @Override
18 | public int readAt(long position, byte[] buffer, int offset, int size) throws IOException {
19 | System.arraycopy(data, (int)position, buffer, offset, size);
20 | return size;
21 | }
22 |
23 | @Override
24 | public long getSize() throws IOException {
25 | return data.length;
26 | }
27 |
28 | @Override
29 | public void close() throws IOException {
30 | // Nothing to do here
31 | }
32 | }
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/util/MediaPlayerHelper.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.util;
2 |
3 | import android.content.Context;
4 | import android.media.MediaPlayer;
5 | import android.util.Log;
6 |
7 | /**
8 | * Utility class which helps releasing the {@link android.media.MediaPlayer} instance after
9 | * finishing playing the audio.
10 | *
11 | *
12 | * See https://developer.android.com/reference/android/media/MediaPlayer.html#create%28android.content.Context,%20int%29
13 | */
14 | public class MediaPlayerHelper {
15 |
16 | public static void play(Context context, int resId) {
17 | Log.i(MediaPlayerHelper.class.getName(), "play");
18 |
19 | final MediaPlayer mediaPlayer = MediaPlayer.create(context, resId);
20 | mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
21 | @Override
22 | public void onCompletion(MediaPlayer mp) {
23 | mediaPlayer.release();
24 | }
25 | });
26 | mediaPlayer.start();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/util/TtsHelper.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.util;
2 |
3 | import android.content.Context;
4 | import android.speech.tts.TextToSpeech;
5 | import android.util.Log;
6 |
7 | import org.literacyapp.LiteracyApplication;
8 |
9 | public class TtsHelper {
10 |
11 | public static void speak(Context context, String text) {
12 | Log.i(TtsHelper.class.getName(), "speak");
13 |
14 | Log.i(TtsHelper.class.getName(), "text: " + text);
15 |
16 | LiteracyApplication literacyApplication = (LiteracyApplication) context;
17 | TextToSpeech tts = literacyApplication.getTts();
18 | tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/java/org/literacyapp/util/VersionHelper.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.util;
2 |
3 | import android.content.Context;
4 | import android.content.pm.PackageInfo;
5 | import android.content.pm.PackageManager;
6 | import android.util.Log;
7 |
8 | public class VersionHelper {
9 |
10 | /**
11 | * @return Application's version code from the {@code PackageManager}.
12 | */
13 | public static int getAppVersionCode(Context context) {
14 | Log.i(VersionHelper.class.getName(), "getAppVersionCode");
15 |
16 | try {
17 | PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
18 | return packageInfo.versionCode;
19 | } catch (PackageManager.NameNotFoundException e) {
20 | throw new RuntimeException("Could not get package name: " + e);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/anim_shake.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
13 |
14 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/checkmark_animation.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
14 |
15 |
16 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/path_morph.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/rotation.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/viseme_neutral_to_t_morph_animator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/viseme_penguin_a_to_neutral_morph_animator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/viseme_penguin_neutral_to_a_morph_animator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/viseme_penguin_neutral_to_t_morph_animator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/viseme_penguin_t_to_neutral_morph_animator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/viseme_t_to_neutral_morph_animator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/path.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/path_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/akili_neutral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/akili_neutral.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_checkmark.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_a.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_b.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_b_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_c.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_d.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_d_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_e.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_f.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_f_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_g.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_g_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_h.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_h_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_i.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_i_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_j.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_j_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_k.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_k_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_l.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_m.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_m_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_n.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_n_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_o.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_t.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_t_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_u.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_letter_u_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_1_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_4_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_5_stroke2.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_8.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_number_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/animated_star.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/authentication_instruction_640.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/authentication_instruction_640.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/authentication_instruction_girl_640.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/authentication_instruction_girl_640.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/avd.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button_custom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button_default.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
12 |
13 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button_disabled.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button_focused.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/checkmark.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
13 |
14 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_state_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_state_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/cow.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/deer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/deer.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/elephant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/elephant.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/gesture.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/hippo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/hippo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/horse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/horse.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_arrow_forward_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_call_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_camera_alt_black_128dp.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_camera_alt_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_chevron_right_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_explore_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_flight_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_grain_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_hearing_black_64dp.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_mail_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_person_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_play_circle_filled_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_play_circle_outline_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_query_builder_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_record_voice_over_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_room_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_send_grey_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_send_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_spellcheck_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/indicator_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/indicator_unselected.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/landscape_2560_1800.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/landscape_2560_1800.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_a.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_b_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_c.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_e.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_f.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_f_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_h.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_h_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_i.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_i_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_k.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_k_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_l.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_n.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_n_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
15 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_o.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_t.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_t_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_u.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/letter_u_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_colors.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_colors.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_dinosaur.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_dinosaur.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_dog.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_dog.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_fly.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_fly.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_jellyfish.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_jellyfish.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_sky.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_sky.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_space.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_space.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_spring.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_spring.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_sun.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/loading_sun.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_0.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_3.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_5.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_5_stroke2.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_6.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_7.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_8.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/number_9.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/pig.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/scrolling_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/scrolling_background.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/scrolling_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/scrolling_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/sheep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/sheep.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/van.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/van.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/vectordrawable.xml:
--------------------------------------------------------------------------------
1 |
6 |
11 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/video_thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/video_thumbnail.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_neutral.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_neutral_to_t_animated_vector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_penguin_a_to_neutral_animated_vector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_penguin_neutral_to_a_animated_vector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_penguin_neutral_to_t_animated_vector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_penguin_t_to_neutral_animated_vector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_t.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/viseme_t_to_neutral_animated_vector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/zebra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/drawable/zebra.png
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_lesson_complete.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_number_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_star.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_student_authentication.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_student_selection.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_tag_items.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_video.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_word_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_letters_letter_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_numbers_number_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_student_selection_extra_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_student_selection_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_videos_video_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
21 |
22 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_authentication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-hdpi/ic_launcher_authentication.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_literacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-hdpi/ic_launcher_literacy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_numeracy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-hdpi/ic_launcher_numeracy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_student_image_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-hdpi/ic_launcher_student_image_collection.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_videos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-hdpi/ic_launcher_videos.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_authentication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-mdpi/ic_launcher_authentication.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_literacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-mdpi/ic_launcher_literacy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_numeracy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-mdpi/ic_launcher_numeracy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_student_image_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-mdpi/ic_launcher_student_image_collection.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_videos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-mdpi/ic_launcher_videos.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_authentication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xhdpi/ic_launcher_authentication.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_literacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xhdpi/ic_launcher_literacy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_numeracy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xhdpi/ic_launcher_numeracy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_student_image_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xhdpi/ic_launcher_student_image_collection.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_videos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xhdpi/ic_launcher_videos.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_authentication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxhdpi/ic_launcher_authentication.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_literacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxhdpi/ic_launcher_literacy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_numeracy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxhdpi/ic_launcher_numeracy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_student_image_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxhdpi/ic_launcher_student_image_collection.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_videos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxhdpi/ic_launcher_videos.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_authentication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxxhdpi/ic_launcher_authentication.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_literacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxxhdpi/ic_launcher_literacy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_numeracy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxxhdpi/ic_launcher_numeracy.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_student_image_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxxhdpi/ic_launcher_student_image_collection.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_videos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/mipmap-xxxhdpi/ic_launcher_videos.png
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_letter_grapheme.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_letter_grapheme.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_letter_identification.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_letter_identification.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_letter_tracing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_letter_tracing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_letter_typing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_letter_typing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_number_grapheme.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_number_grapheme.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_number_identification.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_number_identification.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_number_tracing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_number_tracing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/activity_instruction_number_typing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/activity_instruction_number_typing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_fallback_registration_button.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_fallback_registration_button.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_fallback_registration_complete.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_fallback_registration_complete.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_fallback_registration_picture.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_fallback_registration_picture.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_fallback_selection.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_fallback_selection.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_fallback_selection_hint.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_fallback_selection_hint.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_tablet_placement.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_tablet_placement.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/auth_tablet_placement_overlay.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/auth_tablet_placement_overlay.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_0.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_1.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_2.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_3.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_4.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_5.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_6.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_6.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_7.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_7.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_8.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_8.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/digit_9.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/digit_9.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_a.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_a.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_b.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_b.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_ch.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_ch.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_d.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_d.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_e.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_e.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_f.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_f.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_g.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_g.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_h.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_h.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_i.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_i.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_j.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_k.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_k.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_l.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_l.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_m.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_m.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_n.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_n.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_o.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_o.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_p.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_p.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_r.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_r.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_s.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_s.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_t.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_t.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_u.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_u.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_v.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_v.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_w.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_w.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_y.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_y.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_name_z.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_name_z.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_a.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_a.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_b.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_b.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_ch.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_ch.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_d.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_d.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_dh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_dh.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_e.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_e.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_g.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_g.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_gh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_gh.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_h.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_h.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_i.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_i.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_j.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_k.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_k.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_kh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_kh.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_l.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_l.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_m.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_m.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_mb.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_mb.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_mv.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_mv.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_n.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_n.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_nd.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_nd.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_ng.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_ng.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_ngg.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_ngg.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_nj.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_nj.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_ny.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_ny.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_nz.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_nz.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_o.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_o.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_p.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_p.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_r.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_r.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_s.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_s.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_sh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_sh.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_t.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_t.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_th.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_th.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_u.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_u.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_v.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_v.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_w.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_w.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_y.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_y.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw-sw/letter_sound_z.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw-sw/letter_sound_z.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_letter_grapheme.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_letter_grapheme.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_letter_identification.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_letter_identification.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_letter_tracing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_letter_tracing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_letter_typing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_letter_typing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_number_grapheme.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_number_grapheme.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_number_identification.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_number_identification.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_number_tracing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_number_tracing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/activity_instruction_number_typing.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/activity_instruction_number_typing.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/alternative_correct.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/alternative_correct.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/alternative_incorrect.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/alternative_incorrect.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_fallback_registration_button.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_fallback_registration_button.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_fallback_registration_complete.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_fallback_registration_complete.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_fallback_registration_picture.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_fallback_registration_picture.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_fallback_selection.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_fallback_selection.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_fallback_selection_hint.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_fallback_selection_hint.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_tablet_placement.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_tablet_placement.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/auth_tablet_placement_overlay.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/auth_tablet_placement_overlay.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/cow.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/cow.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/deer.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/deer.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_0.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_1.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_2.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_3.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_4.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_5.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_6.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_6.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_7.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_7.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_8.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_8.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/digit_9.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/digit_9.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/elephant.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/elephant.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/hippo.m4a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/hippo.m4a
--------------------------------------------------------------------------------
/app/src/main/res/raw/horse.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/horse.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_a.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_a.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_b.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_b.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_c.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_c.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_d.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_d.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_e.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_e.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_f.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_f.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_g.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_g.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_h.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_h.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_i.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_i.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_j.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_k.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_k.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_l.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_l.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_m.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_m.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_n.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_n.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_o.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_o.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_p.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_p.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_q.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_q.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_r.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_r.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_s.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_s.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_t.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_t.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_u.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_u.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_v.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_v.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_w.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_w.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_x.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_x.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_y.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_y.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_name_z.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_name_z.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_a.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_a.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ai.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ai.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ar.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ar.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_b.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_b.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_c.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_c.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ch.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ch.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_d.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_d.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_e.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_e.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ee.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ee.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_er.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_er.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_f.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_f.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_g.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_g.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_h.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_h.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_i.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_i.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ie.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ie.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_j.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_k.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_k.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_l.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_l.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_m.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_m.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_n.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_n.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ng.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ng.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_o.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_o.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_oa.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_oa.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_oi.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_oi.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_oo.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_oo.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_oo_u.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_oo_u.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_or.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_or.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ou.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ou.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_p.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_p.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_q.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_q.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_qu.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_qu.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_r.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_r.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_s.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_s.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_sh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_sh.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_t.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_t.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_th.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_th.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_th_t.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_th_t.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_u.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_u.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_ue.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_ue.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_v.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_v.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_w.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_w.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_x.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_x.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_y.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_y.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/letter_sound_z.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/letter_sound_z.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/level_up.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/level_up.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/menu.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/menu.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/pig.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/pig.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/pipe.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/pipe.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/plop.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/plop.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/selection.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/selection.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/sheep.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/sheep.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/tada.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/tada.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/vocal_plop.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/vocal_plop.mp3
--------------------------------------------------------------------------------
/app/src/main/res/raw/waterdrop.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/waterdrop.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/woosh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/woosh.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/zebra.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/app/src/main/res/raw/zebra.wav
--------------------------------------------------------------------------------
/app/src/main/res/values-land/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 | 200sp
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 | 16dp
3 | 16dp
4 | 8dp
5 | 140sp
6 | 16dp
7 | 16dp
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 3
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | LiteracyApp
3 |
4 | Server is not reachable. See the log for details.
5 | Wi-Fi needs to be enabled
6 | Registering device...
7 | Downloading content...
8 | Device registration failed
9 | Download complete
10 | Wi-Fi needs to be connected
11 | LettersActivity
12 | StudentSelectionActivity
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/test/java/org/literacyapp/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 |
12 | @Test
13 | public void addition_isCorrect() throws Exception {
14 | assertEquals(4, 2 + 2);
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/test/java/org/literacyapp/util/StudentHelperTest.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.util;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.junit.Assert.assertThat;
7 |
8 | public class StudentHelperTest {
9 |
10 | @Test
11 | public void testExtractDeviceIdFromUniqueId() {
12 | String uniqueId = "4113947bec18b7ad_1";
13 | String deviceId = StudentHelper.extractDeviceIdFromUniqueId(uniqueId);
14 | assertThat(deviceId, is("4113947bec18b7ad"));
15 | }
16 |
17 | @Test
18 | public void testExtractLongIdFromUniqueId() {
19 | String uniqueId = "4113947bec18b7ad_1";
20 | Long longId = StudentHelper.extractLongIdFromUniqueId(uniqueId);
21 | assertThat(longId, is(1L));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | mavenCentral()
7 | }
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:2.2.3'
10 |
11 | // NOTE: Do not place your application dependencies here; they belong
12 | // in the individual module build.gradle files
13 | }
14 | }
15 |
16 | tasks.withType(JavaCompile) {
17 | options.encoding = 'UTF-8'
18 | }
19 |
20 | allprojects {
21 | repositories {
22 | mavenLocal()
23 | jcenter()
24 | mavenCentral()
25 | maven {
26 | url "https://dl.bintray.com/elimu-ai/maven/"
27 | }
28 | maven {
29 | url "https://dl.bintray.com/qualeams/Android-Face-Recognition-Deep-Learning-Library/"
30 | }
31 | }
32 | }
33 |
34 | task clean(type: Delete) {
35 | delete rootProject.buildDir
36 | }
37 |
--------------------------------------------------------------------------------
/contentprovider/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/contentprovider/src/androidTest/java/org/literacyapp/contentprovider/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumentation test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("org.literacyapp.contentprovider.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/contentprovider/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/AudioFormatConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.AudioFormat;
7 |
8 | public class AudioFormatConverter implements PropertyConverter {
9 |
10 | @Override
11 | public AudioFormat convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | AudioFormat entityProperty = AudioFormat.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(AudioFormat entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/CalendarConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 |
7 | import java.util.Calendar;
8 |
9 | public class CalendarConverter implements PropertyConverter {
10 |
11 | @Override
12 | public Calendar convertToEntityProperty(Long databaseValue) {
13 | Log.d(getClass().getName(), "convertToEntityProperty");
14 |
15 | Calendar calendar = Calendar.getInstance();
16 | calendar.setTimeInMillis(databaseValue);
17 | Log.d(getClass().getName(), "calendar.getTime(): " + calendar.getTime());
18 | return calendar;
19 | }
20 |
21 | @Override
22 | public Long convertToDatabaseValue(Calendar entityProperty) {
23 | Log.d(getClass().getName(), "convertToDatabaseValue");
24 |
25 | Long databaseValue = entityProperty.getTimeInMillis();
26 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
27 | return databaseValue;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/ContentStatusConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.ContentStatus;
7 |
8 | public class ContentStatusConverter implements PropertyConverter {
9 |
10 | @Override
11 | public ContentStatus convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | ContentStatus entityProperty = ContentStatus.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(ContentStatus entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/GradeLevelConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.GradeLevel;
7 | import org.literacyapp.model.enums.Locale;
8 |
9 | public class GradeLevelConverter implements PropertyConverter {
10 |
11 | @Override
12 | public GradeLevel convertToEntityProperty(String databaseValue) {
13 | Log.d(getClass().getName(), "convertToEntityProperty");
14 |
15 | GradeLevel gradeLevel = GradeLevel.valueOf(databaseValue);
16 | Log.d(getClass().getName(), "gradeLevel: " + gradeLevel);
17 | return gradeLevel;
18 | }
19 |
20 | @Override
21 | public String convertToDatabaseValue(GradeLevel entityProperty) {
22 | Log.d(getClass().getName(), "convertToDatabaseValue");
23 |
24 | String databaseValue = entityProperty.toString();
25 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
26 | return databaseValue;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/ImageFormatConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.ImageFormat;
7 |
8 | public class ImageFormatConverter implements PropertyConverter {
9 |
10 | @Override
11 | public ImageFormat convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | ImageFormat entityProperty = ImageFormat.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(ImageFormat entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/LipRoundingConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.allophone.LipRounding;
7 |
8 | public class LipRoundingConverter implements PropertyConverter {
9 |
10 | @Override
11 | public LipRounding convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | LipRounding entityProperty = LipRounding.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(LipRounding entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/LocaleConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.Locale;
7 |
8 | public class LocaleConverter implements PropertyConverter {
9 |
10 | @Override
11 | public Locale convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | Locale locale = Locale.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "locale: " + locale);
16 | return locale;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(Locale entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/SoundTypeConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.allophone.SoundType;
7 |
8 | public class SoundTypeConverter implements PropertyConverter {
9 |
10 | @Override
11 | public SoundType convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | SoundType entityProperty = SoundType.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(SoundType entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/VideoFormatConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.VideoFormat;
7 |
8 | public class VideoFormatConverter implements PropertyConverter {
9 |
10 | @Override
11 | public VideoFormat convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | VideoFormat entityProperty = VideoFormat.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(VideoFormat entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/VowelHeightConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.allophone.VowelHeight;
7 |
8 | public class VowelHeightConverter implements PropertyConverter {
9 |
10 | @Override
11 | public VowelHeight convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | VowelHeight entityProperty = VowelHeight.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(VowelHeight entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/java/org/literacyapp/contentprovider/dao/converter/VowelLengthConverter.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider.dao.converter;
2 |
3 | import android.util.Log;
4 |
5 | import org.greenrobot.greendao.converter.PropertyConverter;
6 | import org.literacyapp.model.enums.content.allophone.VowelLength;
7 |
8 | public class VowelLengthConverter implements PropertyConverter {
9 |
10 | @Override
11 | public VowelLength convertToEntityProperty(String databaseValue) {
12 | Log.d(getClass().getName(), "convertToEntityProperty");
13 |
14 | VowelLength entityProperty = VowelLength.valueOf(databaseValue);
15 | Log.d(getClass().getName(), "entityProperty: " + entityProperty);
16 | return entityProperty;
17 | }
18 |
19 | @Override
20 | public String convertToDatabaseValue(VowelLength entityProperty) {
21 | Log.d(getClass().getName(), "convertToDatabaseValue");
22 |
23 | String databaseValue = entityProperty.toString();
24 | Log.d(getClass().getName(), "databaseValue: " + databaseValue);
25 | return databaseValue;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/contentprovider/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Content Provider
3 |
4 |
--------------------------------------------------------------------------------
/contentprovider/src/test/java/org/literacyapp/contentprovider/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package org.literacyapp.contentprovider;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elimu-ai/ml-authentication/0a7a6bb02ab676da2cc176f059727eed58eb6937/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Nov 15 10:42:34 EAT 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/openCVLibrary310/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.1"
6 |
7 | defaultConfig {
8 | minSdkVersion 21
9 | targetSdkVersion 23
10 | }
11 |
12 | buildTypes {
13 | release {
14 | minifyEnabled false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 |
19 | lintOptions {
20 | abortOnError false
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/openCVLibrary310/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/java/org/opencv/android/InstallCallbackInterface.java:
--------------------------------------------------------------------------------
1 | package org.opencv.android;
2 |
3 | /**
4 | * Installation callback interface.
5 | */
6 | public interface InstallCallbackInterface
7 | {
8 | /**
9 | * New package installation is required.
10 | */
11 | static final int NEW_INSTALLATION = 0;
12 | /**
13 | * Current package installation is in progress.
14 | */
15 | static final int INSTALLATION_PROGRESS = 1;
16 |
17 | /**
18 | * Target package name.
19 | * @return Return target package name.
20 | */
21 | public String getPackageName();
22 | /**
23 | * Installation is approved.
24 | */
25 | public void install();
26 | /**
27 | * Installation is canceled.
28 | */
29 | public void cancel();
30 | /**
31 | * Wait for package installation.
32 | */
33 | public void wait_install();
34 | };
35 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/java/org/opencv/core/CvException.java:
--------------------------------------------------------------------------------
1 | package org.opencv.core;
2 |
3 | public class CvException extends RuntimeException {
4 |
5 | private static final long serialVersionUID = 1L;
6 |
7 | public CvException(String msg) {
8 | super(msg);
9 | }
10 |
11 | @Override
12 | public String toString() {
13 | return "CvException [" + super.toString() + "]";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/java/org/opencv/ml/Ml.java:
--------------------------------------------------------------------------------
1 |
2 | //
3 | // This file is auto-generated. Please don't modify it!
4 | //
5 | package org.opencv.ml;
6 |
7 |
8 |
9 | public class Ml {
10 |
11 | public static final int
12 | VAR_NUMERICAL = 0,
13 | VAR_ORDERED = 0,
14 | VAR_CATEGORICAL = 1,
15 | TEST_ERROR = 0,
16 | TRAIN_ERROR = 1,
17 | ROW_SAMPLE = 0,
18 | COL_SAMPLE = 1;
19 |
20 |
21 |
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/java/org/opencv/objdetect/BaseCascadeClassifier.java:
--------------------------------------------------------------------------------
1 |
2 | //
3 | // This file is auto-generated. Please don't modify it!
4 | //
5 | package org.opencv.objdetect;
6 |
7 | import org.opencv.core.Algorithm;
8 |
9 | // C++: class BaseCascadeClassifier
10 | //javadoc: BaseCascadeClassifier
11 | public class BaseCascadeClassifier extends Algorithm {
12 |
13 | protected BaseCascadeClassifier(long addr) { super(addr); }
14 |
15 |
16 | @Override
17 | protected void finalize() throws Throwable {
18 | delete(nativeObj);
19 | }
20 |
21 |
22 |
23 | // native support for java finalize()
24 | private static native void delete(long nativeObj);
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/java/org/opencv/video/DualTVL1OpticalFlow.java:
--------------------------------------------------------------------------------
1 |
2 | //
3 | // This file is auto-generated. Please don't modify it!
4 | //
5 | package org.opencv.video;
6 |
7 |
8 |
9 | // C++: class DualTVL1OpticalFlow
10 | //javadoc: DualTVL1OpticalFlow
11 | public class DualTVL1OpticalFlow extends DenseOpticalFlow {
12 |
13 | protected DualTVL1OpticalFlow(long addr) { super(addr); }
14 |
15 |
16 | @Override
17 | protected void finalize() throws Throwable {
18 | delete(nativeObj);
19 | }
20 |
21 |
22 |
23 | // native support for java finalize()
24 | private static native void delete(long nativeObj);
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/openCVLibrary310/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':openCVLibrary310', ':contentprovider'
2 |
--------------------------------------------------------------------------------