diff --git a/src/com/android/settings/wifi/WifiEntryPreference.java b/src/com/android/settings/wifi/WifiEntryPreference.java index 5187ee3119c..5b448870016 100644 --- a/src/com/android/settings/wifi/WifiEntryPreference.java +++ b/src/com/android/settings/wifi/WifiEntryPreference.java @@ -82,7 +82,6 @@ public class WifiEntryPreference extends RestrictedPreference implements super(context); setLayoutResource(R.layout.preference_access_point); - setWidgetLayoutResource(R.layout.access_point_friction_widget); mFrictionSld = getFrictionStateListDrawable(); mWifiEntry = wifiEntry; mWifiEntry.setListener(this); @@ -280,6 +279,11 @@ public class WifiEntryPreference extends RestrictedPreference implements notifyChanged(); } + @Override + protected int getSecondTargetResId() { + return R.layout.access_point_friction_widget; + } + @Override public void onClick(View view) { if (view.getId() == R.id.icon_button) { diff --git a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java index a5d63dbd34d..a60b5313730 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java @@ -80,6 +80,8 @@ public class WifiEntryPreferenceTest { private static final String MOCK_SUMMARY = "summary"; private static final String FAKE_URI_STRING = "fakeuri"; + WifiEntryPreference mPref; + @Before public void setUp() { mContext = RuntimeEnvironment.application; @@ -105,6 +107,8 @@ public class WifiEntryPreferenceTest { .thenReturn(mMockShowXDrawable3); when(mMockIconInjector.getIcon(true /* showX */, 4)) .thenReturn(mMockShowXDrawable4); + + mPref = new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); } @Test @@ -128,52 +132,46 @@ public class WifiEntryPreferenceTest { @Test public void titleChanged_refresh_shouldUpdateTitle() { - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); final String updatedTitle = "updated title"; when(mMockWifiEntry.getTitle()).thenReturn(updatedTitle); - pref.refresh(); + mPref.refresh(); - assertThat(pref.getTitle()).isEqualTo(updatedTitle); + assertThat(mPref.getTitle().toString()).isEqualTo(updatedTitle); } @Test public void summaryChanged_refresh_shouldUpdateSummary() { - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); final String updatedSummary = "updated summary"; when(mMockWifiEntry.getSummary(false /* concise */)).thenReturn(updatedSummary); - pref.refresh(); + mPref.refresh(); - assertThat(pref.getSummary()).isEqualTo(updatedSummary); + assertThat(mPref.getSummary().toString()).isEqualTo(updatedSummary); } @Test public void levelChanged_refresh_shouldUpdateLevelIcon() { final List iconList = new ArrayList<>(); - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); when(mMockWifiEntry.getLevel()).thenReturn(0); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(1); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(2); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(3); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(4); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(-1); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); assertThat(iconList).containsExactly(mMockDrawable0, mMockDrawable1, mMockDrawable2, mMockDrawable3, mMockDrawable4, null); @@ -183,27 +181,25 @@ public class WifiEntryPreferenceTest { public void levelChanged_showXWifiRefresh_shouldUpdateLevelIcon() { final List iconList = new ArrayList<>(); when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(true); - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); when(mMockWifiEntry.getLevel()).thenReturn(0); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(1); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(2); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(3); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(4); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); when(mMockWifiEntry.getLevel()).thenReturn(-1); - pref.refresh(); - iconList.add(pref.getIcon()); + mPref.refresh(); + iconList.add(mPref.getIcon()); assertThat(iconList).containsExactly(mMockShowXDrawable0, mMockShowXDrawable1, mMockShowXDrawable2, mMockShowXDrawable3, mMockShowXDrawable4, null); @@ -212,14 +208,12 @@ public class WifiEntryPreferenceTest { @Test public void notNull_whenGetHelpUriString_shouldSetImageButtonVisible() { when(mMockWifiEntry.getHelpUriString()).thenReturn(FAKE_URI_STRING); - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); final LayoutInflater inflater = LayoutInflater.from(mContext); - final View view = inflater.inflate(pref.getLayoutResource(), new LinearLayout(mContext), + final View view = inflater.inflate(mPref.getLayoutResource(), new LinearLayout(mContext), false); final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view); - pref.onBindViewHolder(holder); + mPref.onBindViewHolder(holder); assertThat(view.findViewById(R.id.icon_button).getVisibility()).isEqualTo(View.VISIBLE); } @@ -227,14 +221,12 @@ public class WifiEntryPreferenceTest { @Test public void helpButton_whenGetHelpUriStringNotNull_shouldSetCorrectContentDescription() { when(mMockWifiEntry.getHelpUriString()).thenReturn(FAKE_URI_STRING); - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); final LayoutInflater inflater = LayoutInflater.from(mContext); - final View view = inflater.inflate(pref.getLayoutResource(), new LinearLayout(mContext), + final View view = inflater.inflate(mPref.getLayoutResource(), new LinearLayout(mContext), false); final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view); - pref.onBindViewHolder(holder); + mPref.onBindViewHolder(holder); assertThat(view.findViewById(R.id.icon_button).getContentDescription()).isEqualTo( mContext.getString(R.string.help_label)); @@ -243,25 +235,25 @@ public class WifiEntryPreferenceTest { @Test public void subscriptionEntry_shouldSetImageButtonGone() { when(mMockWifiEntry.isSubscription()).thenReturn(true); - final WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); final LayoutInflater inflater = LayoutInflater.from(mContext); - final View view = inflater.inflate(pref.getLayoutResource(), new LinearLayout(mContext), + final View view = inflater.inflate(mPref.getLayoutResource(), new LinearLayout(mContext), false); final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view); - pref.onBindViewHolder(holder); + mPref.onBindViewHolder(holder); assertThat(view.findViewById(R.id.icon_button).getVisibility()).isEqualTo(View.GONE); } @Test - public void updateIcon_ShouldSetTintListForDrawable() { - WifiEntryPreference pref = - new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector); - - pref.updateIcon(false /* showX */, 4 /* level */); + public void updateIcon_shouldSetTintListForDrawable() { + mPref.updateIcon(false /* showX */, 4 /* level */); verify(mMockDrawable4).setTintList(any()); } + + @Test + public void getSecondTargetResId_shouldNotReturnZero() { + assertThat(mPref.getSecondTargetResId()).isNotEqualTo(0); + } }