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();
}