import android.os.Bundle; import android.os.Message; import android.util.Log; import com.dfoe.frimaster.CheckoutActivity; import com.dfoe.frimaster.DashBoard; import com.dfoe.frimaster.DataBaseServices.MasterMetaData; import com.dfoe.frimaster.FragmentForDashBorad.DineInFragment; import com.dfoe.frimaster.FragmentForDashBorad.TakeAwayFragment; import com.dfoe.frimaster.OrderMenuActivity; import com.dfoe.frimaster.SeatViewLayout; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.net.URISyntaxException; import io.socket.client.IO; import io.socket.client.Socket; import io.socket.emitter.Emitter; import static com.dfoe.frimaster.DataBaseServices.MasterMetaData.ResturantPayment.order_no; public class SocketIoClass { public Socket client; public String mySocketId = ""; //Latest Url public String host = "https://www.example.com"; public SocketIoClass() { client = connectToSignallingServer(); } private Socket connectToSignallingServer() { Socket client = null; MessageHandler messageHandler = new MessageHandler(); try { client = IO.socket(host); client.on("id", messageHandler.onId); client.on("createMessage", messageHandler.onMessage); client.on("updateChat", messageHandler.onUpdateChat); client.on("leave", messageHandler.onLeave); client.on("broadcast", messageHandler.onBroadcast); client.on("disconnect", messageHandler.onDisconnect); client.connect(); } catch (URISyntaxException e) { e.printStackTrace(); } return client; } public void sendMessage(JSONObject payload) throws JSONException { try { client.emit("createMessage", payload); } catch (Exception e) { } } private class MessageHandler { private MessageHandler() { } public Emitter.Listener onMessage = new Emitter.Listener() { @Override public void call(Object... args) { try { JSONObject data = (JSONObject) args[0]; if (data.getString("type").equals("payments")) { JSONArray array = data.getJSONObject("message").getJSONArray("payments"); long sucess = DashBoard.db.insertRestaurantPayment(array); if (sucess == -1) { if (CheckoutActivity.checkoutActivityTaskHandler != null) { CheckoutActivity.checkoutActivityTaskHandler.sendEmptyMessage(CheckoutActivity.CheckoutActivityTaskHandler.PaymentNotDone); } } else { if (CheckoutActivity.checkoutActivityTaskHandler != null) { CheckoutActivity.checkoutActivityTaskHandler.sendEmptyMessage(CheckoutActivity.CheckoutActivityTaskHandler.PaymentDone); } if (DineInFragment.dineHandler != null) { DineInFragment.dineHandler.sendEmptyMessage(DineInFragment.DineHandler.Upate_UI); } if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.Upate_UI); } /* if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler .sendEmptyMessage(TakeAwayFragment.TakeAwayHandler .Upate_UI_TAKEWAY); }*/ if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.ShowToastMessage); } } } else if (data.getString("type").equals("order_status")) { JSONObject object = data.getJSONObject("message"); if (object.has("order_id") && object.has("order_status")) { int order_id = object.getInt("order_id"); int order_status = object.getInt("order_status"); long sucess = DashBoard.db.updateOrderServerStatus(order_id, order_status); if (sucess == -1) { } else { if (DashBoard.dashBoardTaskHandler != null) { DashBoard.dashBoardTaskHandler.sendEmptyMessage(DashBoard.DashBoardTaskHandler.ShowToastMessage); } if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.Upate_UI); } } } } else if (data.getString("type").equals("confirm_delivery")) { JSONObject object = data.getJSONObject("message"); /* if(object.has("order_no") && object.has("confirm_delivery")) {*/ if (object.has("order_no")) { int orderno = object.getInt("order_no"); long sucess = DashBoard.db.updateOrderConfrmStatus(orderno); if (sucess == -1) { } else { if (TakeAwayFragment.TakeAwayHandler != null) { Message msg = new Message(); msg.what = TakeAwayFragment.TakeAwayHandler.TAKE_AWAY_CONFIRM_DELIVERY; Bundle bundle = new Bundle(); bundle.putInt("order_no", orderno); msg.setData(bundle); TakeAwayFragment.TakeAwayHandler.sendMessage(msg); } } } } else if (data.getString("type").equals("cancel_order")) { JSONObject object = data.getJSONObject("message"); if (object.has("order_no")) { int orderno = object.getInt("order_no"); long sucess = -1; if (object.has("order_status") && object.getInt("order_status") == 3) { sucess = DashBoard.db.updateCancelConfirmStatusTo3(orderno); } else { sucess = DashBoard.db.updateCancelOrder(orderno); } long sucess1 = DashBoard.db.updateseatCancelOrder(orderno); /* if (sucess == -1 *//*|| sucess1 == -1*//*) {*/// if ((sucess == -1) || (sucess1 == -1)) {TODO .. why this condition is needed...? if ((sucess == -1)/* || (sucess1 == -1)*/) { } else { if (DineInFragment.dineHandler != null) { DineInFragment.dineHandler.sendEmptyMessage(DineInFragment.DineHandler.Upate_UI); } if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.Upate_UI_TAKEWAY_CONFIRM); } } } } else if (data.getString("type").equals("accept_takeaway_order")) { JSONObject object = data.getJSONObject("message"); if (object.has("order_no")) { int orderno = object.getInt("order_no"); long sucess = DashBoard.db.updateCancelOrderTakeway(orderno); if (sucess == -1) { } else { if (TakeAwayFragment.TakeAwayHandler != null) { // TakeAwayFragment.TakeAwayHandler .sendEmptyMessage(TakeAwayFragment.TakeAwayHandler .ShowToastMessage); TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.Upate_UI_TAKEWAY); } } } } /* else if(data.getString("type").equals("confirm_delivery")) { JSONObject object = data.getJSONObject("message"); JSONArray array = object.getJSONObject("message").getJSONArray("confirm_delivery"); long sucess = DashBoard.db.insertRestaurantOrder(array); if(sucess == 1) { if (DashBoard.dashBoardTaskHandler != null) { TakeAwayFragment.TakeAwayHandler .sendEmptyMessage(TakeAwayFragment.TakeAwayHandler .Upate_UI_TAKEWAY); } if (DashBoard.dashBoardTaskHandler != null) { TakeAwayFragment.TakeAwayHandler .sendEmptyMessage(TakeAwayFragment.TakeAwayHandler .Upate_UI_TAKEWAY_CONFIRM); } } }*/ else if (data.getString("type").equals("restaurant_orders")) { int id = data.getJSONObject("message").getJSONArray("orders").getJSONObject(0).getInt("id"); JSONArray array = data.getJSONObject("message").getJSONArray("orders");// int orderNo = data.getJSONObject("message").getInt("order_no"); String msg = data.getJSONObject("message").getString("message"); long sucess = -1, sucess_deleted_order = -1,sucess1 = -1; if (data.getJSONObject("message").has("deleted_orders")) { sucess_deleted_order = 0; // JSONArray deleted_orders = data.getJSONObject("message").getJSONArray("deleted_orders");//// if(deleted_orders != null )// {// if(deleted_orders.length() > 0)// {// sucess_deleted_order = 0;// sucess_deleted_order = DashBoard.db.deletedOrderFromDatabase(deleted_orders,orderNo);// }// else// {// sucess_deleted_order = 0;// }// }// else// {// sucess_deleted_order = 0;// } } else { sucess_deleted_order = 0; } sucess = DashBoard.db.insertRestaurantOrder(array); JSONObject obj = new JSONObject(); obj.put("restaurant_id",""); obj.put("order_no",orderNo); obj.put("type",1); obj.put("message",msg); sucess1 = DashBoard.db.insertRestorentMessages(obj); if ((sucess == -1) || (sucess_deleted_order == -1) || (sucess1 == -1)) { if (OrderMenuActivity.orderMenuHandler != null) { OrderMenuActivity.orderMenuHandler.sendEmptyMessage(OrderMenuActivity.OrderMenuHandler.OrdernotUpdated); } } else { if (OrderMenuActivity.orderMenuHandler != null) { OrderMenuActivity.orderMenuHandler.sendEmptyMessage(OrderMenuActivity.OrderMenuHandler.OrderUpdated); } if (DineInFragment.dineHandler != null) { DineInFragment.dineHandler.sendEmptyMessage(DineInFragment.DineHandler.Upate_UI); } if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.Upate_UI); } if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler.sendEmptyMessage(TakeAwayFragment.TakeAwayHandler.ShowToastMessage); } /* if (TakeAwayFragment.TakeAwayHandler != null) { TakeAwayFragment.TakeAwayHandler .sendEmptyMessage(TakeAwayFragment.TakeAwayHandler .Upate_UI_TAKEWAY); }*/ } } } catch (Exception e) { Log.d("." + "",e+"\n"+args[0].toString()); e.printStackTrace(); } } }; public Emitter.Listener onId = new Emitter.Listener() { @Override public void call(Object... args) { String id = (String) args[0]; // mListener.onStatusChanged("On Id called " + id); mySocketId = id; JSONObject object = new JSONObject(); try { object.put("type", "insert_userid"); JSONObject messgae = new JSONObject(); messgae.put("SocketId", mySocketId); messgae.put("user_id", DashBoard.user_id); messgae.put("restaurant_id", DashBoard.restaurant_id); object.put("message", messgae); sendMessage(object); } catch (JSONException e) { e.printStackTrace(); } } }; public Emitter.Listener onUpdateChat = new Emitter.Listener() { @Override public void call(Object... args) { String id = (String) args[0]; // myId = id; } }; public Emitter.Listener onLeave = new Emitter.Listener() { @Override public void call(Object... args) { JSONObject data = (JSONObject) args[0]; } }; public Emitter.Listener onBroadcast = new Emitter.Listener() { @Override public void call(Object... args) { // TODO Auto-generated method stub JSONObject data = (JSONObject) args[0]; } }; public Emitter.Listener onDisconnect = new Emitter.Listener() { @Override public void call(Object... args) { Message msg = new Message(); } }; } }
Post Top Ad
Tuesday, 14 January 2020
how to connect socket in android
Subscribe to:
Post Comments (Atom)
Author Details
I’m an Engineer by Education. I am Software engineer,but I’ve been passionate about entrepreneurship and starting my own business.
No comments:
Post a Comment