summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-02-20 22:34:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-02-20 22:34:04 +0000
commita70f6139a21dfd0a520ca872b5f4fa88df22b796 (patch)
tree1b0aa4b2a3d1191ca8271fe1bf51559de33a8f29
parent647b83757b7c257e2f0e800ee79deb4605a9abdc (diff)
parentb3617935a276aab4c72c11da340a1096d96225d7 (diff)
downloadsetupwizard-a70f6139a21dfd0a520ca872b5f4fa88df22b796.tar.gz
Merge "Set CheckableLinearLayout to focusable"
-rw-r--r--library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java69
-rw-r--r--library/main/src/com/android/setupwizardlib/view/CheckableLinearLayout.java4
2 files changed, 23 insertions, 50 deletions
diff --git a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java
index 3020ed3..6192061 100644
--- a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java
+++ b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java
@@ -16,32 +16,27 @@
package com.android.setupwizardlib.items;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.not;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.robolectric.RuntimeEnvironment.application;
-import android.support.v7.widget.SwitchCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
import android.widget.TextView;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
+import com.android.setupwizardlib.view.CheckableLinearLayout;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
-import java.util.ArrayList;
-
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ExpandableSwitchItemTest {
@@ -72,6 +67,12 @@ public class ExpandableSwitchItemTest {
"TestSummary", mSummaryView.getText());
assertFalse("Expandable switch item itself should not be focusable", view.isFocusable());
+
+ View switchContent = view.findViewById(R.id.suw_items_expandable_switch_content);
+ assertThat(switchContent).isInstanceOf(CheckableLinearLayout.class);
+ assertThat(switchContent.isFocusable())
+ .named("expandable content focusable")
+ .isTrue();
}
@Test
@@ -133,57 +134,25 @@ public class ExpandableSwitchItemTest {
mItem.onBindView(view);
final View titleView = view.findViewById(R.id.suw_items_title);
- assertThat("state_checked should not be set initially",
- toArrayList(titleView.getDrawableState()),
- not(hasItem(android.R.attr.state_checked)));
+ assertThat(titleView.getDrawableState()).asList().named("Drawable state")
+ .doesNotContain(android.R.attr.state_checked);
mItem.setExpanded(true);
mItem.onBindView(view);
- assertThat("state_checked should not be set initially",
- toArrayList(titleView.getDrawableState()),
- hasItem(android.R.attr.state_checked));
+ assertThat(titleView.getDrawableState()).asList().named("Drawable state")
+ .contains(android.R.attr.state_checked);
mItem.setExpanded(false);
mItem.onBindView(view);
- assertThat("state_checked should not be set initially",
- toArrayList(titleView.getDrawableState()),
- not(hasItem(android.R.attr.state_checked)));
- }
-
- private ArrayList<Integer> toArrayList(int[] array) {
- ArrayList<Integer> arrayList = new ArrayList<>(array.length);
- for (int i : array) {
- arrayList.add(i);
- }
- return arrayList;
+ assertThat(titleView.getDrawableState()).asList().named("Drawable state")
+ .doesNotContain(android.R.attr.state_checked);
}
private ViewGroup createLayout() {
- ViewGroup root = new FrameLayout(application);
-
- ViewGroup content = new FrameLayout(application);
- content.setId(R.id.suw_items_expandable_switch_content);
- root.addView(content);
-
- TextView titleView = new TextView(application);
- titleView.setId(R.id.suw_items_title);
- content.addView(titleView);
-
- mSummaryView = new TextView(application);
- mSummaryView.setId(R.id.suw_items_summary);
- content.addView(mSummaryView);
-
- FrameLayout iconContainer = new FrameLayout(application);
- iconContainer.setId(R.id.suw_items_icon_container);
- content.addView(iconContainer);
-
- ImageView iconView = new ImageView(application);
- iconView.setId(R.id.suw_items_icon);
- iconContainer.addView(iconView);
-
- SwitchCompat switchView = new SwitchCompat(application);
- switchView.setId(R.id.suw_items_switch);
- root.addView(switchView);
+ ViewGroup root =
+ (ViewGroup) LayoutInflater.from(application)
+ .inflate(R.layout.suw_items_expandable_switch, null);
+ mSummaryView = root.findViewById(R.id.suw_items_summary);
return root;
}
diff --git a/library/main/src/com/android/setupwizardlib/view/CheckableLinearLayout.java b/library/main/src/com/android/setupwizardlib/view/CheckableLinearLayout.java
index 3c678f8..bd0aead 100644
--- a/library/main/src/com/android/setupwizardlib/view/CheckableLinearLayout.java
+++ b/library/main/src/com/android/setupwizardlib/view/CheckableLinearLayout.java
@@ -58,6 +58,10 @@ public class CheckableLinearLayout extends LinearLayout implements Checkable {
super(context, attrs, defStyleAttr, defStyleRes);
}
+ {
+ setFocusable(true);
+ }
+
@Override
protected int[] onCreateDrawableState(int extraSpace) {
if (mChecked) {