Merge "Fix the issue where shortcuts are removed in minimal device mode" into ub-launcher3-master
This commit is contained in:
commit
37ed5ead39
|
@ -188,6 +188,9 @@ public class LauncherProvider extends ContentProvider {
|
||||||
|
|
||||||
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
|
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
|
||||||
Cursor result = qb.query(db, projection, args.where, args.args, null, null, sortOrder);
|
Cursor result = qb.query(db, projection, args.where, args.args, null, null, sortOrder);
|
||||||
|
final Bundle extra = new Bundle();
|
||||||
|
extra.putString(LauncherSettings.Settings.EXTRA_DB_NAME, mOpenHelper.getDatabaseName());
|
||||||
|
result.setExtras(extra);
|
||||||
result.setNotificationUri(getContext().getContentResolver(), uri);
|
result.setNotificationUri(getContext().getContentResolver(), uri);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -358,6 +358,8 @@ public class LauncherSettings {
|
||||||
|
|
||||||
public static final String EXTRA_VALUE = "value";
|
public static final String EXTRA_VALUE = "value";
|
||||||
|
|
||||||
|
public static final String EXTRA_DB_NAME = "db_name";
|
||||||
|
|
||||||
public static Bundle call(ContentResolver cr, String method) {
|
public static Bundle call(ContentResolver cr, String method) {
|
||||||
return call(cr, method, null /* arg */);
|
return call(cr, method, null /* arg */);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,7 @@ import android.content.pm.PackageInstaller.SessionInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ShortcutInfo;
|
import android.content.pm.ShortcutInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
@ -130,6 +131,7 @@ public class LoaderTask implements Runnable {
|
||||||
|
|
||||||
private final Set<PackageUserKey> mPendingPackages = new HashSet<>();
|
private final Set<PackageUserKey> mPendingPackages = new HashSet<>();
|
||||||
private boolean mItemsDeleted = false;
|
private boolean mItemsDeleted = false;
|
||||||
|
private String mDbName;
|
||||||
|
|
||||||
public LoaderTask(LauncherAppState app, AllAppsList bgAllAppsList, BgDataModel dataModel,
|
public LoaderTask(LauncherAppState app, AllAppsList bgAllAppsList, BgDataModel dataModel,
|
||||||
ModelDelegate modelDelegate, LoaderResults results) {
|
ModelDelegate modelDelegate, LoaderResults results) {
|
||||||
|
@ -274,7 +276,14 @@ public class LoaderTask implements Runnable {
|
||||||
if (FeatureFlags.FOLDER_NAME_SUGGEST.get()) {
|
if (FeatureFlags.FOLDER_NAME_SUGGEST.get()) {
|
||||||
loadFolderNames();
|
loadFolderNames();
|
||||||
}
|
}
|
||||||
sanitizeData();
|
|
||||||
|
// Sanitize data re-syncs widgets/shortcuts based on the workspace loaded from db.
|
||||||
|
// sanitizeData should not be invoked if the workspace is loaded from a db different
|
||||||
|
// from the main db as defined in the invariant device profile.
|
||||||
|
// (e.g. both grid preview and minimal device mode uses a different db)
|
||||||
|
if (mApp.getInvariantDeviceProfile().dbFile.equals(mDbName)) {
|
||||||
|
sanitizeData();
|
||||||
|
}
|
||||||
|
|
||||||
verifyNotStopped();
|
verifyNotStopped();
|
||||||
updateHandler.finish();
|
updateHandler.finish();
|
||||||
|
@ -349,7 +358,9 @@ public class LoaderTask implements Runnable {
|
||||||
final LoaderCursor c = new LoaderCursor(
|
final LoaderCursor c = new LoaderCursor(
|
||||||
contentResolver.query(contentUri, null, selection, null, null), contentUri,
|
contentResolver.query(contentUri, null, selection, null, null), contentUri,
|
||||||
mApp, mUserManagerState);
|
mApp, mUserManagerState);
|
||||||
|
final Bundle extras = c.getExtras();
|
||||||
|
mDbName = extras == null
|
||||||
|
? null : extras.getString(LauncherSettings.Settings.EXTRA_DB_NAME);
|
||||||
try {
|
try {
|
||||||
final int appWidgetIdIndex = c.getColumnIndexOrThrow(
|
final int appWidgetIdIndex = c.getColumnIndexOrThrow(
|
||||||
LauncherSettings.Favorites.APPWIDGET_ID);
|
LauncherSettings.Favorites.APPWIDGET_ID);
|
||||||
|
|
Loading…
Reference in New Issue