ソースを参照

解决测试提交bug除工作模块中闪退问题

gongpm 10 年 前
コミット
24a639d98e

+ 15 - 13
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/PublicMessageAdapter.java

@@ -24,41 +24,42 @@ import com.android.volley.Response.ErrorListener;
 import com.android.volley.VolleyError;
 import com.android.volley.VolleyError;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.xzjmyk.pm.activity.AppConstant;
 import com.xzjmyk.pm.activity.AppConstant;
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.audio.AudioPalyer;
 import com.xzjmyk.pm.activity.audio.AudioPalyer;
+import com.xzjmyk.pm.activity.bean.Friend;
+import com.xzjmyk.pm.activity.bean.circle.Comment;
 import com.xzjmyk.pm.activity.bean.circle.Praise;
 import com.xzjmyk.pm.activity.bean.circle.Praise;
+import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
+import com.xzjmyk.pm.activity.bean.circle.PublicMessage.Body;
+import com.xzjmyk.pm.activity.bean.circle.PublicMessage.Resource;
 import com.xzjmyk.pm.activity.db.dao.CircleMessageDao;
 import com.xzjmyk.pm.activity.db.dao.CircleMessageDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.MainActivity;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.circle.BusinessCircleActivity;
 import com.xzjmyk.pm.activity.ui.circle.BusinessCircleActivity;
+import com.xzjmyk.pm.activity.ui.circle.BusinessCircleFragment;
+import com.xzjmyk.pm.activity.ui.circle.BusinessCircleFragment.ListenerAudioFragment;
 import com.xzjmyk.pm.activity.ui.circle.PMsgDetailActivity;
 import com.xzjmyk.pm.activity.ui.circle.PMsgDetailActivity;
+import com.xzjmyk.pm.activity.ui.circle.showCEView;
 import com.xzjmyk.pm.activity.ui.tool.MultiImagePreviewActivity;
 import com.xzjmyk.pm.activity.ui.tool.MultiImagePreviewActivity;
 import com.xzjmyk.pm.activity.ui.tool.SingleImagePreviewActivity;
 import com.xzjmyk.pm.activity.ui.tool.SingleImagePreviewActivity;
 import com.xzjmyk.pm.activity.util.HtmlUtils;
 import com.xzjmyk.pm.activity.util.HtmlUtils;
 import com.xzjmyk.pm.activity.util.LinkMovementClickMethod;
 import com.xzjmyk.pm.activity.util.LinkMovementClickMethod;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.StringUtils;
-import com.xzjmyk.pm.activity.util.TimeUtils;
-import com.xzjmyk.pm.activity.view.MyGridView;
-import com.xzjmyk.pm.activity.MyApplication;
-import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.bean.Friend;
-import com.xzjmyk.pm.activity.bean.circle.Comment;
-import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
-import com.xzjmyk.pm.activity.bean.circle.PublicMessage.Body;
-import com.xzjmyk.pm.activity.bean.circle.PublicMessage.Resource;
-import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.circle.BusinessCircleFragment;
-import com.xzjmyk.pm.activity.ui.circle.BusinessCircleFragment.ListenerAudioFragment;
-import com.xzjmyk.pm.activity.ui.circle.showCEView;
 import com.xzjmyk.pm.activity.util.SystemUtil;
 import com.xzjmyk.pm.activity.util.SystemUtil;
+import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.util.ToastUtil;
+import com.xzjmyk.pm.activity.view.MyGridView;
 import com.xzjmyk.pm.activity.view.OperationMorePopWindow;
 import com.xzjmyk.pm.activity.view.OperationMorePopWindow;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -685,6 +686,7 @@ public class PublicMessageAdapter extends BaseAdapter implements BusinessCircleA
         public CommentAdapter(int messagePosition, List<Comment> datas) {
         public CommentAdapter(int messagePosition, List<Comment> datas) {
             this.messagePosition = messagePosition;
             this.messagePosition = messagePosition;
             this.datas = datas;
             this.datas = datas;
+            Collections.reverse(datas);
         }
         }
 
 
         @Override
         @Override

+ 56 - 24
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BusinessCircleActivity.java

@@ -4,11 +4,13 @@ import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.Environment;
+import android.provider.MediaStore;
 import android.text.TextUtils;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.MenuItem;
@@ -28,9 +30,6 @@ import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.assist.PauseOnScrollListener;
 import com.nostra13.universalimageloader.core.assist.PauseOnScrollListener;
 import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.AppConfig;
-import com.xzjmyk.pm.activity.db.dao.MyPhotoDao;
-import com.xzjmyk.pm.activity.util.CameraUtil;
-import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
 import com.xzjmyk.pm.activity.AppConstant;
 import com.xzjmyk.pm.activity.AppConstant;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
