Merge "Update the ambient indication container" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
27bce90759
@@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
<com.android.systemui.statusbar.phone.KeyguardBottomAreaView
|
<com.android.systemui.statusbar.phone.KeyguardBottomAreaView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
|
|
||||||
android:id="@+id/keyguard_bottom_area"
|
android:id="@+id/keyguard_bottom_area"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -114,7 +113,8 @@
|
|||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<include layout="@layout/keyguard_bottom_area_overlay" />
|
<include layout="@layout/keyguard_bottom_area_overlay" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
<include layout="@layout/ambient_indication"
|
||||||
|
android:id="@+id/ambient_indication_container" />
|
||||||
</com.android.systemui.statusbar.phone.KeyguardBottomAreaView>
|
</com.android.systemui.statusbar.phone.KeyguardBottomAreaView>
|
||||||
|
|||||||
@@ -119,9 +119,6 @@
|
|||||||
systemui:layout_constraintEnd_toEndOf="parent"
|
systemui:layout_constraintEnd_toEndOf="parent"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<include layout="@layout/ambient_indication"
|
|
||||||
android:id="@+id/ambient_indication_container" />
|
|
||||||
|
|
||||||
<include layout="@layout/photo_preview_overlay" />
|
<include layout="@layout/photo_preview_overlay" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ import android.widget.ImageView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
@@ -150,6 +151,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
private ControlsComponent mControlsComponent;
|
private ControlsComponent mControlsComponent;
|
||||||
private boolean mControlServicesAvailable = false;
|
private boolean mControlServicesAvailable = false;
|
||||||
|
|
||||||
|
@Nullable private View mAmbientIndicationArea;
|
||||||
private ViewGroup mIndicationArea;
|
private ViewGroup mIndicationArea;
|
||||||
private TextView mIndicationText;
|
private TextView mIndicationText;
|
||||||
private TextView mIndicationTextBottom;
|
private TextView mIndicationTextBottom;
|
||||||
@@ -270,6 +272,29 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
|
|
||||||
public void initFrom(KeyguardBottomAreaView oldBottomArea) {
|
public void initFrom(KeyguardBottomAreaView oldBottomArea) {
|
||||||
setStatusBar(oldBottomArea.mStatusBar);
|
setStatusBar(oldBottomArea.mStatusBar);
|
||||||
|
|
||||||
|
// if it exists, continue to use the original ambient indication container
|
||||||
|
// instead of the newly inflated one
|
||||||
|
if (mAmbientIndicationArea != null) {
|
||||||
|
// remove old ambient indication from its parent
|
||||||
|
View originalAmbientIndicationView =
|
||||||
|
oldBottomArea.findViewById(R.id.ambient_indication_container);
|
||||||
|
((ViewGroup) originalAmbientIndicationView.getParent())
|
||||||
|
.removeView(originalAmbientIndicationView);
|
||||||
|
|
||||||
|
// remove current ambient indication from its parent (discard)
|
||||||
|
ViewGroup ambientIndicationParent = (ViewGroup) mAmbientIndicationArea.getParent();
|
||||||
|
int ambientIndicationIndex =
|
||||||
|
ambientIndicationParent.indexOfChild(mAmbientIndicationArea);
|
||||||
|
ambientIndicationParent.removeView(mAmbientIndicationArea);
|
||||||
|
|
||||||
|
// add the old ambient indication to this view
|
||||||
|
ambientIndicationParent.addView(originalAmbientIndicationView, ambientIndicationIndex);
|
||||||
|
mAmbientIndicationArea = originalAmbientIndicationView;
|
||||||
|
|
||||||
|
// update burn-in offsets
|
||||||
|
dozeTimeTick();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -283,6 +308,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
mWalletButton = findViewById(R.id.wallet_button);
|
mWalletButton = findViewById(R.id.wallet_button);
|
||||||
mControlsButton = findViewById(R.id.controls_button);
|
mControlsButton = findViewById(R.id.controls_button);
|
||||||
mIndicationArea = findViewById(R.id.keyguard_indication_area);
|
mIndicationArea = findViewById(R.id.keyguard_indication_area);
|
||||||
|
mAmbientIndicationArea = findViewById(R.id.ambient_indication_container);
|
||||||
mIndicationText = findViewById(R.id.keyguard_indication_text);
|
mIndicationText = findViewById(R.id.keyguard_indication_text);
|
||||||
mIndicationTextBottom = findViewById(R.id.keyguard_indication_text_bottom);
|
mIndicationTextBottom = findViewById(R.id.keyguard_indication_text_bottom);
|
||||||
mIndicationBottomMargin = getResources().getDimensionPixelSize(
|
mIndicationBottomMargin = getResources().getDimensionPixelSize(
|
||||||
@@ -901,6 +927,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
int burnInYOffset = getBurnInOffset(mBurnInYOffset * 2, false /* xAxis */)
|
int burnInYOffset = getBurnInOffset(mBurnInYOffset * 2, false /* xAxis */)
|
||||||
- mBurnInYOffset;
|
- mBurnInYOffset;
|
||||||
mIndicationArea.setTranslationY(burnInYOffset * mDarkAmount);
|
mIndicationArea.setTranslationY(burnInYOffset * mDarkAmount);
|
||||||
|
mAmbientIndicationArea.setTranslationY(burnInYOffset * mDarkAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAntiBurnInOffsetX(int burnInXOffset) {
|
public void setAntiBurnInOffsetX(int burnInXOffset) {
|
||||||
@@ -909,6 +936,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
|
|||||||
}
|
}
|
||||||
mBurnInXOffset = burnInXOffset;
|
mBurnInXOffset = burnInXOffset;
|
||||||
mIndicationArea.setTranslationX(burnInXOffset);
|
mIndicationArea.setTranslationX(burnInXOffset);
|
||||||
|
mAmbientIndicationArea.setTranslationX(burnInXOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ class KeyguardBottomAreaTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun initFrom_doesntCrash() {
|
fun initFrom_doesntCrash() {
|
||||||
val other = LayoutInflater.from(mContext).inflate(
|
val other = LayoutInflater.from(mContext).inflate(R.layout.keyguard_bottom_area,
|
||||||
R.layout.keyguard_bottom_area, null, false) as KeyguardBottomAreaView
|
null, false) as KeyguardBottomAreaView
|
||||||
|
|
||||||
other.initFrom(mKeyguardBottomArea)
|
other.initFrom(mKeyguardBottomArea)
|
||||||
other.launchVoiceAssist()
|
other.launchVoiceAssist()
|
||||||
|
|||||||
Reference in New Issue
Block a user