Merge "Use public API to get ICU version, not internal" am: d4d7b6cebc am: 2b505e54b9
am: 399234a2c1

Change-Id: Iaba13fb5c4ed8099d5b877c397f8bce4c4e36284
diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
index 30b66a6..f522e41 100644
--- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java
+++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
@@ -42,6 +42,7 @@
 import android.database.sqlite.SQLiteOpenHelper;
 import android.database.sqlite.SQLiteQueryBuilder;
 import android.database.sqlite.SQLiteStatement;
+import android.icu.util.VersionInfo;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
@@ -103,8 +104,6 @@
 import com.android.providers.contacts.database.MoreDatabaseUtils;
 import com.android.providers.contacts.util.NeededForTesting;
 
-import libcore.icu.ICU;
-
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
@@ -2652,7 +2651,7 @@
         if (!dbLocale.equals(locales.toString())) {
             return true;
         }
-        final String curICUVersion = ICU.getIcuVersion();
+        final String curICUVersion = getDeviceIcuVersion();
         final String dbICUVersion = getProperty(DbProperties.ICU_VERSION,
                 "(unknown)");
         if (!curICUVersion.equals(dbICUVersion)) {
@@ -2663,10 +2662,14 @@
         return false;
     }
 
+    private static String getDeviceIcuVersion() {
+        return VersionInfo.ICU_VERSION.toString();
+    }
+
     private void upgradeLocaleData(SQLiteDatabase db, boolean rebuildSqliteStats) {
         final LocaleSet locales = LocaleSet.newDefault();
         Log.i(TAG, "Upgrading locale data for " + locales
-                + " (ICU v" + ICU.getIcuVersion() + ")");
+                + " (ICU v" + getDeviceIcuVersion() + ")");
         final long start = SystemClock.elapsedRealtime();
         rebuildLocaleData(db, locales, rebuildSqliteStats);
         Log.i(TAG, "Locale update completed in " + (SystemClock.elapsedRealtime() - start) + "ms");
@@ -2685,7 +2688,7 @@
         FastScrollingIndexCache.getInstance(mContext).invalidate();
         // Update the ICU version used to generate the locale derived data
         // so we can tell when we need to rebuild with new ICU versions.
-        PropertyUtils.setProperty(db, DbProperties.ICU_VERSION, ICU.getIcuVersion());
+        PropertyUtils.setProperty(db, DbProperties.ICU_VERSION, getDeviceIcuVersion());
         PropertyUtils.setProperty(db, DbProperties.LOCALE, locales.toString());
     }
 
@@ -2699,7 +2702,7 @@
             return;
         }
         Log.i(TAG, "Switching to locale " + locales
-                + " (ICU v" + ICU.getIcuVersion() + ")");
+                + " (ICU v" + getDeviceIcuVersion() + ")");
 
         final long start = SystemClock.elapsedRealtime();
         SQLiteDatabase db = getWritableDatabase();
diff --git a/src/com/android/providers/contacts/ContactsUpgradeReceiver.java b/src/com/android/providers/contacts/ContactsUpgradeReceiver.java
index 6f50a14..c8816ac 100644
--- a/src/com/android/providers/contacts/ContactsUpgradeReceiver.java
+++ b/src/com/android/providers/contacts/ContactsUpgradeReceiver.java
@@ -16,6 +16,7 @@
 
 package com.android.providers.contacts;
 
+import android.icu.util.VersionInfo;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -26,8 +27,6 @@
 import android.os.RemoteException;
 import android.util.Log;
 
-import libcore.icu.ICU;
-
 /**
  * This will be launched during system boot, after the core system has
  * been brought up but before any non-persistent processes have been
@@ -56,7 +55,7 @@
             final SharedPreferences prefs = context.getSharedPreferences(TAG, Context.MODE_PRIVATE);
             final int prefDbVersion = prefs.getInt(PREF_DB_VERSION, 0);
 
-            final String curIcuVersion = ICU.getIcuVersion();
+            final String curIcuVersion = VersionInfo.ICU_VERSION.toString();
             final String curOsVersion = getOsVersionString();
 
             final String prefIcuVersion = prefs.getString(PREF_ICU_VERSION, "");