From 56e56095f774a70591ab9b7724a7aa1a8a4ae57b Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Wed, 3 Oct 2018 16:34:41 -0700 Subject: [PATCH 1/9] Adding animation when opening app usage settings Bug: 118319143 Test: manual test on a prototype Change-Id: I33eab24f180daa60bba221df585469d141526b4b --- quickstep/src/com/android/quickstep/views/TaskView.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 2a4226faa2..a124fe478f 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -459,7 +459,7 @@ public class TaskView extends FrameLayout implements PageCallbacks { } if (action == R.string.accessibility_app_usage_settings) { - openAppUsageSettings(); + openAppUsageSettings(this); return true; } @@ -481,14 +481,16 @@ public class TaskView extends FrameLayout implements PageCallbacks { return super.performAccessibilityAction(action, arguments); } - private void openAppUsageSettings() { + private void openAppUsageSettings(View view) { final Intent intent = new Intent(SEE_TIME_IN_APP_TEMPLATE) .putExtra(Intent.EXTRA_PACKAGE_NAME, mTask.getTopComponent().getPackageName()).addFlags( Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); try { final Launcher launcher = Launcher.getLauncher(getContext()); - launcher.startActivity(intent); + final ActivityOptions options = ActivityOptions.makeScaleUpAnimation(view, 0, 0, + view.getWidth(), view.getHeight()); + launcher.startActivity(intent, options.toBundle()); launcher.getUserEventDispatcher().logActionOnControl(LauncherLogProto.Action.Touch.TAP, LauncherLogProto.ControlType.APP_USAGE_SETTINGS, this); } catch (ActivityNotFoundException e) { From 41e8da3ceef3470a6b67759981044720efa565ea Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 6 Nov 2018 10:15:44 -0800 Subject: [PATCH 2/9] Removing Launcher3 util class dependency in IconCacheUpdateHandler Change-Id: I7317c11cd2aa54b4b7647aa5644b23c91a240d19 --- .../icons/IconCacheUpdateHandler.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/com/android/launcher3/icons/IconCacheUpdateHandler.java b/src/com/android/launcher3/icons/IconCacheUpdateHandler.java index 07451b9504..5c12c8b446 100644 --- a/src/com/android/launcher3/icons/IconCacheUpdateHandler.java +++ b/src/com/android/launcher3/icons/IconCacheUpdateHandler.java @@ -27,11 +27,8 @@ import android.text.TextUtils; import android.util.Log; import android.util.SparseBooleanArray; -import com.android.launcher3.Utilities; import com.android.launcher3.icons.BaseIconCache.IconDB; -import com.android.launcher3.util.IntArray; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -204,18 +201,31 @@ public class IconCacheUpdateHandler { } } + /** + * Commits all updates as part of the update handler to disk. Not more calls should be made + * to this class after this. + */ public void finish() { // Commit all deletes - IntArray deleteIds = new IntArray(); + int deleteCount = 0; + StringBuilder queryBuilder = new StringBuilder() + .append(IconDB.COLUMN_ROWID) + .append(" IN ("); + int count = mItemsToDelete.size(); for (int i = 0; i < count; i++) { if (mItemsToDelete.valueAt(i)) { - deleteIds.add(mItemsToDelete.keyAt(i)); + if (deleteCount > 0) { + queryBuilder.append(", "); + } + queryBuilder.append(mItemsToDelete.keyAt(i)); + deleteCount++; } } - if (!deleteIds.isEmpty()) { - mIconCache.mIconDb.delete( - Utilities.createDbSelectionQuery(IconDB.COLUMN_ROWID, deleteIds), null); + queryBuilder.append(')'); + + if (deleteCount > 0) { + mIconCache.mIconDb.delete(queryBuilder.toString(), null); } } From dcf917b1336dd21a9cfdfcf1d7c61c98b3f949d1 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 1 Nov 2018 16:37:03 -0700 Subject: [PATCH 3/9] Adding an interface to allow adding custom views in FloatingHeaderView Bug: 109828640 Change-Id: I9bde5d4fab47eb3e5787bbb741b5b9051a15c0c2 --- res/layout/all_apps.xml | 45 +++- res/layout/all_apps_floating_header.xml | 58 ------ res/layout/floating_header_content.xml | 16 ++ .../launcher3/allapps/FloatingHeaderRow.java | 58 ++++++ .../launcher3/allapps/FloatingHeaderView.java | 192 ++++++++++++++---- .../launcher3/allapps/PluginHeaderRow.java | 85 ++++++++ 6 files changed, 351 insertions(+), 103 deletions(-) delete mode 100644 res/layout/all_apps_floating_header.xml create mode 100644 res/layout/floating_header_content.xml create mode 100644 src/com/android/launcher3/allapps/FloatingHeaderRow.java create mode 100644 src/com/android/launcher3/allapps/PluginHeaderRow.java diff --git a/res/layout/all_apps.xml b/res/layout/all_apps.xml index b1e6f2efd7..33ff46b910 100644 --- a/res/layout/all_apps.xml +++ b/res/layout/all_apps.xml @@ -30,7 +30,50 @@ layout="@layout/all_apps_rv_layout" android:visibility="gone" /> - + + + + + + +