Moving now playing widget above lock icon in split shade am: 109831c3c0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16183851

Change-Id: Ibabf052091a9e3624cc01521beecba6b37dc7b35
This commit is contained in:
Michal Brzezinski
2021-11-12 18:33:05 +00:00
committed by Automerger Merge Worker
6 changed files with 49 additions and 15 deletions

View File

@@ -33,5 +33,4 @@
<!-- Notifications are sized to match the width of two (of 4) qs tiles in landscape. --> <!-- Notifications are sized to match the width of two (of 4) qs tiles in landscape. -->
<bool name="config_skinnyNotifsInLandscape">false</bool> <bool name="config_skinnyNotifsInLandscape">false</bool>
<dimen name="keyguard_indication_margin_bottom">25dp</dimen>
</resources> </resources>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2021, 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.
*/
-->
<resources>
<!-- keyguard-->
<dimen name="keyguard_indication_margin_bottom">25dp</dimen>
<dimen name="ambient_indication_margin_bottom">115dp</dimen>
<dimen name="lock_icon_margin_bottom">60dp</dimen>
</resources>

View File

@@ -935,7 +935,9 @@
<dimen name="keyguard_lock_padding">20dp</dimen> <dimen name="keyguard_lock_padding">20dp</dimen>
<dimen name="keyguard_indication_margin_bottom">32dp</dimen> <dimen name="keyguard_indication_margin_bottom">32dp</dimen>
<dimen name="lock_icon_margin_bottom">98dp</dimen> <dimen name="lock_icon_margin_bottom">110dp</dimen>
<dimen name="ambient_indication_margin_bottom">71dp</dimen>
<!-- The text size for battery level --> <!-- The text size for battery level -->
<dimen name="battery_level_text_size">12sp</dimen> <dimen name="battery_level_text_size">12sp</dimen>

View File

@@ -43,6 +43,7 @@ import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo;
@@ -85,7 +86,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
private static final float sDefaultDensity = private static final float sDefaultDensity =
(float) DisplayMetrics.DENSITY_DEVICE_STABLE / (float) DisplayMetrics.DENSITY_DEFAULT; (float) DisplayMetrics.DENSITY_DEVICE_STABLE / (float) DisplayMetrics.DENSITY_DEFAULT;
private static final int sLockIconRadiusPx = (int) (sDefaultDensity * 36); private static final int sLockIconRadiusPx = (int) (sDefaultDensity * 36);
private static final float sDistAboveKgBottomAreaPx = sDefaultDensity * 12;
private static final AudioAttributes VIBRATION_SONIFICATION_ATTRIBUTES = private static final AudioAttributes VIBRATION_SONIFICATION_ATTRIBUTES =
new AudioAttributes.Builder() new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
@@ -126,7 +126,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
private boolean mUdfpsSupported; private boolean mUdfpsSupported;
private float mHeightPixels; private float mHeightPixels;
private float mWidthPixels; private float mWidthPixels;
private int mBottomPadding; // in pixels private int mBottomPaddingPx;
private boolean mShowUnlockIcon; private boolean mShowUnlockIcon;
private boolean mShowLockIcon; private boolean mShowLockIcon;
@@ -347,11 +347,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
} }
private void updateConfiguration() { private void updateConfiguration() {
final DisplayMetrics metrics = mView.getContext().getResources().getDisplayMetrics(); WindowManager windowManager = getContext().getSystemService(WindowManager.class);
mWidthPixels = metrics.widthPixels; Rect bounds = windowManager.getCurrentWindowMetrics().getBounds();
mHeightPixels = metrics.heightPixels; mWidthPixels = bounds.right;
mBottomPadding = mView.getContext().getResources().getDimensionPixelSize( mHeightPixels = bounds.bottom;
R.dimen.lock_icon_margin_bottom); mBottomPaddingPx = getResources().getDimensionPixelSize(R.dimen.lock_icon_margin_bottom);
mUnlockedLabel = mView.getContext().getResources().getString( mUnlockedLabel = mView.getContext().getResources().getString(
R.string.accessibility_unlock_button); R.string.accessibility_unlock_button);
@@ -370,8 +370,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
} else { } else {
mView.setCenterLocation( mView.setCenterLocation(
new PointF(mWidthPixels / 2, new PointF(mWidthPixels / 2,
mHeightPixels - mBottomPadding - sDistAboveKgBottomAreaPx mHeightPixels - mBottomPaddingPx - sLockIconRadiusPx),
- sLockIconRadiusPx), sLockIconRadiusPx); sLockIconRadiusPx);
} }
mView.getHitRect(mSensorTouchLocation); mView.getHitRect(mSensorTouchLocation);

