Remove watch next programs

Removes watch next programs when its package is removed or it's transient.

Test: runtest --path packages/providers/TvProvider/tests/
Bug: 34809881
Change-Id: If9bd8f319fa7c4ac60721573792fdbee07f4a15e
diff --git a/src/com/android/providers/tv/PackageRemovedReceiver.java b/src/com/android/providers/tv/PackageRemovedReceiver.java
index b619f35..956eb04 100644
--- a/src/com/android/providers/tv/PackageRemovedReceiver.java
+++ b/src/com/android/providers/tv/PackageRemovedReceiver.java
@@ -58,6 +58,9 @@
             operations.add(ContentProviderOperation
                     .newDelete(TvContract.RecordedPrograms.CONTENT_URI)
                     .withSelection(selection, selectionArgs).build());
+            operations.add(ContentProviderOperation
+                    .newDelete(TvContract.WatchNextPrograms.CONTENT_URI)
+                    .withSelection(selection, selectionArgs).build());
 
             ContentProviderResult[] results = null;
             try {
diff --git a/src/com/android/providers/tv/TransientRowHelper.java b/src/com/android/providers/tv/TransientRowHelper.java
index b6f890e..42e2499 100644
--- a/src/com/android/providers/tv/TransientRowHelper.java
+++ b/src/com/android/providers/tv/TransientRowHelper.java
@@ -21,6 +21,7 @@
 import android.database.sqlite.SQLiteDatabase;
 import android.media.tv.TvContract.Channels;
 import android.media.tv.TvContract.PreviewPrograms;
+import android.media.tv.TvContract.WatchNextPrograms;
 import android.os.SystemClock;
 import android.preference.PreferenceManager;
 
@@ -79,6 +80,8 @@
         // Delete all the transient programs and channels.
         db.delete(TvProvider.PREVIEW_PROGRAMS_TABLE, PreviewPrograms.COLUMN_TRANSIENT + "=1", null);
         db.delete(TvProvider.CHANNELS_TABLE, Channels.COLUMN_TRANSIENT + "=1", null);
+        db.delete(TvProvider.WATCH_NEXT_PROGRAMS_TABLE, WatchNextPrograms.COLUMN_TRANSIENT + "=1",
+                null);
         setLastTransientRowsDeletedTime();
     }