From a2b151efbe819af04885237bf0ffdb341c56e7a7 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Fri, 26 Jan 2018 15:14:58 -0800 Subject: [PATCH] Remove the second target for ConnectedApPreference Also create new gear layout since previous one has its own ripple, which conflicts the normal preference ripple. Fixes: 72528535 Fixes: 72442172 Test: Screenshot | RunSettingsRoboTests Change-Id: I6a253574d0a5c971104c157584d66c3312764a26 --- res/layout/preference_widget_gear_no_bg.xml | 27 +++++++++++++++++++ .../wifi/ConnectedAccessPointPreference.java | 21 +-------------- .../android/settings/wifi/WifiSettings.java | 3 ++- .../ConnectedAccessPointPreferenceTest.java | 7 +++++ 4 files changed, 37 insertions(+), 21 deletions(-) create mode 100644 res/layout/preference_widget_gear_no_bg.xml diff --git a/res/layout/preference_widget_gear_no_bg.xml b/res/layout/preference_widget_gear_no_bg.xml new file mode 100644 index 00000000000..89d34d4adda --- /dev/null +++ b/res/layout/preference_widget_gear_no_bg.xml @@ -0,0 +1,27 @@ + + + + + + diff --git a/src/com/android/settings/wifi/ConnectedAccessPointPreference.java b/src/com/android/settings/wifi/ConnectedAccessPointPreference.java index 6b9c788659a..514525caa6c 100644 --- a/src/com/android/settings/wifi/ConnectedAccessPointPreference.java +++ b/src/com/android/settings/wifi/ConnectedAccessPointPreference.java @@ -36,6 +36,7 @@ public class ConnectedAccessPointPreference extends AccessPointPreference implem public ConnectedAccessPointPreference(AccessPoint accessPoint, Context context, UserBadgeCache cache, @DrawableRes int iconResId, boolean forSavedNetworks) { super(accessPoint, context, cache, iconResId, forSavedNetworks); + setWidgetLayoutResource(R.layout.preference_widget_gear_no_bg); } public void setOnGearClickListener(OnGearClickListener l) { @@ -43,26 +44,6 @@ public class ConnectedAccessPointPreference extends AccessPointPreference implem notifyChanged(); } - @Override - protected int getSecondTargetResId() { - return R.layout.preference_widget_gear; - } - - @Override - protected boolean shouldHideSecondTarget() { - return mOnGearClickListener == null; - } - - @Override - public void onBindViewHolder(PreferenceViewHolder holder) { - super.onBindViewHolder(holder); - final View gear = holder.findViewById(R.id.settings_button); - if (gear != null) { - gear.setOnClickListener(this); - } - setDividerVisibility(holder, View.VISIBLE); - } - @Override public void onClick(View v) { if (v.getId() == R.id.settings_button) { diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 83d9c18f9c1..4f9773963de 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -884,13 +884,14 @@ public class WifiSettings extends RestrictedSettingsFragment connectedAp); // Launch details page on click. - pref.setOnGearClickListener(l -> { + pref.setOnPreferenceClickListener(preference -> { pref.getAccessPoint().saveWifiState(pref.getExtras()); SettingsActivity activity = (SettingsActivity) WifiSettings.this.getActivity(); activity.startPreferencePanel(this, WifiNetworkDetailsFragment.class.getName(), pref.getExtras(), -1 /* resId */, pref.getTitle(), null, 0 /* resultRequestCode */); + return true; }); pref.refresh(); diff --git a/tests/robotests/src/com/android/settings/wifi/ConnectedAccessPointPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/ConnectedAccessPointPreferenceTest.java index 2eaa5875012..c122a65c02c 100644 --- a/tests/robotests/src/com/android/settings/wifi/ConnectedAccessPointPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/wifi/ConnectedAccessPointPreferenceTest.java @@ -16,6 +16,8 @@ package com.android.settings.wifi; +import static com.google.common.truth.Truth.assertThat; + import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -75,4 +77,9 @@ public class ConnectedAccessPointPreferenceTest { verify(mOnGearClickListener, never()).onGearClick(mConnectedAccessPointPreference); } + @Test + public void testWidgetLayoutPreference() { + assertThat(mConnectedAccessPointPreference.getWidgetLayoutResource()).isEqualTo( + R.layout.preference_widget_gear_no_bg); + } }