Clean up saved network screen

Bug: 64806699
Test: rebuild
Change-Id: I4392809f08034c7c13575db2f5c41468fcea0987
This commit is contained in:
Fan Zhang
2018-07-18 14:31:44 -07:00
parent cc65fbba9d
commit 661049f4d9
10 changed files with 26 additions and 71 deletions

View File

@@ -307,7 +307,7 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS" <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.wifi.SavedAccessPointsWifiSettings" /> android:value="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" /> android:value="true" />
</activity> </activity>

View File

@@ -1,29 +0,0 @@
<!--
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.
-->
<inset
xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="5dp">
<vector
android:width="24.0dp"
android:height="24.0dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#FF000000"
android:pathData="M19.0,13.0l-6.0,0.0l0.0,6.0l-2.0,0.0l0.0,-6.0L5.0,13.0l0.0,-2.0l6.0,0.0L11.0,5.0l2.0,0.0l0.0,6.0l6.0,0.0l0.0,2.0z"/>
</vector>
</inset>

View File

@@ -39,6 +39,6 @@
<Preference <Preference
android:key="saved_networks" android:key="saved_networks"
android:title="@string/wifi_saved_access_points_label" android:title="@string/wifi_saved_access_points_label"
android:fragment="com.android.settings.wifi.SavedAccessPointsWifiSettings" /> android:fragment="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings" />
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen> </PreferenceScreen>

View File

