Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f4adf67 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Allow restore across form factors" into sc-v2-dev am: 5599b021

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16440220

Change-Id: I46024c6edf3539fa495ed491c679d1cdce8b5dd0
parents 2539cd20 5599b021
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -25,7 +25,8 @@
        launcher:numFolderColumns="3"
        launcher:numHotseatIcons="3"
        launcher:dbFile="launcher_3_by_3.db"
        launcher:defaultLayoutId="@xml/default_workspace_3x3" >
        launcher:defaultLayoutId="@xml/default_workspace_3x3"
        launcher:deviceCategory="phone|multi_display" >

        <display-option
            launcher:name="Super Short Stubby"
@@ -53,7 +54,8 @@
        launcher:numFolderColumns="4"
        launcher:numHotseatIcons="4"
        launcher:dbFile="launcher_4_by_4.db"
        launcher:defaultLayoutId="@xml/default_workspace_4x4" >
        launcher:defaultLayoutId="@xml/default_workspace_4x4"
        launcher:deviceCategory="phone|multi_display" >

        <display-option
            launcher:name="Short Stubby"
@@ -105,7 +107,8 @@
        launcher:numFolderColumns="4"
        launcher:numHotseatIcons="5"
        launcher:dbFile="launcher.db"
        launcher:defaultLayoutId="@xml/default_workspace_5x5" >
        launcher:defaultLayoutId="@xml/default_workspace_5x5"
        launcher:deviceCategory="phone|multi_display" >

        <display-option
            launcher:name="Large Phone"
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ public class LauncherFiles {
    private static final String XML = ".xml";

    public static final String LAUNCHER_DB = "launcher.db";
    public static final String LAUNCHER_6_BY_5_DB = "launcher_6_by_5.db";
    public static final String LAUNCHER_4_BY_5_DB = "launcher_4_by_5.db";
    public static final String LAUNCHER_4_BY_4_DB = "launcher_4_by_4.db";
    public static final String LAUNCHER_3_BY_3_DB = "launcher_3_by_3.db";
@@ -32,6 +33,7 @@ public class LauncherFiles {

    public static final List<String> GRID_DB_FILES = Collections.unmodifiableList(Arrays.asList(
            LAUNCHER_DB,
            LAUNCHER_6_BY_5_DB,
            LAUNCHER_4_BY_5_DB,
            LAUNCHER_4_BY_4_DB,
            LAUNCHER_3_BY_3_DB,
+0 −10
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.launcher3.model;

import static com.android.launcher3.InvariantDeviceProfile.DeviceType;
import static com.android.launcher3.InvariantDeviceProfile.TYPE_MULTI_DISPLAY;
import static com.android.launcher3.InvariantDeviceProfile.TYPE_PHONE;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_GRID_SIZE_2;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_GRID_SIZE_3;
@@ -31,7 +30,6 @@ import android.text.TextUtils;
import com.android.launcher3.InvariantDeviceProfile;
import com.android.launcher3.Utilities;
import com.android.launcher3.logging.StatsLogManager.LauncherEvent;
import com.android.launcher3.util.IntSet;

import java.util.Locale;
import java.util.Objects;
@@ -45,13 +43,6 @@ public class DeviceGridState {
    public static final String KEY_HOTSEAT_COUNT = "migration_src_hotseat_count";
    public static final String KEY_DEVICE_TYPE = "migration_src_device_type";

    private static final IntSet COMPATIBLE_TYPES = IntSet.wrap(TYPE_PHONE, TYPE_MULTI_DISPLAY);

    public static boolean deviceTypeCompatible(@DeviceType int typeA, @DeviceType int typeB) {
        return typeA == typeB
                || (COMPATIBLE_TYPES.contains(typeA) && COMPATIBLE_TYPES.contains(typeB));
    }

    private final String mGridSizeString;
    private final int mNumHotseat;
    private final @DeviceType int mDeviceType;
@@ -123,7 +114,6 @@ public class DeviceGridState {
        if (this == other) return true;
        if (other == null) return false;
        return mNumHotseat == other.mNumHotseat
                && deviceTypeCompatible(mDeviceType, other.mDeviceType)
                && Objects.equals(mGridSizeString, other.mGridSizeString);
    }
}
+0 −6
Original line number Diff line number Diff line
@@ -87,12 +87,6 @@ public class RestoreDbTask {
    }

    private static boolean performRestore(Context context, DatabaseHelper helper) {
        if (!DeviceGridState.deviceTypeCompatible(
                new DeviceGridState(LauncherAppState.getIDP(context)).getDeviceType(),
                Utilities.getPrefs(context).getInt(RESTORED_DEVICE_TYPE, TYPE_PHONE))) {
            // DO NOT restore if the device types are incompatible.
            return false;
        }
        SQLiteDatabase db = helper.getWritableDatabase();
        try (SQLiteTransaction t = new SQLiteTransaction(db)) {
            RestoreDbTask task = new RestoreDbTask();