Delete transient rows on boot

Implementation background: DB operation should be done in onCreate
to prevent possible ANR per its documentation. Also, onCreate is
usually called when the TvProvider is firstly used, so the actual
benefit is low even we can do so.

Test: passes newly added test cases
Bug: 34160270
Change-Id: I41f0488662b74e645dc17e1a852266eb6e691c9b
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a24e599..b14a9c2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -57,6 +57,7 @@
 
     <uses-permission android:name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA" />
     <uses-permission android:name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS" />
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 
     <application android:label="@string/app_label">
         <provider
@@ -80,5 +81,12 @@
                 <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/>
             </intent-filter>
         </receiver>
+
+        <!-- Deletes transient rows on boot. -->
+        <receiver android:name="BootCompletedReceiver">
+            <intent-filter>
+                <action android:name="android.intent.action.BOOT_COMPLETED"/>
+            </intent-filter>
+        </receiver>
     </application>
 </manifest>