Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
june9666 committed Jan 17, 2019
1 parent 08ec0fb commit cca1208
Show file tree
Hide file tree
Showing 14 changed files with 369 additions and 603 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

import java.io.UnsupportedEncodingException;

import hu.bme.mit.ftsrg.modes3mobilcontroller.listeners.SegmentOccChangedListener;
import hu.bme.mit.ftsrg.modes3mobilcontroller.listeners.SegmentStateChangedListener;
import hu.bme.mit.ftsrg.modes3mobilcontroller.listeners.TurnoutStateChangedListener;
import hu.bme.mit.ftsrg.modes3mobilcontroller.network.NetworkUtil;
Expand All @@ -25,7 +26,11 @@ public class MQTTHandler {

private static SegmentStateChangedListener segmentStateChangedListener;
private static TurnoutStateChangedListener turnoutStateChangedListener;
private static SegmentOccChangedListener segmentOccChangedListener;

public static void setEventListener(SegmentOccChangedListener listener){
segmentOccChangedListener = listener;
}

public static void setEventListener(SegmentStateChangedListener listener) {
segmentStateChangedListener = listener;
Expand All @@ -39,10 +44,16 @@ public void turnoutStateChanged(MqttMessage msg) {

if (turnoutStateChangedListener != null)
turnoutStateChangedListener.turnoutStateChanged(msg); // event result object :)

}


public void segmentOccChanged(MqttMessage msg) {

if (segmentOccChangedListener != null)
segmentOccChangedListener.segmentOccChanged(msg); // event result object :)

}

public void segmentStateChanged(MqttMessage msg) {

if (segmentStateChangedListener != null)
Expand All @@ -68,29 +79,11 @@ public void onSuccess(IMqttToken asyncActionToken) {
// We are connected
Toast.makeText(mycontext, mycontext.getString(R.string.connectedTo) +" "+ client.getServerURI(), Toast.LENGTH_SHORT).show();
Log.d("mqtt", "onSuccess connected");
try {
MQTTHandler.client.subscribe("segment/state", 0, new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
Log.d("mqtt", "arrived " + message);
segmentStateChanged(message);
}
});
} catch (MqttException e) {
e.printStackTrace();
}

try {
MQTTHandler.client.subscribe("turnout/state", 0, new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
Log.d("mqtt", "arrived " + message);
turnoutStateChanged(message);
}
});
} catch (MqttException e) {
e.printStackTrace();
}
segmentStateRegister();

turnoutStateRegister();
segmentOccRegister();

}

@Override
Expand All @@ -108,6 +101,55 @@ public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
}
}

private void segmentOccRegister() {
try {
MQTTHandler.client.subscribe("segment/occupancy", 1, new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
Log.d("mqtt", "arrived " + message);
segmentOccChanged(message);
}
});
} catch (MqttException e) {
e.printStackTrace();
}
}

private void turnoutStateRegister() {
try {
MQTTHandler.client.subscribe("turnout/state", 1, new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
Log.d("mqtt", "arrived " + message);
turnoutStateChanged(message);
}
});
} catch (MqttException e) {
e.printStackTrace();
}
}

private void segmentStateRegister() {
try {
MQTTHandler.client.subscribe("segment/state", 1, new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
Log.d("mqtt", "arrived " + message);
segmentStateChanged(message);
}
});
initStates();
} catch (MqttException e) {
e.printStackTrace();
}
}

private void initStates() {
MQTTHandler.mypublish("segment/state", "{\"getstate\":\"every\"}");
MQTTHandler.mypublish("turnout/state", "{\"getstate\":\"every\"}");
MQTTHandler.mypublish("segment/occupancy", "{\"getoccupancy\":\"every\"}");
}