@@ -40,21 +39,25 @@ import com.xzjmyk.pm.activity.bean.circle.Comment;
 import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
 import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
 import com.xzjmyk.pm.activity.db.dao.CircleMessageDao;
 import com.xzjmyk.pm.activity.db.dao.CircleMessageDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
+import com.xzjmyk.pm.activity.db.dao.MyPhotoDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.helper.FileDataHelper;
 import com.xzjmyk.pm.activity.helper.FileDataHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.tool.MultiImagePreviewActivity;
+import com.xzjmyk.pm.activity.util.CameraUtil;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.util.ToastUtil;
-import com.xzjmyk.pm.activity.view.CarouselImageView;
 import com.xzjmyk.pm.activity.view.PMsgBottomView;
 import com.xzjmyk.pm.activity.view.PMsgBottomView;
 import com.xzjmyk.pm.activity.view.ResizeLayout;
 import com.xzjmyk.pm.activity.view.ResizeLayout;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.Result;
+import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 
 
 import java.io.File;
 import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
@@ -91,6 +94,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
     private String mUserId;
     private String mUserId;
     private String mNickName;
     private String mNickName;
     public showCEView ceView;
     public showCEView ceView;
+    private File vFile;
 
 
     public void setShowCEViewListener(showCEView ceView) {
     public void setShowCEViewListener(showCEView ceView) {
         this.ceView = ceView;
         this.ceView = ceView;
@@ -331,12 +335,20 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
             }
             }
         });
         });
         //   loadPhotos();
         //   loadPhotos();
+
         String url = PreferenceUtils.getString(this, HEAD_PHONE, "o");
         String url = PreferenceUtils.getString(this, HEAD_PHONE, "o");
-        if (url != null && !url.equals("o")) {
-            if (new File(url).isFile())
-                ImageLoader.getInstance().displayImage(url, imgHead);
-            else
+        File file = new File(url);
+        if (isMyBusiness() || isMySpace()) {
+            if (url != null && !url.equals("o")) {
+                if (file.exists()) {
+                    imgHead.setImageBitmap(BitmapFactory.decodeFile(url));
+//                    ImageLoader.getInstance().displayImage(url, imgHead);
+                } else {
+                    imgHead.setImageResource(R.drawable.qzone_phone);
+                }
+            } else {
                 imgHead.setImageResource(R.drawable.qzone_phone);
                 imgHead.setImageResource(R.drawable.qzone_phone);
+            }
         } else {
         } else {
             imgHead.setImageResource(R.drawable.qzone_phone);
             imgHead.setImageResource(R.drawable.qzone_phone);
         }
         }
@@ -363,9 +375,34 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
     private static final int REQUEST_CODE_PICK_CROP_PHOTO = 4;
     private static final int REQUEST_CODE_PICK_CROP_PHOTO = 4;
     private Uri mNewPhotoUri;
     private Uri mNewPhotoUri;
 
 
