Search in sources :

Example 66 with AccessPoint

use of com.android.settingslib.wifi.AccessPoint in project android_packages_apps_Settings by omnirom.

the class WifiSettingsUiTest method setupConnectedAccessPoint.

private void setupConnectedAccessPoint() {
    WifiConfiguration config = new WifiConfiguration();
    config.SSID = TEST_SSID;
    config.BSSID = TEST_BSSID;
    config.networkId = TEST_NETWORK_ID;
    WifiInfo wifiInfo = new WifiInfo();
    wifiInfo.setSSID(WifiSsid.createFromAsciiEncoded(TEST_UNQUOTED_SSID));
    wifiInfo.setBSSID(TEST_BSSID);
    wifiInfo.setRssi(TEST_RSSI);
    wifiInfo.setNetworkId(TEST_NETWORK_ID);
    NetworkInfo networkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, null, null);
    networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, null, null);
    AccessPoint accessPoint = new AccessPoint(mContext, config);
    accessPoint.update(config, wifiInfo, networkInfo);
    assertThat(accessPoint.getSsidStr()).isEqualTo(TEST_UNQUOTED_SSID);
    assertThat(accessPoint.getBssid()).isEqualTo(TEST_BSSID);
    assertThat(accessPoint.getNetworkInfo()).isNotNull();
    assertThat(accessPoint.isActive()).isTrue();
    assertThat(accessPoint.getSettingsSummary()).isEqualTo(resourceString(WIFI_DISPLAY_STATUS_CONNECTED));
    when(mWifiTracker.getAccessPoints()).thenReturn(Lists.asList(accessPoint, new AccessPoint[] {}));
}
Also used : WifiConfiguration(android.net.wifi.WifiConfiguration) NetworkInfo(android.net.NetworkInfo) AccessPoint(com.android.settingslib.wifi.AccessPoint) WifiInfo(android.net.wifi.WifiInfo)

Example 67 with AccessPoint

use of com.android.settingslib.wifi.AccessPoint in project android_packages_apps_Settings by omnirom.

the class WifiSettings method configureConnectedAccessPointPreferenceCategory.

/**
 * Configure the ConnectedAccessPointPreferenceCategory and return true if the Category was
 * shown.
 */
private boolean configureConnectedAccessPointPreferenceCategory(List<AccessPoint> accessPoints) {
    if (accessPoints.size() == 0) {
        removeConnectedAccessPointPreference();
        return false;
    }
    AccessPoint connectedAp = accessPoints.get(0);
    if (!connectedAp.isActive()) {
        removeConnectedAccessPointPreference();
        return false;
    }
    // Is the preference category empty?
    if (mConnectedAccessPointPreferenceCategory.getPreferenceCount() == 0) {
        addConnectedAccessPointPreference(connectedAp);
        return true;
    }
    // Is the previous currently connected SSID different from the new one?
    AccessPointPreference preference = (AccessPointPreference) (mConnectedAccessPointPreferenceCategory.getPreference(0));
    // in the UI.
    if (preference.getAccessPoint() != connectedAp) {
        removeConnectedAccessPointPreference();
        addConnectedAccessPointPreference(connectedAp);
        return true;
    }
    // Else same AP is connected, simply refresh the connected access point preference
    // (first and only access point in this category).
    ((LongPressAccessPointPreference) mConnectedAccessPointPreferenceCategory.getPreference(0)).refresh();
    return true;
}
Also used : AccessPointPreference(com.android.settingslib.wifi.AccessPointPreference) AccessPoint(com.android.settingslib.wifi.AccessPoint)

Example 68 with AccessPoint

use of com.android.settingslib.wifi.AccessPoint in project android_packages_apps_Settings by omnirom.

the class SavedAccessPointsWifiSettings method onCreateDialog.

@Override
public Dialog onCreateDialog(int dialogId) {
    switch(dialogId) {
        case WifiSettings.WIFI_DIALOG_ID:
            if (mDlgAccessPoint == null && mAccessPointSavedState == null) {
                // Add new network
                mDialog = WifiDialog.createFullscreen(getActivity(), this, null, WifiConfigUiBase.MODE_CONNECT);
            } else {
                // Modify network
                if (mDlgAccessPoint == null) {
                    // Restore AP from save state
                    mDlgAccessPoint = new AccessPoint(getActivity(), mAccessPointSavedState);
                    // Reset the saved access point data
                    mAccessPointSavedState = null;
                }
                mDialog = WifiDialog.createModal(getActivity(), this, mDlgAccessPoint, WifiConfigUiBase.MODE_VIEW);
            }
            mSelectedAccessPoint = mDlgAccessPoint;
            return mDialog;
    }
    return super.onCreateDialog(dialogId);
}
Also used : AccessPoint(com.android.settingslib.wifi.AccessPoint)

