Snap for 10447354 from 3a19a426ba445558160a1eac1d40e745e4972345 to mainline-cellbroadcast-release

Change-Id: Ia7b3c9aa5e3f1d707682f14794d2f1fb340e2c98
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index c2c7d0e..e6a3ddb 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -18,5 +18,5 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_label" msgid="7454398782183407432">"TV Storage"</string>
     <string name="permlab_readTvListings" msgid="5272001606068276291">"citire toate listele de programe TV"</string>
-    <string name="permdesc_readTvListings" msgid="1165157606059567535">"citesc toate listele de programe TV disponibile pe dispozitivul dvs."</string>
+    <string name="permdesc_readTvListings" msgid="1165157606059567535">"citesc toate listele de programe TV disponibile pe dispozitivul tău"</string>
 </resources>
diff --git a/src/com/android/providers/tv/TvProvider.java b/src/com/android/providers/tv/TvProvider.java
index c6e151d..e1d6c88 100644
--- a/src/com/android/providers/tv/TvProvider.java
+++ b/src/com/android/providers/tv/TvProvider.java
@@ -146,7 +146,8 @@
 
     private static final String EMPTY_STRING = "";
 
-    private static final long MAX_PROGRAM_DATA_DELAY_IN_MILLIS = 10 * 1000; // 10 seconds
+    private static final long PROGRAM_DATA_START_WATCH_DELAY_IN_MILLIS = 10 * 1000; // 10 seconds
+    private static final long PROGRAM_DATA_END_WATCH_DELAY_IN_MILLIS = 1 * 1000; // 1 second
 
     private static final Map<String, String> sChannelProjectionMap = new HashMap<>();
     private static final Map<String, String> sProgramProjectionMap = new HashMap<>();
@@ -1201,7 +1202,11 @@
                 new AsyncTask<Void, Void, Void>() {
                     @Override
                     protected Void doInBackground(Void... params) {
-                        deleteUnconsolidatedWatchedProgramsRows();
+                        try {
+                            deleteUnconsolidatedWatchedProgramsRows();
+                        } catch (Exception e) {
+                            Log.e(TAG, "deleteUnconsolidatedWatchedProgramsRows " + e);
+                        }
                         return null;
                     }
                 };
@@ -1599,7 +1604,7 @@
             if (rowId > 0) {
                 mLogHandler.removeMessages(WatchLogHandler.MSG_TRY_CONSOLIDATE_ALL);
                 mLogHandler.sendEmptyMessageDelayed(WatchLogHandler.MSG_TRY_CONSOLIDATE_ALL,
-                        MAX_PROGRAM_DATA_DELAY_IN_MILLIS);
+                        PROGRAM_DATA_START_WATCH_DELAY_IN_MILLIS);
                 return TvContract.buildWatchedProgramUri(rowId);
             }
             Log.w(TAG, "Failed to insert row for " + values + ". Channel does not exist.");
@@ -1609,7 +1614,7 @@
             args.arg1 = values.getAsString(WatchedPrograms.COLUMN_INTERNAL_SESSION_TOKEN);
             args.arg2 = watchEndTime;
             Message msg = mLogHandler.obtainMessage(WatchLogHandler.MSG_CONSOLIDATE, args);
-            mLogHandler.sendMessageDelayed(msg, MAX_PROGRAM_DATA_DELAY_IN_MILLIS);
+            mLogHandler.sendMessageDelayed(msg, PROGRAM_DATA_END_WATCH_DELAY_IN_MILLIS);
             return null;
         }
         // All the other cases are invalid.