-    private void takePhoto() {
-        mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, CameraUtil.MEDIA_TYPE_IMAGE);
-        CameraUtil.captureImage(this, mNewPhotoUri, REQUEST_CODE_CAPTURE_CROP_PHOTO);
+    public void takePhoto() {
+        Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+        startActivityForResult(openCameraIntent, REQUEST_CODE_CAPTURE_CROP_PHOTO);
+    }
+
+    public void saveBitmap(Bitmap bitmap) {
+        if (vFile == null)
+            vFile = new File(Environment.getExternalStorageDirectory()
+                    + "/Android/data/com.xzjmyk.pm.activity/files/Pictures/", "backhead.jpg");
+        if (!vFile.exists()) {
+            File vDirPath = vFile.getParentFile();
+            vDirPath.mkdirs();
+        } else {
+            if (vFile.exists()) {
+                vFile.delete();
+            }
+        }
+        try {
+            FileOutputStream out = new FileOutputStream(vFile);
+            bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
+            PreferenceUtils.putString(this, HEAD_PHONE, vFile.toString());
+            out.flush();
+            out.close();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
     }
 
 
     private void selectPhoto() {
     private void selectPhoto() {
@@ -467,7 +504,6 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
     private static final int REQUEST_CODE_CROP_PHOTO = 3;
     private static final int REQUEST_CODE_CROP_PHOTO = 3;
 
 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
         if (requestCode == REQUEST_CODE_SEND_MSG) {
         if (requestCode == REQUEST_CODE_SEND_MSG) {
             if (resultCode == Activity.RESULT_OK) {// 发说说成功
             if (resultCode == Activity.RESULT_OK) {// 发说说成功
                 String messageId = data.getStringExtra(AppConstant.EXTRA_MSG_ID);
                 String messageId = data.getStringExtra(AppConstant.EXTRA_MSG_ID);
@@ -476,14 +512,10 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
             }
             }
         } else if (requestCode == REQUEST_CODE_CAPTURE_CROP_PHOTO) {// 拍照返回再去裁减
         } else if (requestCode == REQUEST_CODE_CAPTURE_CROP_PHOTO) {// 拍照返回再去裁减
             if (resultCode == Activity.RESULT_OK) {
             if (resultCode == Activity.RESULT_OK) {
-                if (mNewPhotoUri != null) {
-                    Uri o = mNewPhotoUri;
-                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, CameraUtil.MEDIA_TYPE_IMAGE);
-                    mCurrentFile = new File(mNewPhotoUri.getPath());
-                    CameraUtil.cropImage(this, o, mNewPhotoUri, REQUEST_CODE_CROP_PHOTO, 1, 1, 300, 300);
-                } else {
-                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
-                }
+                Bitmap bitmap = (Bitmap) data.getExtras().get("data");
+                imgHead.setImageBitmap(bitmap);
+                saveBitmap(bitmap);
+
             }
             }
         } else if (requestCode == REQUEST_CODE_PICK_CROP_PHOTO) {// 选择一张图片,然后立即调用裁减
         } else if (requestCode == REQUEST_CODE_PICK_CROP_PHOTO) {// 选择一张图片,然后立即调用裁减
             if (resultCode == Activity.RESULT_OK) {
             if (resultCode == Activity.RESULT_OK) {
@@ -502,7 +534,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
                 if (mNewPhotoUri != null) {
                 if (mNewPhotoUri != null) {
                     mCurrentFile = new File(mNewPhotoUri.getPath());
                     mCurrentFile = new File(mNewPhotoUri.getPath());
                     ImageLoader.getInstance().displayImage(mNewPhotoUri.toString(), imgHead);
                     ImageLoader.getInstance().displayImage(mNewPhotoUri.toString(), imgHead);
-                    PreferenceUtils.putString(this, HEAD_PHONE, mNewPhotoUri.toString());
+                    PreferenceUtils.putString(this, HEAD_PHONE, mCurrentFile.toString());
                 } else {
                 } else {
                     ToastUtil.showToast(this, mNewPhotoUri.toString());
                     ToastUtil.showToast(this, mNewPhotoUri.toString());
                 }
                 }
@@ -703,7 +735,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
                         message.setComments(comments);
                         message.setComments(comments);
                     }
                     }
                     comment.setCommentId(result.getData());
                     comment.setCommentId(result.getData());
-                    comments.add(0, comment);
+                    comments.add(0,comment);//  防止评论时候显示在第一个位置
                     mAdapter.notifyDataSetChanged();
                     mAdapter.notifyDataSetChanged();
                 }
                 }
             }
             }

+ 19 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/InstantMessageActivity.java

@@ -14,16 +14,17 @@ import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.xzjmyk.pm.activity.bean.message.ChatMessage;
-import com.xzjmyk.pm.activity.db.dao.FriendDao;
-import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.AppConstant;
 import com.xzjmyk.pm.activity.AppConstant;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.Friend;
 import com.xzjmyk.pm.activity.bean.Friend;
+import com.xzjmyk.pm.activity.bean.message.ChatMessage;
+import com.xzjmyk.pm.activity.db.dao.FriendDao;
+import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.util.Constants;
 import com.xzjmyk.pm.activity.util.Constants;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 public class InstantMessageActivity extends BaseActivity implements OnClickListener {
 public class InstantMessageActivity extends BaseActivity implements OnClickListener {
@@ -45,8 +46,22 @@ public class InstantMessageActivity extends BaseActivity implements OnClickListe
 
 
     }
     }
 
 
