Sfoglia il codice sorgente

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

gongpm 9 anni fa
parent
commit
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.nostra13.universalimageloader.core.ImageLoader;
 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.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.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.FriendDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 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.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.showCEView;
 import com.xzjmyk.pm.activity.ui.tool.MultiImagePreviewActivity;
 import com.xzjmyk.pm.activity.ui.tool.SingleImagePreviewActivity;
 import com.xzjmyk.pm.activity.util.HtmlUtils;
 import com.xzjmyk.pm.activity.util.LinkMovementClickMethod;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 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.TimeUtils;
 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.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -685,6 +686,7 @@ public class PublicMessageAdapter extends BaseAdapter implements BusinessCircleA
         public CommentAdapter(int messagePosition, List<Comment> datas) {
             this.messagePosition = messagePosition;
             this.datas = datas;
+            Collections.reverse(datas);
         }
 
         @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.content.DialogInterface;
 import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Environment;
+import android.provider.MediaStore;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 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.assist.PauseOnScrollListener;
 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.MyApplication;
 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.db.dao.CircleMessageDao;
 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.FileDataHelper;
 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.ToastUtil;
-import com.xzjmyk.pm.activity.view.CarouselImageView;
 import com.xzjmyk.pm.activity.view.PMsgBottomView;
 import com.xzjmyk.pm.activity.view.ResizeLayout;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
+import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 
 import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -91,6 +94,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
     private String mUserId;
     private String mNickName;
     public showCEView ceView;
+    private File vFile;
 
     public void setShowCEViewListener(showCEView ceView) {
         this.ceView = ceView;
@@ -331,12 +335,20 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
             }
         });
         //   loadPhotos();
+
         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);
+            }
         } else {
             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 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() {
@@ -467,7 +504,6 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
     private static final int REQUEST_CODE_CROP_PHOTO = 3;
 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
         if (requestCode == REQUEST_CODE_SEND_MSG) {
             if (resultCode == Activity.RESULT_OK) {// 发说说成功
                 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) {// 拍照返回再去裁减
             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) {// 选择一张图片,然后立即调用裁减
             if (resultCode == Activity.RESULT_OK) {
@@ -502,7 +534,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
                 if (mNewPhotoUri != null) {
                     mCurrentFile = new File(mNewPhotoUri.getPath());
                     ImageLoader.getInstance().displayImage(mNewPhotoUri.toString(), imgHead);
-                    PreferenceUtils.putString(this, HEAD_PHONE, mNewPhotoUri.toString());
+                    PreferenceUtils.putString(this, HEAD_PHONE, mCurrentFile.toString());
                 } else {
                     ToastUtil.showToast(this, mNewPhotoUri.toString());
                 }
@@ -703,7 +735,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
                         message.setComments(comments);
                     }
                     comment.setCommentId(result.getData());
-                    comments.add(0, comment);
+                    comments.add(0,comment);//  防止评论时候显示在第一个位置
                     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.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.MyApplication;
 import com.xzjmyk.pm.activity.R;
 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.util.Constants;
 
+import java.util.ArrayList;
 import java.util.List;
 
 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() {
-        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() {
@@ -161,7 +176,6 @@ public class InstantMessageActivity extends BaseActivity implements OnClickListe
     }
 
     private class MessageRecentlyAdapter extends BaseAdapter {
-
         @Override
         public int getCount() {
             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.text.Editable;
 import android.text.TextWatcher;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -48,7 +47,6 @@ public class SelectActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_select);
-
         initView();
     }
 
@@ -61,6 +59,7 @@ public class SelectActivity extends AppCompatActivity {
         listView = (ListView) findViewById(R.id.listview);
         init();
         loadMembers();
+        editText.setVisibility(View.GONE);
         editText.addTextChangedListener(new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@@ -69,26 +68,19 @@ public class SelectActivity extends AppCompatActivity {
 
             @Override
             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-                int length = charSequence.length();
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable editable) {
                 String name;
                 String anme;
                 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;
 
 /**
- * 
  * @项目名称: SkWeiChat-Baidu
  * @包名: com.xzjmyk.pm.activity.ui.message
  * @作者:王阳
@@ -46,74 +45,74 @@ import java.util.List;
  * @修改的内容: TODO
  */
 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
 				 * (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {//
 				 * 新朋友消息 intent = new Intent(SelectContactsActivity.this,
@@ -126,174 +125,175 @@ public class SelectNewContactsActivity extends BaseActivity implements OnClickLi
 				 * intent.putExtra(AppConstant.EXTRA_USER_ID,
 				 * 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);
 				 * Bundle bundle=new Bundle();
 				 * bundle.putParcelable(Constants.INSTANT_MESSAGE, message);
 				 * 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.MediaStore;
 import android.text.TextUtils;
+import android.util.Log;
 
 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,
 			int outputY) {
+		Log.i("gongpengming",outputFileUri.toString());
 		if (originalFileUri == null) {
 			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"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical" >
+    android:orientation="vertical">
 
     <TextView
         android:id="@+id/tv_create_newmessage"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@drawable/tv_background_selector"
-        android:textColor="@color/tv_textcolor_selector"
         android:paddingBottom="8dp"
         android:paddingLeft="8dp"
         android:paddingTop="25dp"
         android:text="@string/create_new_chat"
+        android:textColor="@color/tv_textcolor_selector"
         android:textSize="16sp" />
 
     <TextView
@@ -26,13 +26,13 @@
         android:text="@string/recent_chat"
         android:textColor="#99000000"
         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_height="match_parent"
-        android:id="@+id/lv_recently_message"
-        android:dividerHeight="0.5dp"
+        android:layout_marginLeft="6dp"
+        android:layout_marginRight="6dp"
         android:divider="#20000000"
-        ></ListView>
+        android:dividerHeight="0.5dp"></ListView>
 </LinearLayout>

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

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

+ 1 - 1
build.gradle

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