|
@@ -117,21 +117,17 @@ public class MainActivity extends Activity {
|
|
|
if (isServiceRunning()) {
|
|
|
unbindService(mConnection);
|
|
|
}
|
|
|
- unregisterReceiver();
|
|
|
unregisterNetReceiver();
|
|
|
+ unregisterReceiver();
|
|
|
super.onStop();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
protected void onDestroy(){
|
|
|
super.onDestroy();
|
|
|
- //TODO vielleicht wieder einfügen
|
|
|
- /*
|
|
|
if(!isServiceRunning()){
|
|
|
- editor.clear();
|
|
|
- editor.commit();
|
|
|
+ deleteSessionData();
|
|
|
}
|
|
|
- */
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -163,8 +159,6 @@ public class MainActivity extends Activity {
|
|
|
private void stopAndUnbind() {
|
|
|
unbindService(mConnection);
|
|
|
stopService(getServiceIntent());
|
|
|
- editor.clear();
|
|
|
- editor.commit();
|
|
|
}
|
|
|
|
|
|
private ServiceConnection mConnection = new ServiceConnection() {
|
|
@@ -235,8 +229,6 @@ public class MainActivity extends Activity {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
private boolean isServiceRunning() {
|
|
|
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
|
|
|
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
|
|
@@ -247,8 +239,11 @@ public class MainActivity extends Activity {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+ // Delete session data
|
|
|
+ private void deleteSessionData(){
|
|
|
+ editor.clear();
|
|
|
+ editor.commit();
|
|
|
+ }
|
|
|
|
|
|
private void registerReceiver() {
|
|
|
LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver,
|
|
@@ -258,38 +253,40 @@ public class MainActivity extends Activity {
|
|
|
private void unregisterReceiver() {
|
|
|
LocalBroadcastManager.getInstance(this).unregisterReceiver(mReceiver);
|
|
|
}
|
|
|
+
|
|
|
+ private BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
|
|
+ @Override
|
|
|
+ public void onReceive(Context context, Intent intent) {
|
|
|
+ updateUI();
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
private void registerNetReceiver() {
|
|
|
- LocalBroadcastManager.getInstance(this).registerReceiver(netReceiver,
|
|
|
- new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
|
|
|
+ // register BroadcastReceiver on network state changes
|
|
|
+ final IntentFilter intent = new IntentFilter();
|
|
|
+ intent.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION); //"android.net.conn.CONNECTIVITY_CHANGE"
|
|
|
+ registerReceiver(netReceiver, intent);
|
|
|
}
|
|
|
|
|
|
private void unregisterNetReceiver() {
|
|
|
LocalBroadcastManager.getInstance(this).unregisterReceiver(netReceiver);
|
|
|
}
|
|
|
|
|
|
- private BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onReceive(Context context, Intent intent) {
|
|
|
- updateUI();
|
|
|
- }
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
private BroadcastReceiver netReceiver = new BroadcastReceiver() {
|
|
|
-
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
+ if (isServiceRunning()) {
|
|
|
+ Toast.makeText(getApplicationContext(),"Connection changed! Services stopped!", Toast.LENGTH_LONG).show();
|
|
|
+ mService.stopListeners();
|
|
|
+ stopAndUnbind();
|
|
|
+ }
|
|
|
+ deleteSessionData();
|
|
|
updateConnectionInfo();
|
|
|
+ updateUI();
|
|
|
}
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
-
|
|
|
+ };
|
|
|
|
|
|
private void updateUI() {
|
|
|
-// SharedPreferences pref = getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
|
|
|
boolean activeListeners = false;
|
|
|
boolean activeHandlers = false;
|
|
|
boolean yellowLight = false;
|
|
@@ -400,10 +397,10 @@ public class MainActivity extends Activity {
|
|
|
TextView internalIPView = (TextView) findViewById(R.id.textViewInternalIPValue);
|
|
|
TextView externalIPView = (TextView) findViewById(R.id.textViewExternalIPValue);
|
|
|
|
|
|
- String ssid = HelperUtils.getSSID(getApplicationContext());
|
|
|
- String bssid = HelperUtils.getBSSID(getApplicationContext());
|
|
|
- String internalIP = HelperUtils.getInternalIP(getApplicationContext());
|
|
|
- String externalIP = HelperUtils.getExternalIP(getApplicationContext());
|
|
|
+ String ssid = HelperUtils.getSSID(this);
|
|
|
+ String bssid = HelperUtils.getBSSID(this);
|
|
|
+ String internalIP = HelperUtils.getInternalIP(this);
|
|
|
+ String externalIP = HelperUtils.getExternalIP(this);
|
|
|
|
|
|
if (ssid != null)
|
|
|
ssidView.setText(ssid);
|
|
@@ -483,8 +480,6 @@ public class MainActivity extends Activity {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-
|
|
|
- //TODO NACH TEST ENTFERNEN
|
|
|
public void showLog(View view){
|
|
|
startActivity(new Intent(this, ViewLog.class));
|
|
|
}
|