Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion app/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="106"
android:versionName="2.58">
android:versionName="2.59">

<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Expand Down Expand Up @@ -594,6 +594,9 @@
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
<meta-data
android:name="firebase_performance_collection_enabled"
android:value="false" />

<!-- Somehow this receiver is getting triggered in Android 8+ devices and causing
IllegalStateException while trying to start map downloader service from background.
Expand Down
11 changes: 6 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ dependencies {
testImplementation 'io.mockk:mockk:1.12.7'
testImplementation 'org.json:json:20231013'
testImplementation 'org.mockito:mockito-core:5.5.0'
testImplementation 'org.json:json:20140107'
testImplementation project(path: ':commcare-core', configuration: 'testsAsJar')

androidTestImplementation 'androidx.test:runner:1.4.0'
Expand Down Expand Up @@ -107,7 +106,6 @@ dependencies {
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
implementation 'com.google.firebase:firebase-analytics:20.1.2'
implementation 'com.google.firebase:firebase-messaging:21.1.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
implementation 'com.google.firebase:firebase-perf:21.0.1'
implementation 'com.google.firebase:firebase-crashlytics:18.3.7'

Expand Down Expand Up @@ -191,16 +189,19 @@ ext {
'HJ+F335hm/lVdaFQzvBmeq64MUMbumheVLDJaSUiAVzqSHDKJWH01ZQRowqBYjwo' +
'ycVSQSeO2glc6XZZ+CJudAPXe8iFWLQp3kBBnBmVcBXCOQFO7aLgQMv4nqKZsLW0' +
'HaAJkjpnc165Os+aYwIDAQAB'
GOOGLE_SERVICES_API_KEY = project.properties['GOOGLE_SERVICES_API_KEY'] ?: ''
GOOGLE_CLOUD_PROJECT_NUMBER = project.properties['GOOGLE_CLOUD_PROJECT_NUMBER'] ?: -1L
//GOOGLE_SERVICES_API_KEY = project.properties['GOOGLE_SERVICES_API_KEY'] ?: ''
GOOGLE_CLOUD_PROJECT_NUMBER = '768065119425L'
QA_BETA_APP_ID = ''
STANDALONE_APP_ID = ''
LTS_APP_ID = ''
COMMCARE_APP_ID = ''
HQ_API_USERNAME = project.properties['HQ_API_USERNAME'] ?: ''
HQ_API_PASSWORD = project.properties['HQ_API_PASSWORD'] ?: ''
TEST_BUILD_TYPE = project.properties['TEST_BUILD_TYPE'] ?: 'debug'
FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
//FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
GOOGLE_SERVICES_API_KEY='AIzaSyBV76f3obt9IgMDfvphWX8ZM91z8d7rK2w'
FIREBASE_DATABASE_URL='https://commcare-a57e4.firebaseio.com'

Comment on lines +192 to +204
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Security concern: Hardcoded API keys in source code.

Hardcoding sensitive configuration values like GOOGLE_SERVICES_API_KEY and FIREBASE_DATABASE_URL directly in the build script exposes them in the source code repository. This creates security risks as these credentials become visible to anyone with repository access.

Consider using environment variables or secure configuration management instead:

-    //GOOGLE_SERVICES_API_KEY = project.properties['GOOGLE_SERVICES_API_KEY'] ?: ''
-    GOOGLE_CLOUD_PROJECT_NUMBER = '768065119425L'
-    //FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
-    GOOGLE_SERVICES_API_KEY='AIzaSyBV76f3obt9IgMDfvphWX8ZM91z8d7rK2w'
-    FIREBASE_DATABASE_URL='https://commcare-a57e4.firebaseio.com'
+    GOOGLE_SERVICES_API_KEY = project.properties['GOOGLE_SERVICES_API_KEY'] ?: ''
+    GOOGLE_CLOUD_PROJECT_NUMBER = project.properties['GOOGLE_CLOUD_PROJECT_NUMBER'] ?: -1L
+    FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
//GOOGLE_SERVICES_API_KEY = project.properties['GOOGLE_SERVICES_API_KEY'] ?: ''
GOOGLE_CLOUD_PROJECT_NUMBER = '768065119425L'
QA_BETA_APP_ID = ''
STANDALONE_APP_ID = ''
LTS_APP_ID = ''
COMMCARE_APP_ID = ''
HQ_API_USERNAME = project.properties['HQ_API_USERNAME'] ?: ''
HQ_API_PASSWORD = project.properties['HQ_API_PASSWORD'] ?: ''
TEST_BUILD_TYPE = project.properties['TEST_BUILD_TYPE'] ?: 'debug'
FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
//FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
GOOGLE_SERVICES_API_KEY='AIzaSyBV76f3obt9IgMDfvphWX8ZM91z8d7rK2w'
FIREBASE_DATABASE_URL='https://commcare-a57e4.firebaseio.com'
GOOGLE_SERVICES_API_KEY = project.properties['GOOGLE_SERVICES_API_KEY'] ?: ''
GOOGLE_CLOUD_PROJECT_NUMBER = project.properties['GOOGLE_CLOUD_PROJECT_NUMBER'] ?: -1L
QA_BETA_APP_ID = ''
STANDALONE_APP_ID = ''
LTS_APP_ID = ''
COMMCARE_APP_ID = ''
HQ_API_USERNAME = project.properties['HQ_API_USERNAME'] ?: ''
HQ_API_PASSWORD = project.properties['HQ_API_PASSWORD'] ?: ''
TEST_BUILD_TYPE = project.properties['TEST_BUILD_TYPE'] ?: 'debug'
FIREBASE_DATABASE_URL = project.properties['FIREBASE_DATABASE_URL'] ?: ''
🤖 Prompt for AI Agents
In app/build.gradle around lines 192 to 204, the GOOGLE_SERVICES_API_KEY and
FIREBASE_DATABASE_URL are hardcoded, exposing sensitive credentials in the
source code. Remove these hardcoded values and instead retrieve them from
environment variables or secure project properties using syntax like
project.properties or System.getenv. Update the build script to fallback to
empty strings or defaults if these variables are not set, ensuring credentials
are not stored directly in the repository.

}

afterEvaluate {
Expand Down
5 changes: 3 additions & 2 deletions app/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
<string name="busy_message">Todavía estamos procesando tu solicitud anterior. Inténtalo de nuevo más tarde.</string>
<string name="connect_button_logged_in">Ir al menú Conectar</string>
<string name="personalid_generic_error">Ocurrió un problema con la base de datos, recupera tu cuenta.</string>
<string name="connect_registration_title">Registro de PersonalId</string>
<string name="connect_registration_title">Comience a usar PersonalID</string>
<string name="connect_consent_message_1">He leído y acepto la <a href="https://www.dimagi.com/terms/latest/privacy/">Política de Privacidad</a>, los <a href="https://www.dimagi.com/terms/latest/tos/">Términos de Servicio</a>, el <a href="https://www.dimagi.com/terms/latest/ba/">Acuerdo Comercial</a> y la <a href="https://www.dimagi.com/terms/latest/aup/">Política de Uso Aceptable</a> de Dimagi.</string>
<string name="connect_phone_country_code_default">+1</string>
<string name="connect_phone_number_hint">0000000000</string>
Expand Down Expand Up @@ -441,7 +441,8 @@
<string name="personalid_name_empty_error">El campo Nombre no puede estar vacío</string>
<string name="personalid_configuration_process_failed_title">Proceso fallido</string>
<string name="personalid_configuration_process_failed_subtitle">Tu dispositivo no es compatible con PersonalID en este momento. Por favor, inténtalo de nuevo en otro dispositivo.</string>
<string name="personalid_configuration_process_failed_security_subtitle">Tu dispositivo no es compatible con PersonalID en este momento debido a la falta de disponibilidad de la función de seguridad. Por favor, inténtalo de nuevo en otro dispositivo.</string>
<string name="personalid_configuration_process_pin_unavailable_message">El mecanismo de seguridad del PIN no está disponible; solucione este problema o inténtelo nuevamente con un dispositivo diferente.</string>
<string name="personalid_configuration_process_biometric_unavailable_message">El mecanismo de seguridad biométrica no está disponible, solucione este problema o inténtelo nuevamente con un dispositivo diferente.</string>
<string name="personalid_configuration_process_failed_play_services">Asegúrate de que Play Store esté disponible en tu dispositivo y que esté actualizado.</string>
<string name="personalid_configuration_process_failed_temporary_unavailable">Error temporal al verificar la elegibilidad de tu dispositivo. Por favor, inténtalo de nuevo después de un día.</string>
<string name="personalid_configuration_process_failed_network_error">Error de red al verificar la elegibilidad de tu dispositivo. Asegúrate de tener una buena conexión de red e inténtalo de nuevo.</string>
Expand Down
5 changes: 3 additions & 2 deletions app/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ License.
<string name="busy_message">Nous sommes encore en train de traiter votre demande précédente. Veuillez réessayer plus tard.</string>
<string name="connect_button_logged_in">Accéder au menu Connecter</string>
<string name="personalid_generic_error">Un problème est survenu avec la base de données, veuillez récupérer votre compte.</string>
<string name="connect_registration_title">Inscription PersonalId</string>
<string name="connect_registration_title">Démarrer avec PersonalID</string>
<string name="connect_consent_message_1">J\'ai lu et j\'accepte la <a href="https://www.dimagi.com/terms/latest/privacy/">politique de confidentialité</a>, les <a href="https://www.dimagi.com/terms/latest/tos/">conditions de service</a>, l\'<a href="https://www.dimagi.com/terms/latest/ba/">accord commercial</a> et la <a href="https://www.dimagi.com/terms/latest/aup/">politique d\'utilisation acceptable</a> de Dimagi.</string>
<string name="connect_phone_country_code_default">+1</string>
<string name="connect_phone_number_hint">0000000000</string>
Expand Down Expand Up @@ -442,7 +442,8 @@ License.
<string name="personalid_configuration_process_failed_title">Échec du processus</string>
<string name="personalid_configuration_locked_account">Votre compte a été bloqué. Veuillez contacter le support</string>
<string name="personalid_configuration_process_failed_subtitle">Votre appareil n\'est pas compatible avec PersonalID pour le moment. Veuillez réessayer sur un autre appareil.</string>
<string name="personalid_configuration_process_failed_security_subtitle">Votre appareil n\'est pas compatible avec PersonalID pour le moment en raison de l\'indisponibilité de la fonctionnalité de sécurité. Veuillez réessayer sur un autre appareil.</string>
<string name="personalid_configuration_process_pin_unavailable_message">Le mécanisme de sécurité PIN n\'est pas disponible, veuillez résoudre ce problème ou réessayer avec un autre appareil.</string>
<string name="personalid_configuration_process_biometric_unavailable_message">Le mécanisme de sécurité biométrique n\'est pas disponible, veuillez résoudre ce problème ou réessayer avec un autre appareil.</string>
<string name="personalid_configuration_process_failed_play_services">Veuillez vous assurer que le Play Store est disponible sur votre appareil et qu\'il est à jour.</string>
<string name="personalid_configuration_process_failed_temporary_unavailable">Erreur temporaire lors de la vérification de l\'éligibilité de votre appareil. Veuillez réessayer après un jour.</string>
<string name="personalid_configuration_process_failed_network_error">Erreur réseau lors de la vérification de l\'éligibilité de votre appareil. Veuillez vous assurer que vous disposez d\'une bonne connexion réseau et réessayez.</string>
Expand Down
5 changes: 3 additions & 2 deletions app/res/values-hi/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ License.
<string name="busy_message">हम अभी भी आपके पिछले अनुरोध को संसाधित कर रहे हैं। कृपया बाद में पुनः प्रयास करें।</string>
<string name="connect_button_logged_in">कनेक्ट मेनू पर जाएं</string>
<string name="personalid_generic_error">डेटाबेस के साथ कोई समस्या हुई है, कृपया अपना खाता पुनर्प्राप्त करें।</string>
<string name="connect_registration_title">PersonalId पंजीकरण</string>
<string name="connect_registration_title">पर्सनलआईडी के साथ शुरुआत करें</string>
<string name="connect_consent_message_1">मैंने डिमागी की <a href="https://www.dimagi.com/terms/latest/privacy/">गोपनीयता नीति</a>, <a href="https://www.dimagi.com/terms/latest/tos/">सेवा की शर्तें</a>, <a href="https://www.dimagi.com/terms/latest/ba/">व्यावसायिक समझौता</a> और <a href="https://www.dimagi.com/terms/latest/aup/">स्वीकार्य उपयोग नीति</a> पढ़ ली है और मैं उनसे सहमत हूं।</string>
<string name="connect_phone_country_code_default">+91</string>
<string name="connect_phone_number_hint">0000000000</string>
Expand Down Expand Up @@ -441,7 +441,8 @@ License.
<string name="personalid_name_empty_error">नाम फ़ील्ड खाली नहीं हो सकता</string>
<string name="personalid_configuration_process_failed_title">प्रक्रिया विफल</string>
<string name="personalid_configuration_process_failed_subtitle">आपका डिवाइस अभी PersonalID के साथ संगत नहीं है। कृपया किसी अन्य डिवाइस पर पुनः प्रयास करें।</string>
<string name="personalid_configuration_process_failed_security_subtitle">सुरक्षा सुविधा की अनुपलब्धता के कारण आपका डिवाइस अभी PersonalID के साथ संगत नहीं है। कृपया किसी अन्य डिवाइस पर पुनः प्रयास करें।</string>
<string name="personalid_configuration_process_pin_unavailable_message">पिन सुरक्षा तंत्र उपलब्ध नहीं है, कृपया इस समस्या को ठीक करें या किसी अन्य डिवाइस के साथ पुनः प्रयास करें।</string>
<string name="personalid_configuration_process_biometric_unavailable_message">बायोमेट्रिक सुरक्षा तंत्र उपलब्ध नहीं है, कृपया इस समस्या को ठीक करें या किसी अन्य डिवाइस के साथ पुनः प्रयास करें।</string>
<string name="personalid_configuration_process_failed_play_services">कृपया सुनिश्चित करें कि Play Store आपके डिवाइस पर उपलब्ध है और यह अद्यतित है।</string>
<string name="personalid_configuration_process_failed_temporary_unavailable">आपके डिवाइस की पात्रता की जांच करते समय अस्थायी त्रुटि। कृपया एक दिन बाद पुनः प्रयास करें।</string>
<string name="personalid_configuration_process_failed_network_error">आपके डिवाइस की पात्रता की जांच करते समय नेटवर्क त्रुटि। कृपया सुनिश्चित करें कि आपके पास एक अच्छा नेटवर्क कनेक्शन है और पुनः प्रयास करें।</string>
Expand Down
5 changes: 3 additions & 2 deletions app/res/values-pt/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@
<string name="busy_message">Ainda estamos ocupados processando sua solicitação anterior. Por favor, tente novamente em alguns momentos.</string>
<string name="connect_button_logged_in">Vá para o Conectar menu</string>
<string name="personalid_generic_error">Ocorreu um problema. Configure sua conta PersonalID novamente.</string>
<string name="connect_registration_title">Inscrição no Connect ID</string>
<string name="connect_registration_title">Comece a usar o PersonalID</string>
<string name="connect_consent_message_1">Li e concordo com a <a href="https://www.dimagi.com/terms/latest/privacy/">Política de Privacidade</a>, os <a href="https://www.dimagi.com/terms/latest/tos/">Termos de Serviço</a>, o <a href="https://www.dimagi.com/terms/latest/ba/">Contrato Comercial</a> e a <a href="https://www.dimagi.com/terms/latest/aup/">Política de Uso Aceitável</a> da Dimagi.</string>
<string name="connect_phone_country_code_default">+1</string>
<string name="connect_phone_number_hint">0000000000</string>
Expand Down Expand Up @@ -448,7 +448,8 @@
<string name="personalid_configuration_process_failed_title">Falha no processo</string>
<string name="personalid_configuration_locked_account">A sua conta foi bloqueada. Entre em contacto com o suporte</string>
<string name="personalid_configuration_process_failed_subtitle">De momento, o seu dispositivo não está qualificado para se inscrever no PersonalID. Tente novamente noutro dispositivo.</string>
<string name="personalid_configuration_process_failed_security_subtitle">De momento, o seu dispositivo não está qualificado para se inscrever no PersonalID devido à indisponibilidade da funcionalidade de segurança %s. Tente novamente noutro dispositivo.</string>
<string name="personalid_configuration_process_pin_unavailable_message">O mecanismo de segurança do PIN não está disponível. Corrija o problema ou tente novamente com um dispositivo diferente.</string>
<string name="personalid_configuration_process_biometric_unavailable_message">O mecanismo de segurança biométrica não está disponível. Corrija o problema ou tente novamente com um dispositivo diferente.</string>
<string name="personalid_configuration_process_failed_play_services">Certifique-se de que a Play Store está disponível no seu dispositivo e está atualizada.</string>
<string name="personalid_configuration_process_failed_temporary_unavailable">Erro temporário ao verificar a elegibilidade do seu dispositivo. Por favor, tente novamente depois de um dia.</string>
<string name="personalid_configuration_process_failed_network_error">Erro de rede ao verificar a elegibilidade do seu dispositivo. Por favor, certifique-se de que tem uma boa conexão de rede e tente novamente.</string>
Expand Down
5 changes: 3 additions & 2 deletions app/res/values-sw/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@
<string name="busy_message">Bado tunashughulika kuchakata ombi lako la awali. Tafadhali jaribu tena baada ya muda fulani.</string>
<string name="connect_button_logged_in">Nenda kwenye menyu ya Unganisha</string>
<string name="personalid_generic_error">Tatizo limetokea, tafadhali sanidi akaunti yako ya Kitambulisho cha Kibinafsi tena.</string>
<string name="connect_registration_title">Usajili wa PersonalId</string>
<string name="connect_registration_title">Anza na PersonalID</string>
<string name="connect_consent_message_1">Nimesoma na kukubaliana na <a href="https://www.dimagi.com/terms/latest/privacy/">Sera ya Faragha</a> ya Dimagi, <a href="https://www.dimagi.com/terms/latest/tos/">Sheria na Masharti</a>, <a href="https://www.dimagi.com/terms/latest/ba/">Makubaliano ya Biashara</a> na <a href="https://www.dimagi.com/terms/latest/aup/">Sera ya Matumizi Yanayokubalika</a>.</string>
<string name="connect_phone_country_code_default">+1</string>
<string name="connect_phone_number_hint">0000000000</string>
Expand Down Expand Up @@ -448,7 +448,8 @@
<string name="personalid_configuration_process_failed_title">Mchakato Umeshindwa</string>
<string name="personalid_configuration_locked_account">Akaunti yako imefungwa. Tafadhali wasiliana na usaidizi</string>
<string name="personalid_configuration_process_failed_subtitle">Kifaa chako hakijatimiza masharti ya kujisajili kwa Kitambulisho cha Kibinafsi kwa wakati huu. Tafadhali jaribu tena kwenye kifaa tofauti.</string>
<string name="personalid_configuration_process_failed_security_subtitle">Kifaa chako hakijatimiza masharti ya kujisajili kwa Kitambulisho cha Kibinafsi kwa wakati huu kwa sababu ya kutopatikana kwa kipengele cha usalama cha %s. Tafadhali jaribu tena kwenye kifaa tofauti.</string>
<string name="personalid_configuration_process_pin_unavailable_message">Utaratibu wa usalama wa PIN haupatikani, tafadhali suluhisha suala hili au ujaribu tena ukitumia kifaa tofauti.</string>
<string name="personalid_configuration_process_biometric_unavailable_message">Utaratibu wa usalama wa kibayometriki haupatikani, tafadhali suluhisha suala hili au ujaribu tena ukitumia kifaa tofauti.</string>
<string name="personalid_configuration_process_failed_play_services">Tafadhali hakikisha kuwa Play Store inapatikana kwenye kifaa chako na imesasishwa.</string>
<string name="personalid_configuration_process_failed_temporary_unavailable">Hitilafu ya muda katika kuthibitisha ustahiki wa kifaa chako. Tafadhali jaribu tena baada ya siku moja.</string>
<string name="personalid_configuration_process_failed_network_error">Hitilafu ya mtandao katika kuthibitisha ustahiki wa kifaa chako. Tafadhali hakikisha una muunganisho mzuri wa mtandao na jaribu tena.</string>
Expand Down
Loading
Loading