Merge "Modify the default SwitchItem as non-verbose Style"

This commit is contained in:
Nicole Huang 2018-05-22 06:06:21 +00:00 committed by Android (Google) Code Review
commit a1df48d7dc
3 changed files with 103 additions and 8 deletions

View file

@ -17,17 +17,17 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/SuwItemContainer.Verbose"
style="@style/SuwItemContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:baselineAligned="false"
android:orientation="horizontal">
<FrameLayout
android:id="@+id/suw_items_icon_container"
android:layout_width="@dimen/suw_items_icon_container_width"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_gravity="center_vertical"
android:gravity="start">
<ImageView
@ -41,13 +41,13 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/suw_items_verbose_padding_bottom_extra"
android:layout_marginBottom="@dimen/suw_items_padding_bottom_extra"
android:layout_weight="1"
android:orientation="vertical">
<com.android.setupwizardlib.view.RichTextView
android:id="@+id/suw_items_title"
style="@style/SuwItemTitle.Verbose"
style="@style/SuwItemTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"

View file

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2016 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/SuwItemContainer.Verbose"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:clipToPadding="false"
android:orientation="horizontal"
tools:ignore="UnusedResources">
<!-- Ignore UnusedResources: can be used by clients -->
<FrameLayout
android:id="@+id/suw_items_icon_container"
android:layout_width="@dimen/suw_items_icon_container_width"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="start">
<ImageView
android:id="@+id/suw_items_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="ContentDescription" />
</FrameLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/suw_items_verbose_padding_bottom_extra"
android:layout_weight="1"
android:orientation="vertical">
<com.android.setupwizardlib.view.RichTextView
android:id="@+id/suw_items_title"
style="@style/SuwItemTitle.Verbose"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:labelFor="@+id/suw_items_switch"
android:textAlignment="viewStart"
tools:ignore="UnusedAttribute" />
<com.android.setupwizardlib.view.RichTextView
android:id="@+id/suw_items_summary"
style="@style/SuwItemSummary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:visibility="gone"
tools:ignore="UnusedAttribute" />
</LinearLayout>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/suw_items_switch"
style="@style/SuwSwitchStyle"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical" />
</LinearLayout>

View file

@ -31,6 +31,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.appcompat.widget.SwitchCompat;
@ -41,6 +42,7 @@ import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import org.junit.Assume;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@ -50,11 +52,24 @@ public class SwitchItemTest {
private SwitchCompat mSwitch;
@Test
public void testLayout() {
public void defaultLayout_baselineAligned_shouldBeFalse() {
Assume.assumeTrue(VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP);
SwitchItem item = new SwitchItem();
LayoutInflater inflater = LayoutInflater.from(application);
ViewGroup layout = (ViewGroup) inflater.inflate(item.getDefaultLayoutResource(), null);
SwitchItem item = new SwitchItem();
LinearLayout layout = (LinearLayout) inflater.inflate(item.getDefaultLayoutResource(),
null);
assertThat(layout.isBaselineAligned()).isFalse();
}
@Test
public void verboseLayout_clipPadding_shouldBeFalse() {
Assume.assumeTrue(VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP);
LayoutInflater inflater = LayoutInflater.from(application);
SwitchItem item = new SwitchItem(application,
Robolectric.buildAttributeSet()
.addAttribute(android.R.attr.layout, "@layout/suw_items_switch_verbose")
.build());
ViewGroup layout = (ViewGroup) inflater.inflate(item.getLayoutResource(), null);
assertThat(layout.getClipToPadding()).isFalse();
}