/** onActivityResult */ protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); String sign; int position; String meetingId; switch (resultCode) { case ExtraType.RESULT_CODE_ROOM_SETTING_MESSAGE_INVITE: break; case ExtraType.RESULT_CODE_ROOM_SETTING_WEIXIN_INVITE: break; case ExtraType.RESULT_CODE_ROOM_SETTING_COPY_LINK: mCopyLinkDialog = new CopyLinkDialog(this); mCopyLinkDialog.show(); mUIHandler.sendEmptyMessageDelayed(UPDATE_COPY_LINK, 3000); break; case ExtraType.RESULT_CODE_ROOM_SETTING_NOTIFICATION: break; case ExtraType.RESULT_CODE_ROOM_SETTING_RENAME: mReNameFlag = true; sign = TeamMeetingApp.getMyself().getmAuthorization(); position = data.getIntExtra("position", 0); mPosition = position; meetingId = data.getStringExtra("meetingId"); String meetingName = data.getStringExtra("meetingName"); listViewSetScroll(position); Message msg = new Message(); msg.what = UPDATE_RENAME_SHOW; Bundle bundle = new Bundle(); bundle.putInt("position", position); msg.setData(bundle); mUIHandler.sendMessageDelayed(msg, 3000); // mUIHandler.sendEmptyMessageDelayed(UPDATE_RENAME_SHOW, 5500); break; case ExtraType.RESULT_CODE_ROOM_SETTING_DELETE: sign = TeamMeetingApp.getMyself().getmAuthorization(); position = data.getIntExtra("position", 0); meetingId = data.getStringExtra("meetingId"); mNetWork.deleteRoom(sign, meetingId); mRoomData.remove(position); mAdapter.notifyDataSetChanged(); break; default: break; } };
/** inint */ private void inint() { EventBus.getDefault().register(this); mContext = this; mNetWork = new NetWork(this); mSign = TeamMeetingApp.getMyself().getmAuthorization(); mIMM = (InputMethodManager) MainActivity.this.getSystemService(MainActivity.INPUT_METHOD_SERVICE); mRlMain = (RelativeLayout) findViewById(R.id.rl_main); mCreateRoom = (EditText) findViewById(R.id.et_create_room); mRoomCancel = (TextView) findViewById(R.id.tv_cancel_create_room); mListView = (ListView) findViewById(R.id.lv_listView); mGetRoom = (Button) findViewById(R.id.btn_get_room); mGetRoom.setOnClickListener(mOnClickListener); mRoomCancel.setOnClickListener(mOnClickListener); mRoomData = TeamMeetingApp.getMyself().getmRoomList(); mAdapter = new SwipeListAdapter(mContext, mRoomData, mSwipeListOnClick); mListView.setAdapter(mAdapter); mRlMain .getViewTreeObserver() .addOnGlobalLayoutListener( new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { if (isKeyboardShown(mRlMain.getRootView())) { if (mDebug) Log.e(TAG, "isKeyboardShown open keyboard"); mSoftInputFlag = true; } else { if (mDebug) Log.e(TAG, "isKeyboardShown close keyboard"); if (mReNameFlag && mSoftInputFlag) { mUIHandler.sendEmptyMessageDelayed(UPDATE_RENAME_END, 500); mReNameFlag = false; mRoomData.get(mPosition).setmMeetType2(1); } if (mSoftInputFlag) { mCreateRoom.setVisibility(View.GONE); mRoomCancel.setVisibility(View.GONE); mSoftInputFlag = false; } } } }); }
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if (hideKeyboard()) { return false; } if ((System.currentTimeMillis() - mExitTime) > 2000) { Toast.makeText(this, R.string.exit_once_more, 0).show(); mExitTime = System.currentTimeMillis(); } else { String sign = TeamMeetingApp.getMyself().getmAuthorization(); // signout mNetWork.signOut(sign); } return true; } if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { return true; } return super.onKeyDown(keyCode, event); }
/** For EventBus callback. */ public void onEventMainThread(Message msg) { switch (EventType.values()[msg.what]) { case MSG_SIGNOUT_SUCCESS: if (mDebug) Log.e(TAG, "MSG_SIGNOUT_SUCCESS"); finish(); System.exit(0); break; case MSG_SIGNOUT_FAILED: if (mDebug) Log.e(TAG, "MSG_SIGNOUT_FAILED"); break; case MSG_GET_ROOM_LIST_SUCCESS: if (mDebug) Log.e(TAG, "MSG_GET_ROOM_LIST_SUCCESS"); mRoomData.clear(); mRoomData.addAll(TeamMeetingApp.getMyself().getmRoomList()); mAdapter.notifyDataSetChanged(); if (mCreateRoomFlag) { Intent intent = new Intent(MainActivity.this, InvitePeopleActivity.class); startActivity(intent); overridePendingTransition(R.anim.activity_open_enter, R.anim.activity_open_exit); mCreateRoomFlag = false; } break; case MSG_GET_ROOM_LIST_FAILED: if (mDebug) Log.e(TAG, "MSG_GET_ROOM_LIST_FAILED"); break; case MSG_APPLY_ROOM_SUCCESS: if (mDebug) Log.e(TAG, "MSG_APPLY_ROOM_SUCCESS"); mNetWork.getRoomList(mSign, 1 + "", 20 + ""); break; case MSG_APPLY_ROOMT_FAILED: if (mDebug) Log.e(TAG, "MSG_APPLY_ROOMT_FAILED"); break; case MSG_UPDATE_MEET_ROOM_NAME_SUCCESS: if (mDebug) Log.e(TAG, "MSG_UPDATE_MEET_ROOM_NAME_SUCCESS"); break; case MSG_UPDATE_MEET_ROOM_NAME_FAILED: if (mDebug) Log.e(TAG, "MSG_UPDATE_MEET_ROOM_NAME_FAILED"); break; default: break; } }
@Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { String roomName = mCreateRoom.getText().toString(); if (roomName.length() == 0 || roomName == null) { roomName = "Untitled room"; } String sign = TeamMeetingApp.getMyself().getmAuthorization(); mNetWork.applyRoom(sign, roomName, "0", "", "123"); mAdapter.notifyDataSetChanged(); mIMM.hideSoftInputFromWindow(mCreateRoom.getWindowToken(), 0); mCreateRoom.setVisibility(View.GONE); mRoomCancel.setVisibility(View.GONE); mCreateRoomFlag = true; return false; }
@Override public void onItemClickListener(View v, int position) { // TODO Auto-generated method stub String sign; String meetingId; String meetingName; if (hideKeyboard()) { return; } Intent intent; switch (v.getId()) { case R.id.fl_front: meetingName = mRoomData.get(position).getmMeetName(); intent = new Intent(mContext, MeetingActivity.class); intent.putExtra("meetingName", meetingName); mContext.startActivity(intent); break; case R.id.btn_delete: sign = TeamMeetingApp.getMyself().getmAuthorization(); meetingId = mRoomData.get(position).getmMeetingId(); mNetWork.deleteRoom(sign, meetingId); mRoomData.remove(position); mAdapter.notifyDataSetChanged(); break; case R.id.imgbtn_more_setting: intent = new Intent(mContext, RoomSettingActivity.class); meetingName = mRoomData.get(position).getmMeetName(); meetingId = mRoomData.get(position).getmMeetingId(); intent.putExtra("meetingName", meetingName); intent.putExtra("meetingId", meetingId); intent.putExtra("position", position); startActivityForResult(intent, ExtraType.REQUEST_CODE_ROOM_SETTING); ((Activity) mContext) .overridePendingTransition(R.anim.activity_open_enter, R.anim.activity_open_exit); break; case R.id.et_rename: EditText reName = (EditText) v.findViewById(R.id.et_rename); String newName = reName.getText().toString(); String oldName = mRoomData.get(position).getmMeetName(); if (!newName.equals(oldName)) { sign = TeamMeetingApp.getMyself().getmAuthorization(); meetingId = mRoomData.get(position).getmMeetingId(); mNetWork.updateMeetRoomName(sign, meetingId, newName); mRoomData.get(position).setmMeetName(newName); } mRoomData.get(position).setmMeetType2(1); mIMM.hideSoftInputFromWindow(reName.getWindowToken(), 0); mUIHandler.sendEmptyMessageDelayed(UPDATE_RENAME_END, 500); mReNameFlag = false; break; default: break; } }