1 package de.dhbwloe.campusapp.fragments;
4 import android.annotation.TargetApi;
5 import android.net.wifi.WifiConfiguration;
6 import android.net.wifi.WifiEnterpriseConfig;
7 import android.net.wifi.WifiManager;
8 import android.os.Build;
9 import android.os.Bundle;
10 import android.support.v4.app.Fragment;
11 import android.view.LayoutInflater;
12 import android.view.View;
13 import android.view.ViewGroup;
14 import android.widget.Button;
15 import android.widget.EditText;
17 import java.lang.reflect.Field;
19 import de.dhbwloe.campusapp.CampusAppFragment;
20 import de.dhbwloe.campusapp.R;
21 import de.dhbwloe.campusapp.search.SearchIndices;
24 * A simple {@link Fragment} subclass.
26 public class WifiSettings extends CampusAppFragment {
27 /* implement this for search results ;) */
28 public static SearchIndices[] GetSearchIndices() {
29 return new SearchIndices[] {
30 new SearchIndices("WifiSettings", true) {{
32 setTarget("#WifiSettings");
33 setTitle("Wifi Settings");
34 setDescription("WLAN Konfiguration für dieses Gerät");
35 addKeyWord("wlan, secure, dhbw-secure, wifi, w-lan, wireless, internet, netzwerk");
43 public View onCreateView(LayoutInflater inflater, ViewGroup container,
44 Bundle savedInstanceState) {
45 view = inflater.inflate(R.layout.fragment_wifi_settings, container, false);
46 AppContext.setTitle("DHBW WLAN Settings");
48 Button connectBtn = (Button) view.findViewById(R.id.wifiConnectBtn);
49 connectBtn.setOnClickListener(new View.OnClickListener() {
51 public void onClick(View v) {
52 Button connectBtn = (Button)v;
53 connectBtn.setEnabled(false);
55 EditText usernameEdt = (EditText) view.findViewById(R.id.wifiUsername);
56 EditText passwordEdt = (EditText) view.findViewById(R.id.wifiPassword);
58 String username = usernameEdt.getText().toString();
59 String password = passwordEdt.getText().toString();
61 if(Build.VERSION.SDK_INT < 18) {
62 // connectToDHWiFi not supported!
65 else if(username.length() > 0 && password.length() > 0)
66 connectToDHWiFi(username, password);
68 connectBtn.setEnabled(true);
76 private void connectToDHWiFi(String username, String password) {
77 WifiConfiguration wifiConfig = new WifiConfiguration();
78 wifiConfig.SSID = "dhbw-secure";
79 wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
80 wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
82 WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
83 enterpriseConfig.setIdentity(username);
84 enterpriseConfig.setPassword(password);
85 enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP);
86 enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.MSCHAPV2);
87 wifiConfig.enterpriseConfig = enterpriseConfig;
89 WifiManager wfm = (WifiManager)AppContext.getMainActivity().getSystemService(AppContext.getMainActivity().WIFI_SERVICE);
91 int networkId = wfm.addNetwork(wifiConfig);
92 wfm.enableNetwork(networkId, true);