Loading core/java/android/view/WindowManagerInternal.java +0 −3 Original line number Diff line number Diff line Loading @@ -225,9 +225,6 @@ public abstract class WindowManagerInternal { */ public abstract boolean isKeyguardLocked(); /** @return {@code true} if the keyguard is going away. */ public abstract boolean isKeyguardGoingAway(); /** * @return Whether the keyguard is showing and not occluded. */ Loading core/jni/AndroidRuntime.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -619,6 +619,8 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote) char gctypeOptsBuf[sizeof("-Xgc:")-1 + PROPERTY_VALUE_MAX]; char backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1 + PROPERTY_VALUE_MAX]; char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX]; char foregroundHeapGrowthMultiplierOptsBuf[ sizeof("-XX:ForegroundHeapGrowthMultiplier=")-1 + PROPERTY_VALUE_MAX]; char cachePruneBuf[sizeof("-Xzygote-max-boot-retry=")-1 + PROPERTY_VALUE_MAX]; char dex2oatXmsImageFlagsBuf[sizeof("-Xms")-1 + PROPERTY_VALUE_MAX]; char dex2oatXmxImageFlagsBuf[sizeof("-Xmx")-1 + PROPERTY_VALUE_MAX]; Loading Loading @@ -722,6 +724,11 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote) heaptargetutilizationOptsBuf, "-XX:HeapTargetUtilization="); /* Foreground heap growth multiplier option */ parseRuntimeOption("dalvik.vm.foreground-heap-growth-multiplier", foregroundHeapGrowthMultiplierOptsBuf, "-XX:ForegroundHeapGrowthMultiplier="); /* * JIT related options. */ Loading packages/SystemUI/src/com/android/systemui/Dependency.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.os.HandlerThread; import android.os.Looper; import android.os.Process; import android.util.ArrayMap; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.NightDisplayController; Loading Loading @@ -304,6 +306,8 @@ public class Dependency extends SystemUI { mProviders.put(LightBarController.class, () -> new LightBarController(mContext)); mProviders.put(IWindowManager.class, () -> WindowManagerGlobal.getWindowManagerService()); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java +25 −2 Original line number Diff line number Diff line Loading @@ -17,12 +17,19 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.os.Handler; import android.os.RemoteException; import android.os.ServiceManager; import android.util.SparseArray; import android.view.Display; import android.view.IWallpaperVisibilityListener; import android.view.IWindowManager; import android.view.MotionEvent; import android.view.View; import android.view.WindowManagerGlobal; import com.android.internal.statusbar.IStatusBarService; import com.android.systemui.Dependency; import com.android.systemui.R; public final class NavigationBarTransitions extends BarTransitions { Loading @@ -30,6 +37,7 @@ public final class NavigationBarTransitions extends BarTransitions { private final NavigationBarView mView; private final IStatusBarService mBarService; private final LightBarTransitionsController mLightTransitionsController; private boolean mWallpaperVisible; private boolean mLightsOut; private boolean mAutoDim; Loading @@ -41,6 +49,21 @@ public final class NavigationBarTransitions extends BarTransitions { ServiceManager.getService(Context.STATUS_BAR_SERVICE)); mLightTransitionsController = new LightBarTransitionsController(view.getContext(), this::applyDarkIntensity); IWindowManager windowManagerService = Dependency.get(IWindowManager.class); Handler handler = Handler.getMain(); try { mWallpaperVisible = windowManagerService.registerWallpaperVisibilityListener( new IWallpaperVisibilityListener.Stub() { @Override public void onWallpaperVisibilityChanged(boolean newVisibility, int displayId) throws RemoteException { mWallpaperVisible = newVisibility; handler.post(() -> applyLightsOut(true, false)); } }, Display.DEFAULT_DISPLAY); } catch (RemoteException e) { } } public void init() { Loading @@ -57,7 +80,7 @@ public final class NavigationBarTransitions extends BarTransitions { @Override protected boolean isLightsOut(int mode) { return super.isLightsOut(mode) || mAutoDim; return super.isLightsOut(mode) || (mAutoDim && !mWallpaperVisible); } public LightBarTransitionsController getLightTransitionsController() { Loading Loading @@ -85,7 +108,7 @@ public final class NavigationBarTransitions extends BarTransitions { // ok, everyone, stop it right there navButtons.animate().cancel(); final float navButtonsAlpha = lightsOut ? 0.5f : 1f; final float navButtonsAlpha = lightsOut ? 0.6f : 1f; if (!animate) { navButtons.setAlpha(navButtonsAlpha); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarTransitionsTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.mockito.Mockito.when; import android.support.test.filters.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper.RunWithLooper; import android.view.IWindowManager; import com.android.systemui.SysuiTestCase; import com.android.systemui.statusbar.CommandQueue; Loading @@ -41,6 +42,7 @@ public class NavigationBarTransitionsTest extends SysuiTestCase { @Before public void setup() { mDependency.injectMockDependency(IWindowManager.class); mContext.putComponent(CommandQueue.class, mock(CommandQueue.class)); NavigationBarView navBar = spy(new NavigationBarView(mContext, null)); when(navBar.getCurrentView()).thenReturn(navBar); Loading Loading
core/java/android/view/WindowManagerInternal.java +0 −3 Original line number Diff line number Diff line Loading @@ -225,9 +225,6 @@ public abstract class WindowManagerInternal { */ public abstract boolean isKeyguardLocked(); /** @return {@code true} if the keyguard is going away. */ public abstract boolean isKeyguardGoingAway(); /** * @return Whether the keyguard is showing and not occluded. */ Loading
core/jni/AndroidRuntime.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -619,6 +619,8 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote) char gctypeOptsBuf[sizeof("-Xgc:")-1 + PROPERTY_VALUE_MAX]; char backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1 + PROPERTY_VALUE_MAX]; char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX]; char foregroundHeapGrowthMultiplierOptsBuf[ sizeof("-XX:ForegroundHeapGrowthMultiplier=")-1 + PROPERTY_VALUE_MAX]; char cachePruneBuf[sizeof("-Xzygote-max-boot-retry=")-1 + PROPERTY_VALUE_MAX]; char dex2oatXmsImageFlagsBuf[sizeof("-Xms")-1 + PROPERTY_VALUE_MAX]; char dex2oatXmxImageFlagsBuf[sizeof("-Xmx")-1 + PROPERTY_VALUE_MAX]; Loading Loading @@ -722,6 +724,11 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote) heaptargetutilizationOptsBuf, "-XX:HeapTargetUtilization="); /* Foreground heap growth multiplier option */ parseRuntimeOption("dalvik.vm.foreground-heap-growth-multiplier", foregroundHeapGrowthMultiplierOptsBuf, "-XX:ForegroundHeapGrowthMultiplier="); /* * JIT related options. */ Loading
packages/SystemUI/src/com/android/systemui/Dependency.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.os.HandlerThread; import android.os.Looper; import android.os.Process; import android.util.ArrayMap; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.NightDisplayController; Loading Loading @@ -304,6 +306,8 @@ public class Dependency extends SystemUI { mProviders.put(LightBarController.class, () -> new LightBarController(mContext)); mProviders.put(IWindowManager.class, () -> WindowManagerGlobal.getWindowManagerService()); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java +25 −2 Original line number Diff line number Diff line Loading @@ -17,12 +17,19 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.os.Handler; import android.os.RemoteException; import android.os.ServiceManager; import android.util.SparseArray; import android.view.Display; import android.view.IWallpaperVisibilityListener; import android.view.IWindowManager; import android.view.MotionEvent; import android.view.View; import android.view.WindowManagerGlobal; import com.android.internal.statusbar.IStatusBarService; import com.android.systemui.Dependency; import com.android.systemui.R; public final class NavigationBarTransitions extends BarTransitions { Loading @@ -30,6 +37,7 @@ public final class NavigationBarTransitions extends BarTransitions { private final NavigationBarView mView; private final IStatusBarService mBarService; private final LightBarTransitionsController mLightTransitionsController; private boolean mWallpaperVisible; private boolean mLightsOut; private boolean mAutoDim; Loading @@ -41,6 +49,21 @@ public final class NavigationBarTransitions extends BarTransitions { ServiceManager.getService(Context.STATUS_BAR_SERVICE)); mLightTransitionsController = new LightBarTransitionsController(view.getContext(), this::applyDarkIntensity); IWindowManager windowManagerService = Dependency.get(IWindowManager.class); Handler handler = Handler.getMain(); try { mWallpaperVisible = windowManagerService.registerWallpaperVisibilityListener( new IWallpaperVisibilityListener.Stub() { @Override public void onWallpaperVisibilityChanged(boolean newVisibility, int displayId) throws RemoteException { mWallpaperVisible = newVisibility; handler.post(() -> applyLightsOut(true, false)); } }, Display.DEFAULT_DISPLAY); } catch (RemoteException e) { } } public void init() { Loading @@ -57,7 +80,7 @@ public final class NavigationBarTransitions extends BarTransitions { @Override protected boolean isLightsOut(int mode) { return super.isLightsOut(mode) || mAutoDim; return super.isLightsOut(mode) || (mAutoDim && !mWallpaperVisible); } public LightBarTransitionsController getLightTransitionsController() { Loading Loading @@ -85,7 +108,7 @@ public final class NavigationBarTransitions extends BarTransitions { // ok, everyone, stop it right there navButtons.animate().cancel(); final float navButtonsAlpha = lightsOut ? 0.5f : 1f; final float navButtonsAlpha = lightsOut ? 0.6f : 1f; if (!animate) { navButtons.setAlpha(navButtonsAlpha); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarTransitionsTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.mockito.Mockito.when; import android.support.test.filters.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper.RunWithLooper; import android.view.IWindowManager; import com.android.systemui.SysuiTestCase; import com.android.systemui.statusbar.CommandQueue; Loading @@ -41,6 +42,7 @@ public class NavigationBarTransitionsTest extends SysuiTestCase { @Before public void setup() { mDependency.injectMockDependency(IWindowManager.class); mContext.putComponent(CommandQueue.class, mock(CommandQueue.class)); NavigationBarView navBar = spy(new NavigationBarView(mContext, null)); when(navBar.getCurrentView()).thenReturn(navBar); Loading