View File

@@ -3558,7 +3558,12 @@ public class NotificationPanelViewController extends PanelViewController {
mNotificationStackScrollLayoutController.setPulsing(pulsing, animatePulse); mNotificationStackScrollLayoutController.setPulsing(pulsing, animatePulse);
} }
public void setAmbientIndicationBottomPadding(int ambientIndicationBottomPadding) { public void setAmbientIndicationTop(int ambientIndicationTop, boolean ambientTextVisible) {
int ambientIndicationBottomPadding = 0;
if (ambientTextVisible) {
int stackBottom = mNotificationStackScrollLayoutController.getView().getBottom();
ambientIndicationBottomPadding = stackBottom - ambientIndicationTop;
}
if (mAmbientIndicationBottomPadding != ambientIndicationBottomPadding) { if (mAmbientIndicationBottomPadding != ambientIndicationBottomPadding) {
mAmbientIndicationBottomPadding = ambientIndicationBottomPadding; mAmbientIndicationBottomPadding = ambientIndicationBottomPadding;
updateMaxDisplayedNotifications(true); updateMaxDisplayedNotifications(true);

View File

@@ -32,6 +32,7 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.drawable.AnimatedStateListDrawable; import android.graphics.drawable.AnimatedStateListDrawable;
import android.hardware.biometrics.BiometricSourceType; import android.hardware.biometrics.BiometricSourceType;
import android.hardware.biometrics.SensorLocationInternal; import android.hardware.biometrics.SensorLocationInternal;
@@ -39,10 +40,10 @@ import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Vibrator; import android.os.Vibrator;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper; import android.testing.TestableLooper;
import android.util.DisplayMetrics;
import android.util.Pair; import android.util.Pair;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityManager;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
@@ -70,6 +71,7 @@ import com.airbnb.lottie.LottieAnimationView;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.Captor; import org.mockito.Captor;
import org.mockito.Mock; import org.mockito.Mock;
@@ -88,7 +90,7 @@ public class LockIconViewControllerTest extends SysuiTestCase {
private @Mock AnimatedStateListDrawable mIconDrawable; private @Mock AnimatedStateListDrawable mIconDrawable;
private @Mock Context mContext; private @Mock Context mContext;
private @Mock Resources mResources; private @Mock Resources mResources;
private @Mock DisplayMetrics mDisplayMetrics; private @Mock(answer = Answers.RETURNS_DEEP_STUBS) WindowManager mWindowManager;
private @Mock StatusBarStateController mStatusBarStateController; private @Mock StatusBarStateController mStatusBarStateController;
private @Mock KeyguardUpdateMonitor mKeyguardUpdateMonitor; private @Mock KeyguardUpdateMonitor mKeyguardUpdateMonitor;
private @Mock KeyguardViewController mKeyguardViewController; private @Mock KeyguardViewController mKeyguardViewController;
@@ -137,7 +139,9 @@ public class LockIconViewControllerTest extends SysuiTestCase {
when(mLockIconView.getContext()).thenReturn(mContext); when(mLockIconView.getContext()).thenReturn(mContext);
when(mLockIconView.findViewById(R.layout.udfps_aod_lock_icon)).thenReturn(mAodFp); when(mLockIconView.findViewById(R.layout.udfps_aod_lock_icon)).thenReturn(mAodFp);
when(mContext.getResources()).thenReturn(mResources); when(mContext.getResources()).thenReturn(mResources);
when(mResources.getDisplayMetrics()).thenReturn(mDisplayMetrics); when(mContext.getSystemService(WindowManager.class)).thenReturn(mWindowManager);
Rect windowBounds = new Rect(0, 0, 800, 1200);
when(mWindowManager.getCurrentWindowMetrics().getBounds()).thenReturn(windowBounds);
when(mResources.getString(R.string.accessibility_unlock_button)).thenReturn(UNLOCKED_LABEL); when(mResources.getString(R.string.accessibility_unlock_button)).thenReturn(UNLOCKED_LABEL);
when(mResources.getDrawable(anyInt(), any())).thenReturn(mIconDrawable); when(mResources.getDrawable(anyInt(), any())).thenReturn(mIconDrawable);