@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mToolbar = (Toolbar) findViewById(R.id.toolbar);
    mUserName = (TextView) findViewById(R.id.user_name);
    navImg = (ImageView) findViewById(R.id.nav_profile_img);

    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

    ParseUser currentUser = ParseUser.getCurrentUser();

    /*String hash = ChatListAdapter.MD5Util.md5Hex(currentUser.getUsername());
    Log.w("Hash ", " - " + hash);
    Picasso.with(this).load("http://www.gravatar.com/avatar" + hash).into(navImg);*/

    Picasso.with(MainActivity.this)
        .load(ChatListAdapter.getProfileUrl(currentUser.getUsername()))
        .into(navImg);

    drawerFragment =
        (FragmentDrawer)
            getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
    drawerFragment.setUp(
        R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
    drawerFragment.setDrawerListener(this);

    // display the first navigation drawer view on app launch
    displayView(0);
  }
Example #2
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) {
      }
    }
Example #3
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;
  }