Always fetch status onResume and add logging for voicemail status in OldMainPeer and
Always fetch the voicemail status when resuming OldMainPeerActivity. There is no reason why this should not happen.
TEST=N/A
Bug: 79365547
Test: N/A
PiperOrigin-RevId: 195744525
Change-Id: Ie31551bfecd5056b0b3b559946e9cd2c8f6ef23f
diff --git a/java/com/android/dialer/database/CallLogQueryHandler.java b/java/com/android/dialer/database/CallLogQueryHandler.java
index e974cc4..a18023c 100644
--- a/java/com/android/dialer/database/CallLogQueryHandler.java
+++ b/java/com/android/dialer/database/CallLogQueryHandler.java
@@ -112,6 +112,7 @@
.appendOmtpVoicemailStatusSelectionClause(context, where, selectionArgs);
if (TelecomUtil.hasReadWriteVoicemailPermissions(context)) {
+ LogUtil.i("CallLogQueryHandler.fetchVoicemailStatus", "fetching voicemail status");
startQuery(
QUERY_VOICEMAIL_STATUS_TOKEN,
null,
@@ -120,6 +121,10 @@
where.toString(),
selectionArgs.toArray(new String[selectionArgs.size()]),
null);
+ } else {
+ LogUtil.i(
+ "CallLogQueryHandler.fetchVoicemailStatus",
+ "fetching voicemail status failed due to permissions");
}
}
diff --git a/java/com/android/dialer/main/impl/OldMainActivityPeer.java b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
index 2f54b10..e426ed2 100644
--- a/java/com/android/dialer/main/impl/OldMainActivityPeer.java
+++ b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
@@ -460,6 +460,7 @@
@SuppressLint("MissingPermission")
@Override
public void onActivityResume() {
+ LogUtil.enterBlock("MainBottomNavBarBottomNavTabListener.onActivityResume");
callLogFragmentListener.onActivityResume();
// Start the thread that updates the smart dial database if the activity is recreated with a
// language change.
@@ -866,6 +867,10 @@
new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
+ LogUtil.i(
+ "MainCallLogFragmentListener",
+ "voicemailStatusObserver.onChange selfChange:%b",
+ selfChange);
super.onChange(selfChange);
callLogQueryHandler.fetchVoicemailStatus();
}
@@ -885,9 +890,10 @@
}
private void registerVoicemailStatusContentObserver(Context context) {
-
+ LogUtil.enterBlock("MainCallLogFragmentListener.registerVoicemailStatusContentObserver");
if (PermissionsUtil.hasReadVoicemailPermissions(context)
&& PermissionsUtil.hasAddVoicemailPermissions(context)) {
+ LogUtil.i("MainCallLogFragmentListener.registerVoicemailStatusContentObserver", "register");
context
.getContentResolver()
.registerContentObserver(
@@ -1013,11 +1019,12 @@
}
public void onActivityResume() {
+ LogUtil.enterBlock("MainCallLogFragmentListener.onActivityResume");
activityIsAlive = true;
registerVoicemailStatusContentObserver(context);
- if (!bottomNavTabListener.newVoicemailFragmentActive()) {
- callLogQueryHandler.fetchVoicemailStatus();
- }
+ // TODO(a bug): Don't use callLogQueryHandler
+ callLogQueryHandler.fetchVoicemailStatus();
+
if (!bottomNavTabListener.newCallLogFragmentActive()) {
callLogQueryHandler.fetchMissedCallsUnreadCount();
}