Creating database without localized collators on NYC and above

Android automatically creates and maintains a metaData table to
store the current device locale. This is used when fetching
sorted results. Since Laucher does not require string based
sorting on its tables, we can avoid unnecessary IO by disabling
this feature

Bug: 24608776
Change-Id: I8bbf5ca3abd505be95a85cfc99dd0438966575e9
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 792605f..47ceb8c 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -54,6 +54,7 @@
 import com.android.launcher3.compat.UserManagerCompat;
 import com.android.launcher3.config.ProviderConfig;
 import com.android.launcher3.util.ManagedProfileHeuristic;
+import com.android.launcher3.util.NoLocaleSqliteContext;
 import com.android.launcher3.util.Thunk;
 
 import java.net.URISyntaxException;
@@ -526,7 +527,8 @@
         private long mMaxScreenId = -1;
 
         DatabaseHelper(Context context, LauncherProvider provider) {
-            super(context, LauncherFiles.LAUNCHER_DB, null, DATABASE_VERSION);
+            super(new NoLocaleSqliteContext(context), LauncherFiles.LAUNCHER_DB,
+                    null, DATABASE_VERSION);
             mContext = context;
             mProvider = provider;
 
@@ -556,7 +558,7 @@
          * Constructor used only in tests.
          */
         public DatabaseHelper(Context context, LauncherProvider provider, String tableName) {
-            super(context, tableName, null, DATABASE_VERSION);
+            super(new NoLocaleSqliteContext(context), tableName, null, DATABASE_VERSION);
             mContext = context;
             mProvider = provider;