Merge "Revert "Check for providers being enabled"" into ub-launcher3-qt-dev
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 16f8964..ed05ee5 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -22,7 +22,8 @@
<dimen name="tip_dot_size">8dp</dimen>
<dimen name="tip_dot_line_width">2dp</dimen>
- <dimen name="check_size">12dp</dimen>
+ <dimen name="check_size">20dp</dimen>
+ <dimen name="check_offset">4dp</dimen>
<dimen name="preview_indicator_width">16dp</dimen>
<dimen name="preview_indicator_height">8dp</dimen>
diff --git a/src/com/android/customization/model/theme/DefaultThemeProvider.java b/src/com/android/customization/model/theme/DefaultThemeProvider.java
index 5123910..58b6daf 100644
--- a/src/com/android/customization/model/theme/DefaultThemeProvider.java
+++ b/src/com/android/customization/model/theme/DefaultThemeProvider.java
@@ -111,6 +111,11 @@
}
}
+ @Override
+ public boolean isAvailable() {
+ return mOverlayProvider.isAvailable() && super.isAvailable();
+ }
+
private void loadAll() {
addDefaultTheme();
diff --git a/src/com/android/customization/model/theme/OverlayManagerCompat.java b/src/com/android/customization/model/theme/OverlayManagerCompat.java
index 202a0d4..163eca1 100644
--- a/src/com/android/customization/model/theme/OverlayManagerCompat.java
+++ b/src/com/android/customization/model/theme/OverlayManagerCompat.java
@@ -44,6 +44,10 @@
mTargetPackages = ResourceConstants.getPackagesToOverlay(context);
}
+ public boolean isAvailable() {
+ return mOverlayManager != null;
+ }
+
/**
* Enables the overlay provided by the given package for the given user Id
* @return true if the operation succeeded
diff --git a/src/com/android/customization/model/theme/OverlayThemeExtractor.java b/src/com/android/customization/model/theme/OverlayThemeExtractor.java
index 3c261e7..9c85fa4 100644
--- a/src/com/android/customization/model/theme/OverlayThemeExtractor.java
+++ b/src/com/android/customization/model/theme/OverlayThemeExtractor.java
@@ -40,21 +40,26 @@
OverlayThemeExtractor(Context context) {
mContext = context;
OverlayManager om = context.getSystemService(OverlayManager.class);
- Consumer<OverlayInfo> addToMap = overlayInfo -> mOverlayInfos.put(
- overlayInfo.getPackageName(), overlayInfo);
+ if (om != null) {
+ Consumer<OverlayInfo> addToMap = overlayInfo -> mOverlayInfos.put(
+ overlayInfo.getPackageName(), overlayInfo);
- UserHandle user = UserHandle.of(UserHandle.myUserId());
- om.getOverlayInfosForTarget(ANDROID_PACKAGE, user).forEach(addToMap);
- om.getOverlayInfosForTarget(SYSUI_PACKAGE, user).forEach(addToMap);
- om.getOverlayInfosForTarget(SETTINGS_PACKAGE, user).forEach(addToMap);
- om.getOverlayInfosForTarget(ResourceConstants.getLauncherPackage(context), user)
- .forEach(addToMap);
- om.getOverlayInfosForTarget(context.getPackageName(), user).forEach(addToMap);
-
+ UserHandle user = UserHandle.of(UserHandle.myUserId());
+ om.getOverlayInfosForTarget(ANDROID_PACKAGE, user).forEach(addToMap);
+ om.getOverlayInfosForTarget(SYSUI_PACKAGE, user).forEach(addToMap);
+ om.getOverlayInfosForTarget(SETTINGS_PACKAGE, user).forEach(addToMap);
+ om.getOverlayInfosForTarget(ResourceConstants.getLauncherPackage(context), user)
+ .forEach(addToMap);
+ om.getOverlayInfosForTarget(context.getPackageName(), user).forEach(addToMap);
+ }
mShapePreviewIconPackages = context.getResources().getStringArray(
R.array.icon_shape_preview_packages);
}
+ boolean isAvailable() {
+ return !mOverlayInfos.isEmpty();
+ }
+
void addColorOverlay(Builder builder, String colorOverlayPackage)
throws NameNotFoundException {
if (!TextUtils.isEmpty(colorOverlayPackage)) {
diff --git a/src/com/android/customization/model/theme/ThemeManager.java b/src/com/android/customization/model/theme/ThemeManager.java
index d873972..f7bbd00 100644
--- a/src/com/android/customization/model/theme/ThemeManager.java
+++ b/src/com/android/customization/model/theme/ThemeManager.java
@@ -84,7 +84,7 @@
@Override
public boolean isAvailable() {
- return mProvider.isAvailable();
+ return mOverlayManagerCompat.isAvailable() && mProvider.isAvailable();
}
@Override
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index de2f09c..b2a81aa 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -201,12 +201,12 @@
// Position at lower right
int idx = layers.length - 1;
int checkSize = (int) res.getDimension(R.dimen.check_size);
+ int checkOffset = (int) res.getDimension(R.dimen.check_offset);
checkedFrame.setLayerGravity(idx, Gravity.BOTTOM | Gravity.RIGHT);
checkedFrame.setLayerWidth(idx, checkSize);
checkedFrame.setLayerHeight(idx, checkSize);
- checkedFrame.setLayerInsetBottom(idx,
- holder.itemView.getPaddingBottom() - (checkSize/3));
- checkedFrame.setLayerInsetLeft(idx, checkSize/3);
+ checkedFrame.setLayerInsetBottom(idx, checkOffset);
+ checkedFrame.setLayerInsetLeft(idx, checkOffset);
holder.itemView.setForeground(checkedFrame);
// Initialize the currently applied option