CallActivity.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.sikey.skphone.activity;
  2. import android.annotation.SuppressLint;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.ImageView;
  6. import android.widget.LinearLayout;
  7. import android.widget.TextView;
  8. import com.google.gson.Gson;
  9. import com.sikey.skphone.R;
  10. import com.sikey.skphone.model.BaseModel;
  11. import com.sikey.skphone.model.ContactBean;
  12. import com.sikey.skphone.model.RecentBean;
  13. import com.sikey.skphone.utils.Constant;
  14. import com.sikey.skphone.utils.ToolsUtils;
  15. public class CallActivity extends BaseActionActivity {
  16. private int mType = 0;
  17. private ContactBean mContactModel = new ContactBean();
  18. private RecentBean mRecentModel = new RecentBean();
  19. @Override
  20. protected void onCreate(Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.activity_call);
  23. initData();
  24. initView();
  25. }
  26. private void initData() {
  27. Gson gson = new Gson();
  28. mType = getIntent().getIntExtra(Constant.INTENT_VIEW_TYPE, 0);
  29. String value = getIntent().getStringExtra(Constant.INTENT_VIEW_VALUE);
  30. if (mType == 0) {
  31. mContactModel = gson.fromJson(value, ContactBean.class);
  32. } else {
  33. mRecentModel = gson.fromJson(value, RecentBean.class);
  34. mContactModel = mRecentModel.contactBean;
  35. }
  36. }
  37. @SuppressLint("SetTextI18n")
  38. private void initView() {
  39. ImageView headImage = findViewById(R.id.headImage);
  40. TextView nameTv = findViewById(R.id.nameTv);
  41. TextView hintTv = findViewById(R.id.hintTv);
  42. LinearLayout videoLayout = findViewById(R.id.videoLayout);
  43. LinearLayout callLayout = findViewById(R.id.callLayout);
  44. //如果联系人 || 通话记录匹配到联系人
  45. if (mType == 0 || (mType == 1 && mContactModel != null)) {
  46. ToolsUtils.setImageView(headImage, mContactModel.profilePath, 0, R.drawable.default_contact);
  47. nameTv.setText(mContactModel.name);
  48. hintTv.setText(mContactModel.countryPN +" " + mContactModel.phoneNumber);
  49. videoLayout.setVisibility(mContactModel.isVideo > 0 ? View.VISIBLE : View.GONE);
  50. } else {
  51. hintTv.setText(mRecentModel.caller);
  52. }
  53. videoLayout.setOnClickListener(v -> {
  54. onVideo("");
  55. });
  56. callLayout.setOnClickListener(v -> {
  57. if (mType == 0) {
  58. callAction(mContactModel.countryPN, mContactModel.phoneNumber, "");
  59. } else {
  60. callAction("", "", mRecentModel.caller);
  61. }
  62. });
  63. }
  64. }