Browse Source

合并最终发布版

Bitliker 9 years ago
parent
commit
ee59982e9b

+ 1 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/TaskActivity.java

@@ -625,8 +625,7 @@ public class TaskActivity extends BaseActivity {
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (data == null) return;
-        if (requestCode == 0x17 || requestCode == 0x20 && resultCode == 0x20) {
+        if (requestCode == 0x17 || (requestCode == 0x20 && resultCode == 0x20)) {
             refreshing();
         }
     }

+ 12 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetDetailsActivity.java

@@ -21,6 +21,7 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.MeetEntity;
 import com.xzjmyk.pm.activity.bean.oa.MeetingDocBean;
+import com.xzjmyk.pm.activity.bean.oa.SearchPoiParam;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
@@ -375,16 +376,15 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
                 }
                 break;
             case R.id.location_tag://点击重新定位
-//                intent = new Intent(ct, LocationMapActivity.class);
-//                intent.putExtra("action", "MeetDetailsActivity");
-//                startActivityForResult(intent, 0x11);
-                intent = new Intent(ct, LocationSearchActivity.class);
-                intent.putExtra("type", 1);
-                intent.putExtra("title", "地点微调");
-                intent.putExtra("single", true);
-                intent.putExtra("radius", 300);
-                intent.putExtra("resultCode", 0x20);
-                intent.putExtra("resultName", "resultName");
+                intent = new Intent(ct, SearchLocationActivity.class);
+                SearchPoiParam poiParam = new SearchPoiParam();
+                poiParam.setType(1);
+                poiParam.setTitle("地点微调");
+                poiParam.setRadius(300);
+                poiParam.setContrastLatLng(MyApplication.getInstance().getBdLocationHelper().getLocation());
+                poiParam.setResultCode(0x20);
+                poiParam.setDistanceTag("m");
+                intent.putExtra("data", poiParam);
                 startActivityForResult(intent, 0x20);
                 break;
             case R.id.add_task_ll://添加任务
@@ -403,8 +403,8 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
             if (poi == null) return;
             location_tv.setText(poi.address == null ? "" : poi.address);
         }
-        if (requestCode == 0x20 && resultCode == 0x20){
-            PoiInfo poi = data.getParcelableExtra("resultName");
+        if (requestCode == 0x20 && resultCode == 0x20) {
+            PoiInfo poi = data.getParcelableExtra("resultKey");
             if (poi == null) return;
             location_tv.setText(poi.address == null ? "" : poi.address);
         }

+ 7 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectAimActivity.java

@@ -9,7 +9,6 @@ import android.text.TextUtils;
 import android.view.View;
 import android.widget.LinearLayout;
 
-import com.alibaba.fastjson.JSON;
 import com.baidu.mapapi.map.MapView;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
@@ -20,7 +19,7 @@ import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.SelectAimPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectAim;
-import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.util.AndroidUtils;
 import com.xzjmyk.pm.activity.util.BaiduMapUtil;
 import com.xzjmyk.pm.activity.view.ClearEditText;
@@ -112,8 +111,12 @@ public class SelectAimActivity extends OABaseActivity implements ISelectAim {
         if (!TextUtils.isEmpty(search_edit.getText())) {
             mapView.setVisibility(View.GONE);
         } else mapView.setVisibility(View.VISIBLE);
-        LogUtil.d(JSON.toJSONString(models));
-        adapter.setModels(models, !TextUtils.isEmpty(search_edit.getText()));
+        if (ListUtils.isEmpty(models)) {
+            SelectAimModel model = new SelectAimModel();
+            model.setType(1);
+            models.add(model);
+        }
+        adapter.setModels(models);
         adapter.notifyDataSetChanged();
     }
 }

+ 6 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectCollisionActivity.java

@@ -16,9 +16,9 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.sortlist.SideBar;
-import com.xzjmyk.pm.activity.ui.erp.adapter.oa.SelectActiveAdapter;
+import com.xzjmyk.pm.activity.ui.erp.adapter.oa.SelectCollisionAdapter;
 import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
-import com.xzjmyk.pm.activity.ui.erp.presenter.SelectActivePresenter;
+import com.xzjmyk.pm.activity.ui.erp.presenter.SelectCollisionPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
@@ -44,8 +44,8 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
     private TextView sure_tv;
     @ViewInject(R.id.all_sure_cb)
     private CheckBox all_sure_cb;