@@ -38,7 +38,6 @@ import com.android.settings.applications.DirectoryAccessDetails;
import com.android.settings.applications.ProcessStatsSummary; import com.android.settings.applications.ProcessStatsSummary;
import com.android.settings.applications.ProcessStatsUi; import com.android.settings.applications.ProcessStatsUi;
import com.android.settings.applications.UsageAccessDetails; import com.android.settings.applications.UsageAccessDetails;
import com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings;
import com.android.settings.applications.appinfo.AppInfoDashboardFragment; import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
import com.android.settings.applications.appinfo.DrawOverlayDetails; import com.android.settings.applications.appinfo.DrawOverlayDetails;
import com.android.settings.applications.appinfo.ExternalSourcesDetails; import com.android.settings.applications.appinfo.ExternalSourcesDetails;
@@ -50,6 +49,7 @@ import com.android.settings.applications.managedomainurls.ManageDomainUrls;
import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings; import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings;
import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails; import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails;
import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings; import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings;
import com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings;
import com.android.settings.backup.PrivacySettings; import com.android.settings.backup.PrivacySettings;
import com.android.settings.backup.ToggleBackupSettingFragment; import com.android.settings.backup.ToggleBackupSettingFragment;
import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment; import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
@@ -127,12 +127,12 @@ import com.android.settings.wallpaper.WallpaperTypeSettings;
import com.android.settings.webview.WebViewAppPicker; import com.android.settings.webview.WebViewAppPicker;
import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.wfd.WifiDisplaySettings;
import com.android.settings.wifi.ConfigureWifiSettings; import com.android.settings.wifi.ConfigureWifiSettings;
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
import com.android.settings.wifi.WifiAPITest; import com.android.settings.wifi.WifiAPITest;
import com.android.settings.wifi.WifiInfo; import com.android.settings.wifi.WifiInfo;
import com.android.settings.wifi.WifiSettings; import com.android.settings.wifi.WifiSettings;
import com.android.settings.wifi.calling.WifiCallingSettings; import com.android.settings.wifi.calling.WifiCallingSettings;
import com.android.settings.wifi.p2p.WifiP2pSettings; import com.android.settings.wifi.p2p.WifiP2pSettings;
import com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings;
import com.android.settings.wifi.tether.WifiTetherSettings; import com.android.settings.wifi.tether.WifiTetherSettings;
public class SettingsGateway { public class SettingsGateway {

View File

@@ -27,12 +27,6 @@ public class LongPressAccessPointPreference extends AccessPointPreference {
private final Fragment mFragment; private final Fragment mFragment;
public LongPressAccessPointPreference(AccessPoint accessPoint, Context context,
UserBadgeCache cache, boolean forSavedNetworks, Fragment fragment) {
super(accessPoint, context, cache, forSavedNetworks);
mFragment = fragment;
}
public LongPressAccessPointPreference(AccessPoint accessPoint, Context context, public LongPressAccessPointPreference(AccessPoint accessPoint, Context context,
UserBadgeCache cache, boolean forSavedNetworks, int iconResId, Fragment fragment) { UserBadgeCache cache, boolean forSavedNetworks, int iconResId, Fragment fragment) {
super(accessPoint, context, cache, iconResId, forSavedNetworks); super(accessPoint, context, cache, iconResId, forSavedNetworks);

View File

@@ -21,6 +21,7 @@ import com.android.settings.ButtonBarHandler;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.wifi.p2p.WifiP2pSettings; import com.android.settings.wifi.p2p.WifiP2pSettings;
import com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings;
import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceFragmentCompat;

View File

@@ -231,7 +231,7 @@ public class WifiSettings extends RestrictedSettingsFragment
Context prefContext = getPrefContext(); Context prefContext = getPrefContext();
mAddPreference = new Preference(prefContext); mAddPreference = new Preference(prefContext);
mAddPreference.setIcon(R.drawable.ic_menu_add_inset); mAddPreference.setIcon(R.drawable.ic_menu_add);
mAddPreference.setTitle(R.string.wifi_add_network); mAddPreference.setTitle(R.string.wifi_add_network);
mStatusMessagePreference = new LinkablePreference(prefContext); mStatusMessagePreference = new LinkablePreference(prefContext);

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.settings.wifi; package com.android.settings.wifi.savedaccesspoints;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.app.Activity; import android.app.Activity;
@@ -26,30 +26,29 @@ import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.Indexable; import com.android.settings.wifi.WifiConfigUiBase;
import com.android.settings.wifi.WifiDialog;
import com.android.settings.wifi.WifiSettings;
import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.AccessPointPreference;
import com.android.settingslib.wifi.WifiSavedConfigUtils; import com.android.settingslib.wifi.WifiSavedConfigUtils;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
/** /**
* UI to manage saved networks/access points. * UI to manage saved networks/access points.
* TODO(b/64806699): convert to {@link DashboardFragment} with {@link PreferenceController}s * TODO(b/64806699): convert to {@link DashboardFragment} with {@link PreferenceController}s
*/ */
public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
implements Indexable, WifiDialog.WifiDialogListener { implements WifiDialog.WifiDialogListener {
private static final String TAG = "SavedAccessPoints"; private static final String TAG = "SavedAccessPoints";
@VisibleForTesting @VisibleForTesting
static final int MSG_UPDATE_PREFERENCES = 1; static final int MSG_UPDATE_PREFERENCES = 1;
@@ -111,7 +110,6 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
private AccessPoint mDlgAccessPoint; private AccessPoint mDlgAccessPoint;
private Bundle mAccessPointSavedState; private Bundle mAccessPointSavedState;
private AccessPoint mSelectedAccessPoint; private AccessPoint mSelectedAccessPoint;
private Preference mAddNetworkPreference;
private AccessPointPreference.UserBadgeCache mUserBadgeCache; private AccessPointPreference.UserBadgeCache mUserBadgeCache;
@@ -139,7 +137,8 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
@Override @Override
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); mWifiManager = (WifiManager) getContext()
.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
if (savedInstanceState != null) { if (savedInstanceState != null) {
if (savedInstanceState.containsKey(SAVE_DIALOG_ACCESS_POINT_STATE)) { if (savedInstanceState.containsKey(SAVE_DIALOG_ACCESS_POINT_STATE)) {
@@ -162,11 +161,10 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
for (int i = 0; i < accessPointsSize; ++i) { for (int i = 0; i < accessPointsSize; ++i) {
AccessPoint ap = accessPoints.get(i); AccessPoint ap = accessPoints.get(i);
String key = ap.getKey(); String key = ap.getKey();
LongPressAccessPointPreference preference = AccessPointPreference preference =
(LongPressAccessPointPreference) getCachedPreference(key); (AccessPointPreference) getCachedPreference(key);
if (preference == null) { if (preference == null) {
preference = new LongPressAccessPointPreference( preference = new AccessPointPreference(ap, context, mUserBadgeCache, true);
ap, context, mUserBadgeCache, true, this);
preference.setKey(key); preference.setKey(key);
preference.setIcon(null); preference.setIcon(null);
preferenceScreen.addPreference(preference); preferenceScreen.addPreference(preference);
@@ -176,14 +174,6 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
removeCachedPrefs(preferenceScreen); removeCachedPrefs(preferenceScreen);
if (mAddNetworkPreference == null) {
mAddNetworkPreference = new Preference(getPrefContext());
mAddNetworkPreference.setIcon(R.drawable.ic_menu_add_inset);
mAddNetworkPreference.setTitle(R.string.wifi_add_network);
}
mAddNetworkPreference.setOrder(accessPointsSize);
preferenceScreen.addPreference(mAddNetworkPreference);
if(getPreferenceScreen().getPreferenceCount() < 1) { if(getPreferenceScreen().getPreferenceCount() < 1) {
Log.w(TAG, "Saved networks activity loaded, but there are no saved networks!"); Log.w(TAG, "Saved networks activity loaded, but there are no saved networks!");
} }
@@ -195,7 +185,7 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
} }
} }
private void showWifiDialog(@Nullable LongPressAccessPointPreference accessPoint) { private void showWifiDialog(@Nullable AccessPointPreference accessPoint) {
if (mDialog != null) { if (mDialog != null) {
removeDialog(WifiSettings.WIFI_DIALOG_ID); removeDialog(WifiSettings.WIFI_DIALOG_ID);
mDialog = null; mDialog = null;
@@ -290,11 +280,8 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
@Override @Override
public boolean onPreferenceTreeClick(Preference preference) { public boolean onPreferenceTreeClick(Preference preference) {
if (preference instanceof LongPressAccessPointPreference) { if (preference instanceof AccessPointPreference) {
showWifiDialog((LongPressAccessPointPreference) preference); showWifiDialog((AccessPointPreference) preference);
return true;
} else if (preference == mAddNetworkPreference) {
showWifiDialog(null);
return true; return true;
} else { } else {
return super.onPreferenceTreeClick(preference); return super.onPreferenceTreeClick(preference);

View File

@@ -73,5 +73,5 @@ com.android.settings.wifi.calling.WifiCallingSettingsForSub
com.android.settings.wifi.ChangeWifiStateDetails com.android.settings.wifi.ChangeWifiStateDetails
com.android.settings.wifi.details.WifiNetworkDetailsFragment com.android.settings.wifi.details.WifiNetworkDetailsFragment
com.android.settings.wifi.p2p.WifiP2pSettings com.android.settings.wifi.p2p.WifiP2pSettings
com.android.settings.wifi.SavedAccessPointsWifiSettings com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings
com.android.settings.wifi.WifiInfo com.android.settings.wifi.WifiInfo

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.settings.wifi; package com.android.settings.wifi.savedaccesspoints;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
@@ -28,6 +28,8 @@ import android.net.wifi.WifiManager.ActionListener;
import android.os.Handler; import android.os.Handler;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wifi.WifiConfigController;
import com.android.settings.wifi.WifiDialog;
import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint;
import org.junit.Before; import org.junit.Before;