liuzhenxing1118 5 mesiacov pred
rodič
commit
7a87925eef

+ 19 - 8
app/src/main/java/com/sikey/skcontact/activity/BaseCallActivity.java → app/src/main/java/com/sikey/skcontact/activity/BaseActionActivity.java

@@ -1,28 +1,27 @@
 package com.sikey.skcontact.activity;
 
+import android.content.ComponentName;
 import android.content.Intent;
 import android.net.Uri;
 import android.util.Log;
 
 import com.sikey.skcontact.ContactApplication;
 import com.sikey.skcontact.R;
+import com.sikey.skcontact.model.BaseModel;
 import com.sikey.skcontact.utils.Constant;
 import com.sikey.skcontact.utils.ToolsUtils;
 
-public class BaseCallActivity extends BaseActivity {
+public class BaseActionActivity extends BaseActivity {
 
-    public void showCall(String name, String code, String phoneNumber, String callNumber, int isSupportVideo) {
+    public void showCall(int type, BaseModel model) {
         Intent intent = new Intent(this, CallActivity.class);
-        intent.putExtra(Constant.INTENT_NAME, name);
-        intent.putExtra(Constant.INTENT_CODE, code);
-        intent.putExtra(Constant.INTENT_PHONENUMBER, phoneNumber);
-        intent.putExtra(Constant.INTENT_CALLNUMBER, callNumber);
-        intent.putExtra(Constant.INTENT_VIDEO, isSupportVideo);
+        intent.putExtra(Constant.INTENT_VIEW_TYPE, type);
+        intent.putExtra(Constant.INTENT_VIEW_VALUE, model);
         startActivity(intent);
     }
 
     public void callAction(String countryCode, String phoneNumber, String callNumber) {
-        Log.d(TAG, "onRecentContactClick: " + " countryCode:" + countryCode + "  phoneNumber:" + phoneNumber + "  callNumber:" + callNumber );
+        Log.d(TAG, "callAction: " + " countryCode:" + countryCode + "  phoneNumber:" + phoneNumber + "  callNumber:" + callNumber );
         //判断是否为紧急号码
         if (ToolsUtils.isUrgencyNumber(phoneNumber)) {
             callNumber = phoneNumber;
@@ -42,4 +41,16 @@ public class BaseCallActivity extends BaseActivity {
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         startActivity(intent);
     }
+
+    public void onVideo(String userId) {
+        Log.d(TAG, "onVideo: ");
+        String pkg = "com.xplora.xpvideo";
+        String cls = pkg + ".activity.MainActivity";
+        ComponentName componet = new ComponentName(pkg, cls);
+        Intent intent = new Intent();
+        intent.putExtra("ExtraVideoType", 1); //0:呼入 1:呼出
+        intent.putExtra("ExtraVideoTargetId", userId);
+        intent.setComponent(componet);
+        startActivity(intent);
+    }
 }

+ 2 - 3
app/src/main/java/com/sikey/skcontact/activity/BaseInputActivity.java

@@ -1,4 +1,4 @@
-package com.sikey.xpcontact.activity;
+package com.sikey.skcontact.activity;
 
 import android.os.Bundle;
 import android.view.View;
@@ -7,9 +7,8 @@ import android.widget.ImageButton;
 import android.widget.TextView;
 
 import com.sikey.skcontact.R;
-import com.sikey.skcontact.activity.BaseCallActivity;
 
-public class BaseInputActivity extends BaseCallActivity {
+public class BaseInputActivity extends BaseActionActivity {
     public String mInput = "";
     private TextView mTextView = null;
     private int mInputMax = 32;

+ 27 - 18
app/src/main/java/com/sikey/skcontact/activity/CallActivity.java

@@ -1,19 +1,21 @@
 package com.sikey.skcontact.activity;
 
+import android.annotation.SuppressLint;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.sikey.skcontact.R;
+import com.sikey.skcontact.model.BaseModel;
+import com.sikey.skcontact.model.ContactBean;
+import com.sikey.skcontact.model.RecentBean;
 import com.sikey.skcontact.utils.Constant;
 
-public class CallActivity extends BaseCallActivity {
-    private String mName = "";
-    private String mCode = "";
-    private String mPhoneNumber = "";
-    private String mCallNumber = "";
-    private int isSupportVideo = 0;
+public class CallActivity extends BaseActionActivity {
+    private int mType = 0;
+    private ContactBean mContactModel = new ContactBean();
+    private RecentBean mRecentModel = new RecentBean();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -24,32 +26,39 @@ public class CallActivity extends BaseCallActivity {
     }
 
     private void initData() {
-        mName = getIntent().getStringExtra(Constant.INTENT_NAME);
-        mCode = getIntent().getStringExtra(Constant.INTENT_CODE);
-        mPhoneNumber = getIntent().getStringExtra(Constant.INTENT_PHONENUMBER);
-        mCallNumber = getIntent().getStringExtra(Constant.INTENT_CALLNUMBER);
-        isSupportVideo = getIntent().getIntExtra(Constant.INTENT_VIDEO, 0);
+        mType = getIntent().getIntExtra(Constant.INTENT_VIEW_TYPE, 0);
+        BaseModel model = (BaseModel) getIntent().getSerializableExtra(Constant.INTENT_VIEW_VALUE);
+        if (mType == 0) {
+            mContactModel = (ContactBean)model;
+        } else {
+            mRecentModel = (RecentBean) model;
+        }
     }
 
+    @SuppressLint("SetTextI18n")
     private void initView() {
         TextView nameTv = findViewById(R.id.nameTv);
         TextView hintTv = findViewById(R.id.hintTv);
         LinearLayout videoLayout = findViewById(R.id.videoLayout);
         LinearLayout callLayout = findViewById(R.id.callLayout);
 
-        nameTv.setText(mName);
-        if (mCallNumber.length() > 0) {
-            hintTv.setText(mCallNumber);
+        if (mType == 0) {
+            nameTv.setText(mContactModel.name);
+            hintTv.setText(mContactModel.countryPN +" " + mContactModel.phoneNumber);
+            videoLayout.setVisibility(mContactModel.isVideo > 0 ? View.VISIBLE : View.GONE);
         } else {
-            hintTv.setText(mCode +" " + mPhoneNumber);
+            hintTv.setText(mRecentModel.caller);
         }
 
-        videoLayout.setVisibility(isSupportVideo > 0 ? View.VISIBLE : View.GONE);
         videoLayout.setOnClickListener(v -> {
-
+            onVideo("");
         });
         callLayout.setOnClickListener(v -> {
-            callAction(mCode, mPhoneNumber, mCallNumber);
+            if (mType == 0) {
+                callAction(mContactModel.countryPN, mContactModel.phoneNumber, "");
+            } else {
+                callAction("", "", mRecentModel.caller);
+            }
         });
     }
 }

+ 2 - 4
app/src/main/java/com/sikey/skcontact/activity/ContactActivity.java

@@ -1,10 +1,8 @@
 package com.sikey.skcontact.activity;
 
-import android.content.Intent;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
-import android.telecom.Call;
 import android.util.Log;
 import android.view.View;
 import android.widget.AdapterView;
@@ -19,7 +17,7 @@ import com.sikey.skcontact.utils.Constant;
 
 import java.util.ArrayList;
 
-public class ContactActivity extends BaseCallActivity {
+public class ContactActivity extends BaseActionActivity {
     public final String TAG = "losion / skcontact :" + getClass().getSimpleName();
     private ArrayList<ContactBean> mContactList = new ArrayList<>();
 
@@ -53,7 +51,7 @@ public class ContactActivity extends BaseCallActivity {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 ContactBean bean = mContactList.get(position);
-                showCall(bean.name, bean.countryPN, bean.phoneNumber, "", bean.isVideo);
+                showCall(0, bean);
             }
         });
     }

+ 4 - 2
app/src/main/java/com/sikey/skcontact/activity/DialActivity.java

@@ -1,12 +1,14 @@
 package com.sikey.skcontact.activity;
 
-import com.sikey.xpcontact.activity.BaseInputActivity;
+import com.sikey.skcontact.model.RecentBean;
 
 public class DialActivity extends BaseInputActivity {
 
     @Override
     protected void onSureClick(String value) {
         super.onSureClick(value);
-        showCall("", "", "", value, 0);
+        RecentBean bean = new RecentBean();
+        bean.caller = value;
+        showCall(2, bean);
     }
 }

+ 2 - 2
app/src/main/java/com/sikey/skcontact/activity/RecentActivity.java

@@ -20,7 +20,7 @@ import com.sikey.skcontact.utils.Constant;
 import java.util.ArrayList;
 import java.util.List;
 
-public class RecentActivity extends BaseCallActivity {
+public class RecentActivity extends BaseActionActivity {
     public final String TAG = "losion / skcontact :" + getClass().getSimpleName();
     public static List<RecentBean> mRecentList = new ArrayList<>();
 
@@ -70,7 +70,7 @@ public class RecentActivity extends BaseCallActivity {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 RecentBean bean = mRecentList.get(position);
-                showCall("", "", "", bean.caller, 0);
+                showCall(1, bean);
             }
         });
     }

+ 2 - 25
app/src/main/java/com/sikey/skcontact/utils/Constant.java

@@ -2,37 +2,14 @@ package com.sikey.skcontact.utils;
 
 public class Constant {
     public static String PACKAGE_NAME = "com.xplora.skcontact";
-    public static String INTENT_NAME = "intent_name";
-    public static String INTENT_CODE = "intent_code";
-    public static String INTENT_PHONENUMBER = "INTENT_PHONENUMBER";
-    public static String INTENT_CALLNUMBER = "INTENT_CALLNUMBER";
-    public static String INTENT_VIDEO = "intent_video";
+    public static String INTENT_VIEW_TYPE = "intent_view_type";
+    public static String INTENT_VIEW_VALUE = "intent_view_value";
 
     public enum CellType {
         TITLE,
         TITLE_SUBTITLE,
-        TITLE_CENTER,
-        TITLE_EDIT,
-        TITLE_APN,
         ICON_TITLE,
         ICON_TITLE_SUBTITLE,
-        ICON_TITLE_CENTER,
-        PROGRESS_TITLE,
-        PROGRESS_TITLE_SUBTITLE,
-        XPSTYLE,
-        XPSTYLE2,
-        SWITCH,
-        SWITCH_RIGHT,
-        SWITCH_FOOTER,
-        CHECKBOX,
-        CHECKBOX_HIGHLIGHT,
-        REFRESH,
-        CANCEL_SURE,
-        APN_ADD,
-        SURE,
-        MESSAGE,
-        EMPTY,
-        EMPTY2,
         GONE,
     }
 }

+ 1 - 0
app/src/main/res/layout/activity_call.xml

@@ -46,6 +46,7 @@
             android:layout_height="wrap_content"
             android:layout_marginStart="25dp"
             android:orientation="vertical"
+            android:visibility="gone"
             >
             <ImageButton
                 android:layout_width="50dp"