Fixing callback delivery for ContactSaveService

Bug: 3500229
Change-Id: Ia50aa5878344f182e33141ba891c3dea56a170ec
diff --git a/src/com/android/contacts/ContactsActivity.java b/src/com/android/contacts/ContactsActivity.java
index 79ebecb..b78fad2 100644
--- a/src/com/android/contacts/ContactsActivity.java
+++ b/src/com/android/contacts/ContactsActivity.java
@@ -20,12 +20,16 @@
 
 import android.app.Activity;
 import android.content.ContentResolver;
+import android.content.Intent;
 import android.content.SharedPreferences;
+import android.os.Bundle;
 
 /**
  * A common superclass for Contacts activities that handles application-wide services.
  */
-public abstract class ContactsActivity extends Activity {
+public abstract class ContactsActivity extends Activity
+    implements ContactSaveService.Listener
+{
 
     private ContentResolver mContentResolver;
 
@@ -65,4 +69,21 @@
 
         return getApplicationContext().getSystemService(name);
     }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        ContactSaveService.registerListener(this);
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected void onDestroy() {
+        ContactSaveService.unregisterListener(this);
+        super.onDestroy();
+    }
+
+    @Override
+    public void onServiceCompleted(Intent callbackIntent) {
+        onNewIntent(callbackIntent);
+    }
 }