From 0a926c1d67e63a2b2cdc682b8ae69e06bff8ca07 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Thu, 1 Nov 2018 18:53:42 -0700 Subject: [PATCH] Create a launcher model override. This change disables shortcuts/widgets loading on Android Go devices. Bug: 112904271 Test: Manual test Change-Id: I2c40f87a8f5d752525c99d254693a4e0a9eeeb2b --- .../android/launcher3/model/WidgetsModel.java | 67 +++++++++++++++++++ .../android/launcher3/model/WidgetsModel.java | 0 2 files changed, 67 insertions(+) create mode 100644 go/src/com/android/launcher3/model/WidgetsModel.java rename {src => src_shortcuts_overrides}/com/android/launcher3/model/WidgetsModel.java (100%) diff --git a/go/src/com/android/launcher3/model/WidgetsModel.java b/go/src/com/android/launcher3/model/WidgetsModel.java new file mode 100644 index 0000000000..18f3f9d91c --- /dev/null +++ b/go/src/com/android/launcher3/model/WidgetsModel.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3.model; + +import android.content.Context; +import android.os.UserHandle; + +import com.android.launcher3.icons.ComponentWithLabel; +import com.android.launcher3.LauncherAppState; +import com.android.launcher3.util.PackageUserKey; +import com.android.launcher3.widget.WidgetListRowEntry; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import androidx.annotation.Nullable; + +/** + * Widgets data model that is used by the adapters of the widget views and controllers. + * + *

The widgets and shortcuts are organized using package name as its index. + */ +public class WidgetsModel { + private static final ArrayList EMPTY_WIDGET_LIST = new ArrayList<>(); + + /** + * Returns a list of {@link WidgetListRowEntry}. All {@link WidgetItem} in a single row + * are sorted (based on label and user), but the overall list of {@link WidgetListRowEntry}s + * is not sorted. This list is sorted at the UI when using + * {@link com.android.launcher3.widget.WidgetsDiffReporter} + * + * @see com.android.launcher3.widget.WidgetsListAdapter#setWidgets(ArrayList) + */ + public synchronized ArrayList getWidgetsList(Context context) { + return EMPTY_WIDGET_LIST; + } + + /** + * @param packageUser If null, all widgets and shortcuts are updated and returned, otherwise + * only widgets and shortcuts associated with the package/user are. + */ + public List update(LauncherAppState app, + @Nullable PackageUserKey packageUser) { + return Collections.emptyList(); + } + + + public void onPackageIconsUpdated(Set packageNames, UserHandle user, + LauncherAppState app) { + } +} \ No newline at end of file diff --git a/src/com/android/launcher3/model/WidgetsModel.java b/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java similarity index 100% rename from src/com/android/launcher3/model/WidgetsModel.java rename to src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java