summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/color/option_border_color.xml3
-rw-r--r--res/drawable/color_chip_hollow.xml4
-rw-r--r--res/drawable/ic_colorize_24px.xml4
-rw-r--r--res/drawable/ic_font.xml4
-rw-r--r--res/drawable/ic_nav_wallpaper.xml4
-rw-r--r--res/drawable/ic_shapes_24px.xml4
-rw-r--r--res/drawable/ic_wifi_24px.xml4
-rw-r--r--res/layout/fragment_custom_theme_component.xml11
-rw-r--r--res/layout/fragment_custom_theme_name.xml8
-rw-r--r--res/layout/fragment_theme_picker.xml1
-rw-r--r--res/layout/preview_card_font_content.xml21
-rw-r--r--res/layout/theme_color_option.xml2
-rw-r--r--res/layout/theme_component_preview.xml1
-rw-r--r--res/values-es/strings.xml2
-rw-r--r--res/values-night/colors.xml2
-rw-r--r--res/values/colors.xml4
-rw-r--r--res/values/dimens.xml4
-rw-r--r--res/values/styles.xml6
-rw-r--r--src/com/android/customization/model/clock/ClockManager.java27
-rw-r--r--src/com/android/customization/model/theme/custom/ThemeComponentOption.java12
-rw-r--r--src/com/android/customization/module/StatsLogUserEventLogger.java2
-rw-r--r--src/com/android/customization/picker/ClockFacePickerActivity.java16
-rw-r--r--src/com/android/customization/picker/CustomizationPickerActivity.java8
-rw-r--r--src/com/android/customization/picker/theme/ThemeFragment.java9
24 files changed, 120 insertions, 43 deletions
diff --git a/res/color/option_border_color.xml b/res/color/option_border_color.xml
index ea5f189e..ec5ab977 100644
--- a/res/color/option_border_color.xml
+++ b/res/color/option_border_color.xml
@@ -23,5 +23,6 @@
android:alpha="0.24"
android:color="?android:colorAccent" />
<item
- android:color="@color/material_grey500"/>
+ android:alpha="0.05"
+ android:color="@color/option_border_default"/>
</selector>
diff --git a/res/drawable/color_chip_hollow.xml b/res/drawable/color_chip_hollow.xml
index 76ab6b86..c0eab74a 100644
--- a/res/drawable/color_chip_hollow.xml
+++ b/res/drawable/color_chip_hollow.xml
@@ -17,8 +17,8 @@
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
- android:innerRadius="13dp"
- android:thickness="8dp"
+ android:innerRadius="10dp"
+ android:thickness="6dp"
android:useLevel="false">
<solid android:color="@android:color/black"/>
</shape>
diff --git a/res/drawable/ic_colorize_24px.xml b/res/drawable/ic_colorize_24px.xml
index fb70972b..8363683f 100644
--- a/res/drawable/ic_colorize_24px.xml
+++ b/res/drawable/ic_colorize_24px.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
diff --git a/res/drawable/ic_font.xml b/res/drawable/ic_font.xml
index f5df7ba5..6ce8308a 100644
--- a/res/drawable/ic_font.xml
+++ b/res/drawable/ic_font.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<!-- This path represents a square with rounded corners -->
diff --git a/res/drawable/ic_nav_wallpaper.xml b/res/drawable/ic_nav_wallpaper.xml
index c9356662..a884a44a 100644
--- a/res/drawable/ic_nav_wallpaper.xml
+++ b/res/drawable/ic_nav_wallpaper.xml
@@ -15,8 +15,8 @@
-->
<!-- Represents the wallpaper icon (a "landscape" shape in a box) -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
diff --git a/res/drawable/ic_shapes_24px.xml b/res/drawable/ic_shapes_24px.xml
index 525f7572..6debc533 100644
--- a/res/drawable/ic_shapes_24px.xml
+++ b/res/drawable/ic_shapes_24px.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
diff --git a/res/drawable/ic_wifi_24px.xml b/res/drawable/ic_wifi_24px.xml
index 0e27c576..64834e0b 100644
--- a/res/drawable/ic_wifi_24px.xml
+++ b/res/drawable/ic_wifi_24px.xml
@@ -14,8 +14,8 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
+ android:width="32dp"
+ android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
diff --git a/res/layout/fragment_custom_theme_component.xml b/res/layout/fragment_custom_theme_component.xml
index 314480f1..fb9c36cb 100644
--- a/res/layout/fragment_custom_theme_component.xml
+++ b/res/layout/fragment_custom_theme_component.xml
@@ -36,7 +36,6 @@
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
- app:layout_constraintHeight_min="@dimen/preview_pager_min_height"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -47,9 +46,9 @@
layout="@layout/theme_component_preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
android:layout_marginHorizontal="@dimen/preview_page_horizontal_margin"
- android:layout_marginTop="@dimen/preview_page_top_margin"
- android:layout_marginBottom="@dimen/indicator_container_height"/>
+ android:layout_marginTop="@dimen/preview_page_top_margin"/>
</FrameLayout>
<View
android:id="@+id/divider"
@@ -81,7 +80,9 @@
android:textSize="@dimen/component_options_title_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/guideline"/>
+ app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintVertical_bias=".15"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/options_container"
@@ -93,7 +94,7 @@
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/component_options_title"
- app:layout_constraintVertical_bias=".2"/>
+ app:layout_constraintVertical_bias=".25"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
diff --git a/res/layout/fragment_custom_theme_name.xml b/res/layout/fragment_custom_theme_name.xml
index 9ac0b213..6a3d1bab 100644
--- a/res/layout/fragment_custom_theme_name.xml
+++ b/res/layout/fragment_custom_theme_name.xml
@@ -36,7 +36,6 @@
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
- app:layout_constraintHeight_min="@dimen/preview_pager_min_height"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -69,9 +68,12 @@
android:layout_marginBottom="10dp"
android:textAlignment="center"
android:textAppearance="@style/HeaderTextAppearance"
+ android:textSize="@dimen/component_options_title_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/guideline"/>
+ app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintVertical_bias=".15"/>
<EditText
android:id="@+id/custom_theme_name"
@@ -85,7 +87,7 @@
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/component_options_title"
- app:layout_constraintVertical_bias=".2"/>
+ app:layout_constraintVertical_bias=".25"/>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/fragment_theme_picker.xml b/res/layout/fragment_theme_picker.xml
index d38e67f8..8272bdeb 100644
--- a/res/layout/fragment_theme_picker.xml
+++ b/res/layout/fragment_theme_picker.xml
@@ -41,7 +41,6 @@
app:layout_constraintBottom_toTopOf="@id/options_container"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
- app:layout_constraintHeight_min="@dimen/preview_pager_min_height"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
diff --git a/res/layout/preview_card_font_content.xml b/res/layout/preview_card_font_content.xml
index 2a27b013..fb7879e7 100644
--- a/res/layout/preview_card_font_content.xml
+++ b/res/layout/preview_card_font_content.xml
@@ -20,26 +20,39 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
- android:gravity="center_horizontal"
+ android:weightSum="7"
android:orientation="vertical"
tools:showIn="@layout/theme_preview_card">
<TextView
style="@style/FontCardTitleStyle"
android:id="@+id/font_card_title"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_height="16sp"
+ android:layout_weight="1.5"
+ android:layout_gravity="center"
android:gravity="center_horizontal"
+ android:maxLines="1"
android:text="@string/font_card_title"/>
+ <Space
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="0"/>
<View
android:id="@+id/font_card_divider"
android:layout_width="15dp"
android:layout_height="2dp"
- android:layout_marginVertical="@dimen/font_preview_divider_gap"
+ android:layout_gravity="center"
android:background="?android:colorAccent"/>
+ <Space
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"/>
<TextView
style="@style/FontCardBodyTextStyle"
android:id="@+id/font_card_body"
- android:layout_height="wrap_content"
+ android:layout_height="56sp"
+ android:layout_weight="2"
+ android:layout_gravity="bottom|center_horizontal"
android:gravity="center_horizontal"
android:text="@string/font_card_body"/>
</LinearLayout> \ No newline at end of file
diff --git a/res/layout/theme_color_option.xml b/res/layout/theme_color_option.xml
index 72acd8be..12fe623f 100644
--- a/res/layout/theme_color_option.xml
+++ b/res/layout/theme_color_option.xml
@@ -18,7 +18,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:padding="4dp">
+ android:padding="8dp">
<ImageView
android:id="@+id/option_tile"
diff --git a/res/layout/theme_component_preview.xml b/res/layout/theme_component_preview.xml
index 0d01e051..fe2f6913 100644
--- a/res/layout/theme_component_preview.xml
+++ b/res/layout/theme_component_preview.xml
@@ -23,6 +23,7 @@
android:id="@+id/theme_preview_card_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:clipToPadding="false"
android:maxHeight="@dimen/preview_theme_max_height"
android:minHeight="@dimen/preview_theme_min_height"
android:paddingHorizontal="@dimen/preview_card_padding"
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 6ebf0165..47b3b8ba 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -47,7 +47,7 @@
<string name="apply_theme_error_msg" msgid="791364062636538317">"No se ha podido aplicar el estilo"</string>
<string name="custom_theme_next" msgid="6235420097213197301">"Siguiente"</string>
<string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
- <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> personalizado"</string>
+ <string name="custom_theme_title" msgid="2192300350332693631">"Personalizado <xliff:g id="ID_1">%1$d</xliff:g>"</string>
<string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estilo personal"</string>
<string name="custom_theme_delete" msgid="4744494663184126202">"Eliminar"</string>
<string name="font_component_title" msgid="8800340833695292049">"Elegir fuente"</string>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index 129d3642..b567d0d0 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -28,6 +28,8 @@
<color name="tile_disabled_icon_color">@color/light_grey</color>
<color name="tile_disabled_background_color">#353535</color>
+ <color name="shape_option_tile_foreground_color">@color/edit_background_base</color>
+
<color name="tip_dot_color">#81C995</color>
<color name="tip_dot_line_color">#000000</color>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 42335bf0..3d646f94 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -30,6 +30,8 @@
<color name="shape_thumbnail_color">#b2b2b2</color>
<color name="icon_thumbnail_color">@color/black_87_alpha</color>
+ <color name="option_border_default">@color/edit_background_base</color>
+
<color name="clockface_preview_background">@android:color/black</color>
<color name="theme_preview_icon_color">@color/google_grey700</color>
@@ -47,7 +49,7 @@
<color name="tile_disabled_icon_color">#2d2d2d</color>
<color name="tile_disabled_background_color">@color/light_grey</color>
- <color name="shape_option_tile_foreground_color">#f8f9fa</color>
+ <color name="shape_option_tile_foreground_color">@color/edit_background_base</color>
<color name="tip_dot_color">#34A853</color>
<color name="tip_dot_line_color">#FFFFFF</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 00b2bed7..5c98fda2 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -85,7 +85,7 @@
<dimen name="preview_theme_cover_content_bottom">@dimen/preview_theme_content_bottom</dimen>
<dimen name="font_preview_body_width">200dp</dimen>
- <dimen name="font_preview_divider_gap">30dp</dimen>
+ <dimen name="font_preview_divider_gap">24dp</dimen>
<dimen name="custom_theme_nav_height">56dp</dimen>
@@ -94,7 +94,7 @@
<dimen name="component_icon_thumb_size">40dp</dimen>
- <dimen name="component_color_chip_size">42dp</dimen>
+ <dimen name="component_color_chip_size">32dp</dimen>
<dimen name="component_shape_thumb_size">72dp</dimen>
<dimen name="option_border_width">2dp</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index dd8e18dc..1289a87d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -44,7 +44,7 @@
<style name="BottomNavStyle">
<item name="itemIconTint">@color/bottom_nav_item_color</item>
<item name="itemTextColor">@color/bottom_nav_item_color</item>
- <item name="itemTextAppearanceActive">@style/BottomNavTextAppearance</item>
+ <item name="itemTextAppearanceActive">@style/BottomNavTextAppearanceActive</item>
<item name="itemTextAppearanceInactive">@style/BottomNavTextAppearance</item>
<item name="itemBackground">?android:attr/selectableItemBackgroundBorderless</item>
<item name="android:background">?android:colorPrimary</item>
@@ -54,6 +54,10 @@
<item name="android:textSize">@dimen/bottom_navbar_font_text_size</item>
</style>
+ <style name="BottomNavTextAppearanceActive" parent="BottomNavTextAppearance">
+ <item name="android:textStyle">bold</item>
+ </style>
+
<!-- Common components and widgets -->
<style name="HeaderTextAppearance" parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title"/>
diff --git a/src/com/android/customization/model/clock/ClockManager.java b/src/com/android/customization/model/clock/ClockManager.java
index 3744317e..4e77a494 100644
--- a/src/com/android/customization/model/clock/ClockManager.java
+++ b/src/com/android/customization/model/clock/ClockManager.java
@@ -17,9 +17,13 @@ package com.android.customization.model.clock;
import android.content.ContentResolver;
import android.provider.Settings.Secure;
+import android.text.TextUtils;
import com.android.customization.module.ThemesUserEventLogger;
+import org.json.JSONException;
+import org.json.JSONObject;
+
/**
* {@link CustomizationManager} for clock faces that implements apply by writing to secure settings.
*/
@@ -27,6 +31,8 @@ public class ClockManager extends BaseClockManager {
// TODO: use constant from Settings.Secure
static final String CLOCK_FACE_SETTING = "lock_screen_custom_clock_face";
+ private static final String CLOCK_FIELD = "clock";
+ private static final String TIMESTAMP_FIELD = "_applied_timestamp";
private final ContentResolver mContentResolver;
private final ThemesUserEventLogger mEventLogger;
@@ -39,7 +45,15 @@ public class ClockManager extends BaseClockManager {
@Override
protected void handleApply(Clockface option, Callback callback) {
- boolean stored = Secure.putString(mContentResolver, CLOCK_FACE_SETTING, option.getId());
+ boolean stored;
+ try {
+ final JSONObject json = new JSONObject();
+ json.put(CLOCK_FIELD, option.getId());
+ json.put(TIMESTAMP_FIELD, System.currentTimeMillis());
+ stored = Secure.putString(mContentResolver, CLOCK_FACE_SETTING, json.toString());
+ } catch (JSONException ex) {
+ stored = false;
+ }
if (stored) {
mEventLogger.logClockApplied(option);
callback.onSuccess();
@@ -50,6 +64,15 @@ public class ClockManager extends BaseClockManager {
@Override
protected String lookUpCurrentClock() {
- return Secure.getString(mContentResolver, CLOCK_FACE_SETTING);
+ final String value = Secure.getString(mContentResolver, CLOCK_FACE_SETTING);
+ if (TextUtils.isEmpty(value)) {
+ return value;
+ }
+ try {
+ final JSONObject json = new JSONObject(value);
+ return json.getString(CLOCK_FIELD);
+ } catch (JSONException ex) {
+ return value;
+ }
}
}
diff --git a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
index 78131cc9..ff8da087 100644
--- a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
+++ b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
@@ -29,6 +29,7 @@ import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.Resources.Theme;
+import android.content.res.TypedArray;
import android.graphics.Path;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
@@ -49,6 +50,7 @@ import androidx.annotation.Dimension;
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
+import androidx.core.graphics.ColorUtils;
import com.android.customization.model.CustomizationManager;
import com.android.customization.model.CustomizationOption;
@@ -146,6 +148,8 @@ public abstract class ThemeComponentOption implements CustomizationOption<ThemeC
title.setTypeface(mHeadlineFont);
TextView bodyText = container.findViewById(R.id.font_card_body);
bodyText.setTypeface(mBodyFont);
+ container.findViewById(R.id.font_card_divider).setBackgroundColor(
+ title.getCurrentTextColor());
}
@Override
@@ -441,7 +445,13 @@ public abstract class ThemeComponentOption implements CustomizationOption<ThemeC
foreground.setIntrinsicHeight(background.getIntrinsicHeight() - borderWidth);
foreground.setIntrinsicWidth(background.getIntrinsicWidth() - borderWidth);
- foreground.setTint(res.getColor(R.color.shape_option_tile_foreground_color, theme));
+ TypedArray ta = view.getContext().obtainStyledAttributes(
+ new int[]{android.R.attr.colorPrimary});
+ int primaryColor = ta.getColor(0, 0);
+ ta.recycle();
+ int foregroundColor = res.getColor(R.color.shape_option_tile_foreground_color, theme);
+
+ foreground.setTint(ColorUtils.blendARGB(primaryColor, foregroundColor, .05f));
thumb.setImageDrawable(mShape);
view.setContentDescription(mLabel);
diff --git a/src/com/android/customization/module/StatsLogUserEventLogger.java b/src/com/android/customization/module/StatsLogUserEventLogger.java
index 07d8c1df..b77d7dc7 100644
--- a/src/com/android/customization/module/StatsLogUserEventLogger.java
+++ b/src/com/android/customization/module/StatsLogUserEventLogger.java
@@ -41,7 +41,7 @@ public class StatsLogUserEventLogger extends NoOpUserEventLogger implements Them
private static final String TAG = "StatsLogUserEventLogger";
@Override
- public void logResumed() {
+ public void logResumed(boolean provisioned, boolean wallpaper) {
StatsLogCompat.write(StyleEnums.ONRESUME, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
diff --git a/src/com/android/customization/picker/ClockFacePickerActivity.java b/src/com/android/customization/picker/ClockFacePickerActivity.java
index bfe2e5ed..5065aef4 100644
--- a/src/com/android/customization/picker/ClockFacePickerActivity.java
+++ b/src/com/android/customization/picker/ClockFacePickerActivity.java
@@ -64,12 +64,16 @@ public class ClockFacePickerActivity extends FragmentActivity implements ClockFr
return getIntent().getStringExtra(EXTRA_CLOCK_FACE_NAME);
}
};
-
- final FragmentManager fm = getSupportFragmentManager();
- final FragmentTransaction fragmentTransaction = fm.beginTransaction();
- final ClockFragment clockFragment = ClockFragment.newInstance(getString(R.string.clock_title));
- fragmentTransaction.replace(R.id.fragment_container, clockFragment);
- fragmentTransaction.commitNow();
+ if (!mClockManager.isAvailable()) {
+ finish();
+ } else {
+ final FragmentManager fm = getSupportFragmentManager();
+ final FragmentTransaction fragmentTransaction = fm.beginTransaction();
+ final ClockFragment clockFragment = ClockFragment.newInstance(
+ getString(R.string.clock_title));
+ fragmentTransaction.replace(R.id.fragment_container, clockFragment);
+ fragmentTransaction.commitNow();
+ }
}
@Override
diff --git a/src/com/android/customization/picker/CustomizationPickerActivity.java b/src/com/android/customization/picker/CustomizationPickerActivity.java
index 3f782988..80cd7d93 100644
--- a/src/com/android/customization/picker/CustomizationPickerActivity.java
+++ b/src/com/android/customization/picker/CustomizationPickerActivity.java
@@ -20,6 +20,7 @@ import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
@@ -138,7 +139,12 @@ public class CustomizationPickerActivity extends FragmentActivity implements Wal
@Override
protected void onResume() {
super.onResume();
- mUserEventLogger.logResumed();
+ boolean wallpaperOnly =
+ WALLPAPER_ONLY.equals(getIntent().getStringExtra(WALLPAPER_FLAVOR_EXTRA));
+ boolean provisioned = Settings.Global.getInt(getContentResolver(),
+ Settings.Global.DEVICE_PROVISIONED, 0) != 0;
+
+ mUserEventLogger.logResumed(provisioned, wallpaperOnly);
// refresh the sections as the preview may have changed
initSections();
if (mBottomNav == null) {
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
index cb78ea6d..f584dec9 100644
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFragment.java
@@ -22,6 +22,7 @@ import android.content.Intent;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.Bitmap;
+import android.graphics.Bitmap.Config;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
@@ -568,7 +569,15 @@ public class ThemeFragment extends ToolbarFragment {
}
view.findViewById(R.id.theme_preview_card_background).setBackground(background);
if (mScrim == null && !mIsTranslucent) {
+ boolean shouldRecycle = false;
+ if (bitmap.getConfig() == Config.HARDWARE) {
+ bitmap = bitmap.copy(Config.ARGB_8888, false);
+ shouldRecycle = true;
+ }
int colorsHint = WallpaperColors.fromBitmap(bitmap).getColorHints();
+ if (shouldRecycle) {
+ bitmap.recycle();
+ }
TextView header = view.findViewById(R.id.theme_preview_card_header);
if ((colorsHint & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0) {
int colorLight = res.getColor(R.color.text_color_light, null);