Skip to content

Commit 4cb138f

Browse files
committed
Add log for case list loading runtime exception
1 parent d2cb9cf commit 4cb138f

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

app/src/org/commcare/tasks/EntityLoaderHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import org.javarosa.core.model.instance.TreeReference
2222
*/
2323
class EntityLoaderHelper(
2424
detail: Detail,
25-
sessionDatum: EntityDatum?,
25+
var sessionDatum: EntityDatum?,
2626
evalCtx: EvaluationContext,
2727
inBackground: Boolean,
2828
var factory: NodeEntityFactory? = null

app/src/org/commcare/tasks/EntityLoaderTask.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.google.firebase.perf.metrics.Trace;
66

7+
import org.commcare.CommCareApplication;
78
import org.commcare.android.logging.ForceCloseLogger;
89
import org.commcare.cases.entity.Entity;
910
import org.commcare.cases.entity.EntityLoadingProgressListener;
@@ -12,11 +13,13 @@
1213
import org.commcare.suite.model.Detail;
1314
import org.commcare.suite.model.EntityDatum;
1415
import org.commcare.tasks.templates.ManagedAsyncTask;
16+
import org.commcare.util.LogTypes;
1517
import org.javarosa.core.model.condition.EvaluationContext;
1618
import org.javarosa.core.model.instance.TreeReference;
1719
import org.javarosa.core.services.Logger;
1820
import org.javarosa.xpath.XPathException;
1921

22+
import java.util.Date;
2023
import java.util.HashMap;
2124
import java.util.List;
2225
import java.util.Map;
@@ -79,9 +82,29 @@ protected Pair<List<Entity<TreeReference>>, List<TreeReference>> doInBackground(
7982
Logger.exception("Error during EntityLoaderTask: " + ForceCloseLogger.getStackTrace(xe), xe);
8083
mException = xe;
8184
return null;
85+
} catch (RuntimeException e) {
86+
Logger.log(LogTypes.SOFT_ASSERT, "Loading entities failed for " + getSessionShortDetail() +
87+
"; session expiring at: " + getSessionExpirationTime());
88+
throw e;
8289
}
8390
}
8491

92+
private Date getSessionExpirationTime() {
93+
if (CommCareApplication.isSessionActive()) {
94+
try {
95+
return CommCareApplication.instance().getSession().getSessionExpireDate();
96+
} catch (Exception e) {
97+
return null;
98+
}
99+
}
100+
return null;
101+
}
102+
103+
private String getSessionShortDetail() {
104+
return (entityLoaderHelper != null && entityLoaderHelper.getSessionDatum() != null) ?
105+
entityLoaderHelper.getSessionDatum().getShortDetail() : "null";
106+
}
107+
85108
@Override
86109
protected void onPostExecute(Pair<List<Entity<TreeReference>>, List<TreeReference>> result) {
87110
super.onPostExecute(result);

0 commit comments

Comments
 (0)