summaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
authorMaurice Lam <yukl@google.com>2017-11-02 20:52:08 -0700
committerMaurice Lam <yukl@google.com>2017-11-02 20:52:08 -0700
commit58195c5316855122593366bd867ed51a91bd5c11 (patch)
treeb4541ea8100f4e7c743845331c7648b8e52df353 /library
parent88d7f0d37007e13601b6ead3ca039ece20ef94d7 (diff)
downloadsetupwizard-58195c5316855122593366bd867ed51a91bd5c11.tar.gz
Hide icon view if icon is null
To remove the extra margin when the icon is not used. Test: ./gradlew connectedAndroidTest Bug: 68826871 Change-Id: Ic23307a28b2829fdbe029c61f912f04bab90ca13
Diffstat (limited to 'library')
-rw-r--r--library/main/res/layout/suw_glif_header.xml3
-rw-r--r--library/main/src/com/android/setupwizardlib/template/IconMixin.java2
-rw-r--r--library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java11
3 files changed, 15 insertions, 1 deletions
diff --git a/library/main/res/layout/suw_glif_header.xml b/library/main/res/layout/suw_glif_header.xml
index b090f79..cfabcb1 100644
--- a/library/main/res/layout/suw_glif_header.xml
+++ b/library/main/res/layout/suw_glif_header.xml
@@ -26,7 +26,8 @@
style="@style/SuwGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:contentDescription="@null" />
+ android:contentDescription="@null"
+ android:visibility="gone" />
<TextView
android:id="@+id/suw_layout_title"
diff --git a/library/main/src/com/android/setupwizardlib/template/IconMixin.java b/library/main/src/com/android/setupwizardlib/template/IconMixin.java
index 46c23f0..c42299b 100644
--- a/library/main/src/com/android/setupwizardlib/template/IconMixin.java
+++ b/library/main/src/com/android/setupwizardlib/template/IconMixin.java
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
+import android.view.View;
import android.widget.ImageView;
import com.android.setupwizardlib.R;
@@ -61,6 +62,7 @@ public class IconMixin implements Mixin {
final ImageView iconView = getView();
if (iconView != null) {
iconView.setImageDrawable(icon);
+ iconView.setVisibility(icon != null ? View.VISIBLE : View.GONE);
}
}
diff --git a/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java b/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java
index a1f2b54..0391392 100644
--- a/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java
+++ b/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java
@@ -31,6 +31,7 @@ import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
import android.util.Xml;
+import android.view.View;
import android.widget.ImageView;
import com.android.setupwizardlib.TemplateLayout;
@@ -74,6 +75,15 @@ public class IconMixinTest {
mixin.setIcon(drawable);
assertSame(drawable, mIconView.getDrawable());
+ assertEquals(View.VISIBLE, mIconView.getVisibility());
+ }
+
+ @Test
+ public void setIcon_shouldSetVisibilityToGone_whenIconIsNull() {
+ IconMixin mixin = new IconMixin(mTemplateLayout, null, 0);
+ mixin.setIcon(null);
+
+ assertEquals(View.GONE, mIconView.getVisibility());
}
@Test
@@ -101,5 +111,6 @@ public class IconMixinTest {
.getDrawable(android.R.drawable.ic_menu_add);
final BitmapDrawable actual = (BitmapDrawable) mIconView.getDrawable();
assertEquals(expected.getBitmap(), actual.getBitmap());
+ assertEquals(View.VISIBLE, mIconView.getVisibility());
}
}