Merge "Call log auto refresh."
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index c06b474..58dcc8b 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -857,7 +857,6 @@
mVoiceMailNumber = ((TelephonyManager) getActivity().getSystemService(
Context.TELEPHONY_SERVICE)).getVoiceMailNumber();
mCallLogQueryHandler = new CallLogQueryHandler(getActivity().getContentResolver(), this);
-
setHasOptionsMenu(true);
}
@@ -953,12 +952,22 @@
@Override
public void onPause() {
super.onPause();
-
// Kill the requests thread
mAdapter.stopRequestProcessing();
}
@Override
+ public void onStop() {
+ super.onStop();
+ resetNewCallsFlag();
+ // Clear notifications only when window gains focus. This activity won't
+ // immediately receive focus if the keyguard screen is above it.
+ if (getActivity().hasWindowFocus()) {
+ removeMissedCallNotifications();
+ }
+ }
+
+ @Override
public void onDestroy() {
super.onDestroy();
mAdapter.stopRequestProcessing();
@@ -1147,7 +1156,6 @@
// again once being shown.
mAdapter.invalidateCache();
startCallsQuery();
- resetNewCallsFlag();
startVoicemailStatusQuery();
mAdapter.mPreDrawListener = null; // Let it restart the thread after next draw
// Clear notifications only when window gains focus. This activity won't
diff --git a/src/com/android/contacts/calllog/ExtendedCursor.java b/src/com/android/contacts/calllog/ExtendedCursor.java
index b17c018..499a350 100644
--- a/src/com/android/contacts/calllog/ExtendedCursor.java
+++ b/src/com/android/contacts/calllog/ExtendedCursor.java
@@ -19,7 +19,9 @@
import com.android.common.io.MoreCloseables;
import android.database.AbstractCursor;
+import android.database.ContentObserver;
import android.database.Cursor;
+import android.database.DataSetObserver;
/**
* Wraps a cursor to add an additional column with the same value for all rows.
@@ -129,4 +131,24 @@
MoreCloseables.closeQuietly(mCursor);
super.close();
}
-}
\ No newline at end of file
+
+ @Override
+ public void registerContentObserver(ContentObserver observer) {
+ mCursor.registerContentObserver(observer);
+ }
+
+ @Override
+ public void unregisterContentObserver(ContentObserver observer) {
+ mCursor.unregisterContentObserver(observer);
+ }
+
+ @Override
+ public void registerDataSetObserver(DataSetObserver observer) {
+ mCursor.registerDataSetObserver(observer);
+ }
+
+ @Override
+ public void unregisterDataSetObserver(DataSetObserver observer) {
+ mCursor.unregisterDataSetObserver(observer);
+ }
+}