summaryrefslogtreecommitdiff
path: root/library/main/src/com/android/setupwizardlib/template/IconMixin.java
diff options
context:
space:
mode:
Diffstat (limited to 'library/main/src/com/android/setupwizardlib/template/IconMixin.java')
-rw-r--r--library/main/src/com/android/setupwizardlib/template/IconMixin.java148
1 files changed, 68 insertions, 80 deletions
diff --git a/library/main/src/com/android/setupwizardlib/template/IconMixin.java b/library/main/src/com/android/setupwizardlib/template/IconMixin.java
index 5f5c915..e28f67d 100644
--- a/library/main/src/com/android/setupwizardlib/template/IconMixin.java
+++ b/library/main/src/com/android/setupwizardlib/template/IconMixin.java
@@ -19,100 +19,88 @@ package com.android.setupwizardlib.template;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
+import androidx.annotation.DrawableRes;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
-
-import androidx.annotation.DrawableRes;
-
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.TemplateLayout;
-/**
- * A {@link Mixin} for setting an icon on the template layout.
- */
+/** A {@link Mixin} for setting an icon on the template layout. */
public class IconMixin implements Mixin {
- private TemplateLayout mTemplateLayout;
-
- /**
- * @param layout The template layout that this Mixin is a part of.
- * @param attrs XML attributes given to the layout.
- * @param defStyleAttr The default style attribute as given to the constructor of the layout.
- */
- public IconMixin(TemplateLayout layout, AttributeSet attrs, int defStyleAttr) {
- mTemplateLayout = layout;
- final Context context = layout.getContext();
-
- final TypedArray a =
- context.obtainStyledAttributes(attrs, R.styleable.SuwIconMixin, defStyleAttr, 0);
+ private final TemplateLayout templateLayout;
- final @DrawableRes int icon = a.getResourceId(R.styleable.SuwIconMixin_android_icon, 0);
- if (icon != 0) {
- setIcon(icon);
- }
+ /**
+ * @param layout The template layout that this Mixin is a part of.
+ * @param attrs XML attributes given to the layout.
+ * @param defStyleAttr The default style attribute as given to the constructor of the layout.
+ */
+ public IconMixin(TemplateLayout layout, AttributeSet attrs, int defStyleAttr) {
+ templateLayout = layout;
+ final Context context = layout.getContext();
- a.recycle();
- }
-
- /**
- * Sets the icon on this layout. The icon can also be set in XML using {@code android:icon}.
- *
- * @param icon A drawable icon.
- */
- public void setIcon(Drawable icon) {
- final ImageView iconView = getView();
- if (iconView != null) {
- iconView.setImageDrawable(icon);
- iconView.setVisibility(icon != null ? View.VISIBLE : View.GONE);
- }
- }
+ final TypedArray a =
+ context.obtainStyledAttributes(attrs, R.styleable.SuwIconMixin, defStyleAttr, 0);
- /**
- * Sets the icon on this layout. The icon can also be set in XML using {@code android:icon}.
- *
- * @param icon A drawable icon resource.
- */
- public void setIcon(@DrawableRes int icon) {
- final ImageView iconView = getView();
- if (iconView != null) {
- // Note: setImageResource on the ImageView is overridden in AppCompatImageView for
- // support lib users, which enables vector drawable compat to work on versions pre-L.
- iconView.setImageResource(icon);
- iconView.setVisibility(icon != 0 ? View.VISIBLE : View.GONE);
- }
+ final @DrawableRes int icon = a.getResourceId(R.styleable.SuwIconMixin_android_icon, 0);
+ if (icon != 0) {
+ setIcon(icon);
}
- /**
- * @return The icon previously set in {@link #setIcon(Drawable)} or {@code android:icon}
- */
- public Drawable getIcon() {
- final ImageView iconView = getView();
- return iconView != null ? iconView.getDrawable() : null;
+ a.recycle();
+ }
+
+ /**
+ * Sets the icon on this layout. The icon can also be set in XML using {@code android:icon}.
+ *
+ * @param icon A drawable icon.
+ */
+ public void setIcon(Drawable icon) {
+ final ImageView iconView = getView();
+ if (iconView != null) {
+ iconView.setImageDrawable(icon);
+ iconView.setVisibility(icon != null ? View.VISIBLE : View.GONE);
}
-
- /**
- * Sets the content description of the icon view
- */
- public void setContentDescription(CharSequence description) {
- final ImageView iconView = getView();
- if (iconView != null) {
- iconView.setContentDescription(description);
- }
+ }
+
+ /**
+ * Sets the icon on this layout. The icon can also be set in XML using {@code android:icon}.
+ *
+ * @param icon A drawable icon resource.
+ */
+ public void setIcon(@DrawableRes int icon) {
+ final ImageView iconView = getView();
+ if (iconView != null) {
+ // Note: setImageResource on the ImageView is overridden in AppCompatImageView for
+ // support lib users, which enables vector drawable compat to work on versions pre-L.
+ iconView.setImageResource(icon);
+ iconView.setVisibility(icon != 0 ? View.VISIBLE : View.GONE);
}
-
- /**
- * @return The content description of the icon view
- */
- public CharSequence getContentDescription() {
- final ImageView iconView = getView();
- return iconView != null ? iconView.getContentDescription() : null;
- }
-
- /**
- * @return The ImageView responsible for displaying the icon.
- */
- protected ImageView getView() {
- return (ImageView) mTemplateLayout.findManagedViewById(R.id.suw_layout_icon);
+ }
+
+ /** @return The icon previously set in {@link #setIcon(Drawable)} or {@code android:icon} */
+ public Drawable getIcon() {
+ final ImageView iconView = getView();
+ return iconView != null ? iconView.getDrawable() : null;
+ }
+
+ /** Sets the content description of the icon view */
+ public void setContentDescription(CharSequence description) {
+ final ImageView iconView = getView();
+ if (iconView != null) {
+ iconView.setContentDescription(description);
}
+ }
+
+ /** @return The content description of the icon view */
+ public CharSequence getContentDescription() {
+ final ImageView iconView = getView();
+ return iconView != null ? iconView.getContentDescription() : null;
+ }
+
+ /** @return The ImageView responsible for displaying the icon. */
+ protected ImageView getView() {
+ return (ImageView) templateLayout.findManagedViewById(R.id.suw_layout_icon);
+ }
}