Example 69 with AccessPoint

use of com.android.settingslib.wifi.AccessPoint in project android_packages_apps_Settings by omnirom.

the class SavedAccessPointsWifiSettings method initPreferences.

private void initPreferences() {
    PreferenceScreen preferenceScreen = getPreferenceScreen();
    final Context context = getPrefContext();
    final List<AccessPoint> accessPoints = WifiSavedConfigUtils.getAllConfigs(context, mWifiManager);
    Collections.sort(accessPoints, SAVED_NETWORK_COMPARATOR);
    cacheRemoveAllPrefs(preferenceScreen);
    final int accessPointsSize = accessPoints.size();
    for (int i = 0; i < accessPointsSize; ++i) {
        AccessPoint ap = accessPoints.get(i);
        String key = AccessPointPreference.generatePreferenceKey(ap);
        LongPressAccessPointPreference preference = (LongPressAccessPointPreference) getCachedPreference(key);
        if (preference == null) {
            preference = new LongPressAccessPointPreference(ap, context, mUserBadgeCache, true, this);
            preference.setKey(key);
            preference.setIcon(null);
            preferenceScreen.addPreference(preference);
        }
        preference.setOrder(i);
    }
    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) {
        Log.w(TAG, "Saved networks activity loaded, but there are no saved networks!");
    }
}
Also used : Context(android.content.Context) PreferenceScreen(android.support.v7.preference.PreferenceScreen) AccessPointPreference(com.android.settingslib.wifi.AccessPointPreference) Preference(android.support.v7.preference.Preference) AccessPoint(com.android.settingslib.wifi.AccessPoint) AccessPoint(com.android.settingslib.wifi.AccessPoint)

Example 70 with AccessPoint

use of com.android.settingslib.wifi.AccessPoint in project android_packages_apps_Settings by omnirom.

the class WifiDialogActivity method onForget.

@Override
public void onForget(WifiDialog dialog) {
    final WifiManager wifiManager = getSystemService(WifiManager.class);
    final AccessPoint accessPoint = dialog.getController().getAccessPoint();
    if (accessPoint != null) {
        if (!accessPoint.isSaved()) {
            if (accessPoint.getNetworkInfo() != null && accessPoint.getNetworkInfo().getState() != NetworkInfo.State.DISCONNECTED) {
                // Network is active but has no network ID - must be ephemeral.
                wifiManager.disableEphemeralNetwork(AccessPoint.convertToQuotedString(accessPoint.getSsidStr()));
            } else {
                // Should not happen, but a monkey seems to trigger it
                Log.e(TAG, "Failed to forget invalid network " + accessPoint.getConfig());
            }
        } else {
            wifiManager.forget(accessPoint.getConfig().networkId, null);
        }
    }
    Intent resultData = new Intent();
    if (accessPoint != null) {
        Bundle accessPointState = new Bundle();
        accessPoint.saveWifiState(accessPointState);
        resultData.putExtra(KEY_ACCESS_POINT_STATE, accessPointState);
    }
    setResult(RESULT_FORGET);
    finish();
}
Also used : WifiManager(android.net.wifi.WifiManager) Bundle(android.os.Bundle) AccessPoint(com.android.settingslib.wifi.AccessPoint) Intent(android.content.Intent)

Aggregations

AccessPoint (com.android.settingslib.wifi.AccessPoint)130 WifiConfiguration (android.net.wifi.WifiConfiguration)36 Bundle (android.os.Bundle)29 AccessPointPreference (com.android.settingslib.wifi.AccessPointPreference)27 Test (org.junit.Test)26 Intent (android.content.Intent)22 NetworkInfo (android.net.NetworkInfo)18 WifiManager (android.net.wifi.WifiManager)18 WifiInfo (android.net.wifi.WifiInfo)16 Context (android.content.Context)13 Preference (android.support.v7.preference.Preference)13 PreferenceScreen (android.support.v7.preference.PreferenceScreen)7 TestAccessPointBuilder (com.android.settingslib.wifi.TestAccessPointBuilder)7 ArrayList (java.util.ArrayList)5 SubSettingLauncher (com.android.settings.core.SubSettingLauncher)4 View (android.view.View)3 VisibleForTesting (androidx.annotation.VisibleForTesting)3 ScanResult (android.net.wifi.ScanResult)2 Spinner (android.widget.Spinner)2 AlertDialog (androidx.appcompat.app.AlertDialog)2