+    private List<Friend> friendTmpe;
+
     private void loadData() {
     private void loadData() {
-        friends = FriendDao.getInstance().getNearlyFriendMsg(MyApplication.getInstance().mLoginUser.getUserId());
+        friendTmpe = FriendDao.getInstance().getNearlyFriendMsg(MyApplication.getInstance().mLoginUser.getUserId());
+        if (friends != null)
+            friends.clear();
+        else {
+            friends = new ArrayList<>();
+        }
+        for (int i = 0; i < friendTmpe.size(); i++) {
+            if (!"待审批流程".equals(friendTmpe.get(i).getNickName()) && !"我的任务".equals(friendTmpe.get(i).getNickName())
+                    && !"通知公告".equals(friendTmpe.get(i).getNickName()) && !"新朋友消息".equals(friendTmpe.get(i).getNickName())
+                    && !"系统消息".equals(friendTmpe.get(i).getNickName())) {
+                friends.add(friendTmpe.get(i));
+            }
+        }
     }
     }
 
 
     private void initView() {
     private void initView() {
@@ -161,7 +176,6 @@ public class InstantMessageActivity extends BaseActivity implements OnClickListe
     }
     }
 
 
     private class MessageRecentlyAdapter extends BaseAdapter {
     private class MessageRecentlyAdapter extends BaseAdapter {
-
         @Override
         @Override
         public int getCount() {
         public int getCount() {
             if (friends != null) {
             if (friends != null) {

+ 8 - 16
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SelectActivity.java

@@ -5,7 +5,6 @@ import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.app.AppCompatActivity;
 import android.text.Editable;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.text.TextWatcher;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
@@ -48,7 +47,6 @@ public class SelectActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_select);
         setContentView(R.layout.activity_select);
-
         initView();
         initView();
     }
     }
 
 
@@ -61,6 +59,7 @@ public class SelectActivity extends AppCompatActivity {
         listView = (ListView) findViewById(R.id.listview);
         listView = (ListView) findViewById(R.id.listview);
         init();
         init();
         loadMembers();
         loadMembers();
+        editText.setVisibility(View.GONE);
         editText.addTextChangedListener(new TextWatcher() {
         editText.addTextChangedListener(new TextWatcher() {
             @Override
             @Override
             public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
             public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@@ -69,26 +68,19 @@ public class SelectActivity extends AppCompatActivity {
 
 
             @Override
             @Override
             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-                int length = charSequence.length();
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable editable) {
                 String name;
                 String name;
                 String anme;
                 String anme;
                 mMembers.clear();
                 mMembers.clear();
-                for (int k = 0; k < mMember.size(); k++) {
-                    name = mMember.get(k).getNickName();
-                    anme = name.substring(0, (name.length() > length ? length : name.length()));
-                    if (anme.equals(charSequence.toString())) {
-                        Log.i("gongpengming","anme="+anme+"  name="+name);
-                        mMembers.add(mMember.get(k));
-                    }else{
-                        Log.i("gongpengming","anme="+anme+"  name="+name);
-                    }
+                for (int j = 0; j < mMember.size(); j++) {
                 }
                 }
-                adapter.notifyDataSetChanged();
-            }
 
 
-            @Override
-            public void afterTextChanged(Editable editable) {
 
 
+//                adapter.notifyDataSetChanged();
             }
             }
         });
         });
     }
     }

+ 232 - 232
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SelectNewContactsActivity.java

@@ -34,7 +34,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
- * 
  * @项目名称: SkWeiChat-Baidu
  * @项目名称: SkWeiChat-Baidu
  * @包名: com.xzjmyk.pm.activity.ui.message
  * @包名: com.xzjmyk.pm.activity.ui.message
  * @作者:王阳
  * @作者:王阳
@@ -46,74 +45,74 @@ import java.util.List;
  * @修改的内容: TODO
  * @修改的内容: TODO
  */
  */
 public class SelectNewContactsActivity extends BaseActivity implements OnClickListener {
 public class SelectNewContactsActivity extends BaseActivity implements OnClickListener {
-	private PullToRefreshListView mPullToRefreshListView;
-	private TextView mTextDialog;
-	private SideBar mSideBar;
-	private ProgressDialog mProgressDialog;
-	private List<BaseSortModel<Friend>> mSortFriends;
-	private BaseComparator<Friend> mBaseComparator;
-	private FriendSortAdapter mAdapter;
-	private String mLoginUserId;
-	private Handler mHandler = new Handler();
-	private ChatMessage message;
-	public static final String BROADCOAST_SENDMESSAGE_ACTION = "broadcoast_sendmessage_action";
-
-	@Override
-	protected void onCreate(Bundle savedInstanceState) {
-		// TODO Auto-generated method stub
-		super.onCreate(savedInstanceState);
-		setContentView(R.layout.activity_newchat_person_selected);
-		mSortFriends = new ArrayList<BaseSortModel<Friend>>();
-		mBaseComparator = new BaseComparator<Friend>();
-		mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
-		message = (ChatMessage) getIntent().getParcelableExtra(Constants.INSTANT_MESSAGE);
-
-		initView();
-	}
-
-	private void initView() {
-		getSupportActionBar().setTitle("选择联系人");
-		mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
-		View headView = View.inflate(this, R.layout.item_headview_creategroup_chat,null);
-		mPullToRefreshListView.getRefreshableView().addHeaderView(headView);
-		headView.setOnClickListener(this);
-		mTextDialog = (TextView) findViewById(R.id.text_dialog);
-		mSideBar = (SideBar) findViewById(R.id.sidebar);
-		mSideBar.setTextView(mTextDialog);
-
-		mSideBar.setOnTouchingLetterChangedListener(new SideBar.OnTouchingLetterChangedListener() {
-			@Override
-			public void onTouchingLetterChanged(String s) {
-				// 该字母首次出现的位置
-				int position = mAdapter.getPositionForSection(s.charAt(0));
-				if (position != -1) {
-					mPullToRefreshListView.getRefreshableView().setSelection(position);
-				}
-			}
-
-			@Override
-			public void onTouchingUp() {
-
-			}
-		});
-
-		mAdapter = new FriendSortAdapter(this, mSortFriends);
-
-		mPullToRefreshListView.setMode(Mode.PULL_FROM_START);
-		mPullToRefreshListView.getRefreshableView().setAdapter(mAdapter);
-
-		mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
-			@Override
-			public void onRefresh(PullToRefreshBase<ListView> refreshView) {
-				loadData();
-			}
-		});
-
-		mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-			@Override
-			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-				Friend friend = mSortFriends.get((int) id).getBean();
-				/*
+    private PullToRefreshListView mPullToRefreshListView;
+    private TextView mTextDialog;
+    private SideBar mSideBar;
+    private ProgressDialog mProgressDialog;
+    private List<BaseSortModel<Friend>> mSortFriends;
+    private BaseComparator<Friend> mBaseComparator;
+    private FriendSortAdapter mAdapter;
+    private String mLoginUserId;
+    private Handler mHandler = new Handler();
+    private ChatMessage message;
+    public static final String BROADCOAST_SENDMESSAGE_ACTION = "broadcoast_sendmessage_action";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        // TODO Auto-generated method stub
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_newchat_person_selected);
+        mSortFriends = new ArrayList<BaseSortModel<Friend>>();
+        mBaseComparator = new BaseComparator<Friend>();
+        mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+        message = (ChatMessage) getIntent().getParcelableExtra(Constants.INSTANT_MESSAGE);
+
+        initView();
+    }
+
+    private void initView() {
+        getSupportActionBar().setTitle("选择联系人");
+        mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
+        View headView = View.inflate(this, R.layout.item_headview_creategroup_chat, null);
+        mPullToRefreshListView.getRefreshableView().addHeaderView(headView);
+        headView.setOnClickListener(this);
+        mTextDialog = (TextView) findViewById(R.id.text_dialog);
+        mSideBar = (SideBar) findViewById(R.id.sidebar);
+        mSideBar.setTextView(mTextDialog);
+
+        mSideBar.setOnTouchingLetterChangedListener(new SideBar.OnTouchingLetterChangedListener() {
+            @Override
+            public void onTouchingLetterChanged(String s) {
+                // 该字母首次出现的位置
+                int position = mAdapter.getPositionForSection(s.charAt(0));
+                if (position != -1) {
+                    mPullToRefreshListView.getRefreshableView().setSelection(position);
+                }
+            }
+
+            @Override
+            public void onTouchingUp() {
+
+            }
+        });
+
+        mAdapter = new FriendSortAdapter(this, mSortFriends);
+
+        mPullToRefreshListView.setMode(Mode.PULL_FROM_START);
+        mPullToRefreshListView.getRefreshableView().setAdapter(mAdapter);
+
+        mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
+            @Override
+            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
+                loadData();
+            }
+        });
+
+        mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                Friend friend = mSortFriends.get((int) id).getBean();
+                /*
 				 * Intent intent = null; if
 				 * Intent intent = null; if
 				 * (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {//
 				 * (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {//
 				 * 新朋友消息 intent = new Intent(SelectContactsActivity.this,
 				 * 新朋友消息 intent = new Intent(SelectContactsActivity.this,
@@ -126,174 +125,175 @@ public class SelectNewContactsActivity extends BaseActivity implements OnClickLi
 				 * intent.putExtra(AppConstant.EXTRA_USER_ID,
 				 * intent.putExtra(AppConstant.EXTRA_USER_ID,
 				 * friend.getUserId()); } startActivity(intent);
 				 * friend.getUserId()); } startActivity(intent);
 				 */
 				 */
-				showPopuWindow(view, friend);
-
-			}
-
-		});
-
-		mPullToRefreshListView.getRefreshableView()
-				.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
-					@Override
-					public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
-						BaseSortModel<Friend> sortFriend = mSortFriends.get((int) id);
-						if (sortFriend == null || sortFriend.getBean() == null) {
-							return false;
-						}
-						String userId = sortFriend.getBean().getUserId();
-						if (userId.equals(Friend.ID_SYSTEM_MESSAGE) || userId.equals(Friend.ID_NEW_FRIEND_MESSAGE)) {
-							return false;
-						}
-						// showLongClickOperationDialog(sortFriend);
-						return true;
-					}
-				});
-
-		mProgressDialog = ProgressDialogUtil.init(this, null, getString(R.string.please_wait));
-	}
-
-	InstantMessageConfirm menuWindow;
-
-	private void showPopuWindow(View view, Friend friend) {
-		menuWindow = new InstantMessageConfirm(SelectNewContactsActivity.this, new ClickListener(message, friend),
-				friend);
-		// 显示窗口
-		menuWindow.showAtLocation(view, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);
-	}
-
-	/**
-	 * 事件的监听
-	 */
-	class ClickListener implements OnClickListener {
-		private ChatMessage message;
-		private Friend friend;
-
-		public ClickListener(ChatMessage message, Friend friend) {
-			this.message = message;
-			this.friend = friend;
-		}
-
-		@Override
-		public void onClick(View v) {
-			menuWindow.dismiss();
-			switch (v.getId()) {
-			case R.id.btn_send:// copy文字
+                showPopuWindow(view, friend);
+
+            }
+
+        });
+
+        mPullToRefreshListView.getRefreshableView()
+                .setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
+                    @Override
+                    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
+                        BaseSortModel<Friend> sortFriend = mSortFriends.get((int) id);
+                        if (sortFriend == null || sortFriend.getBean() == null) {
+                            return false;
+                        }
+                        String userId = sortFriend.getBean().getUserId();
+                        if (userId.equals(Friend.ID_SYSTEM_MESSAGE) || userId.equals(Friend.ID_NEW_FRIEND_MESSAGE)) {
+                            return false;
+                        }
+                        // showLongClickOperationDialog(sortFriend);
+                        return true;
+                    }
+                });
+
+        mProgressDialog = ProgressDialogUtil.init(this, null, getString(R.string.please_wait));
+    }
+
+    InstantMessageConfirm menuWindow;
+
+    private void showPopuWindow(View view, Friend friend) {
+        menuWindow = new InstantMessageConfirm(SelectNewContactsActivity.this, new ClickListener(message, friend),
+                friend);
+        // 显示窗口
+        menuWindow.showAtLocation(view, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);
+    }
+
+    /**
+     * 事件的监听
+     */
+    class ClickListener implements OnClickListener {
+        private ChatMessage message;
+        private Friend friend;
+
+        public ClickListener(ChatMessage message, Friend friend) {
+            this.message = message;
+            this.friend = friend;
+        }
+
+        @Override
+        public void onClick(View v) {
+            menuWindow.dismiss();
+            switch (v.getId()) {
+                case R.id.btn_send:// copy文字
 				/*
 				/*
 				 * Intent broadcast=new Intent(BROADCOAST_SENDMESSAGE_ACTION);
 				 * Intent broadcast=new Intent(BROADCOAST_SENDMESSAGE_ACTION);
 				 * Bundle bundle=new Bundle();
 				 * Bundle bundle=new Bundle();
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * broadcast.putExtras(bundle); sendBroadcast(broadcast);
 				 * broadcast.putExtras(bundle); sendBroadcast(broadcast);
 				 */
 				 */
-				Intent intent = new Intent(SelectNewContactsActivity.this, ChatActivity.class);
-				intent.putExtra(ChatActivity.FRIEND, friend);
-				Bundle bundle = new Bundle();
-				bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
-				intent.putExtras(bundle);
-				// intent.putExtra(Constants.INSTANT_SEND,"send");
-				startActivity(intent);
-				SelectNewContactsActivity.this.finish();
-				break;
-			case R.id.btn_cancle:// 取消
-
-				break;
-			default:
-				break;
-			}
-		}
-	}
-
-	public void update() {
-		if (isRestricted()) {// TODO 这里不完善,需要改
-			loadData();
-		} else {
-			mNeedUpdate = true;
-		}
-	}
-
-	private boolean mNeedUpdate = true;
-
-	@Override
-	public void onResume() {
-		super.onResume();
-		if (mNeedUpdate) {
-			loadData();
-			mNeedUpdate = false;
-		}
-	}
-
-	private void loadData() {
-		new Thread(new Runnable() {
-			@Override
-			public void run() {
-				long startTime = System.currentTimeMillis();
-				final List<Friend> friends = FriendDao.getInstance().getAllFriends(mLoginUserId);
-
-				long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
-				if (delayTime < 0) {
-					delayTime = 0;
-				}
-
-				mHandler.postDelayed(new Runnable() {
-					@Override
-					public void run() {
-						mSortFriends.clear();
-						mSideBar.clearExist();
-						if (friends != null && friends.size() > 0) {
-							for (int i = 0; i < friends.size(); i++) {
-								BaseSortModel<Friend> mode = new BaseSortModel<Friend>();
-								mode.setBean(friends.get(i));
-								setSortCondition(mode);
-								mSortFriends.add(mode);
-							}
-							Collections.sort(mSortFriends, mBaseComparator);
-						}
-						mAdapter.notifyDataSetInvalidated();
-						mPullToRefreshListView.onRefreshComplete();
-					}
-				}, delayTime);
-			}
-		}).start();
-	}
-
-	private final void setSortCondition(BaseSortModel<Friend> mode) {
-		Friend friend = mode.getBean();
-		if (friend == null) {
-			return;
-		}
-		String name = friend.getShowName();
-		String wholeSpell = PingYinUtil.getPingYin(name);
-		if (!TextUtils.isEmpty(wholeSpell)) {
-			String firstLetter = Character.toString(wholeSpell.charAt(0));
-			mSideBar.addExist(firstLetter);
-			mode.setWholeSpell(wholeSpell);
-			mode.setFirstLetter(firstLetter);
-			mode.setSimpleSpell(PingYinUtil.converterToFirstSpell(name));
-		} else {// 如果全拼为空,理论上是一种错误情况,因为这代表着昵称为空
-			mode.setWholeSpell("#");
-			mode.setFirstLetter("#");
-			mode.setSimpleSpell("#");
-		}
-	}
-/**
- * 点击headView的回调
- * @param v
- */
-	@Override
-	public void onClick(View v) {
-		int id = v.getId();
-		switch (id) {
-		case R.id.rl_headview_instant_group:
-			Intent intent=new Intent(SelectNewContactsActivity.this,SelectNewGroupInstantActivity.class);
-			Bundle bundle = new Bundle();
-			bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
-			intent.putExtras(bundle);
-			startActivity(intent);
-			SelectNewContactsActivity.this.finish();
-			break;
-
-		default:
-			break;
-		}
-	}
+                    Intent intent = new Intent(SelectNewContactsActivity.this, ChatActivity.class);
+                    intent.putExtra(ChatActivity.FRIEND, friend);
+                    Bundle bundle = new Bundle();
+                    bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
+                    intent.putExtras(bundle);
+                    // intent.putExtra(Constants.INSTANT_SEND,"send");
+                    startActivity(intent);
+                    SelectNewContactsActivity.this.finish();
+                    break;
+                case R.id.btn_cancle:// 取消
+
+                    break;
+                default:
+                    break;
+            }
+        }
+    }
+
+    public void update() {
+        if (isRestricted()) {// TODO 这里不完善,需要改
+            loadData();
+        } else {
+            mNeedUpdate = true;
+        }
+    }
+
+    private boolean mNeedUpdate = true;
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (mNeedUpdate) {
+            loadData();
+            mNeedUpdate = false;
+        }
+    }
+
+    private void loadData() {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                long startTime = System.currentTimeMillis();
+                final List<Friend> friends = FriendDao.getInstance().getFriends(mLoginUserId);
+                long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
+                if (delayTime < 0) {
+                    delayTime = 0;
+                }
+
+                mHandler.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mSortFriends.clear();
+                        mSideBar.clearExist();
+                        if (friends != null && friends.size() > 0) {
+                            for (int i = 0; i < friends.size(); i++) {
+                                BaseSortModel<Friend> mode = new BaseSortModel<Friend>();
+                                mode.setBean(friends.get(i));
+                                setSortCondition(mode);
+                                mSortFriends.add(mode);
+                            }
+                            Collections.sort(mSortFriends, mBaseComparator);
+                        }
+                        mAdapter.notifyDataSetInvalidated();
+                        mPullToRefreshListView.onRefreshComplete();
+                    }
+                }, delayTime);
+            }
+        }).start();
+    }
+
+    private final void setSortCondition(BaseSortModel<Friend> mode) {
+        Friend friend = mode.getBean();
+        if (friend == null) {
+            return;
+        }
+        String name = friend.getShowName();
+        String wholeSpell = PingYinUtil.getPingYin(name);
+        if (!TextUtils.isEmpty(wholeSpell)) {
+            String firstLetter = Character.toString(wholeSpell.charAt(0));
+            mSideBar.addExist(firstLetter);
+            mode.setWholeSpell(wholeSpell);
+            mode.setFirstLetter(firstLetter);
+            mode.setSimpleSpell(PingYinUtil.converterToFirstSpell(name));
+        } else {// 如果全拼为空,理论上是一种错误情况,因为这代表着昵称为空
+            mode.setWholeSpell("#");
+            mode.setFirstLetter("#");
+            mode.setSimpleSpell("#");
+        }
+    }
+
+    /**
+     * 点击headView的回调
+     *
+     * @param v
+     */
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        switch (id) {
+            case R.id.rl_headview_instant_group:
+                Intent intent = new Intent(SelectNewContactsActivity.this, SelectNewGroupInstantActivity.class);
+                Bundle bundle = new Bundle();
+                bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
+                intent.putExtras(bundle);
+                startActivity(intent);
+                SelectNewContactsActivity.this.finish();
+                break;
+
+            default:
+                break;
+        }
+    }
 
 
 }
 }

