Merge branch 'master' of https://github.com/HackspaceJena/tueroeffner
Conflicts: app/app.iml
This commit is contained in:
commit
a3620f46df
2 changed files with 38 additions and 24 deletions
|
@ -5,40 +5,54 @@ import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.net.wifi.WifiConfiguration;
|
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by tim on 24.01.15.
|
|
||||||
*/
|
|
||||||
public class DerivBroadcastReceiver extends BroadcastReceiver {
|
public class DerivBroadcastReceiver extends BroadcastReceiver {
|
||||||
|
|
||||||
|
private final Context appContext;
|
||||||
|
private final String targetSSID;
|
||||||
|
|
||||||
|
|
||||||
|
public DerivBroadcastReceiver(Context appContext, String networkSSID) {
|
||||||
|
this.appContext = appContext;
|
||||||
|
this.targetSSID = networkSSID;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
final String action = intent.getAction();
|
// final String action = intent.getAction();
|
||||||
if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
|
|
||||||
NetworkInfo nwInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
|
WifiManager wifiManager = (WifiManager) appContext.getSystemService(Context.WIFI_SERVICE);
|
||||||
if (nwInfo.getExtraInfo().equals(MainActivity.networkSSID) && nwInfo.isConnected()) {
|
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
||||||
View rootView = ((Activity)context).getWindow().getDecorView().findViewById(android.R.id.content);
|
|
||||||
Button button = (Button) rootView.findViewById(R.id.button_buzzer);
|
NetworkInfo nwInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
|
||||||
button.setEnabled(true);
|
|
||||||
button = (Button) rootView.findViewById(R.id.button_door_unlock);
|
if (nwInfo != null && nwInfo.isConnectedOrConnecting()) {
|
||||||
button.setEnabled(true);
|
String ssid = wifiInfo.getSSID();
|
||||||
button = (Button) rootView.findViewById(R.id.button_door_open);
|
|
||||||
button.setEnabled(true);
|
if (ssid.equals(targetSSID)){
|
||||||
|
buttonActivator((Activity) context, true);
|
||||||
Toast.makeText(context, context.getString(R.string.wlan_connected), Toast.LENGTH_SHORT).show();
|
Toast.makeText(context, context.getString(R.string.wlan_connected), Toast.LENGTH_SHORT).show();
|
||||||
} else {
|
} else {
|
||||||
View rootView = ((Activity)context).getWindow().getDecorView().findViewById(android.R.id.content);
|
buttonActivator((Activity) context, false);
|
||||||
Button button = (Button) rootView.findViewById(R.id.button_buzzer);
|
|
||||||
button.setEnabled(false);
|
|
||||||
button = (Button) rootView.findViewById(R.id.button_door_unlock);
|
|
||||||
button.setEnabled(false);
|
|
||||||
button = (Button) rootView.findViewById(R.id.button_door_open);
|
|
||||||
button.setEnabled(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void buttonActivator(Activity context, boolean ssidTrue) {
|
||||||
|
View rootView = context.getWindow().getDecorView().findViewById(android.R.id.content);
|
||||||
|
Button button = (Button) rootView.findViewById(R.id.button_buzzer);
|
||||||
|
button.setEnabled(ssidTrue);
|
||||||
|
button = (Button) rootView.findViewById(R.id.button_door_open);
|
||||||
|
button.setEnabled(ssidTrue);
|
||||||
|
button = (Button) rootView.findViewById(R.id.button_door_unlock);
|
||||||
|
button.setEnabled(ssidTrue);
|
||||||
|
button = (Button) rootView.findViewById(R.id.button);
|
||||||
|
button.setEnabled(ssidTrue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ import javax.net.ssl.TrustManager;
|
||||||
|
|
||||||
public class MainActivity extends ActionBarActivity {
|
public class MainActivity extends ActionBarActivity {
|
||||||
|
|
||||||
final static String networkSSID = "\"KrautSpace\"";
|
final static String networkSSID = "KrautSpace";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -70,7 +70,7 @@ public class MainActivity extends ActionBarActivity {
|
||||||
IntentFilter intentFilter = new IntentFilter();
|
IntentFilter intentFilter = new IntentFilter();
|
||||||
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) ;
|
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) ;
|
||||||
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
|
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
|
||||||
registerReceiver(new DerivBroadcastReceiver(),intentFilter);
|
registerReceiver(new DerivBroadcastReceiver(this, networkSSID),intentFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in a new issue