-    private SelectActiveAdapter adapter;
-    private SelectActivePresenter presenter;
+    private SelectCollisionAdapter adapter;
+    private SelectCollisionPresenter presenter;
     private int allSelect = 0;
     private boolean isClickCb = true;
     private EmptyLayout emptyLayout;
@@ -66,7 +66,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
         emptyLayout.setShowErrorButton(false);
         emptyLayout.setEmptyViewRes(R.layout.view_empty);
         sidebar.setTextView(text_dialog);
-        presenter = new SelectActivePresenter(this);
+        presenter = new SelectCollisionPresenter(this);
         if (getIntent() != null) {
             String title = getIntent().getStringExtra("title");
             if (!StringUtils.isEmpty(title))
@@ -140,7 +140,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
     public void showModel(List<BaseSortModel<SelectEmUser>> models) {
 
         if (adapter == null) {
-            adapter = new SelectActiveAdapter();
+            adapter = new SelectCollisionAdapter();
             adapter.setListData(models);
             listView.setAdapter(adapter);
         } else {

+ 9 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/MessageAdapter.java

@@ -83,19 +83,19 @@ public class MessageAdapter extends BaseAdapter {
     private void bindView(ViewHolder holder, Friend friend) {
         holder.avatar_img.setBackgroundResource(R.color.transparent);
         //设置头像
-        if (friend.getRoomFlag() == 0) {// 这是单个人
+        if (friend.getType() == XmppMessage.TYPE_ERP) {
+            doShowMsgPhotos(holder, friend);
+        } else if (friend.getRoomFlag() == 0) {// 这是单个人
             AvatarHelper.getInstance().display(friend.getUserId(), holder.avatar_img, false, true);//每次刷新都会去删除此人缓存
 //            AvatarHelper.getInstance().displayAvatar(friend.getUserId(), holder.avatar_img, true);
-        } else if (friend.getType()==XmppMessage.TYPE_ERP){
-
-        }else{
+        } else {
             if (TextUtils.isEmpty(friend.getRoomCreateUserId())) {
                 holder.avatar_img.setImageResource(R.drawable.qunliao);
             } else {
                 AvatarHelper.getInstance().displayAvatarPng(friend.getRoomCreateUserId(), holder.avatar_img, true);// 目前在备注名放房间的创建者Id
             }
         }
-        doShowMsgPhotos(holder, friend);
+
         //设置名字和时间
         holder.nick_name_tv.setText(friend.getRemarkName() != null ? friend.getRemarkName() : friend.getNickName());
         holder.time_tv.setText(TimeUtils.getFriendlyTimeDesc(MyApplication.getInstance(), friend.getTimeSend()));
@@ -107,7 +107,7 @@ public class MessageAdapter extends BaseAdapter {
         } else {
             content = friend.getContent();
         }
-        if (!TextUtils.isEmpty(content)){
+        if (!TextUtils.isEmpty(content)) {
             holder.content_tv.setText(Html.fromHtml(content.toString()));
         }
         //设置红点显示数量
@@ -123,7 +123,7 @@ public class MessageAdapter extends BaseAdapter {
 
     private void doShowMsgPhotos(ViewHolder holder, Friend friend) {
         String msg_type = friend.getDescription();
-        if (!TextUtils.isEmpty(msg_type)){
+        if (!TextUtils.isEmpty(msg_type)) {
             int imageurl = 0;
             switch (msg_type) {
                 case "note": // 通知公告
@@ -158,7 +158,8 @@ public class MessageAdapter extends BaseAdapter {
                     break;
                 default:
                     imageurl = R.drawable.gongzuotixing;
-            }holder.avatar_img.setImageResource(imageurl);
+            }
+            holder.avatar_img.setImageResource(imageurl);
         }
     }
 

+ 3 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/SelectAimAdapter.java

@@ -23,15 +23,13 @@ import java.util.List;
 
 public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
     private List<SelectAimModel> models;
-    private boolean imageShow;
 
     public List<SelectAimModel> getModels() {
         return models;
     }
 
-    public void setModels(List<SelectAimModel> models, boolean imageShow) {
+    public void setModels(List<SelectAimModel> models ) {
         this.models = models;
-        this.imageShow=imageShow;
     }
 
     @Override
@@ -103,8 +101,8 @@ public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
         holder.title_tv.setText(getNull(model.getName()));
         holder.sub_tv.setText(getNull(model.getAddress()));
         holder.distance_tv.setText(getKm(BaiduMapUtil.getInstence().getDistance(model.getLatLng())));
-        holder.tag_tv.setVisibility((!imageShow&&model.isFirst()) ? View.VISIBLE : View.GONE);
-        holder.tag_view.setVisibility((!imageShow&&model.isFirst()) ? View.VISIBLE : View.GONE);
+        holder.tag_tv.setVisibility((model.isFirst()) ? View.VISIBLE : View.GONE);
+        holder.tag_view.setVisibility((model.isFirst()) ? View.VISIBLE : View.GONE);
     }
 
     private String getKm(String dis) {

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/SelectActiveAdapter.java → WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/SelectCollisionAdapter.java

@@ -30,7 +30,7 @@ import static com.xzjmyk.pm.activity.R.id.tag_view;
  * Created by Bitliker on 2017/2/14.
  */
 
-public class SelectActiveAdapter extends BaseAdapter {
+public class SelectCollisionAdapter extends BaseAdapter {
     private List<BaseSortModel<SelectEmUser>> listData;
 
     public List<BaseSortModel<SelectEmUser>> getListData() {

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SearchPresenter.java

@@ -122,7 +122,7 @@ public class SearchPresenter {
             }
             showData(chche);
         } else {
-            loadDataByCity();
+            loadDataByChina();
         }
     }
 
@@ -144,14 +144,14 @@ public class SearchPresenter {
                 if (StringUtils.isEmpty(param.getKeyWork())) {
                     loadDataByNeer();
                 } else
-                    loadDataByCity();
+                    loadDataByChina();
                 break;
             default:
                 break;
         }
     }
 
-    private void loadDataByCity() {
+    private void loadDataByChina() {
         isLoadChina = true;
         BaiduMapUtil.getInstence().searchByInputOnChina(StringUtils.isEmpty(param.getKeyWork()) ? "" : param.getKeyWork(), pageNum, listener);
     }

+ 37 - 59
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectAimPresenter.java

@@ -11,7 +11,6 @@ import com.baidu.mapapi.search.core.PoiInfo;
 import com.baidu.mapapi.search.core.SearchResult;
 import com.baidu.mapapi.search.poi.PoiResult;
 import com.xzjmyk.pm.activity.AppConfig;
-import com.xzjmyk.pm.activity.BdLocationHelper;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
@@ -39,32 +38,25 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
     private ISelectAim iSelectAim;
     private final int LOAD = 0x11;
     private final int LOAD_CUSTOMER = 0x12;//拜访计划客户名称数据
-    private BdLocationHelper locationHelper;
     private List<SelectAimModel> models;//从服务其返回的数据列表
-    private String keyWork;
-    private boolean seachChina = false;
     private List<SelectAimModel> keyList;//搜索企业筛选的人员
+    private int seachMapType = 0;//下拉百度地图数据类型  1.获取附近数据  2.获取全国数据  2.获取城市数据
+    private String keyWork;
     private boolean isB2b;
 
 
     public SelectAimPresenter(ISelectAim iSelectAim) {
+        if (iSelectAim == null) {
+            new NullPointerException("ISelectAim is null");
+        }
         this.iSelectAim = iSelectAim;
     }
 
-    /******
-     * start 对外接口
-     **********/
-    public void start() {
-        locationHelper = MyApplication.getInstance().getBdLocationHelper();
-        loadOutAddress();
-    }
-
     /******
      * start 对外接口
      **********/
     public void start(int type) {
         isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
-        locationHelper = MyApplication.getInstance().getBdLocationHelper();
         if (type == 1) {
             loadCustomerData();
         } else {
@@ -116,7 +108,6 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
 
     //从服务器获取数据
     private void loadOutAddress() {
-        log("loadOutAddress");
         if (!MyApplication.getInstance().isNetworkActive()) {
             if (iSelectAim != null)
                 iSelectAim.showToast(R.string.networks_out, R.color.load_error);
@@ -159,18 +150,19 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
 
     //下载附近数据
     private void loadNeer() {
-        BaiduMapUtil.getInstence().getNearInfo(200, 0, locationHelper.getLocation(), listener);
+        seachMapType = 1;
+        BaiduMapUtil.getInstence().getNearInfo(200, 0, MyApplication.getInstance().getBdLocationHelper().getLocation(), listener);
     }
 
     //下载全国数据
     private void loadDataByChina() {
-        seachChina = true;
+        seachMapType = 2;
         BaiduMapUtil.getInstence().searchByInputOnChina(StringUtils.isEmpty(keyWork) ? "" : keyWork, 0, listener);
     }
 
     //下载本城市数据
     private void loadDataByCity() {
-        seachChina = false;
+        seachMapType = 3;
         BaiduMapUtil.getInstence().searchByInput(StringUtils.isEmpty(keyWork) ? "" : keyWork, 0, listener);
     }
 
@@ -178,49 +170,42 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
         @Override
         public void result(SearchResult result) {
             if (StringUtils.isEmpty(keyWork) && !ListUtils.isEmpty(models)) {
+                for (SelectAimModel e : models)
+                    e.setFirst(false);
                 iSelectAim.showModel(models);
                 return;
             }
-            if (result == null) {
-                if (seachChina) {
+            if (result == null || ListUtils.isEmpty(((PoiResult) result).getAllPoi())) {
+                if (seachMapType == 1) {
+                    loadDataByChina();
+                    return;
+                } else if (seachMapType == 2) {
                     loadDataByCity();
                     return;
                 } else {
                     showEmpty();
-                }
-                return;
-            }
-            PoiResult poiResult = (PoiResult) result;
-            List<PoiInfo> chches = poiResult.getAllPoi();
-            if (ListUtils.isEmpty(chches)) {
-                if (seachChina) {
-                    loadDataByCity();
                     return;
-                } else {//搜索城市为空数据
-                    showEmpty();
                 }
             } else {
                 List<SelectAimModel> models = new ArrayList<>();
                 SelectAimModel model = null;
                 boolean isFirst = true;
+                List<PoiInfo> chches = ((PoiResult) result).getAllPoi();
                 for (int i = 0; i < chches.size(); i++) {
-                    if (StringUtils.isEmpty(chches.get(i).name) || StringUtils.isEmpty(chches.get(i).address)) {
-                        chches.remove(i);
-                        i--;
+                    if (StringUtils.isEmpty(chches.get(i).name) || StringUtils.isEmpty(chches.get(i).address))
+                        continue;
+                    model = new SelectAimModel();
+                    model.setType(3);
+                    model.setName(chches.get(i).name);
+                    model.setAddress(chches.get(i).address);
+                    model.setLatLng(chches.get(i).location);
+                    if (isFirst) {
+                        model.setFirst(true);
+                        isFirst = false;
                     } else {
-                        model = new SelectAimModel();
-                        model.setType(3);
-                        model.setName(chches.get(i).name);
-                        model.setAddress(chches.get(i).address);
-                        model.setLatLng(chches.get(i).location);
-                        if (isFirst) {
-                            model.setFirst(true);
-                            isFirst = false;
-                        } else {
-                            model.setFirst(false);
-                        }
-                        models.add(model);
+                        model.setFirst(false);
                     }
+                    models.add(model);
                 }
                 if (ListUtils.isEmpty(models)) {
                     showEmpty();
@@ -238,13 +223,13 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
 
     @Override
     public void result(int what, boolean isJSON, String message, Bundle bundle) {
-        if (what == LOAD && isJSON) {
-            JSONArray array = JSON.parseObject(message).getJSONArray("data");
-            handleDada(array);
-        } else if (what == LOAD_CUSTOMER) {
-            JSONArray array = JSON.parseObject(message).getJSONArray("customers");
-            handleDadaForCustomer(array);
-
+        if (isJSON && (what == LOAD || what == LOAD_CUSTOMER)) {
+            JSONArray array = JSON.parseObject(message).getJSONArray(what == LOAD ? "data" : "customers");
+            if (what == LOAD) {
+                handleDada(array);
+            } else {
+                handleDadaForCustomer(array);
+            }
         }
     }
 
@@ -265,14 +250,12 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
         }
         SelectAimModel model = null;
         JSONObject object = null;
-
         String company = isB2b ? "company" : "MD_COMPANY";
         String address = isB2b ? "md_address" : "MD_ADDRESS";
         String md_latitude = isB2b ? "md_latitude" : "MD_LATITUDE";
         String md_longitude = isB2b ? "md_longitude" : "MD_LONGITUDE";
         String md_visitcount = isB2b ? "md_visitcount" : "MD_VISITCOUNT";
         String md_visittime = isB2b ? "md_visittime" : "MD_VISITTIME";
-
         List<SelectAimModel> models = new ArrayList<>();
         for (int i = 0; i < array.size(); i++) {
             try {
@@ -345,16 +328,11 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
     }
 
     private void showEmpty() {
-        List<SelectAimModel> models = new ArrayList<>();
-        SelectAimModel model = new SelectAimModel();
-        model.setType(1);
-        models.add(model);
         if (!StringUtils.isEmpty(keyWork)) {//有搜索
             if (keyList == null || hasEmpty(keyList)) {
                 keyList = new ArrayList<>();
             }
-            if (ListUtils.isEmpty(keyList))
-                keyList.addAll(models);
+
             show(keyList);
         } else
             show(models);

+ 7 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectActivePresenter.java → WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectCollisionPresenter.java

@@ -32,7 +32,7 @@ import java.util.Map;
  * Created by Bitliker on 2017/2/14.
  */
 
-public class SelectActivePresenter implements HttpHandler.OnResultListener {
+public class SelectCollisionPresenter implements HttpHandler.OnResultListener {
     private final int WHAT_LOAD = 0x11;
     private ISelectActiveView iSelectActiveView;
     private List<BaseSortModel<SelectEmUser>> allList;
@@ -40,7 +40,7 @@ public class SelectActivePresenter implements HttpHandler.OnResultListener {
     private String selectName;
     private int type = 0;//具体表示见下方
 
-    public SelectActivePresenter(ISelectActiveView iSelectActiveView) {
+    public SelectCollisionPresenter(ISelectActiveView iSelectActiveView) {
         this.iSelectActiveView = iSelectActiveView;
     }
 
@@ -219,14 +219,14 @@ public class SelectActivePresenter implements HttpHandler.OnResultListener {
 
     private void setUser2Sort(List<SelectEmUser> list, boolean isClick) {
         int numSelect = 0;
-        if (!StringUtils.isEmpty(selectName)) {
-            selectName.replaceAll("'", "");
-            selectName = "," + selectName + ",";
-        }
+//        if (!StringUtils.isEmpty(selectName)) {
+//            selectName.replaceAll("\'", "");
+//            selectName = "," + selectName + ",";
+//        }
         for (SelectEmUser e : list) {
             BaseSortModel<SelectEmUser> mode = new BaseSortModel<>();
             if (!isClick && !StringUtils.isEmpty(selectName)) {
-                if (StringUtils.isInclude(selectName, "," + e.getEmName() + ",")) {
+                if (StringUtils.isInclude(selectName, e.getEmName())) {
                     numSelect++;
                     mode.setClick(true);
                 }

+ 19 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/OfficeAddressSettingsActivity.java

@@ -32,9 +32,10 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.OfficeAddressBean;
 import com.xzjmyk.pm.activity.bean.oa.PlatSignAddressBean;
+import com.xzjmyk.pm.activity.bean.oa.SearchPoiParam;
 import com.xzjmyk.pm.activity.bean.oa.SelectBean;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.oa.LocationSearchActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.SearchLocationActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
@@ -258,7 +259,7 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
 
     private void initData() {
         //初次进来获取考勤地址设置接口请求
-        if (!MyApplication.getInstance().isNetworkActive()){
+        if (!MyApplication.getInstance().isNetworkActive()) {
             progressDialog.dismiss();
             return;
         }
@@ -539,14 +540,15 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
 
     private void searchAddress() {
         search_rangge = CommonUtil.getNumByString(sign_range.getText().toString());
-
-        Intent intent = new Intent(ct, LocationSearchActivity.class);
-        intent.putExtra("type", 2);
-        intent.putExtra("title", "添加办公地址");
-        intent.putExtra("single", true);
-        intent.putExtra("radius", search_rangge);
-        intent.putExtra("resultCode", ADDRESS_CHANGE);
-        intent.putExtra("resultName", "resultName");
+        Intent intent = new Intent(ct, SearchLocationActivity.class);
+        SearchPoiParam poiParam = new SearchPoiParam();
+        poiParam.setType(2);
+        poiParam.setTitle("添加办公地址");
+        poiParam.setRadius(search_rangge);
+        poiParam.setContrastLatLng(MyApplication.getInstance().getBdLocationHelper().getLocation());
+        poiParam.setResultCode(ADDRESS_CHANGE);
+        poiParam.setDistanceTag("m");
+        intent.putExtra("data", poiParam);
         startActivityForResult(intent, ADDRESS_CHANGE);
     }
 
@@ -571,7 +573,7 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
             }
         }
         if (requestCode == ADDRESS_CHANGE && resultCode == ADDRESS_CHANGE) {//地址微调
-            PoiInfo poi = data.getParcelableExtra("resultName");
+            PoiInfo poi = data.getParcelableExtra("resultKey");
             if (poi == null) return;
             // 将每次点击地址返回的值add到自定义列表中,
             address_lv.setVisibility(View.VISIBLE);
@@ -583,7 +585,9 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
             doEditShortName(poi); //编辑地址简称
         }
     }
+
     private PopupWindow popupWindow = null;
+
     private void doEditShortName(final PoiInfo poi) {
         // 一个自定义的布局,作为显示的内容
         View contentView = LayoutInflater.from(ct).inflate(
@@ -618,7 +622,7 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
                 String com = company_et.getText().toString();
                 if (!StringUtils.isEmpty(com)) {
                     address_names.add(com);
-                }else {
+                } else {
                     address_names.add(poi.name);
                 }
                 myadapter.setAddress_names(address_names);
@@ -635,6 +639,7 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
         popupWindow.showAtLocation(contentView, Gravity.CENTER, 0, 0);
         setbg(0.4f);
     }
+
     private void setbg(float alpha) {
         setBackgroundAlpha(this, alpha);
         if (popupWindow == null) return;
@@ -645,6 +650,7 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
             }
         });
     }
+
     /**
      * 设置页面的透明度
      * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
@@ -661,6 +667,7 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
         }
         activity.getWindow().setAttributes(lp);
     }
+
     //地点显示列表适配器
     public class OfficeAddressAdapter extends BaseAdapter {
         private OfficeAddressBean mOfficeAddressBean;

+ 17 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/NewMessageFragment.java

@@ -48,6 +48,8 @@ import com.xzjmyk.pm.activity.view.PullToRefreshSlideListView;
 import com.xzjmyk.pm.activity.wxapi.ApiPlatform;
 import com.xzjmyk.pm.activity.wxapi.ApiUtils;
 
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 /**
@@ -74,6 +76,7 @@ public class NewMessageFragment extends EasyFragment implements IMessageView, Re
     private RelativeLayout news_notice_rl;
     private RelativeLayout subscribe_rl;
     public static final int REQUESTCODE = 0xa1;
+    private Comparator<BaseSortModel<Friend>> comparator;
 
     @Override
     public void onAttach(Context context) {
@@ -235,7 +238,6 @@ public class NewMessageFragment extends EasyFragment implements IMessageView, Re
     }
 
 
-
     //语音数据回调
     @Override
     public void onResult(RecognizerResult recognizerResult, boolean b) {
@@ -287,6 +289,7 @@ public class NewMessageFragment extends EasyFragment implements IMessageView, Re
 
     @Override
     public void showModel(List<BaseSortModel<Friend>> models) {
+        sortModels(models);
         if (listView.isRefreshing())
             listView.onRefreshComplete();
         if (mAdapter == null) {
@@ -298,6 +301,19 @@ public class NewMessageFragment extends EasyFragment implements IMessageView, Re
         }
     }
 
+    private void sortModels(List<BaseSortModel<Friend>> models) {
+        if (ListUtils.isEmpty(models)) return;
+        if (comparator == null)
+            comparator = new Comparator<BaseSortModel<Friend>>() {
+                @Override
+                public int compare(BaseSortModel<Friend> lhs, BaseSortModel<Friend> rhs) {
+                    return rhs.getBean().getTimeSend() - lhs.getBean().getTimeSend();
+                }
+            };
+        Collections.sort(models, comparator);
+    }
+
+
     @Override
     public void clearSearch() {
         search_edit.setText("");