From 44cc57cd9d964b04a01f27345b0c044d1cfc6c8c Mon Sep 17 00:00:00 2001 From: timhypeng Date: Tue, 11 Aug 2020 10:52:57 +0800 Subject: [PATCH 1/4] Display "pair new" only when local output device is available. -If media app does not support cast->phone transferring, local output audio device is unavailable. "pair new" is for Bluetooth which should be also unavilable. -These types are local output audio devices: TYPE_BUILTIN_SPEAKER TYPE_WIRED_HEADSET TYPE_WIRED_HEADPHONES TYPE_USB_DEVICE TYPE_USB_HEADSET TYPE_USB_ACCESSORY TYPE_DOCK TYPE_HDMI Bug: 163095048 Test: make -j50 RunSettingsRoboTests Change-Id: Ib844c7546e1946cb87fac04cb8b2b8f4acf06451 (cherry picked from commit 113ac8102aa1db6a1d901e6acbd41ca8f9cb934d) --- src/com/android/settings/media/MediaOutputSlice.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/media/MediaOutputSlice.java b/src/com/android/settings/media/MediaOutputSlice.java index 94a4f50fac1..b9d43b465b9 100644 --- a/src/com/android/settings/media/MediaOutputSlice.java +++ b/src/com/android/settings/media/MediaOutputSlice.java @@ -106,10 +106,15 @@ public class MediaOutputSlice implements CustomSliceable { final MediaDevice connectedDevice = worker.getCurrentConnectedMediaDevice(); if (devices.size() == 1) { // Zero state - for (MediaDevice device : devices) { - addRow(device, device, listBuilder); + final MediaDevice device = devices.iterator().next(); + addRow(device, device, listBuilder); + // Add "pair new" only when local output device exists + final int type = device.getDeviceType(); + if (type == MediaDevice.MediaDeviceType.TYPE_PHONE_DEVICE + || type == MediaDevice.MediaDeviceType.TYPE_3POINT5_MM_AUDIO_DEVICE + || type == MediaDevice.MediaDeviceType.TYPE_USB_C_AUDIO_DEVICE) { + listBuilder.addRow(getPairNewRow()); } - listBuilder.addRow(getPairNewRow()); } else { final boolean isTouched = worker.getIsTouched(); // Fix the last top device when user press device to transfer. From 2f32da41baf60673f942d64acc92e234a66601d5 Mon Sep 17 00:00:00 2001 From: timhypeng Date: Wed, 5 Aug 2020 16:13:40 +0800 Subject: [PATCH 2/4] Show all devices, including connected ones, into "Previously connected" page -Add connected devices in "Previously connected" page -Set active when clicking a connected device Bug: 147150246 Test: make -j50 RunSettingsRoboTests Change-Id: I4422cd63c360a4387cedc4f80f34474b42f82a1f (cherry picked from commit 9743fed57d8f1cbfe93027a819176c05f2c7acdb) --- .../bluetooth/SavedBluetoothDeviceUpdater.java | 11 +++++++++-- .../bluetooth/SavedBluetoothDeviceUpdaterTest.java | 9 +++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java index 466d60e1d0b..dab4f231e35 100644 --- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java @@ -24,6 +24,7 @@ import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.settings.connecteddevice.DevicePreferenceCallback; +import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; @@ -42,13 +43,15 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater private static final String PREF_KEY = "saved_bt"; + private final boolean mDisplayConnected; + @VisibleForTesting BluetoothAdapter mBluetoothAdapter; public SavedBluetoothDeviceUpdater(Context context, DashboardFragment fragment, DevicePreferenceCallback devicePreferenceCallback) { super(context, fragment, devicePreferenceCallback); - + mDisplayConnected = (fragment instanceof PreviouslyConnectedDeviceDashboardFragment); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @@ -101,7 +104,8 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater ", is connected : " + device.isConnected() + ", is profile connected : " + cachedDevice.isConnected()); } - return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected(); + return device.getBondState() == BluetoothDevice.BOND_BONDED + && (mDisplayConnected || !device.isConnected()); } @Override @@ -109,6 +113,9 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory()); final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference) .getBluetoothDevice(); + if (device.isConnected()) { + return device.setActive(); + } device.connect(); return true; } diff --git a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java index da117811233..20cc59deca2 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java @@ -144,6 +144,15 @@ public class SavedBluetoothDeviceUpdaterTest { verify(mCachedBluetoothDevice).connect(); } + @Test + public void onClick_Preference_connected_setActive() { + when(mCachedBluetoothDevice.isConnected()).thenReturn(true); + + mBluetoothDeviceUpdater.onPreferenceClick(mPreference); + + verify(mCachedBluetoothDevice).setActive(); + } + @Test public void forceUpdate_findCachedBluetoothDeviceIsMatched_addPreference() { final List bluetoothDevices = new ArrayList<>(); From 30a97a9cc5b760140549fb46cb7f9d4995f2798c Mon Sep 17 00:00:00 2001 From: Hugh Chen Date: Wed, 5 Aug 2020 16:58:41 +0800 Subject: [PATCH 3/4] Display "see all" option when bluetooth is off - This CL before, Bluetooth settings will hide the "see all" option when bluetooth is off. For the UX improvement, this CL will show the "see all" button when bluetooth is off. And turn on the BT when user press "see all" button to let user to quick pair their disconnected devices. - Update and add test case Bug: 147150367 Test: make -j42 RunSettingsRoboTests Change-Id: I7a1451a36a31253b6be2203341bea4e59fed7c2b Merged-In: I7a1451a36a31253b6be2203341bea4e59fed7c2b (cherry picked from commit bde100849ee30627e68ea355834f87bfa108d9fc) --- res/values/strings.xml | 3 + ...ouslyConnectedDeviceDashboardFragment.java | 27 +++++++++ ...lyConnectedDevicePreferenceController.java | 40 +++++++++++-- ...yConnectedDeviceDashboardFragmentTest.java | 57 +++++++++++++++++++ ...nnectedDevicePreferenceControllerTest.java | 35 ++++++++++-- 5 files changed, 153 insertions(+), 9 deletions(-) create mode 100644 tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragmentTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index 1a7e5e5fd47..5085fc1f7f6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12179,4 +12179,7 @@ Allowed apps media + + + Bluetooth will turn on diff --git a/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java index d3f5c28afbe..05a17cc9a9f 100644 --- a/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java +++ b/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java @@ -16,7 +16,11 @@ package com.android.settings.connecteddevice; import android.app.settings.SettingsEnums; +import android.bluetooth.BluetoothAdapter; import android.content.Context; +import android.os.Bundle; + +import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; @@ -32,6 +36,9 @@ public class PreviouslyConnectedDeviceDashboardFragment extends DashboardFragmen private static final String TAG = "PreConnectedDeviceFrag"; static final String KEY_PREVIOUSLY_CONNECTED_DEVICES = "saved_device_list"; + @VisibleForTesting + BluetoothAdapter mBluetoothAdapter; + @Override public int getHelpResource() { return R.string.help_url_previously_connected_devices; @@ -52,12 +59,32 @@ public class PreviouslyConnectedDeviceDashboardFragment extends DashboardFragmen return SettingsEnums.PREVIOUSLY_CONNECTED_DEVICES; } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + } + @Override public void onAttach(Context context) { super.onAttach(context); use(SavedDeviceGroupController.class).init(this); } + @Override + public void onStart() { + super.onStart(); + enableBluetoothIfNecessary(); + } + + @VisibleForTesting + void enableBluetoothIfNecessary() { + if (mBluetoothAdapter != null && !mBluetoothAdapter.isEnabled()) { + mBluetoothAdapter.enable(); + } + } + /** * For Search. */ diff --git a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java index 5b23d69cf91..3d4dd29d38f 100644 --- a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java +++ b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java @@ -15,7 +15,11 @@ */ package com.android.settings.connecteddevice; +import android.bluetooth.BluetoothAdapter; +import android.content.BroadcastReceiver; import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.content.pm.PackageManager; import androidx.annotation.VisibleForTesting; @@ -23,6 +27,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; +import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater; import com.android.settings.connecteddevice.dock.DockUpdater; @@ -37,17 +42,34 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { private static final int MAX_DEVICE_NUM = 3; + private static final String KEY_SEE_ALL = "previously_connected_devices_see_all"; private PreferenceGroup mPreferenceGroup; private BluetoothDeviceUpdater mBluetoothDeviceUpdater; private DockUpdater mSavedDockUpdater; private int mPreferenceSize; + private BluetoothAdapter mBluetoothAdapter; + + @VisibleForTesting + Preference mSeeAllPreference; + @VisibleForTesting + IntentFilter mIntentFilter; + + @VisibleForTesting + BroadcastReceiver mReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + updatePreferenceVisibility(); + } + }; public PreviouslyConnectedDevicePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mSavedDockUpdater = FeatureFactory.getFactory( context).getDockUpdaterFeatureProvider().getSavedDockUpdater(context, this); + mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); + mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @Override @@ -62,7 +84,8 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreferenceGroup = screen.findPreference(getPreferenceKey()); - mPreferenceGroup.setVisible(false); + mSeeAllPreference = mPreferenceGroup.findPreference(KEY_SEE_ALL); + updatePreferenceVisibility(); if (isAvailable()) { final Context context = screen.getContext(); @@ -75,12 +98,14 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void onStart() { mBluetoothDeviceUpdater.registerCallback(); mSavedDockUpdater.registerCallback(); + mContext.registerReceiver(mReceiver, mIntentFilter); } @Override public void onStop() { mBluetoothDeviceUpdater.unregisterCallback(); mSavedDockUpdater.unregisterCallback(); + mContext.unregisterReceiver(mReceiver); } public void init(DashboardFragment fragment) { @@ -94,14 +119,14 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc if (mPreferenceSize <= MAX_DEVICE_NUM) { mPreferenceGroup.addPreference(preference); } - updatePreferenceVisiblity(); + updatePreferenceVisibility(); } @Override public void onDeviceRemoved(Preference preference) { mPreferenceSize--; mPreferenceGroup.removePreference(preference); - updatePreferenceVisiblity(); + updatePreferenceVisibility(); } @VisibleForTesting @@ -120,7 +145,12 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc } @VisibleForTesting - void updatePreferenceVisiblity() { - mPreferenceGroup.setVisible(mPreferenceSize > 0); + void updatePreferenceVisibility() { + if (mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()) { + mSeeAllPreference.setSummary(""); + } else { + mSeeAllPreference.setSummary( + mContext.getString(R.string.connected_device_see_all_summary)); + } } } diff --git a/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragmentTest.java new file mode 100644 index 00000000000..62610157278 --- /dev/null +++ b/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragmentTest.java @@ -0,0 +1,57 @@ +/* + * Copyright 2020 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. + */ +package com.android.settings.connecteddevice; + +import static com.google.common.truth.Truth.assertThat; + +import android.bluetooth.BluetoothAdapter; + +import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.MockitoAnnotations; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; +import org.robolectric.shadow.api.Shadow; + +@RunWith(RobolectricTestRunner.class) +@Config(shadows = ShadowBluetoothAdapter.class) +public class PreviouslyConnectedDeviceDashboardFragmentTest { + + private ShadowBluetoothAdapter mShadowBluetoothAdapter; + private PreviouslyConnectedDeviceDashboardFragment mFragment; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + + mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter()); + mFragment = new PreviouslyConnectedDeviceDashboardFragment(); + mFragment.mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + } + + @Test + public void onStart_bluetoothIsDisable_enableBluetooth() { + mShadowBluetoothAdapter.setEnabled(false); + + assertThat(mFragment.mBluetoothAdapter.isEnabled()).isFalse(); + mFragment.enableBluetoothIfNecessary(); + + assertThat(mFragment.mBluetoothAdapter.isEnabled()).isTrue(); + } +} diff --git a/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java index 90cbea9e5f1..e8b88f50389 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; +import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.content.pm.PackageManager; @@ -32,9 +33,11 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceManager; +import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.connecteddevice.dock.DockUpdater; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import org.junit.Before; import org.junit.Test; @@ -43,8 +46,11 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; +import org.robolectric.annotation.Config; +import org.robolectric.shadow.api.Shadow; @RunWith(RobolectricTestRunner.class) +@Config(shadows = ShadowBluetoothAdapter.class) public class PreviouslyConnectedDevicePreferenceControllerTest { private final String KEY = "test_key"; @@ -59,10 +65,13 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { private PackageManager mPackageManager; @Mock private PreferenceManager mPreferenceManager; + @Mock + private Preference mSeeAllPreference; private Context mContext; private PreviouslyConnectedDevicePreferenceController mPreConnectedDeviceController; private PreferenceGroup mPreferenceGroup; + private ShadowBluetoothAdapter mShadowBluetoothAdapter; @Before public void setUp() { @@ -74,11 +83,13 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { new PreviouslyConnectedDevicePreferenceController(mContext, KEY); mPreConnectedDeviceController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater); mPreConnectedDeviceController.setSavedDockUpdater(mDockUpdater); + mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter()); mPreferenceGroup = spy(new PreferenceCategory(mContext)); doReturn(mPreferenceManager).when(mPreferenceGroup).getPreferenceManager(); mPreferenceGroup.setVisible(false); mPreConnectedDeviceController.setPreferenceGroup(mPreferenceGroup); + mPreConnectedDeviceController.mSeeAllPreference = mSeeAllPreference; } @Test @@ -87,11 +98,14 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { mPreConnectedDeviceController.onStart(); verify(mBluetoothDeviceUpdater).registerCallback(); verify(mDockUpdater).registerCallback(); + verify(mContext).registerReceiver(mPreConnectedDeviceController.mReceiver, + mPreConnectedDeviceController.mIntentFilter); // unregister the callback in onStop() mPreConnectedDeviceController.onStop(); verify(mBluetoothDeviceUpdater).unregisterCallback(); verify(mDockUpdater).unregisterCallback(); + verify(mContext).unregisterReceiver(mPreConnectedDeviceController.mReceiver); } @Test @@ -124,7 +138,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { public void onDeviceAdded_addDevicePreference_displayIt() { mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); - assertThat(mPreferenceGroup.isVisible()).isTrue(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(1); } @@ -135,7 +148,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); mPreConnectedDeviceController.onDeviceAdded(new Preference(mContext)); - assertThat(mPreferenceGroup.isVisible()).isTrue(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(3); } @@ -143,11 +155,26 @@ public class PreviouslyConnectedDevicePreferenceControllerTest { public void onDeviceRemoved_removeLastDevice_setInvisible() { final Preference preference = new Preference(mContext); mPreferenceGroup.addPreference(preference); - mPreferenceGroup.setVisible(true); mPreConnectedDeviceController.onDeviceRemoved(preference); - assertThat(mPreferenceGroup.isVisible()).isFalse(); assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(0); } + + @Test + public void updatePreferenceVisibility_bluetoothIsEnable_shouldShowCorrectText() { + mShadowBluetoothAdapter.setEnabled(true); + mPreConnectedDeviceController.updatePreferenceVisibility(); + + verify(mSeeAllPreference).setSummary(""); + } + + @Test + public void updatePreferenceVisibility_bluetoothIsDisable_shouldShowCorrectText() { + mShadowBluetoothAdapter.setEnabled(false); + mPreConnectedDeviceController.updatePreferenceVisibility(); + + verify(mSeeAllPreference).setSummary( + mContext.getString(R.string.connected_device_see_all_summary)); + } } From d785fbab68342e8ed8b47a8688a2232b3553bc53 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Tue, 15 Sep 2020 01:03:13 +0800 Subject: [PATCH 4/4] [DO NOT MERGE][Wi-Fi] Fix fatal exception in WifiConnectionPreferenceController WifiConnectionPreferenceController only shows when there are 2 SIMs, it shows the connected Wi-Fi network. WifiConnectionPreferenceController does not use WifiPickerTracker to get a WifiEntry key. It should not launch WifiNetworkDetailsFragment2 which uses a WifiEntry key to find a WifiEntry. Bug: 168280554 Test: manual 1. Make MultiNetworkHeaderController available. 2. Settings -> Network & internet -> click connected Wi-Fi 3. See Wi-Fi Details Change-Id: I2acea3564d2d89fe8e120064b33ef342c97edb60 --- .../WifiConnectionPreferenceController.java | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java index 12a6d143656..126a72e2c19 100644 --- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java +++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java @@ -18,7 +18,6 @@ package com.android.settings.wifi; import android.content.Context; import android.os.Bundle; -import android.util.FeatureFlagUtils; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; @@ -26,7 +25,6 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.wifi.details.WifiNetworkDetailsFragment; -import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.wifi.AccessPoint; @@ -131,31 +129,17 @@ public class WifiConnectionPreferenceController extends AbstractPreferenceContro mPreference.refresh(); mPreference.setOrder(order); - if (FeatureFlagUtils.isEnabled(mPrefContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) { - mPreference.setOnPreferenceClickListener(pref -> { - Bundle args = new Bundle(); - mPreference.getAccessPoint().saveWifiState(args); - new SubSettingLauncher(mPrefContext) - .setTitleRes(R.string.pref_title_network_details) - .setDestination(WifiNetworkDetailsFragment2.class.getName()) - .setArguments(args) - .setSourceMetricsCategory(mMetricsCategory) - .launch(); - return true; - }); - } else { - mPreference.setOnPreferenceClickListener(pref -> { - Bundle args = new Bundle(); - mPreference.getAccessPoint().saveWifiState(args); - new SubSettingLauncher(mPrefContext) - .setTitleRes(R.string.pref_title_network_details) - .setDestination(WifiNetworkDetailsFragment.class.getName()) - .setArguments(args) - .setSourceMetricsCategory(mMetricsCategory) - .launch(); - return true; - }); - } + mPreference.setOnPreferenceClickListener(pref -> { + Bundle args = new Bundle(); + mPreference.getAccessPoint().saveWifiState(args); + new SubSettingLauncher(mPrefContext) + .setTitleRes(R.string.pref_title_network_details) + .setDestination(WifiNetworkDetailsFragment.class.getName()) + .setArguments(args) + .setSourceMetricsCategory(mMetricsCategory) + .launch(); + return true; + }); mPreferenceGroup.addPreference(mPreference); } }