diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3f13c6d..2894d47 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -19,7 +19,12 @@
           package="com.android.settings.intelligence">
 
     <uses-sdk android:minSdkVersion="27" android:targetSdkVersion="27" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
     <application>
+        <service
+            android:name=".suggestions.SuggestionService"
+            android:exported="true"
+            android:permission="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE" />
     </application>
 </manifest>
diff --git a/src/com/android/settings/intelligence/suggestions/SuggestionService.java b/src/com/android/settings/intelligence/suggestions/SuggestionService.java
index c3afc7f..6014ee8 100644
--- a/src/com/android/settings/intelligence/suggestions/SuggestionService.java
+++ b/src/com/android/settings/intelligence/suggestions/SuggestionService.java
@@ -16,8 +16,26 @@
 
 package com.android.settings.intelligence.suggestions;
 
-public class SuggestionService {
+import android.service.settings.suggestions.Suggestion;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SuggestionService extends android.service.settings.suggestions.SuggestionService  {
 
     private static final String TAG = "SuggestionService";
 
+    @Override
+    public List<Suggestion> onGetSuggestions() {
+        final List<Suggestion> data = new ArrayList<>();
+        data.add(new Suggestion.Builder("test").build());
+        return data;
+    }
+
+    @Override
+    public void onSuggestionDismissed(Suggestion suggestion) {
+        Log.d(TAG, "dismissing suggestion " + suggestion.getTitle());
+    }
+
 }