public static void mypublish(String topic, String message) {
if ((NetworkUtil.getConnectivityStatusString(mycontext)).equals("Wifi enabled")) {
if (MQTTHandler.client.isConnected()) {
Expand All @@ -118,7 +160,7 @@ public static void mypublish(String topic, String message) {
MqttMessage messages = new MqttMessage(encodedPayload);
messages.setRetained(true);
Log.d("mqtt", "mqtt message sent on topic: " + topic + " message:" + message);
MQTTHandler.client.publish(topic, messages);
MQTTHandler.client.publish(topic, messages.getPayload(),1 ,false);
} catch (UnsupportedEncodingException | MqttException e) {
e.printStackTrace();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ public class MainActivity extends AppCompatActivity {
static public NetworkUtil networkUtil;
static public ConnectivityManager cm;


static public final String TOPIC_SEGMENT_COMMAND = "command/segment";
static public final String TOPIC_TURNOUT_COMMAND = "command/turnout";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -40,34 +41,38 @@ protected void onCreate(Bundle savedInstanceState) {

createSettingsToolbar();

ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);

MyPagerAdapter adapter = new MyPagerAdapter(this, getSupportFragmentManager());
viewPager.setAdapter(adapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);


setLayout();
FloatingActionButtonInit();
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
initSettings();

mSettings = getSharedPreferences(getPackageName() + "_preferences", Context.MODE_PRIVATE);
registerNetworkStateChangedListener();


Log.d("mqtt", NetworkUtil.getConnectivityStatusString(getApplicationContext()));
}

Log.d("mqtt", cm.toString());
getApplicationContext().registerReceiver(new BroadcastReceiver() { // rekt api 26
private void registerNetworkStateChangedListener() {
getApplicationContext().registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {


Log.d("mqtt", "changed networkState");
mqttHandler = new MQTTHandler(getApplication(), mSettings.getString(getString(R.string.MQTTserverURI), getString(R.string.missing)));
}
}, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
}

private void initSettings() {
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
mSettings = getSharedPreferences(getPackageName() + "_preferences", Context.MODE_PRIVATE);
}

private void setLayout() {
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);

MyPagerAdapter adapter = new MyPagerAdapter(this, getSupportFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(3);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}


Expand All @@ -76,10 +81,11 @@ private void FloatingActionButtonInit() {
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

if ((NetworkUtil.getConnectivityStatusString(getApplicationContext())).equals("Wifi enabled")) {
Toast.makeText(getApplicationContext(), getString(R.string.emergencyStop), Toast.LENGTH_SHORT).show();
MQTTHandler.mypublish("command/segmentAll", "{\"segmentAll\":0}");
MQTTHandler.mypublish("command/train", "{\"trainID\":\"taurus\",\"speed\":0,\"direction\":\"forward\"}");
MQTTHandler.mypublish("command/train", "{\"trainID\":\"piros\",\"speed\":0,\"direction\":\"forward\"}");
MQTTHandler.mypublish("command/train", "{\"trainID\":\"sncf\",\"speed\":0,\"direction\":\"forward\"}");
}
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@ public MyPagerAdapter(Context context, FragmentManager fm) {

@Override
public Fragment getItem(int position) {
if (position == 0) {
if (position == 0)
return new SegmentsFragment();
} else if (position == 1) {
else if (position == 1)
return new TurnoutsFragment();
} else if (position == 2) {
else
return new TrainsFragment();
} else {
return new SensorsFragment();
}

//else
// return new SensorsFragment();
}

@Override
public int getCount() {
return 4;
return 3;
}


Expand All @@ -48,8 +48,8 @@ public CharSequence getPageTitle(int position) {
return mContext.getString(R.string.turnouts);
case 2:
return mContext.getString(R.string.trains);
case 3:
return mContext.getString(R.string.sensor);
// case 3:
// return mContext.getString(R.string.sensor);
default:
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
import hu.bme.mit.ftsrg.modes3mobilcontroller.fragments.SettingsFragment;

public class SettingsActivity extends AppCompatActivity{
public static final String
serverURL = "serverURL";
public static final String serverURL = "serverURL";

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -17,17 +16,11 @@ protected void onCreate(Bundle savedInstanceState) {
getSupportFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();

// SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
// Toast.makeText(this, sharedPref.getString(SettingsActivity.serverURL, ""), Toast.LENGTH_SHORT).show();
}

@Override
public void onAttachFragment(Fragment childFragment) {
super.onAttachFragment(childFragment);

}



}
Loading

0 comments on commit cca1208

Please sign in to comment.