diff options
| author | 2020-06-30 13:28:58 -0700 | |
|---|---|---|
| committer | 2020-10-16 13:53:05 +0000 | |
| commit | 44ca28c5c958e76641cf413f060625412c085b2c (patch) | |
| tree | 6e1e5886694d03061e73d4b085f80bf6d4c341f0 | |
| parent | 6b634145572ba2d041362236a0254e04fa3a2ae9 (diff) | |
Remove some dead code
Simplify state by deleting unused & always true stuff
Test: builds
Change-Id: Idf679aff5e809e567dac21a127cb9d6ace894f0e
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 11 | ||||
| -rw-r--r-- | core/java/android/view/ThreadedRenderer.java | 54 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 3 | ||||
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 7 | ||||
| -rw-r--r-- | core/java/android/view/WindowManagerGlobal.java | 31 |
5 files changed, 33 insertions, 73 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 28bd5406df87..a6fa9ecf113b 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -3631,7 +3631,7 @@ public final class ActivityThread extends ClientTransactionHandler { TAG, "Handling launch of " + r); // Initialize before creating the activity - if (!ThreadedRenderer.sRendererDisabled + if (ThreadedRenderer.sRendererEnabled && (r.activityInfo.flags & ActivityInfo.FLAG_HARDWARE_ACCELERATED) != 0) { HardwareRenderer.preload(); } @@ -7417,14 +7417,7 @@ public final class ActivityThread extends ClientTransactionHandler { @UnsupportedAppUsage public static ActivityThread systemMain() { - // The system process on low-memory devices do not get to use hardware - // accelerated drawing, since this can add too much overhead to the - // process. - if (!ActivityManager.isHighEndGfx()) { - ThreadedRenderer.disable(true); - } else { - ThreadedRenderer.enableForegroundTrimming(); - } + ThreadedRenderer.initForSystemProcess(); ActivityThread thread = new ActivityThread(); thread.attach(true, 0); return thread; diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java index 14a324dc3abe..57ca71ae4b02 100644 --- a/core/java/android/view/ThreadedRenderer.java +++ b/core/java/android/view/ThreadedRenderer.java @@ -18,6 +18,7 @@ package android.view; import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.ActivityManager; import android.content.Context; import android.content.res.TypedArray; import android.graphics.HardwareRenderer; @@ -26,7 +27,6 @@ import android.graphics.Point; import android.graphics.RecordingCanvas; import android.graphics.Rect; import android.graphics.RenderNode; -import android.os.SystemProperties; import android.os.Trace; import android.util.Log; import android.view.Surface.OutOfResourcesException; @@ -186,37 +186,12 @@ public final class ThreadedRenderer extends HardwareRenderer { public static int EGL_CONTEXT_PRIORITY_MEDIUM_IMG = 0x3102; public static int EGL_CONTEXT_PRIORITY_LOW_IMG = 0x3103; - static { - // Try to check OpenGL support early if possible. - isAvailable(); - } - - /** - * A process can set this flag to false to prevent the use of threaded - * rendering. - * - * @hide - */ - public static boolean sRendererDisabled = false; - /** * Further threaded renderer disabling for the system process. * * @hide */ - public static boolean sSystemRendererDisabled = false; - - /** - * Invoke this method to disable threaded rendering in the current process. - * - * @hide - */ - public static void disable(boolean system) { - sRendererDisabled = true; - if (system) { - sSystemRendererDisabled = true; - } - } + public static boolean sRendererEnabled = true; public static boolean sTrimForeground = false; @@ -230,16 +205,19 @@ public final class ThreadedRenderer extends HardwareRenderer { sTrimForeground = true; } - /** - * Indicates whether threaded rendering is available under any form for - * the view hierarchy. - * - * @return True if the view hierarchy can potentially be defer rendered, - * false otherwise + * Initialize HWUI for being in a system process like system_server + * Should not be called in non-system processes */ - public static boolean isAvailable() { - return true; + public static void initForSystemProcess() { + // The system process on low-memory devices do not get to use hardware + // accelerated drawing, since this can add too much overhead to the + // process. + if (!ActivityManager.isHighEndGfx()) { + sRendererEnabled = false; + } else { + enableForegroundTrimming(); + } } /** @@ -250,11 +228,7 @@ public final class ThreadedRenderer extends HardwareRenderer { * @return A threaded renderer backed by OpenGL. */ public static ThreadedRenderer create(Context context, boolean translucent, String name) { - ThreadedRenderer renderer = null; - if (isAvailable()) { - renderer = new ThreadedRenderer(context, translucent, name); - } - return renderer; + return new ThreadedRenderer(context, translucent, name); } private static final String[] VISUALIZERS = { diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 4f05a599c171..cf5ca56eb188 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -23573,8 +23573,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if ((privateFlags & PFLAG_SELECTED) != 0) viewStateIndex |= StateSet.VIEW_STATE_SELECTED; if (hasWindowFocus()) viewStateIndex |= StateSet.VIEW_STATE_WINDOW_FOCUSED; if ((privateFlags & PFLAG_ACTIVATED) != 0) viewStateIndex |= StateSet.VIEW_STATE_ACTIVATED; - if (mAttachInfo != null && mAttachInfo.mHardwareAccelerationRequested && - ThreadedRenderer.isAvailable()) { + if (mAttachInfo != null && mAttachInfo.mHardwareAccelerationRequested) { // This is set if HW acceleration is requested, even if the current // process doesn't allow it. This is just to allow app preview // windows to better match their app. diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 52357402877a..5c5f4417380b 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1291,10 +1291,6 @@ public final class ViewRootImpl implements ViewParent, (attrs.flags & WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED) != 0; if (hardwareAccelerated) { - if (!ThreadedRenderer.isAvailable()) { - return; - } - // Persistent processes (including the system) should not do // accelerated rendering on low-end devices. In that case, // sRendererDisabled will be set. In addition, the system process @@ -1314,8 +1310,7 @@ public final class ViewRootImpl implements ViewParent, // shows for launching applications, so they will look more like // the app being launched. mAttachInfo.mHardwareAccelerationRequested = true; - } else if (!ThreadedRenderer.sRendererDisabled - || (ThreadedRenderer.sSystemRendererDisabled && forceHwAccelerated)) { + } else if (ThreadedRenderer.sRendererEnabled || forceHwAccelerated) { if (mAttachInfo.mThreadedRenderer != null) { mAttachInfo.mThreadedRenderer.destroy(); } diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java index 8490f2abeffa..f01cbcc1430e 100644 --- a/core/java/android/view/WindowManagerGlobal.java +++ b/core/java/android/view/WindowManagerGlobal.java @@ -527,7 +527,7 @@ public final class WindowManagerGlobal { } allViewsRemoved = mRoots.isEmpty(); } - if (ThreadedRenderer.sTrimForeground && ThreadedRenderer.isAvailable()) { + if (ThreadedRenderer.sTrimForeground) { doTrimForeground(); } @@ -561,29 +561,28 @@ public final class WindowManagerGlobal { @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P) public void trimMemory(int level) { - if (ThreadedRenderer.isAvailable()) { - if (shouldDestroyEglContext(level)) { - // Destroy all hardware surfaces and resources associated to - // known windows - synchronized (mLock) { - for (int i = mRoots.size() - 1; i >= 0; --i) { - mRoots.get(i).destroyHardwareResources(); - } + + if (shouldDestroyEglContext(level)) { + // Destroy all hardware surfaces and resources associated to + // known windows + synchronized (mLock) { + for (int i = mRoots.size() - 1; i >= 0; --i) { + mRoots.get(i).destroyHardwareResources(); } - // Force a full memory flush - level = ComponentCallbacks2.TRIM_MEMORY_COMPLETE; } + // Force a full memory flush + level = ComponentCallbacks2.TRIM_MEMORY_COMPLETE; + } - ThreadedRenderer.trimMemory(level); + ThreadedRenderer.trimMemory(level); - if (ThreadedRenderer.sTrimForeground) { - doTrimForeground(); - } + if (ThreadedRenderer.sTrimForeground) { + doTrimForeground(); } } public static void trimForeground() { - if (ThreadedRenderer.sTrimForeground && ThreadedRenderer.isAvailable()) { + if (ThreadedRenderer.sTrimForeground) { WindowManagerGlobal wm = WindowManagerGlobal.getInstance(); wm.doTrimForeground(); } |