Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
ac72c38
Hide Notifications behind a feature flag
shubham1g5 Oct 7, 2025
2d109d0
Fixes data type for opportunity id
shubham1g5 Oct 7, 2025
525c7f5
Gate more notifications functionality
shubham1g5 Oct 7, 2025
666f046
hide notifications on connect screens as well
shubham1g5 Oct 7, 2025
f945886
Merge pull request #3358 from dimagi/hideNotification
shubham1g5 Oct 7, 2025
9fbc134
Switch to parsing opportunity id as both String and Int from intent a…
shubham1g5 Oct 8, 2025
8b12f09
Merge pull request #3359 from dimagi/fixIntentType
shubham1g5 Oct 8, 2025
2280147
Only overriding job status from existing if the existing value is lat…
OrangeAndGreen Oct 8, 2025
89cd91a
Changed manifest back to 2.60
OrangeAndGreen Oct 8, 2025
b9a85f7
Merge pull request #3361 from dimagi/job_status_fix
OrangeAndGreen Oct 8, 2025
815ee6e
Clean error code handling for Personal ID and logs it to firebase
shubham1g5 Oct 9, 2025
b5e000c
correct argument order
shubham1g5 Oct 9, 2025
038f448
remove messaging icon from app bar
shubham1g5 Oct 9, 2025
671863b
abstract error code handling to a util class
shubham1g5 Oct 9, 2025
aeb7aa4
move network logging helpers to utils
shubham1g5 Oct 9, 2025
1a6483b
Adds error code logging for connect network helper
shubham1g5 Oct 9, 2025
694a562
better manage error stream
shubham1g5 Oct 13, 2025
1cf49c3
Merge pull request #3363 from dimagi/removeMessagingFromAppBar
shubham1g5 Oct 13, 2025
f507cc3
change log for unknown urls
shubham1g5 Oct 13, 2025
cb846c9
Correct key for sub error code
shubham1g5 Oct 14, 2025
d945455
Merge pull request #3365 from dimagi/correctErrorParsing
shubham1g5 Oct 15, 2025
d39e2e6
Add action field during serialization
avazirna Oct 15, 2025
a805781
Merge branch 'commcare_2.60' into fix-fcmmessagedata-serialization-issue
avazirna Oct 15, 2025
2761dec
Log exceptions when stop tracing
avazirna Oct 15, 2025
5498cfd
Merge pull request #3366 from dimagi/fix-fcmmessagedata-serialization…
avazirna Oct 15, 2025
91732a0
Merge pull request #3367 from dimagi/log-perf-monitoring-exception
avazirna Oct 15, 2025
7cfc5a0
Rearranged logic for showing fingerprint/PIN option on biometric conf…
OrangeAndGreen Oct 15, 2025
e4b484b
pass errorBody instead of error codes as we are more probably to have…
shubham1g5 Oct 16, 2025
dcab599
Merge branch 'commcare_2.60' into logErrorCodes
shubham1g5 Oct 16, 2025
87507be
fix arguments
shubham1g5 Oct 16, 2025
b42406c
revert change to only count approved visits
shubham1g5 Oct 16, 2025
82cd23a
Merge pull request #3368 from dimagi/revertApprovedVisitChange
shubham1g5 Oct 16, 2025
d887a1b
Merge pull request #3362 from dimagi/logErrorCodes
shubham1g5 Oct 16, 2025
0e3c96d
Using different messages in Biometric Config page to indicate choices…
OrangeAndGreen Oct 16, 2025
94d9dec
Merge branch 'commcare_2.60' into no_fingerprint_fix
shubham1g5 Oct 17, 2025
a587239
fix compile error
shubham1g5 Oct 17, 2025
0be4d61
Merge pull request #3369 from dimagi/no_fingerprint_fix
shubham1g5 Oct 17, 2025
07432fd
Log when scrolling to widget with focus
avazirna Oct 17, 2025
58e259d
Added analytics event for PersonalID account lockout (on Backup Code …
OrangeAndGreen Oct 17, 2025
a2bc6a1
Merge pull request #3371 from dimagi/lockout_analytics
OrangeAndGreen Oct 17, 2025
7913cde
Log when QuestionsView resizing fails
avazirna Oct 17, 2025
7af63ea
Merge branch 'commcare_2.60' into improve-logging-when-resizing-quest…
avazirna Oct 20, 2025
de1b89d
Merge pull request #3370 from dimagi/improve-logging-when-resizing-qu…
avazirna Oct 20, 2025
338ddf4
Automated: adding hotfix version to AndroidManifest
avazirna Oct 20, 2025
20dbbc9
Merge branch 'master' into commcare_2.60
avazirna Oct 20, 2025
9fb97f1
Merge branch 'master' into commcare_2.60
avazirna Oct 22, 2025
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
2 changes: 1 addition & 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.61">
android:versionName="2.60.0">

<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Expand Down
5 changes: 0 additions & 5 deletions app/res/menu/menu_connect.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_messaging"
android:icon="@drawable/ic_connect_messaging_base"
android:title="@string/personalid_messaging_menu_title"
app:showAsAction="always" />

<item
android:id="@+id/action_bell"
Expand Down
4 changes: 3 additions & 1 deletion app/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,9 @@
<string name="connect_register_success_message">¡Tu cuenta de PersonalId se ha creado con éxito y ahora está lista para usar!</string>
<string name="connect_register_success_button">DE ACUERDO</string>
<string name="connect_verify_title">Opciones de desbloqueo</string>
<string name="connect_verify_message">Configura un método a continuación para desbloquear tanto tu dispositivo como tu cuenta de PersonalId</string>
<string name="connect_verify_message">Configura un método a continuación para desbloquear tanto tu dispositivo como tu cuenta de PersonalID</string>
<string name="connect_verify_message_pin">Configure un PIN o patrón a continuación para desbloquear su dispositivo y su cuenta PersonalID</string>
<string name="connect_verify_message_fingerprint">Configure su huella digital a continuación para desbloquear tanto su dispositivo como su cuenta PersonalID</string>
Comment on lines +212 to +214
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Align imperative tone in Spanish localization.

Most Spanish strings in this screen use the informal imperative (“Configura”), but Lines 213-214 switch to the formal “Configure,” breaking consistency. Please keep all three sentences in the same voice (e.g., “Configura…”).

-    <string name="connect_verify_message_pin">Configure un PIN o patrón a continuación para desbloquear su dispositivo y su cuenta PersonalID</string>
-    <string name="connect_verify_message_fingerprint">Configure su huella digital a continuación para desbloquear tanto su dispositivo como su cuenta PersonalID</string>
+    <string name="connect_verify_message_pin">Configura un PIN o patrón a continuación para desbloquear tu dispositivo y tu cuenta PersonalID</string>
+    <string name="connect_verify_message_fingerprint">Configura tu huella digital a continuación para desbloquear tanto tu dispositivo como tu cuenta PersonalID</string>
🤖 Prompt for AI Agents
In app/res/values-es/strings.xml around lines 212 to 214, the three strings on
this screen mix informal ("Configura") and formal ("Configure") imperatives;
change the two formal occurrences to the informal form to match the rest of the
UI. Update the values for connect_verify_message_pin and
connect_verify_message_fingerprint to use "Configura" and keep the rest of the
phrasing identical (i.e., "Configura un PIN o patrón a continuación..." and
"Configura su huella digital a continuación...") so all three strings share the
same informal imperative tone.

Comment on lines +212 to +214
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Keep the imperative tone consistent

Line 212 retains the informal “Configura…”, but the newly added lines switch to the formal “Configure…”. Please align the new strings with the existing tone.

-    <string name="connect_verify_message_pin">Configure un PIN o patrón a continuación para desbloquear su dispositivo y su cuenta PersonalID</string>
-    <string name="connect_verify_message_fingerprint">Configure su huella digital a continuación para desbloquear tanto su dispositivo como su cuenta PersonalID</string>
+    <string name="connect_verify_message_pin">Configura un PIN o patrón a continuación para desbloquear tu dispositivo y tu cuenta PersonalID</string>
+    <string name="connect_verify_message_fingerprint">Configura tu huella digital a continuación para desbloquear tanto tu dispositivo como tu cuenta PersonalID</string>
📝 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
<string name="connect_verify_message">Configura un método a continuación para desbloquear tanto tu dispositivo como tu cuenta de PersonalID</string>
<string name="connect_verify_message_pin">Configure un PIN o patrón a continuación para desbloquear su dispositivo y su cuenta PersonalID</string>
<string name="connect_verify_message_fingerprint">Configure su huella digital a continuación para desbloquear tanto su dispositivo como su cuenta PersonalID</string>
<string name="connect_verify_message">Configura un método a continuación para desbloquear tanto tu dispositivo como tu cuenta de PersonalID</string>
<string name="connect_verify_message_pin">Configura un PIN o patrón a continuación para desbloquear tu dispositivo y tu cuenta PersonalID</string>
<string name="connect_verify_message_fingerprint">Configura tu huella digital a continuación para desbloquear tanto tu dispositivo como tu cuenta PersonalID</string>
🤖 Prompt for AI Agents
In app/res/values-es/strings.xml around lines 212 to 214, the existing string at
line 212 uses the informal imperative "Configura..." while the two new strings
on 213–214 use the formal "Configure..."; update the new strings to the informal
imperative to match tone—replace "Configure" with "Configura" in both
connect_verify_message_pin and connect_verify_message_fingerprint so all three
strings use the same informal phrasing.

<string name="connect_verify_use_fingerprint_long">Usar huella digital para iniciar sesión</string>
<string name="connect_verify_fingerprint_configured">Tu huella digital ya se ha configurado y se utilizará para desbloquear PersonalId.</string>
<string name="connect_verify_configure_fingerprint">Configurar huella digital</string>
Expand Down
4 changes: 3 additions & 1 deletion app/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,9 @@ License.
<string name="connect_register_success_message">Votre compte PersonalId a été créé avec succès et est maintenant prêt à être utilisé!</string>
<string name="connect_register_success_button">D\'ACCORD</string>
<string name="connect_verify_title">Options de déverrouillage</string>
<string name="connect_verify_message">Veuillez configurer une méthode ci-dessous pour déverrouiller à la fois votre appareil et votre compte PersonalId</string>
<string name="connect_verify_message">Veuillez configurer une méthode ci-dessous pour déverrouiller à la fois votre appareil et votre compte PersonalID</string>
<string name="connect_verify_message_pin">Veuillez configurer un code PIN ou un modèle ci-dessous pour déverrouiller votre appareil et votre compte PersonalID</string>
<string name="connect_verify_message_fingerprint">Veuillez configurer votre empreinte digitale ci-dessous pour déverrouiller à la fois votre appareil et votre compte PersonalID</string>
<string name="connect_verify_use_fingerprint_long">Utiliser l\'empreinte digitale pour se connecter</string>
<string name="connect_verify_fingerprint_configured">Votre empreinte digitale a déjà été configurée et sera utilisée pour déverrouiller PersonalId.</string>
<string name="connect_verify_configure_fingerprint">Configurer l\'empreinte digitale</string>
Expand Down
6 changes: 4 additions & 2 deletions app/res/values-hi/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -271,9 +271,11 @@ License.
<string name="connect_register_success_message">आपका PersonalId खाता सफलतापूर्वक बना लिया गया है और अब उपयोग के लिए तैयार है!</string>
<string name="connect_register_success_button">ठीक है</string>
<string name="connect_verify_title">अनलॉक विकल्प</string>
<string name="connect_verify_message">कृपया अपने डिवाइस और अपने PersonalId खाते दोनों को अनलॉक करने के लिए नीचे एक विधि कॉन्फ़िगर करें</string>
<string name="connect_verify_message">कृपया अपने डिवाइस और अपने PersonalID खाते दोनों को अनलॉक करने के लिए नीचे एक विधि कॉन्फ़िगर करें</string>
<string name="connect_verify_message_pin">कृपया अपने डिवाइस और पर्सनलआईडी खाते दोनों को अनलॉक करने के लिए नीचे पिन या पैटर्न कॉन्फ़िगर करें</string>
<string name="connect_verify_message_fingerprint">कृपया अपने डिवाइस और पर्सनलआईडी खाते दोनों को अनलॉक करने के लिए नीचे अपना फ़िंगरप्रिंट कॉन्फ़िगर करें</string>
<string name="connect_verify_use_fingerprint_long">लॉग इन करने के लिए फ़िंगरप्रिंट का उपयोग करें</string>
<string name="connect_verify_fingerprint_configured">आपका फ़िंगरप्रिंट पहले ही कॉन्फ़िगर किया जा चुका है और इसका उपयोग PersonalId को अनलॉक करने के लिए किया जाएगा।</string>
<string name="connect_verify_fingerprint_configured">आपका फ़िंगरप्रिंट पहले ही कॉन्फ़िगर किया जा चुका है और इसका उपयोग PersonalID को अनलॉक करने के लिए किया जाएगा।</string>
<string name="connect_verify_configure_fingerprint">फ़िंगरप्रिंट कॉन्फ़िगर करें</string>
<string name="connect_verify_use_pin_long">लॉग इन करने के लिए पिन का उपयोग करें</string>
<string name="connect_verify_pin_configured">आपका पिन पहले ही कॉन्फ़िगर किया जा चुका है और इसका उपयोग PersonalId को अनलॉक करने के लिए किया जाएगा।</string>
Expand Down
4 changes: 3 additions & 1 deletion app/res/values-pt/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,9 @@
<string name="connect_register_success_message">Sua conta PersonalId foi criada com sucesso e agora está pronta para você usar!</string>
<string name="connect_register_success_button">OK</string>
<string name="connect_verify_title">Opções de desbloqueio</string>
<string name="connect_verify_message">Configure um método abaixo para desbloquear o seu dispositivo e a conta PersonalId</string>
<string name="connect_verify_message">Configure um método abaixo para desbloquear o seu dispositivo e a conta PersonalID</string>
<string name="connect_verify_message_pin">Configure um PIN ou padrão abaixo para desbloquear seu dispositivo e sua conta PersonalID</string>
<string name="connect_verify_message_fingerprint">Configure sua impressão digital abaixo para desbloquear seu dispositivo e sua conta PersonalID</string>
<string name="connect_verify_use_fingerprint_long">Usar impressão digital para se conectar</string>
<string name="connect_verify_fingerprint_configured">Sua impressão digital já foi configurada e será usada para desbloquear o PersonalId.</string>
<string name="connect_verify_configure_fingerprint">Configurar impressão digital</string>
Expand Down
4 changes: 3 additions & 1 deletion app/res/values-sw/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,9 @@
<string name="connect_register_success_message">Akaunti yako ya PersonalId imeundwa kwa ufanisi na sasa iko tayari kwako kuitumia!</string>
<string name="connect_register_success_button">Sawa</string>
<string name="connect_verify_title">Fungua Chaguzi</string>
<string name="connect_verify_message">Tafadhali sanidi mbinu iliyo hapa chini ili kufungua kifaa chako na akaunti ya PersonalId</string>
<string name="connect_verify_message">Tafadhali sanidi mbinu iliyo hapa chini ili kufungua kifaa chako na akaunti ya PersonalID</string>
<string name="connect_verify_message_pin">Tafadhali sanidi PIN au mchoro hapa chini ili kufungua kifaa chako na akaunti ya Kitambulisho cha Kibinafsi</string>
<string name="connect_verify_message_fingerprint">Tafadhali sanidi alama ya kidole chako hapa chini ili kufungua kifaa chako na akaunti ya Kitambulisho cha Kibinafsi</string>
<string name="connect_verify_use_fingerprint_long">Tumia Alama ya Kidole Kuunganisha</string>
<string name="connect_verify_fingerprint_configured">Alama yako ya kidole tayari imesanidiwa na itatumika kufungua PersonalId.</string>
<string name="connect_verify_configure_fingerprint">Sanidi Alama ya Kidole</string>
Expand Down
4 changes: 3 additions & 1 deletion app/res/values-ti/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,9 @@
<string name="connect_register_success_message">ናይ PersonalId ኣካውንትካ ብዓወት ተፈጢሩ ኣሎ፡ ኸዚ ድማ ንኽትጥቀመሉ ድሉው ኮይኑ ኣሎ!</string>
<string name="connect_register_success_button">እሺ</string>
<string name="connect_verify_title">ኣማራፂታት ምኽፋት።</string>
<string name="connect_verify_message">በይዛኻ ንኽልቲኡ መሳርሒኻን PersonalId ኣካውንትካን ንምኽፋት ኣብ ታሕቲ ዘሎ ሜላ ኣወሃህድ</string>
<string name="connect_verify_message">በይዛኻ ንኽልቲኡ መሳርሒኻን PersonalID ኣካውንትካን ንምኽፋት ኣብ ታሕቲ ዘሎ ሜላ ኣወሃህድ</string>
<string name="connect_verify_message_pin">ንኽልቲኡ መሳርሒኻን PersonalID ኣካውንትካን ንምኽፋት በጃኻ ኣብ ታሕቲ ፒን ወይ ፓተርን ኣወሃህድ</string>
<string name="connect_verify_message_fingerprint">ንኽልቲኡ መሳርሒኻን PersonalID ኣካውንትካን ንምኽፋት በጃኻ ኣብ ታሕቲ ኣሰር ኣጻብዕትኻ ኣወሃህቦ</string>
<string name="connect_verify_use_fingerprint_long">ንምትእስሳር ኣሰር ኣፃብዕቲ ተጠቐም</string>
<string name="connect_verify_fingerprint_configured">ኣሰር ኣፃብዕትኻ በቃ ተዋቒሩ ኣሎ፡ ንPersonalId ንምኽፋት ድማ ክጥቀመሉ እዩ።</string>
<string name="connect_verify_configure_fingerprint">ኣሰር ኣፃብዕቲ ምውቃር</string>
Expand Down
4 changes: 3 additions & 1 deletion app/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,9 @@
<string name="connect_register_success_message">Your PersonalID account has been successfully created and is now ready for you to use!</string>
<string name="connect_register_success_button">OK</string>
<string name="connect_verify_title">Unlock Options</string>
<string name="connect_verify_message">Please configure a method below to unlock both your device and PersonalId account</string>
<string name="connect_verify_message">Please configure a method below to unlock both your device and PersonalID account</string>
<string name="connect_verify_message_pin">Please configure a PIN or pattern below to unlock both your device and PersonalID account</string>
<string name="connect_verify_message_fingerprint">Please configure your fingerprint below to unlock both your device and PersonalID account</string>
<string name="connect_verify_use_fingerprint_long">Use Fingerprint to Connect</string>
<string name="connect_verify_fingerprint_configured">Your fingerprint has already been configured and will be used to unlock PersonalID.</string>
<string name="connect_verify_configure_fingerprint">Configure Fingerprint</string>
Expand Down
4 changes: 1 addition & 3 deletions app/src/org/commcare/activities/InstallFromListActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
import org.commcare.core.network.AuthInfo;
import org.commcare.core.network.AuthenticationInterceptor;
import org.commcare.dalvik.R;
import org.commcare.google.services.analytics.AnalyticsParamValue;
import org.commcare.google.services.analytics.FirebaseAnalyticsUtil;
import org.commcare.models.database.SqlStorage;
import org.commcare.network.CommcareRequestGenerator;
import org.commcare.preferences.GlobalPrivilegesManager;
Expand Down Expand Up @@ -326,7 +324,7 @@ private void saveLastSuccessfulCredentials() {
}

@Override
public void processClientError(int responseCode) {
public void processClientError(int responseCode, InputStream errorStream) {
handleRequestError(responseCode, true);
}

Expand Down
2 changes: 1 addition & 1 deletion app/src/org/commcare/activities/PostRequestActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ public void processSuccess(int responseCode, InputStream responseData, String ap
}

@Override
public void processClientError(int responseCode) {
public void processClientError(int responseCode, InputStream errorStream) {
String clientErrorMessage;
switch (responseCode) {
case 409:
Expand Down
2 changes: 1 addition & 1 deletion app/src/org/commcare/activities/QueryRequestActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ private boolean isResponseEmpty(ExternalDataInstance instance) {
}

@Override
public void processClientError(int responseCode) {
public void processClientError(int responseCode, InputStream errorStream) {
enterErrorState(Localization.get("post.client.error", responseCode + ""));
}

Expand Down
58 changes: 14 additions & 44 deletions app/src/org/commcare/activities/connect/ConnectActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import static org.commcare.connect.ConnectConstants.GO_TO_JOB_STATUS;
import static org.commcare.connect.ConnectConstants.REDIRECT_ACTION;
import static org.commcare.connect.ConnectConstants.SHOW_LAUNCH_BUTTON;
import static org.commcare.personalId.PersonalIdFeatureFlagChecker.FeatureFlag.NOTIFICATIONS;

import android.content.BroadcastReceiver;
import android.content.Context;
Expand All @@ -25,6 +26,7 @@

import com.google.common.base.Strings;

import org.apache.commons.lang3.StringUtils;
import org.commcare.activities.NavigationHostCommCareActivity;
import org.commcare.activities.PushNotificationActivity;
import org.commcare.android.database.connect.models.ConnectJobRecord;
Expand All @@ -36,6 +38,7 @@
import org.commcare.connect.database.ConnectMessagingDatabaseHelper;
import org.commcare.dalvik.R;
import org.commcare.fragments.RefreshableFragment;
import org.commcare.personalId.PersonalIdFeatureFlagChecker;
import org.commcare.utils.FirebaseMessagingUtil;
import org.commcare.views.dialogs.CustomProgressDialog;

Expand Down Expand Up @@ -94,9 +97,15 @@ private int getStartDestinationId(Bundle startArgs) {

private void initStateFromExtras() {
redirectionAction = getIntent().getStringExtra(REDIRECT_ACTION);
String opportunityId = getIntent().getStringExtra(ConnectConstants.OPPORTUNITY_ID);
if(!TextUtils.isEmpty(opportunityId)){
job = ConnectJobUtils.getCompositeJob(this, Integer.parseInt(opportunityId));
int opportunityId = getIntent().getIntExtra(ConnectConstants.OPPORTUNITY_ID, -1);
if (opportunityId == -1) {
String opportunityIdStr = getIntent().getStringExtra(ConnectConstants.OPPORTUNITY_ID);
if (!StringUtils.isEmpty(opportunityIdStr)) {
opportunityId = Integer.parseInt(opportunityIdStr);
}
}
if(opportunityId != -1) {
job = ConnectJobUtils.getCompositeJob(this, opportunityId);
}
}

Expand All @@ -120,28 +129,6 @@ private int handleSecureRedirect(Bundle startArgs) {
return R.id.connect_unlock_fragment;
}

@Override
protected void onResume() {
super.onResume();
updateMessagingIcon();

LocalBroadcastManager.getInstance(this).registerReceiver(messagingUpdateReceiver,
new IntentFilter(FirebaseMessagingUtil.MESSAGING_UPDATE_BROADCAST));
}

@Override
public void onPause() {
super.onPause();
LocalBroadcastManager.getInstance(this).unregisterReceiver(messagingUpdateReceiver);
}

private final BroadcastReceiver messagingUpdateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
updateMessagingIcon();
}
};

@Override
public void setTitle(CharSequence title) {
super.setTitle(title);
Expand All @@ -155,16 +142,15 @@ public boolean onCreateOptionsMenu(Menu menu) {
MenuItem notification = menu.findItem(R.id.action_sync);
notification.getIcon().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);

messagingMenuItem = menu.findItem(R.id.action_messaging);
updateMessagingIcon();
MenuItem notiificationsMenuItem = menu.findItem(R.id.action_bell);
notiificationsMenuItem.setVisible(PersonalIdFeatureFlagChecker.isFeatureEnabled(NOTIFICATIONS));

return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.action_sync).setVisible(backButtonAndActionBarEnabled);
menu.findItem(R.id.action_messaging).setVisible(backButtonAndActionBarEnabled);
return super.onPrepareOptionsMenu(menu);
}

Expand All @@ -177,27 +163,11 @@ public void setActiveJob(ConnectJobRecord job) {

private void retrieveMessages(){
MessageManager.retrieveMessages(this, success -> {
updateMessagingIcon();
});
}

public void updateMessagingIcon() {
if(messagingMenuItem != null) {
int icon = R.drawable.ic_connect_messaging_base;
if(ConnectMessagingDatabaseHelper.getUnviewedMessages(this).size() > 0) {
icon = R.drawable.ic_connect_messaging_unread;
}
messagingMenuItem.setIcon(ResourcesCompat.getDrawable(getResources(), icon, null));
}
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_messaging) {
ConnectNavHelper.INSTANCE.goToMessaging(this);
return true;
}

if (item.getItemId() == R.id.action_bell) {
ConnectNavHelper.goToNotification(this);
return true;
Expand Down
4 changes: 3 additions & 1 deletion app/src/org/commcare/adapters/EntityStringFilterer.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ protected void filter() {
String.valueOf(StringUtils.getSumOfLengths(searchTerms)));
attrs.put(CCPerfMonitoring.ATTR_NUM_CASES_LOADED, String.valueOf(fullEntityList.size()));
CCPerfMonitoring.INSTANCE.stopTracing(trace, attrs);
} catch (Exception ignored) {}
} catch (Exception e) {
Logger.exception("Failed to stop tracing ", e);
}
}

long time = System.currentTimeMillis() - startTime;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ public int numberOfDeliveriesToday() {
int dailyVisitCount = 0;
Date today = new Date();
for (ConnectJobDeliveryRecord record : deliveries) {
if(DateUtils.dateDiff(today, record.getDate()) == 0 && record.getStatus().equals(STATUS_APPROVED)) {
if(DateUtils.dateDiff(today, record.getDate()) == 0) {
dailyVisitCount++;
}
}
Expand Down
Loading
Loading