AOD/LS - Move clock to start
Move clock to the start, and move smartspace content below it. Recalibrate burn-in and fully support RTL layouts. Remove extra top margins. Bug: 172360102 Test: manual Change-Id: I2dc4300106c63095ae41f9407b2fe4c053017573
This commit is contained in:
@@ -64,7 +64,7 @@
|
||||
android:id="@+id/new_lockscreen_clock_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:visibility="gone">
|
||||
<com.android.keyguard.AnimatableClockView
|
||||
@@ -73,7 +73,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:textSize="100dp"
|
||||
android:textSize="60dp"
|
||||
android:fontFamily="@font/clock"
|
||||
android:typeface="monospace"
|
||||
android:elegantTextHeight="false"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<dimen name="title_clock_padding">4dp</dimen>
|
||||
<!-- Clock with header -->
|
||||
<dimen name="widget_small_font_size">@dimen/widget_title_font_size</dimen>
|
||||
<dimen name="widget_vertical_padding">17dp</dimen>
|
||||
<dimen name="widget_vertical_padding">5dp</dimen>
|
||||
<dimen name="widget_vertical_padding_with_header">25dp</dimen>
|
||||
<dimen name="widget_vertical_padding_clock">12dp</dimen>
|
||||
<!-- Subtitle paddings -->
|
||||
|
||||
@@ -21,9 +21,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.icu.text.NumberFormat;
|
||||
import android.util.MathUtils;
|
||||
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.systemui.R;
|
||||
@@ -94,11 +92,6 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie
|
||||
mStatusBarStateController.removeCallback(mStatusBarStateListener);
|
||||
}
|
||||
|
||||
float getClockTextTopPadding() {
|
||||
Paint.FontMetrics fm = mView.getPaint().getFontMetrics();
|
||||
return MathUtils.abs(fm.ascent - fm.top);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the time for the view.
|
||||
*/
|
||||
|
||||
@@ -179,20 +179,15 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
||||
setPaddingRelative(startEndPadding, 0, startEndPadding, 0);
|
||||
mSmallClockFrame.setVisibility(GONE);
|
||||
mNewLockscreenClockFrame.setVisibility(VISIBLE);
|
||||
|
||||
statusAreaLP.removeRule(RelativeLayout.BELOW);
|
||||
statusAreaLP.addRule(RelativeLayout.BELOW, R.id.new_lockscreen_clock_view);
|
||||
statusAreaLP.addRule(RelativeLayout.ALIGN_PARENT_START);
|
||||
statusAreaLP.addRule(RelativeLayout.START_OF, R.id.new_lockscreen_clock_view);
|
||||
statusAreaLP.width = 0;
|
||||
} else {
|
||||
setPaddingRelative(0, 0, 0, 0);
|
||||
mSmallClockFrame.setVisibility(VISIBLE);
|
||||
mNewLockscreenClockFrame.setVisibility(GONE);
|
||||
|
||||
statusAreaLP.removeRule(RelativeLayout.ALIGN_PARENT_START);
|
||||
statusAreaLP.removeRule(RelativeLayout.START_OF);
|
||||
statusAreaLP.addRule(RelativeLayout.BELOW, R.id.clock_view);
|
||||
statusAreaLP.width = ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
}
|
||||
|
||||
requestLayout();
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.app.WallpaperManager;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.res.Resources;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateFormat;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -212,10 +213,10 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
* keep the clock centered.
|
||||
*/
|
||||
void updatePosition(int x, float scale, AnimationProperties props, boolean animate) {
|
||||
x = Math.abs(x);
|
||||
x = getCurrentLayoutDirection() == View.LAYOUT_DIRECTION_RTL ? -x : x;
|
||||
if (mNewLockScreenClockFrame != null) {
|
||||
PropertyAnimator.setProperty(mNewLockScreenClockFrame, AnimatableProperty.TRANSLATION_X,
|
||||
-x, props, animate);
|
||||
x, props, animate);
|
||||
PropertyAnimator.setProperty(mNewLockScreenLargeClockFrame, AnimatableProperty.SCALE_X,
|
||||
scale, props, animate);
|
||||
PropertyAnimator.setProperty(mNewLockScreenLargeClockFrame, AnimatableProperty.SCALE_Y,
|
||||
@@ -277,15 +278,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
refreshFormat(mTimeFormat);
|
||||
}
|
||||
|
||||
float getClockTextTopPadding() {
|
||||
if (mLockScreenMode == KeyguardUpdateMonitor.LOCK_SCREEN_MODE_LAYOUT_1
|
||||
&& mNewLockScreenClockViewController != null) {
|
||||
return mNewLockScreenClockViewController.getClockTextTopPadding();
|
||||
}
|
||||
|
||||
return mView.getClockTextTopPadding();
|
||||
}
|
||||
|
||||
private void updateAodIcons() {
|
||||
NotificationIconContainer nic = (NotificationIconContainer)
|
||||
mView.findViewById(
|
||||
@@ -337,4 +329,8 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
sCacheKey = key;
|
||||
}
|
||||
}
|
||||
|
||||
private int getCurrentLayoutDirection() {
|
||||
return TextUtils.getLayoutDirectionFromLocale(Locale.getDefault());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,15 +266,9 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
mKeyguardClockSwitchController.updateLockScreenMode(mode);
|
||||
mKeyguardSliceViewController.updateLockScreenMode(mode);
|
||||
if (mLockScreenMode == KeyguardUpdateMonitor.LOCK_SCREEN_MODE_LAYOUT_1) {
|
||||
// align the top of keyguard_status_area with the top of the clock text instead
|
||||
// of the top of the view
|
||||
mKeyguardSliceViewController.updateTopMargin(
|
||||
mKeyguardClockSwitchController.getClockTextTopPadding());
|
||||
mView.setCanShowOwnerInfo(false);
|
||||
mView.setCanShowLogout(false);
|
||||
} else {
|
||||
// reset margin
|
||||
mKeyguardSliceViewController.updateTopMargin(0);
|
||||
mView.setCanShowOwnerInfo(true);
|
||||
mView.setCanShowLogout(false);
|
||||
}
|
||||
|
||||
@@ -344,8 +344,11 @@ public class KeyguardClockPositionAlgorithm {
|
||||
}
|
||||
|
||||
private float burnInPreventionOffsetX() {
|
||||
return getBurnInOffset(mBurnInPreventionOffsetX * 2, true /* xAxis */)
|
||||
- mBurnInPreventionOffsetX;
|
||||
if (mLockScreenMode == KeyguardUpdateMonitor.LOCK_SCREEN_MODE_NORMAL) {
|
||||
return getBurnInOffset(mBurnInPreventionOffsetX * 2, true /* xAxis */)
|
||||
- mBurnInPreventionOffsetX;
|
||||
}
|
||||
return getBurnInOffset(mBurnInPreventionOffsetX, true /* xAxis */);
|
||||
}
|
||||
|
||||
public static class Result {
|
||||
|
||||
Reference in New Issue
Block a user