Browse Source

修改定位问题

316044749 7 years ago
parent
commit
2c718bc090

+ 1 - 0
app/src/main/java/com/ynstkz/shitu/android/activity/FindPasswordActivity.java

@@ -147,6 +147,7 @@ public class FindPasswordActivity extends TitleBarActivity implements VerifyCode
         if(type == 1 && isSuccess){
             Intent intent = new Intent(FindPasswordActivity.this, FindPasswordAffirmActivity.class);
             intent.putExtra("phoneNumber", phoneNumber);
+            intent.putExtra("code", code);
             startActivityForResult(intent, 10);
         }
     }

+ 5 - 3
app/src/main/java/com/ynstkz/shitu/android/activity/FindPasswordAffirmActivity.java

@@ -40,6 +40,7 @@ public class FindPasswordAffirmActivity extends TitleBarActivity {
 
     private String phoneNumber;
     private ProgressDialog progressDialog;
+    private String code;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -60,6 +61,7 @@ public class FindPasswordAffirmActivity extends TitleBarActivity {
 
     private void initData(){
         phoneNumber = getIntent().getStringExtra("phoneNumber");
+        code = getIntent().getStringExtra("code");
     }
 
     private void setListener(){
@@ -80,7 +82,7 @@ public class FindPasswordAffirmActivity extends TitleBarActivity {
                 progressDialog = new ProgressDialog(FindPasswordAffirmActivity.this);
                 progressDialog.setMessage("正在提交");
                 progressDialog.show();
-                userFindPwd(phoneNumber, pwd, rePwd);
+                userFindPwd(phoneNumber, pwd, rePwd, code);
             }
         });
     }
