From 2c9165866342cf4062d29553a826b4464a209031 Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Mon, 1 Oct 2018 15:53:35 +0100 Subject: Use public API to get ICU version, not internal The code predates Android's public SDK ICU4J API but it can be migrated to a public API now. Bug: 113148576 Test: build only Change-Id: Ib165ed6e5568f59295fa2686ddad80ad57dd0c7b --- .../providers/contacts/ContactsDatabaseHelper.java | 15 +++++++++------ .../providers/contacts/ContactsUpgradeReceiver.java | 5 ++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java index 9414ece8..6834589f 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.SQLiteException; 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.DeletedContactsTableUtil; 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; @@ -2755,7 +2754,7 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { 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)) { @@ -2766,10 +2765,14 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { 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"); @@ -2788,7 +2791,7 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { 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()); } @@ -2802,7 +2805,7 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { 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 6f50a145..c8816ac1 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.Build; 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 @@ public class ContactsUpgradeReceiver extends BroadcastReceiver { 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, ""); -- cgit v1.2.3