liuzhenxing1118 5 сар өмнө
parent
commit
7b3e34bbd6

+ 1 - 0
app/src/main/java/com/sikey/skcontact/activity/ContactActivity.java

@@ -26,6 +26,7 @@ public class ContactActivity extends BaseActionActivity {
         Log.d(TAG, "onCreate: ");
         Log.d(TAG, "onCreate: ");
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_list_title);
         setContentView(R.layout.activity_list_title);
+        setWatchTitle(getString(R.string.app_contact));
         initData();
         initData();
         initView();
         initView();
     }
     }

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

@@ -16,6 +16,8 @@ import com.sikey.skcontact.model.BaseModel;
 import com.sikey.skcontact.model.ContactBean;
 import com.sikey.skcontact.model.ContactBean;
 import com.sikey.skcontact.model.RecentBean;
 import com.sikey.skcontact.model.RecentBean;
 import com.sikey.skcontact.utils.Constant;
 import com.sikey.skcontact.utils.Constant;
+import com.sikey.skcontact.utils.ResUtils;
+import com.sikey.skcontact.utils.ToolsUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -29,6 +31,7 @@ public class RecentActivity extends BaseActionActivity {
         Log.d(TAG, "onCreate: ");
         Log.d(TAG, "onCreate: ");
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_list_title);
         setContentView(R.layout.activity_list_title);
+        setWatchTitle(getString(R.string.app_recent));
         queryRecent(0);
         queryRecent(0);
         initData();
         initData();
         initView();
         initView();
@@ -52,8 +55,11 @@ public class RecentActivity extends BaseActionActivity {
 
 
     private void initData() {
     private void initData() {
         for (int i = 0; i < mRecentList.size(); i++) {
         for (int i = 0; i < mRecentList.size(); i++) {
+            RecentBean bean = mRecentList.get(i);
             BaseModel model = new BaseModel();
             BaseModel model = new BaseModel();
-            model.title = mRecentList.get(i).caller.trim();
+            model.title = bean.caller.trim();
+            model.subTitle = ToolsUtils.getDateStr(this, bean.start, ToolsUtils.getTimeFormat(this));
+            model.icon = getIconId(bean);
             model.cellType = Constant.CellType.ICON_TITLE_SUBTITLE;
             model.cellType = Constant.CellType.ICON_TITLE_SUBTITLE;
             model.isShowArrow = false;
             model.isShowArrow = false;
             mDataList.add(model);
             mDataList.add(model);
@@ -74,4 +80,13 @@ public class RecentActivity extends BaseActionActivity {
             }
             }
         });
         });
     }
     }
+
+    private int getIconId(RecentBean bean) {
+        if (bean.type == 2 || bean.type == 1001) {
+            String resId = "call_type_" + bean.type + "_";
+            return ResUtils.getImageId(resId, bean.duration > 0 ? 1:0);
+        } else {
+            return ResUtils.getImageId("call_type_", bean.type);
+        }
+    }
 }
 }

+ 1 - 1
app/src/main/java/com/sikey/skcontact/manager/DatabaseUtils.java