+ 2 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/CameraUtil.java

@@ -13,6 +13,7 @@ import android.os.Build;
 import android.provider.DocumentsContract;
 import android.provider.DocumentsContract;
 import android.provider.MediaStore;
 import android.provider.MediaStore;
 import android.text.TextUtils;
 import android.text.TextUtils;
+import android.util.Log;
 
 
 import java.io.File;
 import java.io.File;
 
 
@@ -91,6 +92,7 @@ public final class CameraUtil {
 	 */
 	 */
 	public static void cropImage(Activity activity, Uri originalFileUri, Uri outputFileUri, int requestCode, int aspectX, int aspectY, int outputX,
 	public static void cropImage(Activity activity, Uri originalFileUri, Uri outputFileUri, int requestCode, int aspectX, int aspectY, int outputX,
 			int outputY) {
 			int outputY) {
+		Log.i("gongpengming",outputFileUri.toString());
 		if (originalFileUri == null) {
 		if (originalFileUri == null) {
 			return;
 			return;
 		}
 		}

+ 8 - 8
WeiChat/src/main/res/layout/activity_messageinstant.xml

@@ -2,18 +2,18 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical" >
+    android:orientation="vertical">
 
 
     <TextView
     <TextView
         android:id="@+id/tv_create_newmessage"
         android:id="@+id/tv_create_newmessage"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:background="@drawable/tv_background_selector"
         android:background="@drawable/tv_background_selector"
-        android:textColor="@color/tv_textcolor_selector"
         android:paddingBottom="8dp"
         android:paddingBottom="8dp"
         android:paddingLeft="8dp"
         android:paddingLeft="8dp"
         android:paddingTop="25dp"
         android:paddingTop="25dp"
         android:text="@string/create_new_chat"
         android:text="@string/create_new_chat"
+        android:textColor="@color/tv_textcolor_selector"
         android:textSize="16sp" />
         android:textSize="16sp" />
 
 
     <TextView
     <TextView
@@ -26,13 +26,13 @@
         android:text="@string/recent_chat"
         android:text="@string/recent_chat"
         android:textColor="#99000000"
         android:textColor="#99000000"
         android:textSize="11sp" />
         android:textSize="11sp" />
-    <ListView 
-        android:layout_marginLeft="6dp"
-        android:layout_marginRight="6dp"
+
+    <ListView
+        android:id="@+id/lv_recently_message"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_height="match_parent"
-        android:id="@+id/lv_recently_message"
-        android:dividerHeight="0.5dp"
+        android:layout_marginLeft="6dp"
+        android:layout_marginRight="6dp"
         android:divider="#20000000"
         android:divider="#20000000"
-        ></ListView>
+        android:dividerHeight="0.5dp"></ListView>
 </LinearLayout>
 </LinearLayout>

+ 1 - 0
WeiChat/src/main/res/layout/activity_select.xml

@@ -7,6 +7,7 @@
     tools:context="com.xzjmyk.pm.activity.ui.message.SelectActivity">
     tools:context="com.xzjmyk.pm.activity.ui.message.SelectActivity">
 
 
     <RelativeLayout
     <RelativeLayout
+        android:visibility="gone"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="48dp"
         android:layout_height="48dp"
         android:background="@drawable/bg_bar"
         android:background="@drawable/bg_bar"

+ 1 - 1
build.gradle

@@ -5,7 +5,7 @@ buildscript {
         jcenter()
         jcenter()
     }
     }
     dependencies {
     dependencies {
-        classpath 'com.android.tools.build:gradle:1.3.0'
+        classpath 'com.android.tools.build:gradle:2.0.0'
     }
     }
 }
 }