@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); }
@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) { } }
@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; }