try {
view = inflater.inflate(R.layout.fragment_dashboard, container, false);
} catch (InflateException e) {
+ if(view == null)
+ return null;
}
AppContext.setTitle(AppContext.getResString(R.string.dashboard_title));
int i = 0;
LayoutInflater li = LayoutInflater.from(AppContext.getMainActivity());
do {
+ String menuTitle = cmenue.getMenuName();
+ if(menuTitle == null || menuTitle.matches("^Buffet"))
+ continue;
+
RelativeLayout menu = (RelativeLayout) li.inflate(R.layout.fragment_dashboard_mensa_menu, null, false);
menueContainer.addView(menu);
TextView menuPrice = (TextView) menu.findViewById(R.id.menuPrice);
menuName.setText(cmenue.getName());
- double price = cmenue.getStudentPrice();
- menuPrice.setText(Double.toString(price));
+ String priceStr = cmenue.getFormatedRolePrice();
+ menuPrice.setText(priceStr);
} while(i < dayplans.length && (cmenue = dayplans[++i]) != null && cmenue.getPlanDate() == dayplan.getPlanDate());
}
import android.view.View;
import android.view.ViewGroup;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+
import de.dhbwloe.campusapp.CampusAppFragment;
import de.dhbwloe.campusapp.R;
/**
* A simple {@link Fragment} subclass.
*/
-public class DashboardNewsDhbw extends CampusAppFragment {
+public class DashboardNewsDhbw extends News {
public DashboardNewsDhbw() {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_dashboard_news_dhbw, container, false);
+ oFragmentView = inflater.inflate(R.layout.fragment_dashboard_news_stuv, container, false);
+
+ return oFragmentView;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ refreshStuvNews();
+ }
+
+ private void refreshStuvNews() {
+ loadNewsSource("DHBW", true);
+
+ Collections.sort(newsListItems, new Comparator<NewsListItem>() {
+ @Override
+ public int compare(NewsListItem item2, NewsListItem item1) {
+ long now = (new Date()).getTime() / 1000;
+ return (int) (item2.getTimeDifference(now) - item1.getTimeDifference(now));
+ }
+ });
+
+
+ // show newsListItems
}
}
import android.view.View;
import android.view.ViewGroup;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+
import de.dhbwloe.campusapp.CampusAppFragment;
import de.dhbwloe.campusapp.R;
/**
* A simple {@link Fragment} subclass.
*/
-public class DashboardNewsStuv extends CampusAppFragment {
+public class DashboardNewsStuv extends News {
public DashboardNewsStuv() {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_dashboard_news_stuv, container, false);
+ oFragmentView = inflater.inflate(R.layout.fragment_dashboard_news_stuv, container, false);
+
+ return oFragmentView;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ refreshStuvNews();
+ }
+
+ private void refreshStuvNews() {
+ loadNewsSource("STUV", false);
+ loadEventsSource("STUV", false);
+
+ Collections.sort(newsListItems, new Comparator<NewsListItem>() {
+ @Override
+ public int compare(NewsListItem item2, NewsListItem item1) {
+ long now = (new Date()).getTime() / 1000;
+ return (int) (item2.getTimeDifference(now) - item1.getTimeDifference(now));
+ }
+ });
+
+ // show newsListItems
}
}
public void showNfcCardData(Bundle bundle) {
TextView cardDataView = (TextView)view.findViewById(R.id.balanceTxt);
double balance = bundle.getDouble("balance");
- DecimalFormat df = new DecimalFormat("#,###.00");
- cardDataView.setText(df.format(balance)+" €");
+ DecimalFormat df = new DecimalFormat(AppContext.getResString(R.string.mensaformat_price));
+ cardDataView.setText(df.format(balance));
}
}
holder.txtMenueName.setText(item.getMenuName());
if(holder.txtName != null)
holder.txtName.setText(item.getName());
+ if(holder.txtPrice != null)
+ holder.txtPrice.setText(item.getFormatedRolePrice());
return row;
}
static class RecordHolder {
TextView txtMenueName;
TextView txtName;
+ TextView txtPrice;
public RecordHolder(View view) {
this.txtMenueName = (TextView) view.findViewById(R.id.txtMenueName);
this.txtName = (TextView) view.findViewById(R.id.txtName);
+ this.txtPrice = (TextView) view.findViewById(R.id.txtMenuePrice);
}
}
}
\ No newline at end of file
private View view;
private NewsListAdapter listAdapter;
- private ArrayList<NewsListItem> newsListItems = new ArrayList<NewsListItem>();
+ protected ArrayList<NewsListItem> newsListItems = new ArrayList<NewsListItem>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@Override
public void onResume() {
super.onResume();
- refreshNewsItems();
+ if(view != null)
+ refreshNewsItems();
}
- private void refreshNewsItems() {
+ protected void refreshNewsItems() {
newsListItems.clear();
CheckBox showDhbwNewsChkbok = (CheckBox) view.findViewById(R.id.showDhbwNews);
Collections.sort(newsListItems, new Comparator<NewsListItem>() {
@Override
public int compare(NewsListItem item2, NewsListItem item1) {
- long now = (new Date()).getTime()/1000;
+ long now = (new Date()).getTime() / 1000;
return (int) (item2.getTimeDifference(now) - item1.getTimeDifference(now));
}
});
- listAdapter.notifyDataSetChanged();
+ if(listAdapter != null)
+ listAdapter.notifyDataSetChanged();
}
- private void loadNewsSource(String sourceName, boolean isDhbw) {
+ protected void loadNewsSource(String sourceName, boolean isDhbw) {
long now = (new Date()).getTime() / 1000;
NewsItem[] news = AppContext.getDatabaseManager().getNewsItems(sourceName, now, now - (86400 * 30 * 6)); // load 6 month
}
}
- private void loadEventsSource(String sourceName, boolean isDhbw) {
+ protected void loadEventsSource(String sourceName, boolean isDhbw) {
long now = (new Date()).getTime() / 1000;
CourseEvent[] events = AppContext.getDatabaseManager().getCourseCalendarTimetable(sourceName, now, 30 * 6); // load 6 month
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.EditText;
+import android.widget.Spinner;
import de.dhbwloe.campusapp.CampusAppFragment;
import de.dhbwloe.campusapp.R;
* A simple {@link Fragment} subclass.
*/
public class Settings extends CampusAppFragment {
-
+ private EditText courseNameInput;
+ private Spinner mensaRoleInput;
public Settings() {
// Required empty public constructor
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_settings, container, false);
+ oFragmentView = inflater.inflate(R.layout.fragment_settings, container, false);
+
+ courseNameInput = (EditText) oFragmentView.findViewById(R.id.courseNameInput);
+ mensaRoleInput = (Spinner) oFragmentView.findViewById(R.id.mensaRoleInput);
+
+ return oFragmentView;
+ }
+
+
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ String courseName = AppContext.getDatabaseManager().getRuntimeCache("CourseName");
+ if(courseName == null || courseName.isEmpty())
+ courseName = "";
+ courseNameInput.setText(courseName);
+
+ String mensaRoleName = AppContext.getDatabaseManager().getRuntimeCache("MensaRole");
+ if (mensaRoleName == null || mensaRoleName.isEmpty())
+ mensaRoleName = "0";
+ int mensaRole = Integer.parseInt(mensaRoleName);
+ mensaRoleInput.setSelection(mensaRole);
}
+ @Override
+ public void onStop() {
+ super.onStop();
+ boolean overrideNavigation = false;
+
+ String courseName = AppContext.getDatabaseManager().getRuntimeCache("CourseName");
+ if (courseName == null || courseName.isEmpty())
+ courseName = "";
+
+ String newCourseName = courseNameInput.getText().toString();
+ if(!courseName.equalsIgnoreCase(newCourseName)) {
+ AppContext.getDatabaseManager().setRuntimeCache("CourseName", newCourseName);
+ overrideNavigation = true;
+ }
+
+ String mensaRoleName = AppContext.getDatabaseManager().getRuntimeCache("MensaRole");
+ if (mensaRoleName == null || mensaRoleName.isEmpty())
+ mensaRoleName = "";
+ String newMensaRoleName = Integer.toString(mensaRoleInput.getSelectedItemPosition());
+ if(!mensaRoleName.equalsIgnoreCase(newMensaRoleName)) {
+ AppContext.getDatabaseManager().setRuntimeCache("MensaRole", newMensaRoleName);
+ overrideNavigation = true;
+ }
+
+ if(overrideNavigation) {
+ AppContext.getNavigationManager().navigatePage("Splashscreen", null, false);
+
+ }
+ }
}
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if(action.equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)){
- WifiInfo myWifiInfo = wifiManager.getConnectionInfo();
+ WifiInfo wifiInfo = wifiManager.getConnectionInfo();
+ SupplicantState wifiState = ((SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE));
- WifiNetworkSettings settings = null;
- for(int i = 0; i < wifiPresets.length; i++) {
- if(wifiPresets[i].getSSID().equalsIgnoreCase(myWifiInfo.getSSID())) {
- settings = wifiPresets[i];
- break;
- }
- }
-
- if(settings != null) {
- SupplicantState supl_state = ((SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE));
- switch (supl_state) {
- case ASSOCIATING:
- settings.isAssociating = true;
- settings.isAssociated = false;
- settings.isAuthenticated = false;
- settings.isDisconnected = false;
- break;
- case ASSOCIATED:
- settings.isAssociated = true;
- break;
- case COMPLETED:
- settings.isAuthenticated = true;
- break;
- case DISCONNECTED:
- settings.isAssociated = false;
- settings.isAssociating = false;
- settings.isDisconnected = true;
- break;
- default:
- break;
- }
- updateWifiState();
- }
+ wifiConfigManager.updateWifiState(wifiInfo, wifiState);
}
- NetworkInfo networkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
- if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
- updateWifiState();
- }
+ updateWifiState();
}
};
private BroadcastReceiver wifiScanReceiver = new BroadcastReceiver() {
wifiManager = (WifiManager)AppContext.getMainActivity().getSystemService(AppContext.getMainActivity().WIFI_SERVICE);
connectivityManager = (ConnectivityManager) AppContext.getMainActivity().getSystemService(Activity.CONNECTIVITY_SERVICE);
- wifiConfigManager = new WifiConfigurationManager(wifiManager);
+ wifiConfigManager = new WifiConfigurationManager(wifiManager, this);
+ }
+
+ public String trimWifiSSID(String ssid) {
+ if(ssid == null)
+ return null;
+ if(ssid.matches("^\"(.*)\"$")) {
+ ssid = ssid.substring(1, ssid.length()-1);
+ }
+
+ return ssid;
}
private void updateSelectedNetworkInformation() {
updateWifiConnectButton();
}
- private void updateWifiState() {
+ public void updateWifiState() {
NetworkInfo myNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
WifiInfo myWifiInfo = wifiManager.getConnectionInfo();
- String ssid = (myWifiInfo != null ? myWifiInfo.getSSID() : null);
+ String ssid = trimWifiSSID(myWifiInfo != null ? myWifiInfo.getSSID() : null);
if(ssid == null)
return;
if(settings == null)
return;
- if(settings.isTryConnecting) {
- boolean success = false;
- if(settings.isDisconnected) {
- settings.failedAuthentication = true;
- settings.isTryConnecting = false;
- } else if(settings.isAssociated) {
- settings.isTryConnecting = false;
- success = true;
- }
- if(!settings.isTryConnecting) {
- // success
- // TODO: continue
- }
- }
-
-
Resources resources = AppContext.getMainActivity().getResources();
String status;
if(myNetworkInfo.isConnectedOrConnecting()) {
int statusId = (myNetworkInfo.isConnected() ? R.string.wifisettings_status_connected : R.string.wifisettings_status_connecting);
-
-
- ssid = ssid.replace("\"", "");
status = String.format(resources.getString(statusId), ssid);
-
-
-
-
- //if(networkConnecting && wifiPresets[connectingNetworkIndex].getSSID().equalsIgnoreCase(ssid)) {
-
- /*
-
- wifiConfigManager.finalizeConnection(wifiPresets[connectingNetworkIndex], myNetworkInfo, myWifiInfo, new WifiConfigurationManager.WifiConfigurationComplete() {
- @Override
- public void onWifiConfigurationComplete(WifiNetworkSettings settings, String response) {
- networkConnecting = false;
- connectingNetworkIndex = 0;
- updateWifiConnectButton();
- }
- });
- */
- //}
} else {
status = resources.getString(R.string.wifisettings_status_disconnected);
}
-
TextView statusTextView = (TextView)view.findViewById(R.id.wifiStatusText);
statusTextView.setText(status);
+
updateWifiConnectButton();
}
int buttonTextId = 0;
NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
+ WifiConfigurationManager.WifiConnectionStatus status = wifiConfigManager.getWifiState(preset);
+ String ssid = trimWifiSSID(wifiInfo != null ? wifiInfo.getSSID() : null);
+
+ Log.i("Wifi", ssid + "|" + preset.getSSID());
if(!wifiManager.isWifiEnabled()) {
buttonTextId = R.string.wifisettings_connect_button_disabled;
- } else if(networkInfo.isConnectedOrConnecting() && wifiInfo.getSSID() != null && wifiInfo.getSSID().equalsIgnoreCase(preset.getSSID())) {
+ } else if(networkInfo.isConnectedOrConnecting() && ssid != null && ssid.equalsIgnoreCase(preset.getSSID()) && status == WifiConfigurationManager.WifiConnectionStatus.WIFISTATE_NULL) {
buttonTextId = R.string.wifisettings_connect_button_ready;
- } else if(preset.isTryConnecting) {
- buttonTextId = R.string.wifisettings_connect_button_connecting;
} else if(!networkScanned) {
buttonTextId = R.string.wifisettings_connect_button_scan;
} else if(!preset.isInScanResult) {
buttonTextId = R.string.wifisettings_connect_button_notfound;
buttonEnabled = true;
} else {
- buttonEnabled = true;
- buttonTextId = R.string.wifisettings_connect_button;
+ buttonTextId = 0;
+ if(status != WifiConfigurationManager.WifiConnectionStatus.WIFISTATE_NULL) {
+ switch (status) {
+ case WIFISTATE_CONNECTING:
+ buttonTextId = R.string.wifisettings_connect_button_connecting;
+ break;
+ case WIFISTATE_AUTHENTICATING:
+ buttonTextId = R.string.wifisettings_connect_button_authenticating;
+ break;
+ case WIFISTATE_CONNECTED:
+ buttonTextId = R.string.wifisettings_connect_button_ready;
+ break;
+ case WIFISTATE_FAILED:
+ buttonTextId = R.string.wifisettings_connect_button_failed;
+ buttonEnabled = true;
+ break;
+ }
+ }
+ if(wifiConfigManager.isLocked(preset) && buttonTextId == 0) {
+ buttonTextId = R.string.wifisettings_connect_button_connecting;
+ }
+
+ if(buttonTextId == 0) {
+ buttonEnabled = true;
+ buttonTextId = R.string.wifisettings_connect_button;
+ }
}
Button connectBtn = (Button) view.findViewById(R.id.wifiConnectBtn);
if (username.length() > 0 && password.length() > 0) {
if(settings != null) {
- settings.isTryConnecting = true;
settings.setAuthData(username, password);
wifiConfigManager.connect(settings);
package de.dhbwloe.campusapp.mensaplan;
import java.text.DateFormat;
+import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.zip.CRC32;
+import de.dhbwloe.campusapp.CampusAppContext;
+import de.dhbwloe.campusapp.R;
+
/**
* Created by pk910 on 22.01.2016.
*/
return price;
}
+ public String getFormatedRolePrice() {
+ String mensaRoleName = CampusAppContext.getInstance().getDatabaseManager().getRuntimeCache("MensaRole");
+ if (mensaRoleName == null || mensaRoleName.isEmpty())
+ mensaRoleName = "0";
+ int mensaRole = Integer.parseInt(mensaRoleName);
+ double price = (aPriceArray[mensaRole] / 100.0);
+
+ DecimalFormat df = new DecimalFormat(CampusAppContext.getInstance().getResString(R.string.mensaformat_price));
+ String formatedPrice = df.format(price);
+ return formatedPrice;
+ }
+
public void setIsNew() {
bIsNew = true;
}
// 2,90€( pro 100g)?
if(pricestr == null)
return 0;
- Pattern r = Pattern.compile("^([0-9,]+)€( pro [0-9]+[a-z]+)$");
+ Pattern r = Pattern.compile("^([0-9,]+)€( pro [0-9]+[a-z]+)?$");
Matcher m = r.matcher(pricestr);
if (m.find()) {
NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN);
String error = null;
try {
error = new String(errorResponse, "US-ASCII");
- } catch (UnsupportedEncodingException e1) {
+ } catch (Exception e1) {
}
Log.i("HTTPClient", " Error: " + statusCode + " - " + error);
onXmlRequestFail(statusCode, error);
URL url = new URL(SECURELOGIN_URL);
URLConnection conn = url.openConnection();
+
if (conn instanceof HttpsURLConnection) {
((HttpsURLConnection)conn).setSSLSocketFactory(sslSocketFactory);
((HttpsURLConnection )conn).setRequestMethod("POST");
} catch (Exception e) {
task.responseError = e.getMessage();
+ Log.i("SecureLogin", e.toString() + ":" + e.getMessage());
}
task.responseString = responseString.toString();
*/
public class SecureLoginTask {
public WifiNetworkSettings settings;
- public NetworkInfo networkInfo;
- public WifiInfo wifiInfo;
public boolean responseReceived;
public String responseString;
import android.annotation.TargetApi;
import android.net.NetworkInfo;
+import android.net.wifi.SupplicantState;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiEnterpriseConfig;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
+import android.util.Log;
import java.io.IOException;
import java.security.cert.CertificateException;
+import java.util.List;
+
+import de.dhbwloe.campusapp.fragments.WifiSettings;
/**
* Created by pk910 on 08.02.2016.
public void onWifiConfigurationComplete(WifiNetworkSettings settings, String response);
}
+ public enum WifiConnectionStatus {
+ WIFISTATE_NULL,
+ WIFISTATE_CONNECTING,
+ WIFISTATE_AUTHENTICATING,
+ WIFISTATE_CONNECTED,
+ WIFISTATE_FAILED
+ }
+
+ private WifiSettings wifiSettingsFragment;
private WifiManager wifiManager;
+ private WifiNetworkSettings tryConnectTo;
+ private WifiConnectionStatus currentWifiState;
+ private boolean isLocked = false;
- public WifiConfigurationManager(WifiManager wifiManager) {
+
+ public WifiConfigurationManager(WifiManager wifiManager, WifiSettings fragment) {
this.wifiManager = wifiManager;
+ this.wifiSettingsFragment = fragment;
}
public void connect(WifiNetworkSettings settings) {
}
}
+ public void updateWifiState(WifiInfo wifiInfo, SupplicantState wifiState) {
+ WifiConnectionStatus previousWifiState = currentWifiState;
+ currentWifiState = WifiConnectionStatus.WIFISTATE_NULL;
+ String ssid = wifiSettingsFragment.trimWifiSSID(wifiInfo != null ? wifiInfo.getSSID() : null);
+
+ if(tryConnectTo == null)
+ return;
+
+ boolean processedWifiState = true;
+ switch (wifiState) {
+ case ASSOCIATING:
+ currentWifiState = WifiConnectionStatus.WIFISTATE_CONNECTING;
+ break;
+ case ASSOCIATED:
+ currentWifiState = WifiConnectionStatus.WIFISTATE_AUTHENTICATING;
+ break;
+ case COMPLETED:
+ currentWifiState = WifiConnectionStatus.WIFISTATE_CONNECTED;
+ break;
+ case DISCONNECTED:
+ if(previousWifiState != WifiConnectionStatus.WIFISTATE_CONNECTED)
+ currentWifiState = WifiConnectionStatus.WIFISTATE_FAILED;
+ else
+ currentWifiState = WifiConnectionStatus.WIFISTATE_NULL;
+ break;
+ default:
+ processedWifiState = false;
+ break;
+ }
+ Log.i("WiFiConf", "Handled: "+wifiState.name());
+ if(!processedWifiState || (ssid != null && !ssid.equalsIgnoreCase(tryConnectTo.getSSID()))) {
+ currentWifiState = previousWifiState;
+ return;
+ }
+
+ SecureLoginManager loginManager;
+ if(currentWifiState == WifiConnectionStatus.WIFISTATE_CONNECTED && (loginManager = tryConnectTo.getSecureLoginManager()) != null) {
+ currentWifiState = WifiConnectionStatus.WIFISTATE_AUTHENTICATING;
+
+ SecureLoginTask logintask = new SecureLoginTask();
+ logintask.loginCallback = new SecureLoginManager.SecureLoginResult() {
+ @Override
+ public void onSecureLoginFailed(String errMsg) {
+ currentWifiState = WifiConnectionStatus.WIFISTATE_FAILED;
+ isLocked = false;
+
+ wifiSettingsFragment.updateWifiState();
+ }
+ @Override
+ public void onSecureLoginSuccess() {
+ currentWifiState = WifiConnectionStatus.WIFISTATE_CONNECTED;
+ isLocked = false;
+
+ wifiSettingsFragment.updateWifiState();
+ }
+ };
+ logintask.settings = tryConnectTo;
+
+ loginManager.execute(logintask);
+ }
+
+ if(currentWifiState == WifiConnectionStatus.WIFISTATE_CONNECTED || currentWifiState == WifiConnectionStatus.WIFISTATE_FAILED) {
+ isLocked = false;
+ }
+ }
+
+ public WifiConnectionStatus getWifiState(WifiNetworkSettings settings) {
+ if(settings == tryConnectTo)
+ return currentWifiState;
+ return WifiConnectionStatus.WIFISTATE_NULL;
+ }
@TargetApi(18)
private void connectToWiFi(WifiNetworkSettings settings) {
+ if(isLocked)
+ return;
+ tryConnectTo = settings;
+ isLocked = true;
+
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = settings.ssid;
for(int i = 0; i < settings.authAlgorithms.length; i++)
wifiConfig.enterpriseConfig = enterpriseConfig;
break;
}
+
+ // remove old configurations for this network
+ List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
+ for(WifiConfiguration k : list) {
+ if(k.SSID.equalsIgnoreCase(wifiConfig.SSID)) {
+ int networkId = wifiManager.getConnectionInfo().getNetworkId();
+ wifiManager.removeNetwork(networkId);
+ }
+ }
+
int networkId = wifiManager.addNetwork(wifiConfig);
wifiManager.enableNetwork(networkId, true);
+
+ wifiManager.saveConfiguration();
+ }
+
+ public boolean isLocked(WifiNetworkSettings settings) {
+ return isLocked && (tryConnectTo == settings);
}
}
public TabLayout.Tab tab;
public boolean isInScanResult = false;
- public boolean isTryConnecting = false;
- public boolean isAssociating = false;
- public boolean isAssociated = false;
- public boolean isAuthenticated = false;
- public boolean isDisconnected = false;
- public boolean failedAuthentication = false;
public WifiNetworkSettings(String name, String ssid, WifiNetworkAuthenticationTypes authType) {
this.name = name;
return caName;
}
+ public SecureLoginManager getSecureLoginManager() {
+ return performDHSecureLogin;
+ }
+
}
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:text="{menuPrice}"
+ android:id="@+id/txtMenuePrice"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentLeft="false"
+ android:layout_alignParentStart="false"
+ android:layout_alignParentRight="true"
+ android:textColor="@color/color_dhbw_darkred" />
+
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
+ xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context="de.dhbwloe.campusapp.fragments.Settings">
+ tools:context="de.dhbwloe.campusapp.fragments.Settings"
+ android:padding="8dp"
+ android:orientation="vertical">
- <!-- TODO: Update blank fragment layout -->
- <TextView
+ <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/card_course"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/hello_blank_fragment" />
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ card_view:cardCornerRadius="5dp">
-</FrameLayout>
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="4dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_vorlesungsplan"
+ android:textStyle="bold"
+ android:id="@+id/textView30" />
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/textView30"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="false"
+ android:layout_margin="6dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_course_caption"
+ android:id="@+id/textView29"
+ android:layout_alignParentTop="false"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignBottom="@+id/courseNameInput"
+ android:layout_marginBottom="8dp" />
+
+ <EditText
+ android:layout_width="150dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/courseNameInput"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_course_example"
+ android:id="@+id/textView31"
+ android:layout_below="@+id/courseNameInput" />
+ </RelativeLayout>
+ </LinearLayout>
+
+ </android.support.v7.widget.CardView>
+ <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/card_role"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ card_view:cardCornerRadius="5dp">
+
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="4dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_mensaplan"
+ android:textStyle="bold"
+ android:id="@+id/textView32" />
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/textView32"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="false"
+ android:layout_margin="6dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_role_caption"
+ android:id="@+id/textView33"
+ android:layout_alignParentTop="false"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="8dp"
+ android:layout_alignBottom="@+id/mensaRoleInput" />
+
+ <Spinner
+ android:layout_width="150dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/mensaRoleInput"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:entries="@array/settings_role_values" />
+
+ </RelativeLayout>
+ </LinearLayout>
+
+ </android.support.v7.widget.CardView>
+</LinearLayout>
<resources>
<color name="colorPrimary">#E3001B</color>
<color name="colorPrimaryDark">#8D0011</color>
- <color name="colorAccent">#7E878E</color>
+ <color name="colorAccent">#8D0011</color>
<color name="color_dhbw_darkred">#8D0011</color>
<color name="color_dhbw_lightred">#E3001B</color>
<string name="timeformat_vorlesungsplan_date">dd.MM.</string>
<string name="timeformat_news_event">dd.MM.yyy HH:mm</string>
<string name="timeformat_news_news">dd.MM.yyy</string>
+ <string name="mensaformat_price">#,##0.00 €</string>
<string name="appsearch_title">Search: %s</string>
<string name="appsearch_inapp">Campus App</string>
<string name="news_toggle_stuv_events">STUV Events</string>
<string name="news_followlink">mehr...</string>
+ <string name="settings_title">Einstellungen</string>
+ <string name="settings_vorlesungsplan">Vorlesungsplan</string>
+ <string name="settings_course_caption">Deine Kursbezeichnung:</string>
+ <string name="settings_course_example">Beispiel: tif13a, win14a, wwi15b</string>
+ <string name="settings_mensaplan">Mensasplan</string>
+ <string name="settings_role_caption">Deine Berufung:</string>
+ <string-array name="settings_role_values">
+ <item>Student</item>
+ <item>Mitarbeiter</item>
+ <item>Schüler</item>
+ <item>Gast</item>
+ </string-array>
+
<string name="firstrun_select_couse">Bitte tippe deine Kursbezeichnung ein:</string>
- <string name="firstrun_select_couse_example">(Beispiel: tif13a, win14a, wwi15b)</string>
+ <string name="firstrun_select_couse_example">()</string>
<string name="firstrun_course_ok_button">Ok</string>
<string name="firstrun_run_as_guest">Alternativ kannst du die App auch als Gast starten. Jedoch stehen im Gastmodus nicht alle Funktionen zur verfügung.</string>
<string name="firstrun_run_as_guest_button">Als Gast starten</string>
<string name="wifisettings_connect_button_disabled">WLAN Adapter deaktiviert</string>
<string name="wifisettings_connect_button_ready">Verbunden!</string>
<string name="wifisettings_connect_button_connecting">Verbinde...</string>
- <string name="title_activity_settings">Settings</string>
-
+ <string name="wifisettings_connect_button_authenticating">Authentifiziere...</string>
+ <string name="wifisettings_connect_button_failed">Login fehlgeschlagen!</string>
<string name="wifisettings_current_status">WLAN Status:</string>
<string name="wifisettings_status_connected">Verbunden mit %1$s</string>
<string name="wifisettings_status_disconnected">Nicht Verbunden</string>
- <!-- Strings related to Settings -->
- <string name="pref_kurs">Kursbezeichnung (z.B. tif13a)</string>
- <string name="pref_mensa_role">Arbeitsposition</string>
- <string-array name="pref_mensa_role_titles">
- <item>Student</item>
- <item>Mitarbeiter</item>
- <item>Schüler</item>
- <item>Gast</item>
- </string-array>
- <string-array name="pref_mensa_role_values">
- <item>0</item>
- <item>1</item>
- <item>2</item>
- <item>3</item>
- </string-array>
-
-
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>