@@ -91,9 +93,9 @@ public class FindPasswordAffirmActivity extends TitleBarActivity {
      * @param pwd
      * @param rePwd
      */
-    private void userFindPwd(String mobile, String pwd, String rePwd){
+    private void userFindPwd(String mobile, String pwd, String rePwd, String code){
 
-        RequestGroup.userFindPwd(mobile, pwd, rePwd, new Callback() {
+        RequestGroup.userFindPwd(mobile, pwd, rePwd, code, new Callback() {
             @Override
             public Object parseNetworkResponse(Response response, int id) throws Exception {
                 return new Gson().fromJson(response.body().string(), BaseBean.class);

+ 16 - 9
app/src/main/java/com/ynstkz/shitu/android/activity/HomeActivity.java

@@ -20,6 +20,7 @@ import com.amap.api.location.AMapLocation;
 import com.amap.api.location.AMapLocationClient;
 import com.amap.api.location.AMapLocationClientOption;
 import com.amap.api.location.AMapLocationListener;
+import com.common.library.cache.Cache;
 import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
 import com.ynstkz.shitu.android.bean.LocationDataBean;
@@ -204,12 +205,13 @@ public class HomeActivity extends TitleBarActivity implements AMapLocationListen
     public void onLocationChanged(AMapLocation amapLocation) {
         if (amapLocation != null) {
             if (amapLocation.getErrorCode() == 0) {
-                isLocationSuccess = true;
-                LocationDataBean locationDataBean = new LocationDataBean();
-                locationDataBean.setCity(amapLocation.getDistrict());
-                locationDataBean.setLatitude(amapLocation.getLatitude());
-                locationDataBean.setLongitude(amapLocation.getLongitude());
-                EventBus.getDefault().post(new LocationChangedEvent(locationDataBean));
+                if(!isLocationSuccess){
+                    LocationDataBean locationDataBean = new LocationDataBean();
+                    locationDataBean.setCity(amapLocation.getDistrict());
+                    locationDataBean.setLatitude(amapLocation.getLatitude());
+                    locationDataBean.setLongitude(amapLocation.getLongitude());
+                    EventBus.getDefault().post(new LocationChangedEvent(locationDataBean));
+                }
                 SharedPreferencesUtils.setLocation(amapLocation.getDistrict());
             } else {
                 //显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
@@ -224,12 +226,17 @@ public class HomeActivity extends TitleBarActivity implements AMapLocationListen
     @Override
     protected void onResume() {
         super.onResume();
+        if(!isLocationSuccess) {
+            Cache<LocationDataBean> cacheLocation = new Cache<>();
+            LocationDataBean locationDataBean = cacheLocation.get("locationDataBean");
+            if(locationDataBean != null) {
+                EventBus.getDefault().post(new LocationChangedEvent(locationDataBean));
+                isLocationSuccess = true;
+            }
+        }
         if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
                 == PackageManager.PERMISSION_GRANTED) {
-            //启动定位
-            if(!isLocationSuccess){
                 mlocationClient.startLocation();
-            }
         } else if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                 Manifest.permission.ACCESS_COARSE_LOCATION)) {
             ConfirmationDialogFragment

+ 22 - 2
app/src/main/java/com/ynstkz/shitu/android/activity/IdAuthActivity.java

@@ -13,12 +13,15 @@ import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.common.library.cache.Cache;
 import com.common.library.okhttp.callback.Callback;
 import com.google.gson.Gson;
 import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.base.BaseBean;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
+import com.ynstkz.shitu.android.bean.IdAuthCacheBean;
 import com.ynstkz.shitu.android.data.RequestGroup;
+import com.ynstkz.shitu.android.data.SharedPreferencesUtils;
 
 import butterknife.Bind;
 import okhttp3.Call;
@@ -49,6 +52,7 @@ public class IdAuthActivity extends TitleBarActivity {
     @Bind(R.id.btn_submit)
     Button btnSubmit;
 
+    private String CACHE_KEY = "cache_key";
     private ProgressDialog progressDialog;
 
     @Override
@@ -69,7 +73,17 @@ public class IdAuthActivity extends TitleBarActivity {
     }
 
     private void initData(){
-
+        Cache<IdAuthCacheBean> cache = new Cache();
+        IdAuthCacheBean idAuthCacheBean = cache.get(CACHE_KEY);
+        if(idAuthCacheBean != null && idAuthCacheBean.getUserId().equals(SharedPreferencesUtils.getUserId())){
+            if(idAuthCacheBean.isPatriarch().equals("1")) {
+                sbPatriarch.setChecked(true);
+            } else {
+                sbPatriarch.setChecked(false);
+            }
+            editUsername.setText(idAuthCacheBean.getUserName());
+            editIdcard.setText(idAuthCacheBean.getIdCard());
+        }
     }
 
     private void setListener(){
@@ -109,7 +123,7 @@ public class IdAuthActivity extends TitleBarActivity {
      * @param realName
      * @param idCardNum
      */
-    private void userAuth(String isParent, String realName, String idCardNum){
+    private void userAuth(final String isParent, final String realName, final String idCardNum){
 
         RequestGroup.userAuth(isParent, realName, idCardNum, new Callback() {
             @Override
@@ -134,6 +148,12 @@ public class IdAuthActivity extends TitleBarActivity {
                 if(baseBean != null){
                     showToast(baseBean.getMsg());
                     if("200".equals(baseBean.getCode())){
+                        IdAuthCacheBean idAuthCacheBean = new IdAuthCacheBean();
+                        idAuthCacheBean.setUserId(SharedPreferencesUtils.getUserId());
+                        idAuthCacheBean.setPatriarch(isParent);
+                        idAuthCacheBean.setUserName(realName);
+                        idAuthCacheBean.setIdCard(idCardNum);
+                        com.common.library.cache.Cache.put(CACHE_KEY, idAuthCacheBean);
                         finish();
                     }
                 }

+ 21 - 10
app/src/main/java/com/ynstkz/shitu/android/activity/LocationSelectActivity.java

@@ -24,6 +24,7 @@ import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.adapter.HistoryCityGridAdapter;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
 import com.ynstkz.shitu.android.bean.LocalCityBean;
+import com.ynstkz.shitu.android.bean.LocationDataBean;
 import com.ynstkz.shitu.android.data.RequestGroup;
 import com.ynstkz.shitu.android.data.SharedPreferencesUtils;
 import com.ynstkz.shitu.android.view.sortlist.CharacterParser;
@@ -68,6 +69,7 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
     private PinyinComparator pinyinComparator;
     private CharacterParser characterParser;
     private List<String> listCacheHistoryCity;
+    private String selectCity;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -131,7 +133,8 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
         gvHistoryCity.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
-                cacheLocationHistory((String)adapterView.getAdapter().getItem(i));
+                selectCity = (String)adapterView.getAdapter().getItem(i);
+                cacheLocationHistory();
             }
         });
 
@@ -141,7 +144,8 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
         llLocationCity.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                finish();
+                selectCity = SharedPreferencesUtils.getLocation();
+                cacheLocationHistory();
             }
         });
 
@@ -151,7 +155,8 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
         lvCountry.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
-                cacheLocationHistory(((SortModel)sortAdapter.getItem(position)).getName());
+                selectCity = ((SortModel)sortAdapter.getItem(position)).getName();
+                cacheLocationHistory();
             }
         });
     }
@@ -231,14 +236,13 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
 
     /**
      * 缓存历史城市
-     * @param city
      */
-    private void cacheLocationHistory(String city){
+    private void cacheLocationHistory(){
         if(listCacheHistoryCity == null){
             listCacheHistoryCity = new ArrayList<>();
         }
-        if(!listCacheHistoryCity.contains(city)){
-            listCacheHistoryCity.add(0, city);
+        if(!listCacheHistoryCity.contains(selectCity)){
+            listCacheHistoryCity.add(0, selectCity);
         }
         if(listCacheHistoryCity.size() > 4){
             listCacheHistoryCity.remove(4);
@@ -246,10 +250,10 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
         Cache.put(KRY_LISTCACHEHISTORYCITY, listCacheHistoryCity);
 
         Intent intent = new Intent();
-        intent.putExtra("result", city);
+        intent.putExtra("result", selectCity);
         setResult(RESULT_OK, intent);
         //搜索经纬度
-        getAmapGeocode(city);
+        getAmapGeocode(selectCity);
     }
 
 
@@ -281,9 +285,16 @@ public class LocationSelectActivity extends TitleBarActivity implements GeocodeS
             double longitude = latLonPoint.getLongitude();
 
             Intent intent = new Intent();
-            intent.putExtra("city", geocodeAddress.getCity());
+            intent.putExtra("city", selectCity);
             intent.putExtra("latitude", latitude);
             intent.putExtra("longitude", longitude);
+
+            LocationDataBean locationDataBean = new LocationDataBean();
+            locationDataBean.setCity(selectCity);
+            locationDataBean.setLongitude(longitude);
+            locationDataBean.setLatitude(latitude);
+            Cache.put("locationDataBean", locationDataBean);
+
             setResult(RESULT_OK, intent);
             finish();
         }

+ 47 - 0
app/src/main/java/com/ynstkz/shitu/android/bean/IdAuthCacheBean.java

@@ -0,0 +1,47 @@
+package com.ynstkz.shitu.android.bean;
+
+import java.io.Serializable;
+
+/**
+ * 作者:fuchangle on 2018/4/21 22:22
+ */
+
+public class IdAuthCacheBean implements Serializable{
+
+    private String userId;
+    private String isPatriarch;
+    private String userName;
+    private String idCard;
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String isPatriarch() {
+        return isPatriarch;
+    }
+
+    public void setPatriarch(String patriarch) {
+        isPatriarch = patriarch;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getIdCard() {
+        return idCard;
+    }
+
+    public void setIdCard(String idCard) {
+        this.idCard = idCard;
+    }
+}

+ 2 - 1
app/src/main/java/com/ynstkz/shitu/android/data/RequestGroup.java

@@ -131,11 +131,12 @@ public class RequestGroup {
      * @param pwd
      * @param rePwd
      */
-    public static void userFindPwd(String mobile, String pwd, String rePwd, Callback callback){
+    public static void userFindPwd(String mobile, String pwd, String rePwd, String code, Callback callback){
         Map<String, String> params = getSystemParams();
         params.put("mobile", mobile);
         params.put("pwd", pwd);
         params.put("rePwd", rePwd);
+        params.put("code", code);
         OkHttpUtils.postString().url(UrlCat.URL_USER_FINDPWD).addHeader(KEY_TOKEN,
                 SharedPreferencesUtils.getToken()).content(new Gson().toJson(params)).build().execute(callback);
     }

+ 0 - 1
app/src/main/java/com/ynstkz/shitu/android/fragment/HomeFragment.java

@@ -233,7 +233,6 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
      * 初始化缓存数据
      */
     private void initCacheData() {
-        //初始化banner
 
         //获取机构导航数据
         Cache<OrgNavigationBean> cacheNavigation = new Cache<>();

+ 1 - 0
app/src/main/java/com/ynstkz/shitu/android/fragment/OrgListFragment.java

@@ -425,6 +425,7 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
             tvLocation.setText(event.getLocationDataBean().getCity());
             //获取推荐机构列表
             pageNumber = 1;
+            tvFilterLocation.setText(event.getLocationDataBean().getCity());
             longitude = event.getLocationDataBean().getLongitude();
             latitude = event.getLocationDataBean().getLatitude();
             getOrgList();

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

@@ -82,7 +82,6 @@
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:hint="请输入验证码"
-                android:inputType="textPassword"
                 android:maxLines="1"
                 android:layout_toLeftOf="@+id/tv_verifycode"
                 android:textCursorDrawable="@null"