Merge "Move music icon to secondary row" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-04-16 18:53:16 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 28 deletions

View File

@@ -25,9 +25,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.icu.text.DateFormat;
import android.icu.text.DisplayContext;
@@ -37,13 +35,8 @@ import android.os.Handler;
import android.os.Trace;
import android.provider.Settings;
import android.service.notification.ZenModeConfig;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.DynamicDrawableSpan;
import android.text.style.ImageSpan;
import android.text.style.StyleSpan;
import android.util.MathUtils;
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
@@ -205,9 +198,9 @@ public class KeyguardSliceProvider extends SliceProvider implements
addMediaLocked(builder);
} else {
builder.addRow(new RowBuilder(mDateUri).setTitle(mLastText));
addNextAlarmLocked(builder);
addZenModeLocked(builder);
}
addNextAlarmLocked(builder);
addZenModeLocked(builder);
addPrimaryActionLocked(builder);
slice = builder.build();
}
@@ -221,32 +214,25 @@ public class KeyguardSliceProvider extends SliceProvider implements
protected void addMediaLocked(ListBuilder listBuilder) {
if (mMediaMetaData != null) {
SpannableStringBuilder builder = new SpannableStringBuilder();
Icon notificationIcon = mMediaManager == null ? null : mMediaManager.getMediaIcon();
if (notificationIcon != null) {
Drawable drawable = notificationIcon.loadDrawable(getContext());
Rect mediaBounds = new Rect(0 /* left */, 0 /* top */,
drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
int iconHeaderSize = getContext().getResources()
.getDimensionPixelSize(R.dimen.header_icon_size);
MathUtils.fitRect(mediaBounds, iconHeaderSize);
drawable.setBounds(mediaBounds);
builder.append("# ");
builder.setSpan(new ImageSpan(drawable, DynamicDrawableSpan.ALIGN_CENTER),
0 /* start */, 1 /* end */, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
CharSequence title = mMediaMetaData.getText(MediaMetadata.METADATA_KEY_TITLE);
if (TextUtils.isEmpty(title)) {
title = getContext().getResources().getString(R.string.music_controls_no_title);
}
builder.append(title);
listBuilder.setHeader(new ListBuilder.HeaderBuilder(mHeaderUri).setTitle(builder));
listBuilder.setHeader(new ListBuilder.HeaderBuilder(mHeaderUri).setTitle(title));
CharSequence album = mMediaMetaData.getText(MediaMetadata.METADATA_KEY_ARTIST);
if (!TextUtils.isEmpty(album)) {
listBuilder.addRow(new RowBuilder(mMediaUri).setTitle(album));
RowBuilder albumBuilder = new RowBuilder(mMediaUri);
albumBuilder.setTitle(album);
Icon mediaIcon = mMediaManager == null ? null : mMediaManager.getMediaIcon();
IconCompat mediaIconCompat = mediaIcon == null ? null
: IconCompat.createFromIcon(getContext(), mediaIcon);
if (mediaIconCompat != null) {
albumBuilder.addEndItem(mediaIconCompat, ListBuilder.ICON_IMAGE);
}
listBuilder.addRow(albumBuilder);
}
}
}

View File

@@ -24,6 +24,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.AlarmManager;
import android.content.ContentResolver;
@@ -102,6 +103,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase {
@Test
public void onBindSlice_readsMedia() {
MediaMetadata metadata = mock(MediaMetadata.class);
when(metadata.getText(any())).thenReturn("metadata");
mProvider.onDozingChanged(true);
mProvider.onMetadataChanged(metadata);
mProvider.onBindSlice(mProvider.getUri());