Loading src/com/android/launcher3/LauncherAppState.java +1 −5 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ public class LauncherAppState { } LauncherModel setLauncher(Launcher launcher) { getLauncherProvider().setLauncherProviderChangeListener(launcher); sLauncherProvider.get().setLauncherProviderChangeListener(launcher); mModel.initialize(launcher); mAccessibilityDelegate = ((launcher != null) && Utilities.ATLEAST_LOLLIPOP) ? new LauncherAccessibilityDelegate(launcher) : null; Loading @@ -157,10 +157,6 @@ public class LauncherAppState { sLauncherProvider = new WeakReference<LauncherProvider>(provider); } public static LauncherProvider getLauncherProvider() { return sLauncherProvider.get(); } public WidgetPreviewLoader getWidgetCache() { return mWidgetCache; } Loading src/com/android/launcher3/LauncherBackupAgentHelper.java +10 −5 Original line number Diff line number Diff line Loading @@ -73,7 +73,8 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { } // Clear dB before restore LauncherAppState.getLauncherProvider().createEmptyDB(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB); boolean hasData; try { Loading @@ -90,12 +91,14 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { } if (hasData && mHelper.restoreSuccessful) { LauncherAppState.getLauncherProvider().clearFlagEmptyDbCreated(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CLEAR_EMPTY_DB_FLAG); LauncherClings.synchonouslyMarkFirstRunClingDismissed(this); // Rank was added in v4. if (mHelper.restoredBackupVersion <= 3) { LauncherAppState.getLauncherProvider().updateFolderItemsRank(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_UPDATE_FOLDER_ITEMS_RANK); } if (MigrateFromRestoreTask.ENABLED && mHelper.shouldAttemptWorkspaceMigration()) { Loading @@ -105,10 +108,12 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { mHelper.widgetSizes); } LauncherAppState.getLauncherProvider().convertShortcutsToLauncherActivities(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CONVERT_SHORTCUTS_TO_ACTIVITIES); } else { if (VERBOSE) Log.v(TAG, "Nothing was restored, clearing DB"); LauncherAppState.getLauncherProvider().createEmptyDB(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB); } } } src/com/android/launcher3/LauncherModel.java +17 −7 Original line number Diff line number Diff line Loading @@ -481,7 +481,9 @@ public class LauncherModel extends BroadcastReceiver if (!found) { // Still no position found. Add a new screen to the end. screenId = LauncherAppState.getLauncherProvider().generateNewScreenId(); screenId = LauncherSettings.Settings.call(context.getContentResolver(), LauncherSettings.Settings.METHOD_NEW_SCREEN_ID) .getLong(LauncherSettings.Settings.EXTRA_VALUE); // Save the screen id for binding in the workspace workspaceScreens.add(screenId); Loading Loading @@ -990,7 +992,9 @@ public class LauncherModel extends BroadcastReceiver final ContentResolver cr = context.getContentResolver(); item.onAddToDatabase(context, values); item.id = LauncherAppState.getLauncherProvider().generateNewItemId(); item.id = LauncherSettings.Settings.call(cr, LauncherSettings.Settings.METHOD_NEW_ITEM_ID) .getLong(LauncherSettings.Settings.EXTRA_VALUE); values.put(LauncherSettings.Favorites._ID, item.id); final StackTraceElement[] stackTrace = new Throwable().getStackTrace(); Loading Loading @@ -1727,17 +1731,20 @@ public class LauncherModel extends BroadcastReceiver if ((mFlags & LOADER_FLAG_CLEAR_WORKSPACE) != 0) { Log.d(TAG, "loadWorkspace: resetting launcher database"); LauncherAppState.getLauncherProvider().deleteDatabase(); LauncherSettings.Settings.call(contentResolver, LauncherSettings.Settings.METHOD_DELETE_DB); } if ((mFlags & LOADER_FLAG_MIGRATE_SHORTCUTS) != 0) { // append the user's Launcher2 shortcuts Log.d(TAG, "loadWorkspace: migrating from launcher2"); LauncherAppState.getLauncherProvider().migrateLauncher2Shortcuts(); LauncherSettings.Settings.call(contentResolver, LauncherSettings.Settings.METHOD_MIGRATE_LAUNCHER2_SHORTCUTS); } else { // Make sure the default workspace is loaded Log.d(TAG, "loadWorkspace: loading default favorites"); LauncherAppState.getLauncherProvider().loadDefaultFavoritesIfNecessary(); LauncherSettings.Settings.call(contentResolver, LauncherSettings.Settings.METHOD_LOAD_DEFAULT_FAVORITES); } synchronized (sBgLock) { Loading Loading @@ -2232,8 +2239,11 @@ public class LauncherModel extends BroadcastReceiver } // Remove any empty folder for (long folderId : LauncherAppState.getLauncherProvider() .deleteEmptyFolders()) { ArrayList<Long> deletedFolderIds = (ArrayList<Long>) LauncherSettings.Settings .call(contentResolver, LauncherSettings.Settings.METHOD_DELETE_EMPTY_FOLDERS) .getSerializable(LauncherSettings.Settings.EXTRA_VALUE); for (long folderId : deletedFolderIds) { sBgWorkspaceItems.remove(sBgFolders.get(folderId)); sBgFolders.remove(folderId); sBgItemsIdMap.remove(folderId); Loading src/com/android/launcher3/LauncherProvider.java +51 −34 Original line number Diff line number Diff line Loading @@ -62,7 +62,6 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; public class LauncherProvider extends ContentProvider { private static final String TAG = "LauncherProvider"; Loading Loading @@ -91,10 +90,6 @@ public class LauncherProvider extends ContentProvider { return true; } public boolean wasNewDbCreated() { return mOpenHelper.wasNewDbCreated(); } public void setLauncherProviderChangeListener(LauncherProviderChangeListener listener) { mListener = listener; mOpenHelper.mListener = mListener; Loading Loading @@ -271,6 +266,50 @@ public class LauncherProvider extends ContentProvider { result.putBoolean(LauncherSettings.Settings.EXTRA_VALUE, value); return result; } case LauncherSettings.Settings.METHOD_CLEAR_EMPTY_DB_FLAG: { clearFlagEmptyDbCreated(); return null; } case LauncherSettings.Settings.METHOD_DELETE_EMPTY_FOLDERS: { Bundle result = new Bundle(); result.putSerializable(LauncherSettings.Settings.EXTRA_VALUE, deleteEmptyFolders()); return result; } case LauncherSettings.Settings.METHOD_NEW_ITEM_ID: { Bundle result = new Bundle(); result.putLong(LauncherSettings.Settings.EXTRA_VALUE, mOpenHelper.generateNewItemId()); return result; } case LauncherSettings.Settings.METHOD_NEW_SCREEN_ID: { Bundle result = new Bundle(); result.putLong(LauncherSettings.Settings.EXTRA_VALUE, mOpenHelper.generateNewScreenId()); return result; } case LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB: { createEmptyDB(); return null; } case LauncherSettings.Settings.METHOD_LOAD_DEFAULT_FAVORITES: { loadDefaultFavoritesIfNecessary(); return null; } case LauncherSettings.Settings.METHOD_MIGRATE_LAUNCHER2_SHORTCUTS: { mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(), Uri.parse(getContext().getString(R.string.old_launcher_provider_uri))); return null; } case LauncherSettings.Settings.METHOD_UPDATE_FOLDER_ITEMS_RANK: { mOpenHelper.updateFolderItemsRank(mOpenHelper.getWritableDatabase(), false); return null; } case LauncherSettings.Settings.METHOD_CONVERT_SHORTCUTS_TO_ACTIVITIES: { mOpenHelper.convertShortcutsToLauncherActivities(mOpenHelper.getWritableDatabase()); return null; } case LauncherSettings.Settings.METHOD_DELETE_DB: { deleteDatabase(); return null; } } return null; } Loading @@ -279,8 +318,8 @@ public class LauncherProvider extends ContentProvider { * Deletes any empty folder from the DB. * @return Ids of deleted folders. */ public List<Long> deleteEmptyFolders() { ArrayList<Long> folderIds = new ArrayList<Long>(); private ArrayList<Long> deleteEmptyFolders() { ArrayList<Long> folderIds = new ArrayList<>(); SQLiteDatabase db = mOpenHelper.getWritableDatabase(); db.beginTransaction(); try { Loading @@ -297,7 +336,7 @@ public class LauncherProvider extends ContentProvider { folderIds.add(c.getLong(0)); } c.close(); if (folderIds.size() > 0) { if (!folderIds.isEmpty()) { db.delete(TABLE_FAVORITES, Utilities.createDbSelectionQuery( LauncherSettings.Favorites._ID, folderIds), null); } Loading @@ -323,22 +362,14 @@ public class LauncherProvider extends ContentProvider { values.put(LauncherSettings.ChangeLogColumns.MODIFIED, System.currentTimeMillis()); } public long generateNewItemId() { return mOpenHelper.generateNewItemId(); } public long generateNewScreenId() { return mOpenHelper.generateNewScreenId(); } /** * Clears all the data for a fresh start. */ synchronized public void createEmptyDB() { synchronized private void createEmptyDB() { mOpenHelper.createEmptyDB(mOpenHelper.getWritableDatabase()); } public void clearFlagEmptyDbCreated() { private void clearFlagEmptyDbCreated() { Utilities.getPrefs(getContext()).edit().remove(EMPTY_DATABASE_CREATED).commit(); } Loading @@ -349,7 +380,7 @@ public class LauncherProvider extends ContentProvider { * 3) From a partner configuration APK, already in the system image * 4) The default configuration for the particular device */ synchronized public void loadDefaultFavoritesIfNecessary() { synchronized private void loadDefaultFavoritesIfNecessary() { SharedPreferences sp = Utilities.getPrefs(getContext()); if (sp.getBoolean(EMPTY_DATABASE_CREATED, false)) { Loading Loading @@ -434,21 +465,7 @@ public class LauncherProvider extends ContentProvider { mOpenHelper, getContext().getResources(), defaultLayout); } public void migrateLauncher2Shortcuts() { mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(), Uri.parse(getContext().getString(R.string.old_launcher_provider_uri))); } public void updateFolderItemsRank() { mOpenHelper.updateFolderItemsRank(mOpenHelper.getWritableDatabase(), false); } public void convertShortcutsToLauncherActivities() { mOpenHelper.convertShortcutsToLauncherActivities(mOpenHelper.getWritableDatabase()); } public void deleteDatabase() { private void deleteDatabase() { // Are you sure? (y/n) final SQLiteDatabase db = mOpenHelper.getWritableDatabase(); final File dbFile = new File(db.getPath()); Loading src/com/android/launcher3/LauncherSettings.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,9 @@ package com.android.launcher3; import android.content.ContentResolver; import android.net.Uri; import android.os.Bundle; import android.provider.BaseColumns; import com.android.launcher3.config.ProviderConfig; Loading Loading @@ -321,8 +323,27 @@ public class LauncherSettings { public static final String METHOD_GET_BOOLEAN = "get_boolean_setting"; public static final String METHOD_SET_BOOLEAN = "set_boolean_setting"; public static final String METHOD_CLEAR_EMPTY_DB_FLAG = "clear_empty_db_flag"; public static final String METHOD_DELETE_EMPTY_FOLDERS = "delete_empty_folders"; public static final String METHOD_UPDATE_FOLDER_ITEMS_RANK = "update_folder_items_rank"; public static final String METHOD_CONVERT_SHORTCUTS_TO_ACTIVITIES = "convert_shortcuts_to_launcher_activities"; public static final String METHOD_NEW_ITEM_ID = "generate_new_item_id"; public static final String METHOD_NEW_SCREEN_ID = "generate_new_screen_id"; public static final String METHOD_CREATE_EMPTY_DB = "create_empty_db"; public static final String METHOD_DELETE_DB = "delete_db"; public static final String METHOD_LOAD_DEFAULT_FAVORITES = "load_default_favorites"; public static final String METHOD_MIGRATE_LAUNCHER2_SHORTCUTS = "migrate_l2_shortcuts"; public static final String EXTRA_VALUE = "value"; public static final String EXTRA_DEFAULT_VALUE = "default_value"; public static Bundle call(ContentResolver cr, String method) { return cr.call(CONTENT_URI, method, null, null); } } } Loading
src/com/android/launcher3/LauncherAppState.java +1 −5 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ public class LauncherAppState { } LauncherModel setLauncher(Launcher launcher) { getLauncherProvider().setLauncherProviderChangeListener(launcher); sLauncherProvider.get().setLauncherProviderChangeListener(launcher); mModel.initialize(launcher); mAccessibilityDelegate = ((launcher != null) && Utilities.ATLEAST_LOLLIPOP) ? new LauncherAccessibilityDelegate(launcher) : null; Loading @@ -157,10 +157,6 @@ public class LauncherAppState { sLauncherProvider = new WeakReference<LauncherProvider>(provider); } public static LauncherProvider getLauncherProvider() { return sLauncherProvider.get(); } public WidgetPreviewLoader getWidgetCache() { return mWidgetCache; } Loading
src/com/android/launcher3/LauncherBackupAgentHelper.java +10 −5 Original line number Diff line number Diff line Loading @@ -73,7 +73,8 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { } // Clear dB before restore LauncherAppState.getLauncherProvider().createEmptyDB(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB); boolean hasData; try { Loading @@ -90,12 +91,14 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { } if (hasData && mHelper.restoreSuccessful) { LauncherAppState.getLauncherProvider().clearFlagEmptyDbCreated(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CLEAR_EMPTY_DB_FLAG); LauncherClings.synchonouslyMarkFirstRunClingDismissed(this); // Rank was added in v4. if (mHelper.restoredBackupVersion <= 3) { LauncherAppState.getLauncherProvider().updateFolderItemsRank(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_UPDATE_FOLDER_ITEMS_RANK); } if (MigrateFromRestoreTask.ENABLED && mHelper.shouldAttemptWorkspaceMigration()) { Loading @@ -105,10 +108,12 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { mHelper.widgetSizes); } LauncherAppState.getLauncherProvider().convertShortcutsToLauncherActivities(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CONVERT_SHORTCUTS_TO_ACTIVITIES); } else { if (VERBOSE) Log.v(TAG, "Nothing was restored, clearing DB"); LauncherAppState.getLauncherProvider().createEmptyDB(); LauncherSettings.Settings.call(getContentResolver(), LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB); } } }
src/com/android/launcher3/LauncherModel.java +17 −7 Original line number Diff line number Diff line Loading @@ -481,7 +481,9 @@ public class LauncherModel extends BroadcastReceiver if (!found) { // Still no position found. Add a new screen to the end. screenId = LauncherAppState.getLauncherProvider().generateNewScreenId(); screenId = LauncherSettings.Settings.call(context.getContentResolver(), LauncherSettings.Settings.METHOD_NEW_SCREEN_ID) .getLong(LauncherSettings.Settings.EXTRA_VALUE); // Save the screen id for binding in the workspace workspaceScreens.add(screenId); Loading Loading @@ -990,7 +992,9 @@ public class LauncherModel extends BroadcastReceiver final ContentResolver cr = context.getContentResolver(); item.onAddToDatabase(context, values); item.id = LauncherAppState.getLauncherProvider().generateNewItemId(); item.id = LauncherSettings.Settings.call(cr, LauncherSettings.Settings.METHOD_NEW_ITEM_ID) .getLong(LauncherSettings.Settings.EXTRA_VALUE); values.put(LauncherSettings.Favorites._ID, item.id); final StackTraceElement[] stackTrace = new Throwable().getStackTrace(); Loading Loading @@ -1727,17 +1731,20 @@ public class LauncherModel extends BroadcastReceiver if ((mFlags & LOADER_FLAG_CLEAR_WORKSPACE) != 0) { Log.d(TAG, "loadWorkspace: resetting launcher database"); LauncherAppState.getLauncherProvider().deleteDatabase(); LauncherSettings.Settings.call(contentResolver, LauncherSettings.Settings.METHOD_DELETE_DB); } if ((mFlags & LOADER_FLAG_MIGRATE_SHORTCUTS) != 0) { // append the user's Launcher2 shortcuts Log.d(TAG, "loadWorkspace: migrating from launcher2"); LauncherAppState.getLauncherProvider().migrateLauncher2Shortcuts(); LauncherSettings.Settings.call(contentResolver, LauncherSettings.Settings.METHOD_MIGRATE_LAUNCHER2_SHORTCUTS); } else { // Make sure the default workspace is loaded Log.d(TAG, "loadWorkspace: loading default favorites"); LauncherAppState.getLauncherProvider().loadDefaultFavoritesIfNecessary(); LauncherSettings.Settings.call(contentResolver, LauncherSettings.Settings.METHOD_LOAD_DEFAULT_FAVORITES); } synchronized (sBgLock) { Loading Loading @@ -2232,8 +2239,11 @@ public class LauncherModel extends BroadcastReceiver } // Remove any empty folder for (long folderId : LauncherAppState.getLauncherProvider() .deleteEmptyFolders()) { ArrayList<Long> deletedFolderIds = (ArrayList<Long>) LauncherSettings.Settings .call(contentResolver, LauncherSettings.Settings.METHOD_DELETE_EMPTY_FOLDERS) .getSerializable(LauncherSettings.Settings.EXTRA_VALUE); for (long folderId : deletedFolderIds) { sBgWorkspaceItems.remove(sBgFolders.get(folderId)); sBgFolders.remove(folderId); sBgItemsIdMap.remove(folderId); Loading
src/com/android/launcher3/LauncherProvider.java +51 −34 Original line number Diff line number Diff line Loading @@ -62,7 +62,6 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; public class LauncherProvider extends ContentProvider { private static final String TAG = "LauncherProvider"; Loading Loading @@ -91,10 +90,6 @@ public class LauncherProvider extends ContentProvider { return true; } public boolean wasNewDbCreated() { return mOpenHelper.wasNewDbCreated(); } public void setLauncherProviderChangeListener(LauncherProviderChangeListener listener) { mListener = listener; mOpenHelper.mListener = mListener; Loading Loading @@ -271,6 +266,50 @@ public class LauncherProvider extends ContentProvider { result.putBoolean(LauncherSettings.Settings.EXTRA_VALUE, value); return result; } case LauncherSettings.Settings.METHOD_CLEAR_EMPTY_DB_FLAG: { clearFlagEmptyDbCreated(); return null; } case LauncherSettings.Settings.METHOD_DELETE_EMPTY_FOLDERS: { Bundle result = new Bundle(); result.putSerializable(LauncherSettings.Settings.EXTRA_VALUE, deleteEmptyFolders()); return result; } case LauncherSettings.Settings.METHOD_NEW_ITEM_ID: { Bundle result = new Bundle(); result.putLong(LauncherSettings.Settings.EXTRA_VALUE, mOpenHelper.generateNewItemId()); return result; } case LauncherSettings.Settings.METHOD_NEW_SCREEN_ID: { Bundle result = new Bundle(); result.putLong(LauncherSettings.Settings.EXTRA_VALUE, mOpenHelper.generateNewScreenId()); return result; } case LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB: { createEmptyDB(); return null; } case LauncherSettings.Settings.METHOD_LOAD_DEFAULT_FAVORITES: { loadDefaultFavoritesIfNecessary(); return null; } case LauncherSettings.Settings.METHOD_MIGRATE_LAUNCHER2_SHORTCUTS: { mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(), Uri.parse(getContext().getString(R.string.old_launcher_provider_uri))); return null; } case LauncherSettings.Settings.METHOD_UPDATE_FOLDER_ITEMS_RANK: { mOpenHelper.updateFolderItemsRank(mOpenHelper.getWritableDatabase(), false); return null; } case LauncherSettings.Settings.METHOD_CONVERT_SHORTCUTS_TO_ACTIVITIES: { mOpenHelper.convertShortcutsToLauncherActivities(mOpenHelper.getWritableDatabase()); return null; } case LauncherSettings.Settings.METHOD_DELETE_DB: { deleteDatabase(); return null; } } return null; } Loading @@ -279,8 +318,8 @@ public class LauncherProvider extends ContentProvider { * Deletes any empty folder from the DB. * @return Ids of deleted folders. */ public List<Long> deleteEmptyFolders() { ArrayList<Long> folderIds = new ArrayList<Long>(); private ArrayList<Long> deleteEmptyFolders() { ArrayList<Long> folderIds = new ArrayList<>(); SQLiteDatabase db = mOpenHelper.getWritableDatabase(); db.beginTransaction(); try { Loading @@ -297,7 +336,7 @@ public class LauncherProvider extends ContentProvider { folderIds.add(c.getLong(0)); } c.close(); if (folderIds.size() > 0) { if (!folderIds.isEmpty()) { db.delete(TABLE_FAVORITES, Utilities.createDbSelectionQuery( LauncherSettings.Favorites._ID, folderIds), null); } Loading @@ -323,22 +362,14 @@ public class LauncherProvider extends ContentProvider { values.put(LauncherSettings.ChangeLogColumns.MODIFIED, System.currentTimeMillis()); } public long generateNewItemId() { return mOpenHelper.generateNewItemId(); } public long generateNewScreenId() { return mOpenHelper.generateNewScreenId(); } /** * Clears all the data for a fresh start. */ synchronized public void createEmptyDB() { synchronized private void createEmptyDB() { mOpenHelper.createEmptyDB(mOpenHelper.getWritableDatabase()); } public void clearFlagEmptyDbCreated() { private void clearFlagEmptyDbCreated() { Utilities.getPrefs(getContext()).edit().remove(EMPTY_DATABASE_CREATED).commit(); } Loading @@ -349,7 +380,7 @@ public class LauncherProvider extends ContentProvider { * 3) From a partner configuration APK, already in the system image * 4) The default configuration for the particular device */ synchronized public void loadDefaultFavoritesIfNecessary() { synchronized private void loadDefaultFavoritesIfNecessary() { SharedPreferences sp = Utilities.getPrefs(getContext()); if (sp.getBoolean(EMPTY_DATABASE_CREATED, false)) { Loading Loading @@ -434,21 +465,7 @@ public class LauncherProvider extends ContentProvider { mOpenHelper, getContext().getResources(), defaultLayout); } public void migrateLauncher2Shortcuts() { mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(), Uri.parse(getContext().getString(R.string.old_launcher_provider_uri))); } public void updateFolderItemsRank() { mOpenHelper.updateFolderItemsRank(mOpenHelper.getWritableDatabase(), false); } public void convertShortcutsToLauncherActivities() { mOpenHelper.convertShortcutsToLauncherActivities(mOpenHelper.getWritableDatabase()); } public void deleteDatabase() { private void deleteDatabase() { // Are you sure? (y/n) final SQLiteDatabase db = mOpenHelper.getWritableDatabase(); final File dbFile = new File(db.getPath()); Loading
src/com/android/launcher3/LauncherSettings.java +21 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,9 @@ package com.android.launcher3; import android.content.ContentResolver; import android.net.Uri; import android.os.Bundle; import android.provider.BaseColumns; import com.android.launcher3.config.ProviderConfig; Loading Loading @@ -321,8 +323,27 @@ public class LauncherSettings { public static final String METHOD_GET_BOOLEAN = "get_boolean_setting"; public static final String METHOD_SET_BOOLEAN = "set_boolean_setting"; public static final String METHOD_CLEAR_EMPTY_DB_FLAG = "clear_empty_db_flag"; public static final String METHOD_DELETE_EMPTY_FOLDERS = "delete_empty_folders"; public static final String METHOD_UPDATE_FOLDER_ITEMS_RANK = "update_folder_items_rank"; public static final String METHOD_CONVERT_SHORTCUTS_TO_ACTIVITIES = "convert_shortcuts_to_launcher_activities"; public static final String METHOD_NEW_ITEM_ID = "generate_new_item_id"; public static final String METHOD_NEW_SCREEN_ID = "generate_new_screen_id"; public static final String METHOD_CREATE_EMPTY_DB = "create_empty_db"; public static final String METHOD_DELETE_DB = "delete_db"; public static final String METHOD_LOAD_DEFAULT_FAVORITES = "load_default_favorites"; public static final String METHOD_MIGRATE_LAUNCHER2_SHORTCUTS = "migrate_l2_shortcuts"; public static final String EXTRA_VALUE = "value"; public static final String EXTRA_DEFAULT_VALUE = "default_value"; public static Bundle call(ContentResolver cr, String method) { return cr.call(CONTENT_URI, method, null, null); } } }