Hide edit menu if network is uneditable

- Screenshot:
  https://screenshot.googleplex.com/3BhZRBrmQXjeaGL

Bug: 161896161
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test

Change-Id: I47ea2cf19e178eff48f23e56903d0daa4ef8fa28
This commit is contained in:
Weng Su
2021-03-18 17:35:25 +08:00
parent a922c902f6
commit b7dbd3a911
2 changed files with 46 additions and 8 deletions

View File

@@ -75,7 +75,8 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
// Interval between initiating SavedNetworkTracker scans
private static final long SCAN_INTERVAL_MILLIS = 10_000;
private NetworkDetailsTracker mNetworkDetailsTracker;
@VisibleForTesting
NetworkDetailsTracker mNetworkDetailsTracker;
private HandlerThread mWorkerThread;
private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
@@ -125,9 +126,11 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuItem item = menu.add(0, Menu.FIRST, 0, R.string.wifi_modify);
item.setIcon(com.android.internal.R.drawable.ic_mode_edit);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
if (isEditable()) {
MenuItem item = menu.add(0, Menu.FIRST, 0, R.string.wifi_modify);
item.setIcon(com.android.internal.R.drawable.ic_mode_edit);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
super.onCreateOptionsMenu(menu, inflater);
}
@@ -252,6 +255,17 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
}
private boolean isEditable() {
if (mNetworkDetailsTracker == null) {
return false;
}
final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
if (wifiEntry == null) {
return false;
}
return wifiEntry.isSaved();
}
/**
* API call for refreshing the preferences in this fragment.
*/