Merge "[Wi-Fi] Launch WifiNetworkDetailsFragment2 for a connected Wi-Fi network"
This commit is contained in:
@@ -68,7 +68,6 @@ import com.android.settings.location.ScanningSettings;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SwitchBarController;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
@@ -952,21 +951,12 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
? accessPoint.getTitle()
|
||||
: context.getText(R.string.pref_title_network_details);
|
||||
|
||||
if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setArguments(pref.getExtras())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
} else {
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(pref.getExtras())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(pref.getExtras())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
private Network getCurrentWifiNetwork() {
|
||||
|
@@ -38,6 +38,7 @@ import android.os.Process;
|
||||
import android.os.SimpleClock;
|
||||
import android.os.SystemClock;
|
||||
import android.provider.Settings;
|
||||
import android.util.FeatureFlagUtils;
|
||||
import android.util.Log;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
@@ -55,12 +56,14 @@ import com.android.settings.LinkifyUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.RestrictedSettingsFragment;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.datausage.DataUsagePreference;
|
||||
import com.android.settings.datausage.DataUsageUtils;
|
||||
import com.android.settings.location.ScanningSettings;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SwitchBarController;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settingslib.search.Indexable;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
import com.android.settingslib.search.SearchIndexableRaw;
|
||||
@@ -509,6 +512,14 @@ public class WifiSettings2 extends RestrictedSettingsFragment
|
||||
pref.setKey(connectedEntry.getKey());
|
||||
pref.refresh();
|
||||
mConnectedWifiEntryPreferenceCategory.addPreference(pref);
|
||||
pref.setOnPreferenceClickListener(preference -> {
|
||||
if (connectedEntry.canSignIn()) {
|
||||
connectedEntry.signIn();
|
||||
} else {
|
||||
launchNetworkDetailsFragment(pref);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
} else {
|
||||
mConnectedWifiEntryPreferenceCategory.removeAll();
|
||||
@@ -554,6 +565,25 @@ public class WifiSettings2 extends RestrictedSettingsFragment
|
||||
setAdditionalSettingsSummaries();
|
||||
}
|
||||
|
||||
private void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) {
|
||||
final WifiEntry wifiEntry = pref.getWifiEntry();
|
||||
final Context context = getContext();
|
||||
final CharSequence title =
|
||||
FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER)
|
||||
? wifiEntry.getTitle()
|
||||
: context.getText(R.string.pref_title_network_details);
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
|
||||
|
||||
new SubSettingLauncher(context)
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setArguments(bundle)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
private LongPressWifiEntryPreference createLongPressWifiEntryPreference(WifiEntry wifiEntry) {
|
||||
return new LongPressWifiEntryPreference(getPrefContext(), wifiEntry, this);
|
||||
}
|
||||
|
@@ -79,6 +79,7 @@ import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback;
|
||||
import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback.ConnectStatus;
|
||||
import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback.DisconnectStatus;
|
||||
import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback.ForgetStatus;
|
||||
import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback.SignInStatus;
|
||||
|
||||
import java.net.Inet4Address;
|
||||
import java.net.Inet6Address;
|
||||
|
@@ -36,7 +36,6 @@ import android.view.MenuItem;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.wifi.WifiDialog;
|
||||
import com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
@@ -59,6 +58,9 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
|
||||
private static final String TAG = "WifiNetworkDetailsFrg2";
|
||||
|
||||
// Key of a Bundle to save/restore the selected WifiEntry
|
||||
public static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key";
|
||||
|
||||
// Max age of tracked WifiEntries
|
||||
private static final long MAX_SCAN_AGE_MILLIS = 15_000;
|
||||
// Interval between initiating SavedNetworkTracker scans
|
||||
@@ -209,6 +211,6 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
getArguments().getString(SavedAccessPointsWifiSettings2.KEY_KEY));
|
||||
getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
}
|
||||
}
|
||||
|
@@ -52,9 +52,6 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment
|
||||
|
||||
private static final String TAG = "SavedAccessPoints2";
|
||||
|
||||
// Key of a Bundle to save/restore the selected WifiEntry
|
||||
public static final String KEY_KEY = "key_key";
|
||||
|
||||
// Max age of tracked WifiEntries
|
||||
private static final long MAX_SCAN_AGE_MILLIS = 15_000;
|
||||
// Interval between initiating SavedNetworkTracker scans
|
||||
@@ -139,7 +136,7 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment
|
||||
}
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(KEY_KEY, key);
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, key);
|
||||
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(title)
|
||||
|
Reference in New Issue
Block a user