summaryrefslogtreecommitdiffstats
path: root/quickstep
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-11-08 16:52:34 -0800
committerSunny Goyal <sunnygoyal@google.com>2017-12-13 13:36:36 -0800
commit9d32323cac8df6152db22d119a61fe2ddc5ada80 (patch)
tree5d4d251527f28c1daf39f0d39f6eb3e24376bc70 /quickstep
parent30d276cb92f507170311ff11463d8b0bdf949bae (diff)
downloadandroid_packages_apps_Trebuchet-9d32323cac8df6152db22d119a61fe2ddc5ada80.tar.gz
android_packages_apps_Trebuchet-9d32323cac8df6152db22d119a61fe2ddc5ada80.tar.bz2
android_packages_apps_Trebuchet-9d32323cac8df6152db22d119a61fe2ddc5ada80.zip
First pass at using hardware bitmaps
Bug: 35428783 Change-Id: Ife67b85f6e7e268826597ed9bccd9659841f67de
Diffstat (limited to 'quickstep')
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/UiFactory.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
index 9178d8ad4..9be0d32e5 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
@@ -17,6 +17,8 @@
package com.android.launcher3.uioverrides;
import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
import android.view.View.AccessibilityDelegate;
import android.widget.PopupMenu;
import android.widget.Toast;
@@ -24,11 +26,16 @@ import android.widget.Toast;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherStateManager.StateHandler;
import com.android.launcher3.R;
+import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.graphics.BitmapRenderer;
import com.android.launcher3.util.TouchController;
import com.android.launcher3.widget.WidgetsFullSheet;
+import com.android.systemui.shared.recents.view.RecentsTransition;
public class UiFactory {
+ public static final boolean USE_HARDWARE_BITMAP = FeatureFlags.IS_DOGFOOD_BUILD;
+
public static TouchController[] createTouchControllers(Launcher launcher) {
if (launcher.getDeviceProfile().isVerticalBarLayout()) {
@@ -77,4 +84,15 @@ public class UiFactory {
}
menu.show();
}
+
+ public static Bitmap createFromRenderer(int width, int height, boolean forceSoftwareRenderer,
+ BitmapRenderer renderer) {
+ if (USE_HARDWARE_BITMAP && !forceSoftwareRenderer) {
+ return RecentsTransition.createHardwareBitmap(width, height, renderer::render);
+ } else {
+ Bitmap result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+ renderer.render(new Canvas(result));
+ return result;
+ }
+ }
}