summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
diff options
context:
space:
mode:
authorLucas Dupin <dupin@google.com>2018-10-25 18:12:15 -0700
committerLucas Dupin <dupin@google.com>2018-10-29 11:07:00 -0700
commited00262486e5c4b6ae9ef902633eca8958ddf80f (patch)
tree56de13cfe0c6083fe053b82ad95f3645507a4dce /packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
parent80665469f50a0cf276b6834861f64d1be3e62988 (diff)
Remove obsolete lock screen UI
Removes obsolete KeyguardSliceView title area and adds doze callbacks necessary to support new lock screen design. Bug: 111405682 Test: manual Test: atest KeyguardSliceViewTest Change-Id: I07e96dbde68d4e5e38e1371526bedf59fc925b86
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java')
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java107
1 files changed, 17 insertions, 90 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
index 7479152f5da0..50b98a10b7f0 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
@@ -23,15 +23,12 @@ import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.annotation.ColorInt;
import android.app.PendingIntent;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.Observer;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Trace;
import android.provider.Settings;
-import android.text.Layout;
import android.text.TextUtils;
import android.text.TextUtils.TruncateAt;
import android.util.AttributeSet;
@@ -41,16 +38,24 @@ 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;
+import androidx.slice.Slice;
+import androidx.slice.SliceItem;
+import androidx.slice.SliceViewManager;
+import androidx.slice.core.SliceQuery;
+import androidx.slice.widget.ListContent;
+import androidx.slice.widget.RowContent;
+import androidx.slice.widget.SliceContent;
+import androidx.slice.widget.SliceLiveData;
import com.android.internal.annotations.VisibleForTesting;
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.AlphaOptimizedTextView;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.wakelock.KeepAwakeAnimationListener;
@@ -58,16 +63,6 @@ import com.android.systemui.util.wakelock.KeepAwakeAnimationListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-import java.util.function.Consumer;
-
-import androidx.slice.Slice;
-import androidx.slice.SliceItem;
-import androidx.slice.SliceViewManager;
-import androidx.slice.core.SliceQuery;
-import androidx.slice.widget.ListContent;
-import androidx.slice.widget.RowContent;
-import androidx.slice.widget.SliceContent;
-import androidx.slice.widget.SliceLiveData;
/**
* View visible under the clock on the lock screen and AoD.
@@ -80,8 +75,6 @@ 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;
@@ -92,7 +85,6 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
* Runnable called whenever the view contents change.
*/
private Runnable mContentChangeListener;
- private boolean mHasHeader;
private Slice mSlice;
private boolean mPulsing;
@@ -128,7 +120,6 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
@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);
@@ -154,7 +145,6 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
private void showSlice() {
Trace.beginSection("KeyguardSliceView#showSlice");
if (mPulsing || mSlice == null) {
- mTitle.setVisibility(GONE);
mRow.setVisibility(GONE);
if (mContentChangeListener != null) {
mContentChangeListener.run();
@@ -164,8 +154,9 @@ 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);
- List<SliceContent> subItems = new ArrayList<SliceContent>();
+ boolean hasHeader = 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);
String itemUri = subItem.getSliceItem().getSlice().getUri().toString();
@@ -174,21 +165,11 @@ 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
+ final int startIndex = hasHeader ? 1 : 0; // First item is header; skip it
mRow.setVisibility(subItemsCount > 0 ? VISIBLE : GONE);
for (int i = startIndex; i < subItemsCount; i++) {
RowContent rc = (RowContent) subItems.get(i);
@@ -200,7 +181,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
button = new KeyguardSliceButton(mContext);
button.setTextColor(blendedColor);
button.setTag(itemTag);
- final int viewIndex = i - (mHasHeader ? 1 : 0);
+ final int viewIndex = i - (hasHeader ? 1 : 0);
mRow.addView(button, viewIndex);
}
@@ -303,7 +284,6 @@ 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);
@@ -333,10 +313,6 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
mContentChangeListener = contentChangeListener;
}
- public boolean hasHeader() {
- return mHasHeader;
- }
-
/**
* LiveData observer lifecycle.
* @param slice the new slice content.
@@ -352,7 +328,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
setupUri(newValue);
}
- public void setupUri(String uriString) {
+ private void setupUri(String uriString) {
if (uriString == null) {
uriString = KeyguardSliceProvider.KEYGUARD_SLICE_URI;
}
@@ -564,46 +540,6 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
}
}
- /**
- * A text view that will split its contents in 2 lines when possible.
- */
- static class TitleView extends AlphaOptimizedTextView {
-
- public TitleView(Context context) {
- super(context);
- }
-
- public TitleView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public TitleView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
-
- public TitleView(Context context, AttributeSet attrs, int defStyleAttr,
- int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-
- Layout layout = getLayout();
- int lineCount = layout.getLineCount();
- boolean ellipsizing = layout.getEllipsisCount(lineCount - 1) != 0;
- if (lineCount > 0 && !ellipsizing) {
- CharSequence title = getText();
- CharSequence bestLineBreak = findBestLineBreak(title);
- if (!TextUtils.equals(title, bestLineBreak)) {
- setText(bestLineBreak);
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- }
- }
- }
- }
-
private class SliceViewTransitionListener implements LayoutTransition.TransitionListener {
@Override
public void startTransition(LayoutTransition transition, ViewGroup container, View view,
@@ -619,15 +555,6 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
.setInterpolator(Interpolators.ALPHA_IN)
.start();
break;
- case LayoutTransition.DISAPPEARING:
- if (view == mTitle) {
- // Translate the view to the inverse of its height, so the layout event
- // won't misposition it.
- LayoutParams params = (LayoutParams) mTitle.getLayoutParams();
- int margin = params.topMargin + params.bottomMargin;
- mTitle.setTranslationY(-mTitle.getHeight() - margin);
- }
- break;
}
}