diff options
author | Lucas Dupin <dupin@google.com> | 2018-10-25 18:12:15 -0700 |
---|---|---|
committer | Lucas Dupin <dupin@google.com> | 2018-10-29 11:07:00 -0700 |
commit | ed00262486e5c4b6ae9ef902633eca8958ddf80f (patch) | |
tree | 56de13cfe0c6083fe053b82ad95f3645507a4dce /packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java | |
parent | 80665469f50a0cf276b6834861f64d1be3e62988 (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.java | 107 |
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; } } |