@@ -110,7 +110,7 @@ public class DatabaseUtils {
 
 
     public static ArrayList<RecentBean> testRecentList() {
     public static ArrayList<RecentBean> testRecentList() {
         ArrayList<RecentBean> recentList = new ArrayList<>();
         ArrayList<RecentBean> recentList = new ArrayList<>();
-        for (int i = 0; i < 20; i++) {
+        for (int i = 1; i < 20; i++) {
             RecentBean model = new RecentBean();
             RecentBean model = new RecentBean();
             model.caller = "1111";
             model.caller = "1111";
             model.type = i;
             model.type = i;

+ 1 - 1
app/src/main/java/com/sikey/skcontact/model/RecentBean.java

@@ -15,7 +15,7 @@ public class RecentBean extends BaseModel {
     //- 42 : income fail, not in contact
     //- 42 : income fail, not in contact
     //- 50 : The other party rejects the call (outgoing)
     //- 50 : The other party rejects the call (outgoing)
     //- 80 : Failed to outgoing due to other reasons (outgoing)
     //- 80 : Failed to outgoing due to other reasons (outgoing)
-    public int type = 0;
+    public int type = 1;
 
 
     public ContactBean contactBean = null;
     public ContactBean contactBean = null;
 }
 }

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

@@ -1,7 +1,7 @@
 package com.sikey.skcontact.utils;
 package com.sikey.skcontact.utils;
 
 
 public class Constant {
 public class Constant {
-    public static String PACKAGE_NAME = "com.xplora.skcontact";
+    public static String PACKAGE_NAME = "com.sikey.skcontact";
     public static String INTENT_VIEW_TYPE = "intent_view_type";
     public static String INTENT_VIEW_TYPE = "intent_view_type";
     public static String INTENT_VIEW_VALUE = "intent_view_value";
     public static String INTENT_VIEW_VALUE = "intent_view_value";
 
 

+ 0 - 5
app/src/main/java/com/sikey/skcontact/utils/ResUtils.java

@@ -21,7 +21,6 @@ public class ResUtils {
     public static int getStringId(String prefix, int index) {
     public static int getStringId(String prefix, int index) {
         StringBuilder builder = new StringBuilder();
         StringBuilder builder = new StringBuilder();
         builder.append(prefix).append(index);
         builder.append(prefix).append(index);
-
         return ResUtils.getResourcesId(builder.toString(), "string");
         return ResUtils.getResourcesId(builder.toString(), "string");
     }
     }
 
 
@@ -37,28 +36,24 @@ public class ResUtils {
     public static int getImageId(String prefix, int index) {
     public static int getImageId(String prefix, int index) {
         StringBuilder builder = new StringBuilder();
         StringBuilder builder = new StringBuilder();
         builder.append(prefix).append(index);
         builder.append(prefix).append(index);
-
         return ResUtils.getResourcesId(builder.toString(), "drawable");
         return ResUtils.getResourcesId(builder.toString(), "drawable");
     }
     }
 
 
     public static int getWidgetId(String prefix, int index) {
     public static int getWidgetId(String prefix, int index) {
         StringBuilder builder = new StringBuilder();
         StringBuilder builder = new StringBuilder();
         builder.append(prefix).append(index);
         builder.append(prefix).append(index);
-
         return ResUtils.getResourcesId(builder.toString(), "id");
         return ResUtils.getResourcesId(builder.toString(), "id");
     }
     }
 
 
     public static int getLayoutId(String prefix, int index) {
     public static int getLayoutId(String prefix, int index) {
         StringBuilder builder = new StringBuilder();
         StringBuilder builder = new StringBuilder();
         builder.append(prefix).append(index);
         builder.append(prefix).append(index);
-
         return ResUtils.getResourcesId(builder.toString(), "layout");
         return ResUtils.getResourcesId(builder.toString(), "layout");
     }
     }
 
 
     public static int getResourcesId(String imageName, String defType) {
     public static int getResourcesId(String imageName, String defType) {
         if (mSaveContext == null)
         if (mSaveContext == null)
             return 0;
             return 0;
-
         return mSaveContext.getResources().getIdentifier(imageName, defType, mSavePackageName);
         return mSaveContext.getResources().getIdentifier(imageName, defType, mSavePackageName);
     }
     }
 
 

+ 44 - 0
app/src/main/java/com/sikey/skcontact/utils/ToolsUtils.java

@@ -5,6 +5,7 @@ import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.BitmapFactory;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.NetworkInfo;
+import android.provider.Settings;
 import android.util.Log;
 import android.util.Log;
 import android.widget.ImageView;
 import android.widget.ImageView;
 
 
@@ -14,6 +15,10 @@ import com.android.internal.telephony.ITelephony;
 
 
 import java.io.FileInputStream;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileNotFoundException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
 
 
 public class ToolsUtils {
 public class ToolsUtils {
     public static String TAG = "losion / skcontact :" + "ToolsUtils";
     public static String TAG = "losion / skcontact :" + "ToolsUtils";
@@ -122,4 +127,43 @@ public class ToolsUtils {
         }
         }
         return ret;
         return ret;
     }
     }
+
+    public static String getDateStr(Context context, int chatTime, int timeFormat) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeInMillis(chatTime * 1000L);
+        int lastYear = calendar.get(Calendar.YEAR);
+        int lastMonth = calendar.get(Calendar.MONTH);
+        int lastDay = calendar.get(Calendar.DAY_OF_MONTH);
+
+        long currentTime = System.currentTimeMillis();
+        calendar.setTimeInMillis(currentTime);
+        int nowYear = calendar.get(Calendar.YEAR);
+        int nowMonth = calendar.get(Calendar.MONTH);
+        int nowDay = calendar.get(Calendar.DAY_OF_MONTH);
+
+        int interval = (int) (currentTime/1000 - chatTime);
+        //今天
+        if (lastYear == nowYear && lastMonth == nowMonth && lastDay == nowDay) {
+            String format = timeFormat == 0 ? "h:mm aa" : "HH:mm";
+            SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());
+            return sdf.format(new Date(chatTime * 1000L));
+        } else if (lastYear != nowYear) {
+            SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy", Locale.getDefault());
+            return sdf.format(new Date(chatTime * 1000L));
+        } else {
+            SimpleDateFormat sdf = new SimpleDateFormat("dd MMM", Locale.getDefault());
+            return sdf.format(new Date(chatTime * 1000L));
+        }
+    }
+
+    public static int getTimeFormat(Context context) {
+        if (Macros.DEBUG) {
+            return 0;
+        }
+        String format = Settings.System.getString(context.getContentResolver(), Settings.System.TIME_12_24);
+        if (format == null || format.equals("")) {
+            format = "24";
+        }
+        return format.equals("24") ? 1 : 0;
+    }
 }
 }

BIN
app/src/main/res/drawable/call_type_1.png


BIN
app/src/main/res/drawable/call_type_1000.png


BIN
app/src/main/res/drawable/call_type_1001_0.png


BIN
app/src/main/res/drawable/call_type_1001_1.png


BIN
app/src/main/res/drawable/call_type_1002.png


BIN
app/src/main/res/drawable/call_type_2_0.png


BIN
app/src/main/res/drawable/call_type_2_1.png


BIN
app/src/main/res/drawable/call_type_3.png


BIN
app/src/main/res/drawable/call_type_4.png


BIN
app/src/main/res/drawable/call_type_5.png


BIN
app/src/main/res/drawable/call_type_6.png


+ 1 - 1
app/src/main/res/layout/activity_list_title.xml

@@ -28,7 +28,7 @@
             android:id="@+id/activity_listview"
             android:id="@+id/activity_listview"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginTop="7dp"
+            android:layout_marginTop="4dp"
             android:layout_marginBottom="3dp"
             android:layout_marginBottom="3dp"
             android:scrollbarThumbVertical="@color/sk_yellow"
             android:scrollbarThumbVertical="@color/sk_yellow"
             >
             >

+ 9 - 4
app/src/main/res/layout/item_icon_title_subtitle.xml

@@ -2,11 +2,16 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="45dp">
+    android:layout_height="45dp"
+    android:paddingTop="2dp"
+    android:paddingBottom="2dp"
+    android:paddingStart="5dp"
+    android:paddingEnd="5dp">
 
 
     <RelativeLayout
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="45dp"
+        android:layout_height="match_parent"
+        android:background="@drawable/bg_gray"
         >
         >
 
 
         <ImageView
         <ImageView
@@ -14,7 +19,7 @@
             android:layout_width="24dp"
             android:layout_width="24dp"
             android:layout_height="24dp"
             android:layout_height="24dp"
             android:layout_centerVertical="true"
             android:layout_centerVertical="true"
-            android:layout_marginStart="12dp"
+            android:layout_marginStart="8dp"
             />
             />
 
 
         <LinearLayout
         <LinearLayout
@@ -23,7 +28,7 @@
             android:layout_centerInParent="true"
             android:layout_centerInParent="true"
             android:orientation="vertical"
             android:orientation="vertical"
             android:layout_toEndOf="@+id/item_icon"
             android:layout_toEndOf="@+id/item_icon"
-            android:layout_marginStart="10dp"
+            android:layout_marginStart="5dp"
             android:layout_toStartOf="@+id/item_detail"
             android:layout_toStartOf="@+id/item_detail"
             android:layout_marginEnd="8dp"
             android:layout_marginEnd="8dp"
             android:layout_alignParentEnd="true"
             android:layout_alignParentEnd="true"

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -2,7 +2,7 @@
     <string name="app_name">SKContact</string>
     <string name="app_name">SKContact</string>
     <string name="app_dial">拨号</string>
     <string name="app_dial">拨号</string>
     <string name="app_contact">联系人</string>
     <string name="app_contact">联系人</string>
-    <string name="app_recent">最近通话</string>
+    <string name="app_recent">通话记录</string>
     <string name="video_call">视频</string>
     <string name="video_call">视频</string>
     <string name="call">电话</string>
     <string name="call">电话</string>
     <string name="calling_interrupt">Call failed!</string>
     <string name="calling_interrupt">Call failed!</string>