Add boot message when upgrading database.

Change-Id: I33c880714f6e3da4a726d8890a64944f9e8953ba
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 860c3cc..6619f8e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -19,6 +19,9 @@
     <!-- Title for the Calendar Storage process. -->
     <string name="calendar_storage">Calendar Storage</string>
 
+    <!-- [CHAR LIMIT=NONE] Boot message while upgrading calendar. -->
+    <string name="upgrade_msg">Upgrading Calendar database.</string>
+
     <!-- Temporary Calendar name to use before we have the calendar name from the server -->
     <string name="calendar_default_name">Default</string>
 
diff --git a/src/com/android/providers/calendar/CalendarUpgradeReceiver.java b/src/com/android/providers/calendar/CalendarUpgradeReceiver.java
index 30ac58c..80acd0a 100644
--- a/src/com/android/providers/calendar/CalendarUpgradeReceiver.java
+++ b/src/com/android/providers/calendar/CalendarUpgradeReceiver.java
@@ -16,12 +16,14 @@
 
 package com.android.providers.calendar;
 
+import android.app.ActivityManagerNative;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
+import android.os.RemoteException;
 import android.util.EventLog;
 import android.util.Log;
 
@@ -62,9 +64,16 @@
                 // Ask for a reference to the database to force the helper to either
                 // create the database or open it up, performing any necessary upgrades
                 // in the process.
-                Log.i(TAG, "Creating or opening calendar database");
                 CalendarDatabaseHelper helper = CalendarDatabaseHelper.getInstance(context);
-                helper.getWritableDatabase();
+                if (context.getDatabasePath(helper.getDatabaseName()).exists()) {
+                    Log.i(TAG, "Creating or opening calendar database");
+                    try {
+                        ActivityManagerNative.getDefault().showBootMessage(
+                                context.getText(R.string.upgrade_msg), true);
+                    } catch (RemoteException e) {
+                    }
+                    helper.getWritableDatabase();
+                }
                 helper.close();
 
                 // Log the total time taken for the receiver to perform the operation