summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
diff options
context:
space:
mode:
authorLucas Dupin <dupin@google.com>2019-02-10 14:52:30 -0800
committerLucas Dupin <dupin@google.com>2019-02-12 15:21:24 -0800
commite570af67dea409c8ea57d1009f2e0e12a95b2af9 (patch)
tree065ddfd151420f824584130831834a4a8cfa943c /packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
parent342c633ce0e1fb5719e381c8f6df625b0e4b57d6 (diff)
Restore keyguard status area header
Fixes: 123340905 Fixes: 123958307 Test: atest KeyguardSliceViewTest Test: manual, playing media This reverts commit ed00262486e5c4b6ae9ef902633eca8958ddf80f. Change-Id: I1cc60346f9176b913ee0404b2b31981f736664ce
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java')
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java61
1 files changed, 31 insertions, 30 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
index bac7844c024b..2040a76b61d3 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
@@ -37,10 +37,10 @@ import android.text.TextUtils.TruncateAt;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
-import android.view.ViewGroup;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.LinearLayout;
+import android.widget.TextView;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
@@ -58,6 +58,7 @@ import com.android.internal.graphics.ColorUtils;
import com.android.settingslib.Utils;
import com.android.systemui.Dependency;
import com.android.systemui.Interpolators;
+import com.android.systemui.R;
import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.tuner.TunerService;
@@ -78,6 +79,8 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
private final HashMap<View, PendingIntent> mClickActions;
private Uri mKeyguardSliceUri;
+ @VisibleForTesting
+ TextView mTitle;
private Row mRow;
private int mTextColor;
private float mDarkAmount = 0;
@@ -91,6 +94,8 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
private Runnable mContentChangeListener;
private Slice mSlice;
private boolean mHasHeader;
+ private final int mRowWithHeaderPadding;
+ private final int mRowPadding;
public KeyguardSliceView(Context context) {
this(context, null, 0);
@@ -107,6 +112,9 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
tunerService.addTunable(this, Settings.Secure.KEYGUARD_SLICE_URI);
mClickActions = new HashMap<>();
+ mRowPadding = context.getResources().getDimensionPixelSize(R.dimen.subtitle_clock_padding);
+ mRowWithHeaderPadding = context.getResources()
+ .getDimensionPixelSize(R.dimen.header_subtitle_padding);
LayoutTransition transition = new LayoutTransition();
transition.setStagger(LayoutTransition.CHANGE_APPEARING, DEFAULT_ANIM_DURATION / 2);
@@ -117,13 +125,13 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
transition.setInterpolator(LayoutTransition.APPEARING, Interpolators.FAST_OUT_SLOW_IN);
transition.setInterpolator(LayoutTransition.DISAPPEARING, Interpolators.ALPHA_OUT);
transition.setAnimateParentHierarchy(false);
- transition.addTransitionListener(new SliceViewTransitionListener());
setLayoutTransition(transition);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
+ mTitle = findViewById(R.id.title);
mRow = findViewById(R.id.row);
mTextColor = Utils.getColorAttrDefaultColor(mContext, R.attr.wallpaperTextColor);
mIconSize = (int) mContext.getResources().getDimension(R.dimen.widget_icon_size);
@@ -160,6 +168,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
private void showSlice() {
Trace.beginSection("KeyguardSliceView#showSlice");
if (mSlice == null) {
+ mTitle.setVisibility(GONE);
mRow.setVisibility(GONE);
mHasHeader = false;
if (mContentChangeListener != null) {
@@ -170,8 +179,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
ListContent lc = new ListContent(getContext(), mSlice);
SliceContent headerContent = lc.getHeader();
- mHasHeader = headerContent != null
- && !headerContent.getSliceItem().hasHint(HINT_LIST_ITEM);
+ mHasHeader = headerContent != null && !headerContent.getSliceItem().hasHint(HINT_LIST_ITEM);
List<SliceContent> subItems = new ArrayList<>();
for (int i = 0; i < lc.getRowItems().size(); i++) {
SliceContent subItem = lc.getRowItems().get(i);
@@ -181,12 +189,26 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
subItems.add(subItem);
}
}
+ if (!mHasHeader) {
+ mTitle.setVisibility(GONE);
+ } else {
+ mTitle.setVisibility(VISIBLE);
+
+ RowContent header = lc.getHeader();
+ SliceItem mainTitle = header.getTitleItem();
+ CharSequence title = mainTitle != null ? mainTitle.getText() : null;
+ mTitle.setText(title);
+ }
mClickActions.clear();
final int subItemsCount = subItems.size();
final int blendedColor = getTextColor();
final int startIndex = mHasHeader ? 1 : 0; // First item is header; skip it
mRow.setVisibility(subItemsCount > 0 ? VISIBLE : GONE);
+ LinearLayout.LayoutParams layoutParams = (LayoutParams) mRow.getLayoutParams();
+ layoutParams.topMargin = mHasHeader ? mRowWithHeaderPadding : mRowPadding;
+ mRow.setLayoutParams(layoutParams);
+
for (int i = startIndex; i < subItemsCount; i++) {
RowContent rc = (RowContent) subItems.get(i);
SliceItem item = rc.getSliceItem();
@@ -250,6 +272,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
private void updateTextColors() {
final int blendedColor = getTextColor();
+ mTitle.setTextColor(blendedColor);
int childCount = mRow.getChildCount();
for (int i = 0; i < childCount; i++) {
View v = mRow.getChildAt(i);
@@ -294,7 +317,10 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
setupUri(newValue);
}
- private void setupUri(String uriString) {
+ /**
+ * Sets the slice provider Uri.
+ */
+ public void setupUri(String uriString) {
if (uriString == null) {
uriString = KeyguardSliceProvider.KEYGUARD_SLICE_URI;
}
@@ -512,29 +538,4 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
}
}
}
-
- private class SliceViewTransitionListener implements LayoutTransition.TransitionListener {
- @Override
- public void startTransition(LayoutTransition transition, ViewGroup container, View view,
- int transitionType) {
- switch (transitionType) {
- case LayoutTransition.APPEARING:
- int translation = getResources().getDimensionPixelSize(
- R.dimen.pulsing_notification_appear_translation);
- view.setTranslationY(translation);
- view.animate()
- .translationY(0)
- .setDuration(DEFAULT_ANIM_DURATION)
- .setInterpolator(Interpolators.ALPHA_IN)
- .start();
- break;
- }
- }
-
- @Override
- public void endTransition(LayoutTransition transition, ViewGroup container, View view,
- int transitionType) {
-
- }
- }
}