Exemple #1
0
    @Override
    public void onReceive(Context context, Intent intent) {
      try {
        String action = intent.getAction();
        String channel = intent.getExtras().getString("com.parse.Channel");
        JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
        String sender = json.getString("email");
        String tripid = json.getString("tripid");
        String message = json.getString("message");

        Log.d("ChatReceiver", sender);
        Log.d("ChatReceiver", message);
        Log.d("ChatReceiver", tripid);
        notify(sender, message, tripid, context);
        DateFormat dateFormat = new SimpleDateFormat("EEE d MMM HH:mm:ss");
        final Calendar cal = Calendar.getInstance();
        cla.add(
            new ChatMessage(
                message, R.drawable.img_antwerpen, sender, dateFormat.format(cal.getTime())));
        cla.notifyDataSetChanged();
      } catch (JSONException e) {
      }
    }
Exemple #2
0
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    try {
      contact = (Contact) getArguments().getSerializable("contact");
    } catch (NullPointerException p) {
      return inflater.inflate(R.layout.selectcontact, container, false);
    }
    View view = inflater.inflate(R.layout.chat, container, false);

    cla = new ChatListAdapter(getActivity(), getChatMessages(), R.layout.chatmessage);
    setListAdapter(cla);
    final EditText editText = (EditText) view.findViewById(R.id.txtChatInput);
    final DateFormat dateFormat = new SimpleDateFormat("EEE d MMM HH:mm:ss");
    final Calendar cal = Calendar.getInstance();
    if (getArguments().containsKey("message")) {
      ChatMessage cm =
          new ChatMessage(
              getArguments().getString("message"),
              R.drawable.img_antwerpen,
              contact.getEmail(),
              dateFormat.format(cal.getTime()));
      cla.add(cm);
      cla.notifyDataSetChanged();
    }
    editText.setOnEditorActionListener(
        new TextView.OnEditorActionListener() {
          @Override
          public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

            ParsePush push = new ParsePush();
            SessionManager sm = new SessionManager(getActivity());

            push.setChannel("user" + contact.getEmail().hashCode());
            // push.setChannel("user" + sm.getEmail().hashCode());

            JSONObject jso = new JSONObject();
            String email = sm.getEmail();
            try {
              jso.put("email", email);
              jso.put("message", editText.getText().toString());
              jso.put("tripid", tripId);
              jso.put("action", "be.kdg.groupcandroid.CHAT");
              push.setData(jso);
              push.sendInBackground();
              cla.add(
                  new ChatMessage(
                      editText.getText().toString(),
                      R.drawable.img_antwerpen,
                      email,
                      dateFormat.format(cal.getTime())));
              cla.notifyDataSetChanged();
              editText.setText("");
            } catch (JSONException e) {
              Toast.makeText(getActivity(), "Error sending text", Toast.LENGTH_SHORT).show();
            }
            return true;
          }
        });
    return view;
  }