Removing some obsolete features:ENABLE_MINIMAL_DEVICE, ENABLE_DATABASE_RESTORE
Bug: 270392984
Bug: 270392706
Test: Presubmit
Flag: N/A
Change-Id: I58c3e76de521e702fb44ccfc14c9b5a731b1d511
diff --git a/quickstep/src/com/android/launcher3/model/WellbeingModel.java b/quickstep/src/com/android/launcher3/model/WellbeingModel.java
index d8fd51a..003c2fc 100644
--- a/quickstep/src/com/android/launcher3/model/WellbeingModel.java
+++ b/quickstep/src/com/android/launcher3/model/WellbeingModel.java
@@ -47,11 +47,7 @@
import androidx.annotation.WorkerThread;
import com.android.launcher3.BaseDraggingActivity;
-import com.android.launcher3.InvariantDeviceProfile;
-import com.android.launcher3.LauncherProvider;
-import com.android.launcher3.LauncherSettings;
import com.android.launcher3.R;
-import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.popup.RemoteActionShortcut;
import com.android.launcher3.popup.SystemShortcut;
@@ -73,21 +69,14 @@
private static final int[] RETRY_TIMES_MS = {5000, 15000, 30000};
private static final boolean DEBUG = false;
- private static final int UNKNOWN_MINIMAL_DEVICE_STATE = 0;
- private static final int IN_MINIMAL_DEVICE = 2;
-
// Welbeing contract
private static final String PATH_ACTIONS = "actions";
- private static final String PATH_MINIMAL_DEVICE = "minimal_device";
- private static final String METHOD_GET_MINIMAL_DEVICE_CONFIG = "get_minimal_device_config";
private static final String METHOD_GET_ACTIONS = "get_actions";
private static final String EXTRA_ACTIONS = "actions";
private static final String EXTRA_ACTION = "action";
private static final String EXTRA_MAX_NUM_ACTIONS_SHOWN = "max_num_actions_shown";
private static final String EXTRA_PACKAGES = "packages";
private static final String EXTRA_SUCCESS = "success";
- private static final String EXTRA_MINIMAL_DEVICE_STATE = "minimal_device_state";
- private static final String DB_NAME_MINIMAL_DEVICE = "minimal.db";
public static final MainThreadInitializedObject<WellbeingModel> INSTANCE =
new MainThreadInitializedObject<>(WellbeingModel::new);
@@ -137,36 +126,7 @@
@WorkerThread
private void onWellbeingUriChanged(Uri uri) {
Preconditions.assertNonUiThread();
- if (DEBUG || mIsInTest) {
- Log.d(TAG, "ContentObserver.onChange() called with: uri = [" + uri + "]");
- }
- if (uri.getPath().contains(PATH_ACTIONS)) {
- // Wellbeing reports that app actions have changed.
- updateAllPackages();
- } else if (uri.getPath().contains(PATH_MINIMAL_DEVICE)) {
- // Wellbeing reports that minimal device state or config is changed.
- if (!FeatureFlags.ENABLE_MINIMAL_DEVICE.get()) {
- return;
- }
-
- // Temporary bug fix for b/169771796. Wellbeing provides the layout configuration when
- // minimal device is enabled. We always want to reload the configuration from Wellbeing
- // since the layout configuration might have changed.
- mContext.deleteDatabase(DB_NAME_MINIMAL_DEVICE);
-
- final Bundle extras = new Bundle();
- String dbFile;
- if (isInMinimalDeviceMode()) {
- dbFile = DB_NAME_MINIMAL_DEVICE;
- extras.putString(LauncherProvider.KEY_LAYOUT_PROVIDER_AUTHORITY,
- mWellbeingProviderPkg + ".api");
- } else {
- dbFile = InvariantDeviceProfile.INSTANCE.get(mContext).dbFile;
- }
- LauncherSettings.Settings.call(mContext.getContentResolver(),
- LauncherSettings.Settings.METHOD_SWITCH_DATABASE,
- dbFile, extras);
- }
+ updateAllPackages();
}
public void setInTest(boolean inTest) {
@@ -178,12 +138,9 @@
final ContentResolver resolver = mContext.getContentResolver();
resolver.unregisterContentObserver(mContentObserver);
Uri actionsUri = apiBuilder().path(PATH_ACTIONS).build();
- Uri minimalDeviceUri = apiBuilder().path(PATH_MINIMAL_DEVICE).build();
try {
resolver.registerContentObserver(
actionsUri, true /* notifyForDescendants */, mContentObserver);
- resolver.registerContentObserver(
- minimalDeviceUri, true /* notifyForDescendants */, mContentObserver);
} catch (Exception e) {
Log.e(TAG, "Failed to register content observer for " + actionsUri + ": " + e);
if (mIsInTest) throw new RuntimeException(e);
@@ -228,32 +185,6 @@
}
@WorkerThread
- private boolean isInMinimalDeviceMode() {
- if (!FeatureFlags.ENABLE_MINIMAL_DEVICE.get()) {
- return false;
- }
- if (DEBUG || mIsInTest) {
- Log.d(TAG, "isInMinimalDeviceMode() called");
- }
- Preconditions.assertNonUiThread();
-
- final Uri contentUri = apiBuilder().build();
- try (ContentProviderClient client = mContext.getContentResolver()
- .acquireUnstableContentProviderClient(contentUri)) {
- final Bundle remoteBundle = client == null ? null : client.call(
- METHOD_GET_MINIMAL_DEVICE_CONFIG, null /* args */, null /* extras */);
- return remoteBundle != null
- && remoteBundle.getInt(EXTRA_MINIMAL_DEVICE_STATE,
- UNKNOWN_MINIMAL_DEVICE_STATE) == IN_MINIMAL_DEVICE;
- } catch (Exception e) {
- Log.e(TAG, "Failed to retrieve data from " + contentUri + ": " + e);
- if (mIsInTest) throw new RuntimeException(e);
- }
- if (DEBUG || mIsInTest) Log.i(TAG, "isInMinimalDeviceMode(): finished");
- return false;
- }
-
- @WorkerThread
private boolean updateActions(String[] packageNames) {
if (packageNames.length == 0) {
return true;
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index e688709..d1fa764 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -22,7 +22,6 @@
import static com.android.launcher3.provider.LauncherDbUtils.tableExists;
import android.annotation.TargetApi;
-import android.app.backup.BackupManager;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.ContentProvider;
@@ -85,7 +84,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Locale;
-import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -94,7 +92,6 @@
private static final boolean LOGD = false;
private static final String DOWNGRADE_SCHEMA_FILE = "downgrade_schema.json";
- private static final long RESTORE_BACKUP_TABLE_DELAY = TimeUnit.SECONDS.toMillis(30);
/**
* Represents the schema of the database. Changes in scheme need not be backwards compatible.
@@ -114,8 +111,6 @@
protected DatabaseHelper mOpenHelper;
protected String mProviderAuthority;
- private long mLastRestoreTimestamp = 0L;
-
private int mDefaultWorkspaceLayoutOverride = 0;
/**
@@ -374,13 +369,6 @@
clearFlagEmptyDbCreated();
return null;
}
- case LauncherSettings.Settings.METHOD_WAS_EMPTY_DB_CREATED : {
- Bundle result = new Bundle();
- result.putBoolean(LauncherSettings.Settings.EXTRA_VALUE,
- LauncherPrefs.getPrefs(getContext()).getBoolean(
- mOpenHelper.getKey(EMPTY_DATABASE_CREATED), false));
- return result;
- }
case LauncherSettings.Settings.METHOD_DELETE_EMPTY_FOLDERS: {
Bundle result = new Bundle();
result.putIntArray(LauncherSettings.Settings.EXTRA_VALUE, deleteEmptyFolders()
@@ -438,25 +426,11 @@
new SQLiteTransaction(mOpenHelper.getWritableDatabase()));
return result;
}
- case LauncherSettings.Settings.METHOD_REFRESH_BACKUP_TABLE: {
- mOpenHelper.mBackupTableExists = tableExists(mOpenHelper.getReadableDatabase(),
- Favorites.BACKUP_TABLE_NAME);
- return null;
- }
case LauncherSettings.Settings.METHOD_REFRESH_HOTSEAT_RESTORE_TABLE: {
mOpenHelper.mHotseatRestoreTableExists = tableExists(
mOpenHelper.getReadableDatabase(), Favorites.HYBRID_HOTSEAT_BACKUP_TABLE);
return null;
}
- case LauncherSettings.Settings.METHOD_RESTORE_BACKUP_TABLE: {
- final long ts = System.currentTimeMillis();
- if (ts - mLastRestoreTimestamp > RESTORE_BACKUP_TABLE_DELAY) {
- mLastRestoreTimestamp = ts;
- RestoreDbTask.restoreIfPossible(
- getContext(), mOpenHelper, new BackupManager(getContext()));
- }
- return null;
- }
case LauncherSettings.Settings.METHOD_UPDATE_CURRENT_OPEN_HELPER: {
Bundle result = new Bundle();
result.putBoolean(LauncherSettings.Settings.EXTRA_VALUE,
@@ -479,22 +453,6 @@
() -> mOpenHelper));
return result;
}
- case LauncherSettings.Settings.METHOD_SWITCH_DATABASE: {
- if (TextUtils.equals(arg, mOpenHelper.getDatabaseName())) return null;
- final DatabaseHelper helper = mOpenHelper;
- if (extras == null || !extras.containsKey(KEY_LAYOUT_PROVIDER_AUTHORITY)) {
- mProviderAuthority = null;
- } else {
- mProviderAuthority = extras.getString(KEY_LAYOUT_PROVIDER_AUTHORITY);
- }
- mOpenHelper = DatabaseHelper.createDatabaseHelper(
- getContext(), arg, false /* forMigration */);
- helper.close();
- LauncherAppState app = LauncherAppState.getInstanceNoCreate();
- if (app == null) return null;
- app.getModel().forceReload();
- return null;
- }
}
return null;
}
@@ -666,7 +624,6 @@
private final Context mContext;
private final boolean mForMigration;
private int mMaxItemId = -1;
- private boolean mBackupTableExists;
private boolean mHotseatRestoreTableExists;
static DatabaseHelper createDatabaseHelper(Context context, boolean forMigration) {
@@ -727,10 +684,6 @@
}
protected void onAddOrDeleteOp(SQLiteDatabase db) {
- if (mBackupTableExists) {
- dropTable(db, Favorites.BACKUP_TABLE_NAME);
- mBackupTableExists = false;
- }
if (mHotseatRestoreTableExists) {
dropTable(db, Favorites.HYBRID_HOTSEAT_BACKUP_TABLE);
mHotseatRestoreTableExists = false;
diff --git a/src/com/android/launcher3/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java
index 6e3e96c..1cd2a30 100644
--- a/src/com/android/launcher3/LauncherSettings.java
+++ b/src/com/android/launcher3/LauncherSettings.java
@@ -380,7 +380,6 @@
LauncherProvider.AUTHORITY + "/settings");
public static final String METHOD_CLEAR_EMPTY_DB_FLAG = "clear_empty_db_flag";
- public static final String METHOD_WAS_EMPTY_DB_CREATED = "get_empty_db_flag";
public static final String METHOD_DELETE_EMPTY_FOLDERS = "delete_empty_folders";
@@ -404,18 +403,12 @@
public static final String METHOD_NEW_TRANSACTION = "new_db_transaction";
- public static final String METHOD_REFRESH_BACKUP_TABLE = "refresh_backup_table";
-
public static final String METHOD_REFRESH_HOTSEAT_RESTORE_TABLE = "restore_hotseat_table";
- public static final String METHOD_RESTORE_BACKUP_TABLE = "restore_backup_table";
-
public static final String METHOD_UPDATE_CURRENT_OPEN_HELPER = "update_current_open_helper";
public static final String METHOD_PREP_FOR_PREVIEW = "prep_for_preview";
- public static final String METHOD_SWITCH_DATABASE = "switch_database";
-
public static final String EXTRA_VALUE = "value";
public static final String EXTRA_DB_NAME = "db_name";
diff --git a/src/com/android/launcher3/SessionCommitReceiver.java b/src/com/android/launcher3/SessionCommitReceiver.java
index 50ad2be..32c8968 100644
--- a/src/com/android/launcher3/SessionCommitReceiver.java
+++ b/src/com/android/launcher3/SessionCommitReceiver.java
@@ -71,7 +71,6 @@
}
InstallSessionHelper packageInstallerCompat = InstallSessionHelper.INSTANCE.get(context);
- packageInstallerCompat.restoreDbIfApplicable(info);
if (TextUtils.isEmpty(info.getAppPackageName())
|| info.getInstallReason() != PackageManager.INSTALL_REASON_USER
|| packageInstallerCompat.promiseIconAddedForId(info.getSessionId())) {
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index c95f78c..b8893b6 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -131,10 +131,6 @@
"ASSISTANT_GIVES_LAUNCHER_FOCUS", DISABLED,
"Allow Launcher to handle nav bar gestures while Assistant is running over it");
- public static final BooleanFlag ENABLE_DATABASE_RESTORE = getDebugFlag(270392706,
- "ENABLE_DATABASE_RESTORE", DISABLED,
- "Enable database restore when new restore session is created");
-
public static final BooleanFlag ENABLE_OVERLAY_CONNECTION_OPTIM = getDebugFlag(270392629,
"ENABLE_OVERLAY_CONNECTION_OPTIM", DISABLED,
"Enable optimizing overlay service connection");
@@ -154,10 +150,6 @@
"SEPARATE_RECENTS_ACTIVITY", DISABLED,
"Uses a separate recents activity instead of using the integrated recents+Launcher UI");
- public static final BooleanFlag ENABLE_MINIMAL_DEVICE = getDebugFlag(270392984,
- "ENABLE_MINIMAL_DEVICE", DISABLED,
- "Allow user to toggle minimal device mode in launcher.");
-
public static final BooleanFlag ENABLE_TWO_PANEL_HOME = getDebugFlag(270392643,
"ENABLE_TWO_PANEL_HOME", ENABLED,
"Uses two panel on home screen. Only applicable on large screen devices.");
diff --git a/src/com/android/launcher3/pm/InstallSessionHelper.java b/src/com/android/launcher3/pm/InstallSessionHelper.java
index 125b4ce..47bfe85 100644
--- a/src/com/android/launcher3/pm/InstallSessionHelper.java
+++ b/src/com/android/launcher3/pm/InstallSessionHelper.java
@@ -29,14 +29,11 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import androidx.annotation.WorkerThread;
import com.android.launcher3.LauncherPrefs;
-import com.android.launcher3.LauncherSettings;
import com.android.launcher3.SessionCommitReceiver;
import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.logging.FileLog;
import com.android.launcher3.model.ItemInstallQueue;
import com.android.launcher3.testing.shared.TestProtocol;
@@ -204,26 +201,6 @@
return list;
}
- /**
- * Attempt to restore workspace layout if the session is triggered due to device restore.
- */
- public boolean restoreDbIfApplicable(@NonNull final SessionInfo info) {
- if (!FeatureFlags.ENABLE_DATABASE_RESTORE.get()) {
- return false;
- }
- if (isRestore(info)) {
- LauncherSettings.Settings.call(mAppContext.getContentResolver(),
- LauncherSettings.Settings.METHOD_RESTORE_BACKUP_TABLE);
- return true;
- }
- return false;
- }
-
- @RequiresApi(26)
- private static boolean isRestore(@NonNull final SessionInfo info) {
- return info.getInstallReason() == PackageManager.INSTALL_REASON_DEVICE_RESTORE;
- }
-
@WorkerThread
public boolean promiseIconAddedForId(final int sessionId) {
return getPromiseIconIds().contains(sessionId);