Add placeholder preview image for dreams.

The preview image will be shown in Settings, when users are selecting
the dream to use.

We are using a white rectangle for now, awaiting final placeholder from
UX.

Test: locally on device
Bug: 207681076
Change-Id: Iab359c5f644782389e97722010d9a10cfeb65ed4
This commit is contained in:
Lucas Silva
2022-01-07 19:50:49 +00:00
parent ab4a170645
commit 4b4bd18f53
3 changed files with 28 additions and 4 deletions

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2022 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>

View File

@@ -2221,6 +2221,7 @@
<java-symbol type="integer" name="config_dreamsBatteryLevelMinimumWhenNotPowered" />
<java-symbol type="integer" name="config_dreamsBatteryLevelDrainCutoff" />
<java-symbol type="string" name="config_dreamsDefaultComponent" />
<java-symbol type="drawable" name="default_dream_preview" />
<java-symbol type="string" name="config_dozeComponent" />
<java-symbol type="string" name="enable_explore_by_touch_warning_title" />
<java-symbol type="string" name="enable_explore_by_touch_warning_message" />

View File

@@ -52,6 +52,7 @@ import java.util.List;
public class DreamBackend {
private static final String TAG = "DreamBackend";
private static final boolean DEBUG = false;
private final Drawable mDreamPreviewDefault;
public static class DreamInfo {
public CharSequence caption;
@@ -111,6 +112,8 @@ public class DreamBackend {
.getBoolean(com.android.internal.R.bool.config_dreamsActivatedOnSleepByDefault);
mDreamsActivatedOnDockByDefault = mContext.getResources()
.getBoolean(com.android.internal.R.bool.config_dreamsActivatedOnDockByDefault);
mDreamPreviewDefault = mContext.getResources().getDrawable(
com.android.internal.R.drawable.default_dream_preview);
}
public List<DreamInfo> getDreamInfos() {
@@ -133,11 +136,11 @@ public class DreamBackend {
dreamInfo.isActive = dreamInfo.componentName.equals(activeDream);
final DreamMetadata dreamMetadata = getDreamMetadata(pm, resolveInfo);
if (dreamMetadata != null) {
dreamInfo.settingsComponentName = dreamMetadata.mSettingsActivity;
dreamInfo.previewImage = dreamMetadata.mPreviewImage;
dreamInfo.settingsComponentName = dreamMetadata.mSettingsActivity;
dreamInfo.previewImage = dreamMetadata.mPreviewImage;
if (dreamInfo.previewImage == null) {
dreamInfo.previewImage = mDreamPreviewDefault;
}
dreamInfos.add(dreamInfo);
}
Collections.sort(dreamInfos, mComparator);