Просмотр исходного кода

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into draft

Bitliker 8 лет назад
Родитель
Сommit
b160547d32
38 измененных файлов с 1102 добавлено и 210 удалено
  1. 3 0
      WeiChat/src/main/AndroidManifest.xml
  2. 103 44
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/activity/PDFDownloadActivity.java
  3. 3 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java
  4. 19 5
      WeiChat/src/main/res/layout/activity_pdf_download.xml
  5. 4 1
      WeiChat/src/main/res/values-en/strings.xml
  6. 4 1
      WeiChat/src/main/res/values-zh-rCN/strings.xml
  7. 4 1
      WeiChat/src/main/res/values-zh-rTW/strings.xml
  8. 4 1
      WeiChat/src/main/res/values/strings.xml
  9. 1 0
      app_core/common/src/main/java/com/core/app/AppConstant.java
  10. 9 0
      app_core/common/src/main/java/com/core/dao/UUSportDao.java
  11. 9 0
      app_core/common/src/main/java/com/core/model/UUSportModel.java
  12. 16 18
      app_core/common/src/main/java/com/core/net/http/ViewUtil.java
  13. 5 4
      app_core/common/src/main/java/com/core/utils/CommonUtil.java
  14. 290 0
      app_core/common/src/main/java/com/core/widget/view/adapter/SecondaryListAdapter.java
  15. 1 1
      app_core/common/src/main/java/com/core/widget/view/imp/SearchPresenter.java
  16. 1 0
      app_modular/applogin/src/main/AndroidManifest.xml
  17. 5 5
      app_modular/applogin/src/main/assets/profession.json
  18. 60 8
      app_modular/applogin/src/main/java/com/modular/login/activity/AdminRegisterActivity.java
  19. 47 83
      app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseRegisterActivity.java
  20. 149 0
      app_modular/applogin/src/main/java/com/modular/login/activity/IndustryChooseActivity.java
  21. 102 0
      app_modular/applogin/src/main/java/com/modular/login/adapter/IndustryAdapter.java
  22. 0 14
      app_modular/applogin/src/main/java/com/modular/login/model/ProfessionBean.java
  23. 13 6
      app_modular/applogin/src/main/res/layout/activity_enterprise_register.xml
  24. 9 0
      app_modular/applogin/src/main/res/layout/activity_industry_choose.xml
  25. 15 0
      app_modular/applogin/src/main/res/layout/item_group_layout.xml
  26. 16 0
      app_modular/applogin/src/main/res/layout/item_sub_layout.xml
  27. 6 1
      app_modular/appme/src/main/AndroidManifest.xml
  28. 5 1
      app_modular/appme/src/main/java/com/uas/appme/pedometer/service/StepService.java
  29. 12 3
      app_modular/appme/src/main/java/com/uas/appme/pedometer/utils/StepUtils.java
  30. 7 5
      app_modular/appme/src/main/java/com/uas/appme/pedometer/view/NewStepActivity.java
  31. 2 0
      app_modular/appme/src/main/java/com/uas/appme/pedometer/view/PersonalPageActivity.java
  32. 4 0
      app_modular/appme/src/main/java/com/uas/appme/pedometer/view/UURanking.java
  33. BIN
      app_modular/appme/src/main/res/drawable-xxhdpi/rankb.jpg
  34. 2 1
      app_modular/appme/src/main/res/layout/personal_page_activity.xml
  35. 79 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/UUSportActivity.java
  36. 55 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/UUSportAdapter.java
  37. 36 0
      app_modular/appmessages/src/main/res/layout/activity_uusport.xml
  38. 2 2
      version.gradle

+ 3 - 0
WeiChat/src/main/AndroidManifest.xml

@@ -1042,6 +1042,9 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+        <activity android:name="com.modular.appmessages.activity.UUSportActivity"
+            android:label="@string/set_sport"/>
+
     </application>
 
 </manifest>

+ 103 - 44
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/datainquiry/activity/PDFDownloadActivity.java

@@ -13,6 +13,8 @@ import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.common.data.JSONUtil;
 import com.core.net.ProgressDownloader;
 import com.core.net.ProgressResponseBody;
 import com.core.net.http.ViewUtil;
@@ -49,7 +51,7 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
     private final int OBATIN_PDF_PATH = 100;
 
     private PDFView mPDFView;
-    private TextView mStateTextView, mRemainTextView, mReloadTextView, mExitTextView, mPauseTextView;
+    private TextView mStateTextView, mRemainTextView, mRedownloadTextView, mExitTextView, mPauseTextView, mLoadTextView;
     private ProgressBar mDownloadProgressBar;
     private RelativeLayout mDownloadRelativeLayout;
     private LinearLayout mErrorLinearLayout;
@@ -60,6 +62,8 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
     private File file;
     private long contentLength;
     private long totalBytes;
+    private String replace;
+    private int mRetryTimes = 0;
 
     private Handler mHandler = new Handler() {
         @Override
@@ -69,7 +73,7 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
                     try {
                         int progress = (int) msg.obj;
                         Log.d("progress", progress + ":" + contentLength);
-                        mStateTextView.setText(R.string.str_loading);
+                        mStateTextView.setText(R.string.str_downloading);
                         mDownloadProgressBar.setProgress(progress);
                         mRemainTextView.setText((100 - (((progress * 1024 * 100) / contentLength))) + "");
                     } catch (Exception e) {
@@ -79,14 +83,7 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
                 case Constants.CONSTANT.DOWNLOAD_SUCCESS:
                     mPauseTextView.setVisibility(View.GONE);
                     mStateTextView.setText("报表文件下载成功!\n正在加载....");
-//                    mDownloadProgressBar.setProgress(100);
                     mRemainTextView.setText("0");
-                    /*mDownloadRelativeLayout.postDelayed(new Runnable() {
-                        @Override
-                        public void run() {
-                            mDownloadRelativeLayout.setVisibility(View.GONE);
-                        }
-                    }, 1000);*/
                     displayFromFile(new File(PDF_FILE_PATH, PDF_FILE_NAME));
                     break;
                 case Constants.CONSTANT.PDF_OVERLOAD:
@@ -113,7 +110,21 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
                     break;
                 case com.core.app.Constants.APP_SOCKETIMEOUTEXCEPTION:
                     result = msg.getData().getString("response");
-                    analysisPdfPath(result);
+                    String exception = "系统错误";
+                    if (JSONUtil.validate(result)) {
+                        if (JSON.parse(result) instanceof com.alibaba.fastjson.JSONObject) {
+                            exception = JSON.parseObject(result).getString("exceptionInfo");
+                        }
+                    }
+                    if (TextUtils.isEmpty(exception)) {
+                        analysisPdfPath(result);
+                    } else {
+                        mPauseTextView.setVisibility(View.GONE);
+                        mErrorLinearLayout.setVisibility(View.VISIBLE);
+                        mStateTextView.setText(R.string.data_exception);
+                        mDownloadProgressBar.setProgress(0);
+                        mRemainTextView.setText(100 + "");
+                    }
                     break;
             }
         }
@@ -144,24 +155,8 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
                     } else {
                         downloadUrl = responseObject.optString("path");
                         if (!TextUtils.isEmpty(downloadUrl)) {
-                            downloadUrl = "http://print.ubtob.com/report/" + downloadUrl;
-                            mPauseTextView.setVisibility(View.VISIBLE);
-                            breakPoints = 0L;
-                            File directory = new File(PDF_FILE_PATH);
-                            if (!directory.exists() && !directory.isDirectory()) {
-                                boolean mkdirs = directory.mkdirs();
-
-                            } else {
-                                CommonUtil.delAllFile(PDF_FILE_PATH);
-                            }
-                            file = new File(PDF_FILE_PATH, PDF_FILE_NAME);
-                            try {
-                                file.createNewFile();
-                            } catch (IOException e) {
-                                e.printStackTrace();
-                            }
-                            mDownloader = new ProgressDownloader(downloadUrl, file, PDFDownloadActivity.this);
-                            mDownloader.download(0L);
+                            downloadUrl = replace + "report/" + downloadUrl;
+                            downloadPdf();
                         }
                     }
                 }
@@ -172,6 +167,26 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
         }
     }
 
+    private void downloadPdf() {
+        mPauseTextView.setVisibility(View.VISIBLE);
+        breakPoints = 0L;
+        File directory = new File(PDF_FILE_PATH);
+        if (!directory.exists() && !directory.isDirectory()) {
+            boolean mkdirs = directory.mkdirs();
+
+        } else {
+            CommonUtil.delAllFile(PDF_FILE_PATH);
+        }
+        file = new File(PDF_FILE_PATH, PDF_FILE_NAME);
+        try {
+            file.createNewFile();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        mDownloader = new ProgressDownloader(downloadUrl, file, PDFDownloadActivity.this);
+        mDownloader.download(0L);
+    }
+
     private void displayFromFile(File fileName) {
         try {
             mPDFView.fromFile(fileName)
@@ -197,11 +212,17 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
                     .spacing(10)
                     .load();
         } catch (Exception e) {
-            mPauseTextView.setVisibility(View.GONE);
-            mErrorLinearLayout.setVisibility(View.VISIBLE);
-            mStateTextView.setText("报表文件加载失败!");
-            mDownloadProgressBar.setProgress(0);
-            mRemainTextView.setText(100 + "");
+            if (mRetryTimes <= 2) {
+                mRetryTimes++;
+                displayFromFile(new File(PDF_FILE_PATH, PDF_FILE_NAME));
+            } else {
+                mPauseTextView.setVisibility(View.GONE);
+                mErrorLinearLayout.setVisibility(View.VISIBLE);
+                mLoadTextView.setVisibility(View.VISIBLE);
+                mStateTextView.setText("报表文件加载失败!");
+                mDownloadProgressBar.setProgress(0);
+                mRemainTextView.setText(100 + "");
+            }
         }
     }
 
@@ -216,7 +237,11 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
     }
 
     private void obtainPdfPath() {
-        String url = "http://print.ubtob.com/report/pdf/path";
+        mStateTextView.setText(R.string.obtain_pdf_path);
+        mDownloadProgressBar.setProgress(0);
+        mRemainTextView.setText(100 + "");
+
+        String url = replace + "report/pdf/path";
         Map<String, Object> params = new HashMap<>();
         params.put("u", CommonUtil.getSharedPreferences(ct, "erp_master"));
         params.put("pf", "phone");
@@ -242,6 +267,15 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
 //        downloadUrl = "http://print.ubtob.com/report/pdf/data?u=" + CommonUtil.getSharedPreferences(ct, "erp_master")
 //                + "&pf=phone&r=" + mReportName + "&w=where " + mCondition;
 
+        try {
+            String appBaseUrl = CommonUtil.getAppBaseUrl(this);
+            replace = appBaseUrl.substring(0, appBaseUrl.length() - 1);
+            replace = replace.substring(0, replace.lastIndexOf("/") + 1);
+        } catch (Exception e) {
+            replace = CommonUtil.getAppBaseUrl(this).replace("ERP/", "");
+        }
+
+        Log.d("pdfurl", replace);
         mPDFView = (PDFView) findViewById(R.id.pdf_download_pdfview);
         mPDFView.useBestQuality(true);
 
@@ -249,17 +283,19 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
         mRemainTextView = (TextView) findViewById(R.id.pdf_download_remain_tv);
         mDownloadProgressBar = (ProgressBar) findViewById(R.id.pdf_download_progress_pb);
         mDownloadRelativeLayout = (RelativeLayout) findViewById(R.id.pdf_download_progress_rl);
-        mReloadTextView = (TextView) findViewById(R.id.pdf_download_reload_tv);
+        mRedownloadTextView = (TextView) findViewById(R.id.pdf_download_redownload_tv);
         mExitTextView = (TextView) findViewById(R.id.pdf_download_exit_tv);
         mErrorLinearLayout = (LinearLayout) findViewById(R.id.pdf_download_error_menu_ll);
         mPauseTextView = (TextView) findViewById(R.id.pdf_download_pause_tv);
+        mLoadTextView = (TextView) findViewById(R.id.pdf_download_load_tv);
     }
 
     private void initEvents() {
         mExitTextView.setOnClickListener(this);
-        mReloadTextView.setOnClickListener(this);
+        mRedownloadTextView.setOnClickListener(this);
         mDownloadRelativeLayout.setOnClickListener(this);
         mPauseTextView.setOnClickListener(this);
+        mLoadTextView.setOnClickListener(this);
     }
 
     @Override
@@ -268,25 +304,42 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
             case R.id.pdf_download_exit_tv:
                 onBackPressed();
                 break;
-            case R.id.pdf_download_reload_tv:
-                mStateTextView.setText(R.string.str_loading);
+            case R.id.pdf_download_redownload_tv:
+                mStateTextView.setText(R.string.str_downloading);
                 mErrorLinearLayout.setVisibility(View.GONE);
+                mDownloadProgressBar.setProgress(0);
+                mRemainTextView.setText(100 + "");
 //                PDFUtils.downloadPDF(downloadUrl, mHandler);
-                obtainPdfPath();
+                if (TextUtils.isEmpty(downloadUrl)) {
+                    obtainPdfPath();
+                } else {
+                    downloadPdf();
+                }
                 break;
             case R.id.pdf_download_pause_tv:
                 if (getString(R.string.pause_download).equals(mPauseTextView.getText().toString())) {
                     mPauseTextView.setText(R.string.continue_download);
+                    mStateTextView.setText(R.string.download_paused);
                     mDownloader.pause();
                     ToastUtil.showToast(this, "下载暂停");
                     // 存储此时的totalBytes,即断点位置。
                     breakPoints = totalBytes;
                 } else if (getString(R.string.continue_download).equals(mPauseTextView.getText().toString())) {
                     mPauseTextView.setText(R.string.pause_download);
+                    mStateTextView.setText(R.string.str_downloading);
                     ToastUtil.showToast(this, "下载继续");
                     mDownloader.download(breakPoints);
                 }
                 break;
+            case R.id.pdf_download_load_tv:
+                mRetryTimes = 0;
+                mErrorLinearLayout.setVisibility(View.GONE);
+                mLoadTextView.setVisibility(View.GONE);
+                mStateTextView.setText(R.string.str_reloading);
+                mDownloadProgressBar.setProgress((int) (contentLength / 1024));
+                mRemainTextView.setText(0 + "");
+                displayFromFile(new File(PDF_FILE_PATH, PDF_FILE_NAME));
+                break;
         }
     }
 
@@ -318,11 +371,17 @@ public class PDFDownloadActivity extends BaseActivity implements View.OnClickLis
 
     @Override
     public void onError(Throwable t) {
-        mPauseTextView.setVisibility(View.GONE);
-        mErrorLinearLayout.setVisibility(View.VISIBLE);
-        mStateTextView.setText("报表文件加载失败!");
-        mDownloadProgressBar.setProgress(0);
-        mRemainTextView.setText(100 + "");
+        if (mRetryTimes <= 2) {
+            mRetryTimes++;
+            displayFromFile(new File(PDF_FILE_PATH, PDF_FILE_NAME));
+        } else {
+            mPauseTextView.setVisibility(View.GONE);
+            mErrorLinearLayout.setVisibility(View.VISIBLE);
+            mLoadTextView.setVisibility(View.VISIBLE);
+            mStateTextView.setText("报表文件加载失败!");
+            mDownloadProgressBar.setProgress(0);
+            mRemainTextView.setText(100 + "");
+        }
     }
 
     @Override

+ 3 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java

@@ -40,10 +40,10 @@ import com.lidroid.xutils.view.annotation.ViewInject;
 import com.modular.appmessages.activity.ProcessB2BActivity;
 import com.modular.appmessages.activity.ProcessMsgActivity;
 import com.modular.appmessages.activity.Subscription2Activity;
+import com.modular.appmessages.activity.UUSportActivity;
 import com.modular.appmessages.adapter.MessageAdapter;
 import com.modular.appmessages.presenter.MessagePresenter;
 import com.modular.appmessages.presenter.imp.IMessageView;
-import com.uas.appme.pedometer.view.NewStepActivity;
 import com.uas.appme.settings.Constant.Constant;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.platform.task.TaskActivity;
@@ -238,7 +238,7 @@ public class MessageFragment extends EasyFragment implements IMessageView, View.
 
         if (PreferenceUtils.getInt(MyApplication.getInstance(), Constant.UU_STEP) == 1
                 && !CommonUtil.isReleaseVersion()  )
-            uustep_rl.setVisibility(View.VISIBLE);
+            uustep_rl.setVisibility(View.GONE);
         else
             uustep_rl.setVisibility(View.GONE);
         return view;
@@ -333,9 +333,7 @@ public class MessageFragment extends EasyFragment implements IMessageView, View.
 //                startActivityForResult(intent, REQUESTCODE);
 //                break;
             case R.id.uustep_rl:
-//                startActivity(new Intent(mContext, UURanking.class));
-
-                startActivity(new Intent(mContext, NewStepActivity.class));
+                startActivity(new Intent(mContext, UUSportActivity.class));
                 break;
         }
 

+ 19 - 5
WeiChat/src/main/res/layout/activity_pdf_download.xml

@@ -30,7 +30,7 @@
                 android:ellipsize="end"
                 android:gravity="center"
                 android:maxLines="2"
-                android:text="@string/str_loading"
+                android:text="@string/obtain_pdf_path"
                 android:textSize="16sp" />
 
             <ProgressBar
@@ -77,7 +77,7 @@
         <TextView
             android:id="@+id/pdf_download_pause_tv"
             android:layout_width="match_parent"
-            android:layout_height="40dp"
+            android:layout_height="36dp"
             android:layout_alignParentBottom="true"
             android:layout_marginBottom="20dp"
             android:layout_marginLeft="30dp"
@@ -99,9 +99,23 @@
             android:visibility="gone">
 
             <TextView
-                android:id="@+id/pdf_download_reload_tv"
+                android:id="@+id/pdf_download_load_tv"
                 android:layout_width="match_parent"
-                android:layout_height="40dp"
+                android:layout_height="36dp"
+                android:layout_marginBottom="10dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginRight="20dp"
+                android:background="@drawable/selector_confirm_bg"
+                android:gravity="center"
+                android:text="重新加载"
+                android:textColor="@color/white"
+                android:textSize="16sp"
+                android:visibility="gone" />
+
+            <TextView
+                android:id="@+id/pdf_download_redownload_tv"
+                android:layout_width="match_parent"
+                android:layout_height="36dp"
                 android:layout_marginBottom="10dp"
                 android:layout_marginLeft="20dp"
                 android:layout_marginRight="20dp"
@@ -114,7 +128,7 @@
             <TextView
                 android:id="@+id/pdf_download_exit_tv"
                 android:layout_width="match_parent"
-                android:layout_height="40dp"
+                android:layout_height="36dp"
                 android:layout_marginLeft="20dp"
                 android:layout_marginRight="20dp"
                 android:background="@drawable/selector_cancel_bg"

+ 4 - 1
WeiChat/src/main/res/values-en/strings.xml

@@ -1430,11 +1430,14 @@
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
     <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
-    <string name="str_loading">正在下载...</string>
+    <string name="str_downloading">正在下载...</string>
     <string name="re_download">重新下载</string>
     <string name="search_history">搜索历史</string>
     <string name="str_clear">清空</string>
     <string name="pause_download">暂停下载</string>
     <string name="continue_download">继续下载</string>
+    <string name="obtain_pdf_path">正在获取报表文件资源,请稍候...</string>
+    <string name="download_paused">下载已暂停</string>
+    <string name="str_reloading">正在加载....</string>
 
 </resources>

+ 4 - 1
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -1542,11 +1542,14 @@
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
     <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
-    <string name="str_loading">正在下载...</string>
+    <string name="str_downloading">正在下载...</string>
     <string name="re_download">重新下载</string>
     <string name="search_history">搜索历史</string>
     <string name="str_clear">清空</string>
     <string name="pause_download">暂停下载</string>
     <string name="continue_download">继续下载</string>
+    <string name="obtain_pdf_path">正在获取报表文件资源,请稍候...</string>
+    <string name="download_paused">下载已暂停</string>
+    <string name="str_reloading">正在加载....</string>
 
 </resources>

+ 4 - 1
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -1531,11 +1531,14 @@
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
     <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
-    <string name="str_loading">正在下载...</string>
+    <string name="str_downloading">正在下载...</string>
     <string name="re_download">重新下载</string>
     <string name="search_history">搜索历史</string>
     <string name="str_clear">清空</string>
     <string name="pause_download">暂停下载</string>
     <string name="continue_download">继续下载</string>
+    <string name="obtain_pdf_path">正在获取报表文件资源,请稍候...</string>
+    <string name="download_paused">下载已暂停</string>
+    <string name="str_reloading">正在加载....</string>
 
 </resources>

+ 4 - 1
WeiChat/src/main/res/values/strings.xml

@@ -1874,10 +1874,13 @@
     <string name="select_query_service">选择查询业务</string>
     <string name="report_query">报表查询</string>
     <string name="report_query_prompt">报表查询结果是PDF文件,\n需要耗费您一些流量....</string>
-    <string name="str_loading">正在下载...</string>
+    <string name="str_downloading">正在下载...</string>
     <string name="re_download">重新下载</string>
     <string name="search_history">搜索历史</string>
     <string name="str_clear">清空</string>
     <string name="pause_download">暂停下载</string>
     <string name="continue_download">继续下载</string>
+    <string name="obtain_pdf_path">正在获取报表文件资源,请稍候...</string>
+    <string name="download_paused">下载已暂停</string>
+    <string name="str_reloading">正在加载....</string>
 </resources>

+ 1 - 0
app_core/common/src/main/java/com/core/app/AppConstant.java

@@ -69,6 +69,7 @@ public class AppConstant {
     public static final String NEW_FUNCTION_NOTICE = "NEW_FUNCTION_NOTICE";
 
     public static final String UPDATA_UUHELPER = "UPDATA_UUHELPER";
+    public static final String UUSPORT_PUSH = "UUSPORT_PUSH";
 
     public static final int RESULT_CODE = 0x865;
 }

+ 9 - 0
app_core/common/src/main/java/com/core/dao/UUSportDao.java

@@ -0,0 +1,9 @@
+package com.core.dao;
+
+/**
+ * Created by FANGlh on 2017/9/27.
+ * function:
+ */
+
+public class UUSportDao {
+}

+ 9 - 0
app_core/common/src/main/java/com/core/model/UUSportModel.java

@@ -0,0 +1,9 @@
+package com.core.model;
+
+/**
+ * Created by FANGlh on 2017/9/27.
+ * function:
+ */
+
+public class UUSportModel  {
+}

+ 16 - 18
app_core/common/src/main/java/com/core/net/http/ViewUtil.java

@@ -63,14 +63,13 @@ public class ViewUtil {
     private static List<LoginEntity> erpEntities;
     private static boolean hasErp = true;//是否有erp
 
-    
+
     private static String oldMsg;
     private static long time;
     private static String oldMsg2;
     private static long time2;
 
 
-
     public static Crouton crouton;
 
 
@@ -93,7 +92,6 @@ public class ViewUtil {
     }
 
 
-   
     public static void ToastMessage(Context cont, String msg, int toastColor, int toastTime) {
         if (cont instanceof Activity) {
             if (crouton != null) {
@@ -287,17 +285,17 @@ public class ViewUtil {
 //                showDialogCompany(CommonUtil.getSharedPreferences(ct, "loginJson"), user_phone, user_password);
 //            }
 //        } else {
-            //登录界面过来,不走缓存
-            String url = Constants.BASE_URL_LOGIN;
-            Map<String, String> params = new HashMap<String, String>();
-            params.put("user", user_phone);
-            params.put("password", user_password);
-            Message message = new Message();
-            Bundle bundle = new Bundle();
-            bundle.putString("phone", user_phone);
-            bundle.putString("password", user_password);
-            startNetThread(url, params, handler, Constants.SUCCESS_LOGIN, message,
-                    bundle, "get");
+        //登录界面过来,不走缓存
+        String url = Constants.BASE_URL_LOGIN;
+        Map<String, String> params = new HashMap<String, String>();
+        params.put("user", user_phone);
+        params.put("password", user_password);
+        Message message = new Message();
+        Bundle bundle = new Bundle();
+        bundle.putString("phone", user_phone);
+        bundle.putString("password", user_password);
+        startNetThread(url, params, handler, Constants.SUCCESS_LOGIN, message,
+                bundle, "get");
 //        }
 
     }
@@ -431,7 +429,7 @@ public class ViewUtil {
         }
         //必须补位空,才能不覆盖原有的根路径
         if (!StringUtil.isEmpty(erp_baseurl)) {
-          
+
             CommonUtil.setSharedPreferences(ct, "erp_master", erp_master);
             CommonUtil.setSharedPreferences(ct, "erp_commpany", erp_company);
             CommonUtil.setSharedPreferences(ct, "erp_uu", String.valueOf(dataMap.get("uu")));
@@ -495,7 +493,7 @@ public class ViewUtil {
             if (ct instanceof Activity) {
 //                if (!StringUtil.isEmpty(CommonUtil.getSharedPreferences(MyApplication.getInstance(),"erp_baseurl"))){
 //                }else{
-                    ct.startActivity(new Intent("com.modular.main.DataDownloadActivity"));
+                ct.startActivity(new Intent("com.modular.main.DataDownloadActivity"));
 //                }
             }
         }
@@ -526,7 +524,7 @@ public class ViewUtil {
             if (loginERPDialog != null) {
                 select = loginERPDialog.getSelectedIndex();
             }
-            if (ct==null)return;
+            if (ct == null) return;
             loginERPDialog = new MaterialDialog.Builder(ct)
                     .title(ct.getString(R.string.user_dialog_company))
                     .items(items)
@@ -794,6 +792,7 @@ public class ViewUtil {
                             if (result.getStatusCode() == 404) {
                                 exception = "404系统错误";
                             }
+                            finalBundle.putString("response", result.getResponseText());
                             finalBundle.putString("result", exception);
                             finalBundle.putInt("what", what);
                             finalBundle.putInt("code", result.getStatusCode());
@@ -937,7 +936,6 @@ public class ViewUtil {
     }
 
 
-    
     public static void clearAccount(Context ct) {
         CommonUtil.clearSharedPreferences(ct, "erp_baseurl");
         CommonUtil.clearSharedPreferences(ct, "erp_master");

+ 5 - 4
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -32,6 +32,7 @@ import com.common.data.StringUtil;
 import com.common.file.PropertiesUtil;
 import com.core.api.wxapi.ApiPlatform;
 import com.core.api.wxapi.ApiUtils;
+import com.core.app.BuildConfig;
 import com.core.app.MyApplication;
 import com.core.app.R;
 import com.core.dao.SignAutoLogDao;
@@ -78,11 +79,11 @@ public class CommonUtil {
      * function:判断是不是发布版本,true:发布版本
      */
     public static Boolean isReleaseVersion() {
-        //        return !BuildConfig.DEBUG;  //垃圾方法,得根据自己选择的debug还是release模式返回,根本就不好用,
+                return !BuildConfig.DEBUG;  //垃圾方法,得根据自己选择的debug还是release模式返回,根本就不好用,
         //         只要改变 common目录下的versionconfiguration就可以了
-        if (!StringUtil.isEmpty(PropertiesUtil.readData(MyApplication.getInstance(), "release_version", R.raw.versionconfiguration)) &&                "true".equals(PropertiesUtil.readData(MyApplication.getInstance(), "release_version", R.raw.versionconfiguration)))            return true;
-        else
-            return false;
+//        if (!StringUtil.isEmpty(PropertiesUtil.readData(MyApplication.getInstance(), "release_version", R.raw.versionconfiguration)) &&                "true".equals(PropertiesUtil.readData(MyApplication.getInstance(), "release_version", R.raw.versionconfiguration)))            return true;
+//        else
+//            return false;
     }
 
 

+ 290 - 0
app_core/common/src/main/java/com/core/widget/view/adapter/SecondaryListAdapter.java

@@ -0,0 +1,290 @@
+package com.core.widget.view.adapter;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/21.
+ * recyclerview二级列表适配器基类
+ */
+
+public abstract class SecondaryListAdapter<GVH, SVH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter {
+    private List<Boolean> mGroupItemStatus;
+    private List<SecondaryListBean> mSecondaryListBeen;
+
+    /**
+     * 创建分组布局ViewHolder
+     *
+     * @param parent
+     * @return
+     */
+    public abstract RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent);
+
+    /**
+     * 创建子项布局ViewHolder
+     *
+     * @param parent
+     * @return
+     */
+    public abstract RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent);
+
+    /**
+     * 绑定分组布局ViewHolder
+     *
+     * @param holder
+     * @param groupItemIndex
+     */
+    public abstract void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex);
+
+    /**
+     * 绑定子项布局ViewHolder
+     *
+     * @param holder
+     * @param groupItemIndex
+     * @param subItemIndex
+     */
+    public abstract void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex);
+
+    /**
+     * 一级列表点击事件
+     *
+     * @param isExpand
+     * @param holder
+     * @param groupItemIndex
+     */
+    public abstract void onGroupItemClick(boolean isExpand, GVH holder, int groupItemIndex);
+
+    /**
+     * 二级子项点击事件
+     *
+     * @param holder
+     * @param groupItemIndex
+     * @param subItemIndex
+     */
+    public abstract void onSubItemClick(SVH holder, int groupItemIndex, int subItemIndex);
+
+    /**
+     * 初始化数据源
+     *
+     * @param secondaryListBeen
+     */
+    public void initSecondaryList(List secondaryListBeen) {
+        mGroupItemStatus = new ArrayList<>();
+        mSecondaryListBeen = new ArrayList<>();
+
+        setSecondaryListBeen(secondaryListBeen);
+    }
+
+    public void setSecondaryListBeen(List secondaryListBeen) {
+        mSecondaryListBeen = secondaryListBeen;
+        initGroupItemStatus();
+        notifyDataSetChanged();
+    }
+
+    /**
+     * 初始化一级列表展开状态,默认全部收起
+     */
+    public void initGroupItemStatus() {
+        for (int i = 0; i < mSecondaryListBeen.size(); i++) {
+            mGroupItemStatus.add(false);
+        }
+    }
+
+    /**
+     * 设置某项一级列表的展开装状态
+     *
+     * @param groupIndex
+     * @param isExpand
+     */
+    public void setGroupItemStatu(int groupIndex, boolean isExpand) {
+        if (mGroupItemStatus != null && mGroupItemStatus.size() > groupIndex) {
+            mGroupItemStatus.set(groupIndex, isExpand);
+            notifyDataSetChanged();
+        }
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        RecyclerView.ViewHolder viewHolder = null;
+        if (viewType == ItemStatus.TYPE_GROUPITEM) {
+            viewHolder = onCreateGroupViewHolder(parent);
+        } else if (viewType == ItemStatus.TYPE_SUBITEM) {
+            viewHolder = onCreateSubViewHolder(parent);
+        }
+
+        return viewHolder;
+    }
+
+    @Override
+    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
+        final ItemStatus itemStatus = getItemStatusByPosition(position);
+
+        if (itemStatus.getItemType() == ItemStatus.TYPE_GROUPITEM) {
+            onBindGroupViewHolder(holder, itemStatus.getGroupIndex());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    int groupIndex = itemStatus.getGroupIndex();
+                    boolean groupStatus = mGroupItemStatus.get(groupIndex);
+
+                    onGroupItemClick(groupStatus, (GVH) holder, groupIndex);
+                    mGroupItemStatus.set(groupIndex, !groupStatus);
+
+                    //这里必须要用holder.getAdapterPosition()来确认点击的位置
+                    if (groupStatus) {
+                        notifyItemRangeRemoved(holder.getAdapterPosition() + 1, mSecondaryListBeen.get(groupIndex).getSubItems().size());
+                    } else {
+                        notifyItemRangeInserted(holder.getAdapterPosition() + 1, mSecondaryListBeen.get(groupIndex).getSubItems().size());
+                    }
+                }
+            });
+        } else if (itemStatus.getItemType() == ItemStatus.TYPE_SUBITEM) {
+            onBindSubViewHolder(holder, itemStatus.getGroupIndex(), itemStatus.getSubIndex());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    onSubItemClick((SVH) holder, itemStatus.getGroupIndex(), itemStatus.getSubIndex());
+                }
+            });
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        int itemCount = 0;
+
+        if (mGroupItemStatus.size() == 0) {
+            return 0;
+        }
+
+        for (int i = 0; i < mGroupItemStatus.size(); i++) {
+            if (mGroupItemStatus.get(i)) {
+                itemCount += mSecondaryListBeen.get(i).getSubItems().size() + 1;
+            } else {
+                itemCount++;
+            }
+        }
+        return itemCount;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return getItemStatusByPosition(position).getItemType();
+    }
+
+    /**
+     * 获取条目状态信息
+     *
+     * @param position
+     * @return
+     */
+    private ItemStatus getItemStatusByPosition(int position) {
+        ItemStatus itemStatus = new ItemStatus();
+
+        int i = 0;
+        int groupItemPosition = 0;
+        for (i = 0; i < mGroupItemStatus.size(); i++) {
+            if (position == groupItemPosition) {
+                itemStatus.setItemType(ItemStatus.TYPE_GROUPITEM);
+                itemStatus.setGroupIndex(i);
+                break;
+            }
+
+            if (position < groupItemPosition) {
+                itemStatus.setItemType(ItemStatus.TYPE_SUBITEM);
+                itemStatus.setGroupIndex(i - 1);
+                itemStatus.setSubIndex(position - (groupItemPosition
+                        - mSecondaryListBeen.get(i - 1).getSubItems().size()));
+                break;
+            }
+
+            groupItemPosition++;
+
+            if (mGroupItemStatus.get(i)) {
+                groupItemPosition += mSecondaryListBeen.get(i).getSubItems().size();
+            }
+
+        }
+
+        if (i >= mGroupItemStatus.size()) {
+            itemStatus.setItemType(ItemStatus.TYPE_SUBITEM);
+            itemStatus.setGroupIndex(i - 1);
+            itemStatus.setSubIndex(position - (groupItemPosition
+                    - mSecondaryListBeen.get(i - 1).getSubItems().size()));
+        }
+
+        return itemStatus;
+    }
+
+    /**
+     * 条目状态类
+     */
+    private static class ItemStatus {
+        public static final int TYPE_GROUPITEM = 0;
+        public static final int TYPE_SUBITEM = 1;
+
+        private int itemType;
+        private int groupIndex = 0;
+        private int subIndex = -1;
+
+        public int getItemType() {
+            return itemType;
+        }
+
+        public void setItemType(int itemType) {
+            this.itemType = itemType;
+        }
+
+        public int getGroupIndex() {
+            return groupIndex;
+        }
+
+        public void setGroupIndex(int groupIndex) {
+            this.groupIndex = groupIndex;
+        }
+
+        public int getSubIndex() {
+            return subIndex;
+        }
+
+        public void setSubIndex(int subIndex) {
+            this.subIndex = subIndex;
+        }
+    }
+
+    /**
+     * 二级列表泛型实体类
+     *
+     * @param <G> 一级实体类
+     * @param <S> 二级实体类
+     */
+    public final static class SecondaryListBean<G, S> {
+        private G groupItem;
+        private List<S> subItems;
+
+        public SecondaryListBean(G groupItem, List<S> subItems) {
+            this.groupItem = groupItem;
+            this.subItems = subItems;
+        }
+
+        public G getGroupItem() {
+            return groupItem;
+        }
+
+        public void setGroupItem(G groupItem) {
+            this.groupItem = groupItem;
+        }
+
+        public List<S> getSubItems() {
+            return subItems;
+        }
+
+        public void setSubItems(List<S> subItems) {
+            this.subItems = subItems;
+        }
+    }
+}

+ 1 - 1
app_core/common/src/main/java/com/core/widget/view/imp/SearchPresenter.java

@@ -143,7 +143,7 @@ public class SearchPresenter {
 
 
     private void initData() {
-        if (!MyApplication.getInstance().isNetworkActive()){
+        if (!MyApplication.getInstance().isNetworkActive()) {
             iSearchView.showNotNetWork();
             return;
         }

+ 1 - 0
app_modular/applogin/src/main/AndroidManifest.xml

@@ -23,5 +23,6 @@
             android:name=".activity.AdminRegisterActivity"
             android:windowSoftInputMode="adjustPan|stateHidden" />
         <activity android:name=".activity.EnterpriseCompleteActivity" />
+        <activity android:name=".activity.IndustryChooseActivity" />
     </application>
 </manifest>

+ 5 - 5
app_modular/applogin/src/main/assets/profession.json

@@ -1,4 +1,9 @@
 {
+  "服务业": [
+    "医疗/护理/美容/保健/卫生服务",
+    "酒店/餐饮",
+    "旅游/度假"
+  ],
   "IT|通信|电子|互联网": [
     "互联网/电子商务",
     "计算机软件",
@@ -57,11 +62,6 @@
     "交通/运输",
     "物流/仓储"
   ],
-  "服务业": [
-    "医疗/护理/美容/保健/卫生服务",
-    "酒店/餐饮",
-    "旅游/度假"
-  ],
   "文化|传媒|娱乐|体育": [
     "媒体/出版/影视/文化传播",
     "娱乐/体育/休闲"

+ 60 - 8
app_modular/applogin/src/main/java/com/modular/login/activity/AdminRegisterActivity.java

@@ -14,13 +14,14 @@ import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
 import com.andreabaccega.widget.FormEditText;
+import com.common.hmac.Md5Util;
 import com.core.app.Constants;
 import com.core.base.BaseActivity;
 import com.core.net.http.ViewUtil;
 import com.core.utils.CommonUtil;
 import com.core.utils.ToastUtil;
-import com.me.network.app.http.HttpClient;
 import com.modular.login.R;
 
 import org.json.JSONException;
@@ -40,6 +41,7 @@ public class AdminRegisterActivity extends BaseActivity implements View.OnClickL
     private final int OBTAIN_VERIFICATION_CODE = 0x01;
     private final int ADMIN_REGISTER = 0x02;
     private final int VERIFICATION_TIME_TASK = 0x03;
+    private final int UPLOAD_REGISTER_MESSAGE = 0x04;
 
     private Button mNextStepButton;
     private FormEditText mAdminNameEt;
@@ -50,8 +52,8 @@ public class AdminRegisterActivity extends BaseActivity implements View.OnClickL
     private FormEditText mAdminPasswordEt;
     private ImageView mAdminPasswordVisiableIv;
     private boolean isPasswordVisiable = false;
-    private String mCheckcodeToken;
-    private HttpClient mHttpClient;
+    private String mCheckcodeToken, mCompanyName = "", mIndustry = "", mAddress = "", mLatitude = "", mLongitude;
+
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -87,18 +89,35 @@ public class AdminRegisterActivity extends BaseActivity implements View.OnClickL
                     }
                     break;
                 case ADMIN_REGISTER:
-                    progressDialog.dismiss();
+//                    progressDialog.dismiss();
                     if (result != null) {
                         try {
                             JSONObject resultObject = new JSONObject(result);
                             if (resultObject.optBoolean("success")) {
+//                                /*Intent intent = new Intent();
+//                                intent.setClass(AdminRegisterActivity.this, EnterpriseCompleteActivity.class);
+//                                startActivity(intent);
+//                                finish();*/
+                                uploadMsg();
+                            } else {
+                                String errMsg = resultObject.optString("errMsg");
+                                ToastUtil.showToast(AdminRegisterActivity.this, errMsg);
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                    break;
+                case UPLOAD_REGISTER_MESSAGE:
+                    progressDialog.dismiss();
+                    if (result != null) {
+                        try {
+                            JSONObject resultObject = new JSONObject(result);
+                            if ("true".equals(resultObject.optString("result"))) {
                                 Intent intent = new Intent();
                                 intent.setClass(AdminRegisterActivity.this, EnterpriseCompleteActivity.class);
                                 startActivity(intent);
                                 finish();
-                            } else {
-                                String errMsg = resultObject.optString("errMsg");
-                                ToastUtil.showToast(AdminRegisterActivity.this, errMsg);
                             }
                         } catch (JSONException e) {
                             e.printStackTrace();
@@ -150,7 +169,15 @@ public class AdminRegisterActivity extends BaseActivity implements View.OnClickL
         mAdminPasswordEt.setTypeface(Typeface.DEFAULT);
         mAdminPasswordEt.setTransformationMethod(new PasswordTransformationMethod());
         mAdminPasswordVisiableIv = (ImageView) findViewById(R.id.admin_register_password_visiable_iv);
-        mHttpClient = new HttpClient.Builder("https://account.ubtob.com").build();
+
+        Intent intent = getIntent();
+        if (intent != null) {
+            mCompanyName = intent.getStringExtra("companyName");
+            mIndustry = intent.getStringExtra("industry");
+            mAddress = intent.getStringExtra("address");
+            mLatitude = intent.getStringExtra("latitude");
+            mLongitude = intent.getStringExtra("longitude");
+        }
     }
 
     private void initEvents() {
@@ -159,6 +186,31 @@ public class AdminRegisterActivity extends BaseActivity implements View.OnClickL
         mAdminPasswordVisiableIv.setOnClickListener(this);
     }
 
+    private void uploadMsg() {
+        String url = "http://113.105.74.140:8092/user/appSaveCompany";
+
+        Map<String, String> map = new HashMap<>();
+        map.put("sc_company", mCompanyName);
+        map.put("sc_industry", mIndustry);
+        map.put("sc_address", mAddress);
+        map.put("sc_adminname", mAdminNameEt.getText().toString());
+        map.put("sc_telephone", mAdminPhoneEt.getText().toString());
+        map.put("sc_longitude", mLongitude);
+        map.put("sc_latitude", mLatitude);
+
+        Map<String, Object> params = new HashMap<>();
+        params.put("map", JSON.toJSON(map).toString());
+        params.put("telephone", mAdminPhoneEt.getText().toString());
+        params.put("password", Md5Util.toMD5(mAdminPasswordEt.getText().toString()));
+        params.put("nickname", mAdminNameEt.getText().toString());
+        params.put("description", "UU互联");
+        params.put("sex", "0");
+        params.put("birthday", "946656000");
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(this, url, params, mHandler, headers, UPLOAD_REGISTER_MESSAGE, null, null, "post");
+    }
+
     @Override
     public void onClick(View v) {
         int id = v.getId();

+ 47 - 83
app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseRegisterActivity.java

@@ -31,6 +31,7 @@ import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import com.andreabaccega.widget.FormEditText;
+import com.baidu.mapapi.search.core.PoiInfo;
 import com.common.LogUtil;
 import com.common.data.StringUtil;
 import com.common.system.DisplayUtil;
@@ -45,15 +46,15 @@ import com.core.net.http.ViewUtil;
 import com.core.utils.CommonUtil;
 import com.core.utils.IntentUtils;
 import com.core.utils.ToastUtil;
+import com.core.widget.view.Activity.SearchLocationActivity;
+import com.core.widget.view.model.SearchPoiParam;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.rx.ResultListener;
 import com.me.network.app.http.rx.ResultSubscriber;
 import com.modular.login.R;
-import com.modular.login.model.ProfessionBean;
 import com.nostra13.universalimageloader.core.ImageLoader;
 
-import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
@@ -62,11 +63,8 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -75,13 +73,16 @@ import java.util.Map;
 
 public class EnterpriseRegisterActivity extends BaseActivity implements View.OnClickListener {
     private final int ENTERPRISE_REGISTER = 0x11;
+    private final int INDUSTRY_CHOOSE = 0x12;
+    private final int SELECT_ADDRESS_REQUEST = 0x13;
+    private final int SELECT_ADDRESS_RESULT = 0x14;
 
     private Button mNextStepButton;
     private FormEditText mEnterpriseCompanyEt;
     private FormEditText mEnterpriseLicenseEt;
     private FormEditText mEnterpriseRepresentEt;
     private FormEditText mEnterpriseAddressEt;
-    private FormEditText mEnterpriseIndustryEt;
+    private TextView mEnterpriseIndustryEt;
     private FormEditText mEnterpriseBusinessEt;
     private ImageView mEnterpriseLicenseIv;
     private ImageView mTakePicImageView;
@@ -94,7 +95,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
     private static final int REQUEST_CODE_CROP_PHOTO = 3;//裁剪
     private String path = null;
     private File mLicenseFile;
-    private List<ProfessionBean> mProfessionList;
 
     private Handler mHandler = new Handler() {
         @Override
@@ -115,6 +115,12 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
                                 }
                                 Intent intent = new Intent();
                                 intent.setClass(EnterpriseRegisterActivity.this, AdminRegisterActivity.class);
+                                intent.putExtra("companyName", mEnterpriseCompanyEt.getText().toString());
+                                intent.putExtra("industry", mEnterpriseIndustryEt.getText().toString());
+                                intent.putExtra("address", mEnterpriseAddressEt.getText().toString());
+                                intent.putExtra("latitude", mLatitude + "");
+                                intent.putExtra("longitude", mLongitude + "");
+
                                 startActivity(intent);
                             } else {
                                 String errMsg = resultObject.optString("errMsg");
@@ -134,6 +140,8 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
         }
     };
     private HttpClient mHttpClient;
+    private double mLatitude;
+    private double mLongitude;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -158,6 +166,7 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
             }
         });
         mEnterpriseIndustryEt.setOnClickListener(this);
+        mEnterpriseAddressEt.setOnClickListener(this);
     }
 
     private void initViews() {
@@ -167,7 +176,7 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
         mEnterpriseLicenseEt = (FormEditText) findViewById(R.id.enterprise_register_license_et);
         mEnterpriseRepresentEt = (FormEditText) findViewById(R.id.enterprise_register_represent_et);
         mEnterpriseAddressEt = (FormEditText) findViewById(R.id.enterprise_register_address_et);
-        mEnterpriseIndustryEt = (FormEditText) findViewById(R.id.enterprise_register_industry_et);
+        mEnterpriseIndustryEt = (TextView) findViewById(R.id.enterprise_register_industry_et);
         mEnterpriseBusinessEt = (FormEditText) findViewById(R.id.enterprise_register_business_et);
         mEnterpriseLicenseIv = (ImageView) findViewById(R.id.enterprise_register_license_iv);
         mTakePicImageView = (ImageView) findViewById(R.id.enterprise_register_picture_iv);
@@ -176,7 +185,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
         mEnterpriseClauseTv.setMovementMethod(LinkMovementMethod.getInstance());
 
         mClauseCheckBox = (CheckBox) findViewById(R.id.enterprise_register_clause_cb);
-        mProfessionList = new ArrayList<>();
         mHttpClient = new
 //                HttpClient.Builder("https://account.ubtob.com/sso")
                 HttpClient.Builder("http://192.168.253.66:8082")
@@ -184,67 +192,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
                 .build();
     }
 
-    private void initProfession() {
-        mProfessionList = new ArrayList<>();
-        String profession = CommonUtil.getAssetsJson(this, "profession.json");
-        try {
-            JSONObject professionObject = new JSONObject(profession);
-            Iterator<String> iterator = professionObject.keys();
-            while (iterator.hasNext()) {
-                ProfessionBean professionBean = new ProfessionBean();
-                String professionFirstTitle = iterator.next().toString();
-                professionBean.setProfessionFirstTitle(professionFirstTitle);
-
-                List<ProfessionBean.ProfessionSecondBean> professionSecondList = new ArrayList<>();
-
-                Object second = professionObject.opt(professionFirstTitle);
-                if (second instanceof JSONArray) {
-                    JSONArray secondArray = (JSONArray) second;
-                    if (secondArray != null) {
-                        for (int i = 0; i < secondArray.length(); i++) {
-                            ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
-                            String secondTitle = secondArray.optString(i);
-                            professionSecond.setProfessionSecondTitle(secondTitle);
-
-                            professionSecondList.add(professionSecond);
-                        }
-                    }
-                } else if (second instanceof JSONObject) {
-                    JSONObject secondObject = (JSONObject) second;
-                    Iterator<String> secondKeys = secondObject.keys();
-                    while (secondKeys.hasNext()) {
-                        ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
-                        String secondTitle = secondKeys.next().toString();
-                        professionSecond.setProfessionSecondTitle(secondTitle);
-
-                        List<String> thirdTitles = new ArrayList<>();
-                        Object third = secondObject.opt(secondTitle);
-                        if (third instanceof String) {
-                            thirdTitles.add((String) third);
-                        } else if (third instanceof JSONArray) {
-                            JSONArray thirdArray = (JSONArray) third;
-                            for (int i = 0; i < thirdArray.length(); i++) {
-                                String thirdTitle = thirdArray.optString(i);
-                                thirdTitles.add(thirdTitle);
-                            }
-                        }
-
-                        professionSecond.setProfessionThirdTitles(thirdTitles);
-
-                        professionSecondList.add(professionSecond);
-                    }
-                }
-
-                professionBean.setProfessionSecondTitles(professionSecondList);
-
-                mProfessionList.add(professionBean);
-            }
-            Log.d("professionList", mProfessionList.toString());
-        } catch (JSONException e) {
-            e.printStackTrace();
-        }
-    }
-
     @Override
     public void onClick(View v) {
         int i = v.getId();
@@ -287,6 +234,20 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
             CommonUtil.closeKeybord(mEnterpriseCompanyEt, this);
             showPicturePopup();
         } else if (i == R.id.enterprise_register_industry_et) {
+            Intent intent = new Intent();
+            intent.setClass(this, IndustryChooseActivity.class);
+            startActivityForResult(intent, INDUSTRY_CHOOSE);
+        } else if (i == R.id.enterprise_register_address_et) {
+            Intent intent = new Intent(ct, SearchLocationActivity.class);
+            SearchPoiParam poiParam = new SearchPoiParam();
+            poiParam.setType(2);
+            poiParam.setTitle("地图搜索");
+            poiParam.setRadius(1000);
+            //poiParam.setContrastLatLng(new LatLng(companyLocation.getLocation().mLongitude, companyLocation.getLocation().mLatitude));
+            poiParam.setResultCode(SELECT_ADDRESS_RESULT);
+            poiParam.setDistanceTag(MyApplication.getInstance().getResources().getString(R.string.rice));
+            intent.putExtra("data", poiParam);
+            startActivityForResult(intent, SELECT_ADDRESS_REQUEST);
 
         }
     }
@@ -309,10 +270,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
                                 CommonUtil.setSharedPreferences(ct, "sessionId", sessionId);
                                 CommonUtil.setSharedPreferences(ct, "pageToken", pageToken);
 
-//                                Intent intent = new Intent();
-//                                intent.setClass(EnterpriseRegisterActivity.this, AdminRegisterActivity.class);
-//                                startActivity(intent);
-
                                 enterpriseRegister(pageToken, sessionId);
                             } else {
                                 progressDialog.dismiss();
@@ -358,15 +315,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + sessionId);
         ViewUtil.httpSendRequest(this, url, params, mHandler, headers, ENTERPRISE_REGISTER, null, null, "post");
-
-//        String fileBytes = getFileBytes(mLicenseFile);
-//
-//        String url = "http://192.168.253.192:8080/account/api/file";
-//        Map<String, Object> params = new HashMap<>();
-//        params.put("data", fileBytes);
-//        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-//        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-//        ViewUtil.httpSendRequest(this, url, params, mHandler, headers, 111, null, null, "post");
     }
 
     private String getFileBytes(File licenseFile) {
@@ -545,6 +493,22 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
                     ToastUtil.showToast(this, R.string.c_photo_album_failed);
                 }
             }
+        } else if (requestCode == INDUSTRY_CHOOSE) {
+            if (resultCode == Activity.RESULT_OK) {
+                String industry = data.getStringExtra("industry");
+                mEnterpriseIndustryEt.setText(industry);
+            }
+        } else if (requestCode == SELECT_ADDRESS_REQUEST) {
+            if (data != null && resultCode == SELECT_ADDRESS_RESULT) {
+                PoiInfo poi = data.getParcelableExtra("resultKey");
+                if (poi == null) return;
+                if (poi.address.contains(poi.city))
+                    mEnterpriseAddressEt.setText(poi.address);
+                else
+                    mEnterpriseAddressEt.setText(poi.city + poi.address);
+                mLatitude = poi.location.latitude;
+                mLongitude = poi.location.longitude;
+            }
         }
     }
 

+ 149 - 0
app_modular/applogin/src/main/java/com/modular/login/activity/IndustryChooseActivity.java

@@ -0,0 +1,149 @@
+package com.modular.login.activity;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+
+import com.core.base.BaseActivity;
+import com.core.utils.CommonUtil;
+import com.core.widget.RecycleViewDivider;
+import com.core.widget.view.adapter.SecondaryListAdapter;
+import com.modular.login.R;
+import com.modular.login.adapter.IndustryAdapter;
+import com.modular.login.model.ProfessionBean;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/26.
+ */
+
+public class IndustryChooseActivity extends BaseActivity {
+    private List<ProfessionBean> mProfessionList;
+    private RecyclerView mRecyclerView;
+    private IndustryAdapter mIndustryAdapter;
+    private RecyclerView.LayoutManager mLayoutManager;
+    private RecycleViewDivider mRecycleViewDivider;
+    private List<SecondaryListAdapter.SecondaryListBean<String, String>> mSecondaryListBeen;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_industry_choose);
+        getSupportActionBar().setTitle("行业选择");
+
+        init();
+        initDatas();
+        initEvents();
+    }
+
+    private void initEvents() {
+        mIndustryAdapter.setOnSubItemClickListener(new IndustryAdapter.OnSubItemClickListener() {
+            @Override
+            public void onSubItemClick(String message) {
+                Intent intent = new Intent();
+                intent.putExtra("industry", message);
+                setResult(Activity.RESULT_OK, intent);
+                finish();
+            }
+        });
+    }
+
+    private void init() {
+        mRecycleViewDivider = new RecycleViewDivider(this, LinearLayoutManager.VERTICAL);
+        mRecyclerView = (RecyclerView) findViewById(R.id.industry_choose_rv);
+        mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
+        mRecyclerView.setLayoutManager(mLayoutManager);
+        mRecyclerView.addItemDecoration(mRecycleViewDivider);
+
+        mIndustryAdapter = new IndustryAdapter(this);
+        initProfession();
+        mSecondaryListBeen = new ArrayList<>();
+    }
+
+    private void initDatas() {
+        for (int i = 0; i < mProfessionList.size(); i++) {
+            ProfessionBean professionBean = mProfessionList.get(i);
+            List<String> strings = new ArrayList<>();
+            for (int j = 0; j < professionBean.getProfessionSecondTitles().size(); j++) {
+                strings.add(professionBean.getProfessionSecondTitles().get(j).getProfessionSecondTitle());
+            }
+            SecondaryListAdapter.SecondaryListBean<String, String> secondaryListBean
+                    = new SecondaryListAdapter.SecondaryListBean<>(professionBean.getProfessionFirstTitle(),
+                    strings);
+
+            mSecondaryListBeen.add(secondaryListBean);
+        }
+        mIndustryAdapter.setDatas(mSecondaryListBeen);
+        mRecyclerView.setAdapter(mIndustryAdapter);
+    }
+
+    private void initProfession() {
+        mProfessionList = new ArrayList<>();
+        String profession = CommonUtil.getAssetsJson(this, "profession.json");
+        try {
+            JSONObject professionObject = new JSONObject(profession);
+            Iterator<String> iterator = professionObject.keys();
+            while (iterator.hasNext()) {
+                ProfessionBean professionBean = new ProfessionBean();
+                String professionFirstTitle = iterator.next().toString();
+                professionBean.setProfessionFirstTitle(professionFirstTitle);
+
+                List<ProfessionBean.ProfessionSecondBean> professionSecondList = new ArrayList<>();
+
+                Object second = professionObject.opt(professionFirstTitle);
+                if (second instanceof JSONArray) {
+                    JSONArray secondArray = (JSONArray) second;
+                    if (secondArray != null) {
+                        for (int i = 0; i < secondArray.length(); i++) {
+                            ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
+                            String secondTitle = secondArray.optString(i);
+                            professionSecond.setProfessionSecondTitle(secondTitle);
+
+                            professionSecondList.add(professionSecond);
+                        }
+                    }
+                } else if (second instanceof JSONObject) {
+                    JSONObject secondObject = (JSONObject) second;
+                    Iterator<String> secondKeys = secondObject.keys();
+                    while (secondKeys.hasNext()) {
+                        ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
+                        String secondTitle = secondKeys.next().toString();
+                        professionSecond.setProfessionSecondTitle(secondTitle);
+
+                        List<String> thirdTitles = new ArrayList<>();
+                        Object third = secondObject.opt(secondTitle);
+                        if (third instanceof String) {
+                            thirdTitles.add((String) third);
+                        } else if (third instanceof JSONArray) {
+                            JSONArray thirdArray = (JSONArray) third;
+                            for (int i = 0; i < thirdArray.length(); i++) {
+                                String thirdTitle = thirdArray.optString(i);
+                                thirdTitles.add(thirdTitle);
+                            }
+                        }
+
+                        professionSecond.setProfessionThirdTitles(thirdTitles);
+
+                        professionSecondList.add(professionSecond);
+                    }
+                }
+
+                professionBean.setProfessionSecondTitles(professionSecondList);
+
+                mProfessionList.add(professionBean);
+            }
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+    }
+
+}

+ 102 - 0
app_modular/applogin/src/main/java/com/modular/login/adapter/IndustryAdapter.java

@@ -0,0 +1,102 @@
+package com.modular.login.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.core.widget.view.adapter.SecondaryListAdapter;
+import com.modular.login.R;
+
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/26.
+ */
+
+public class IndustryAdapter extends SecondaryListAdapter<IndustryAdapter.GroupItemViewHolder, IndustryAdapter.SubItemViewHolder> {
+    private Context mContext;
+    private List<SecondaryListBean<String, String>> mDatas;
+    private OnSubItemClickListener mOnSubItemClickListener;
+
+    public IndustryAdapter(Context context) {
+        mContext = context;
+    }
+
+    public List<SecondaryListBean<String, String>> getDatas() {
+        return mDatas;
+    }
+
+    public void setDatas(List<SecondaryListBean<String, String>> datas) {
+        mDatas = datas;
+        initSecondaryList(mDatas);
+        setGroupItemStatu(0, true);
+    }
+
+    public void setOnSubItemClickListener(OnSubItemClickListener onSubItemClickListener) {
+        mOnSubItemClickListener = onSubItemClickListener;
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent) {
+        View groupView = LayoutInflater.from(mContext).inflate(R.layout.item_group_layout, parent, false);
+        return new GroupItemViewHolder(groupView);
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent) {
+        View subView = LayoutInflater.from(mContext).inflate(R.layout.item_sub_layout, parent, false);
+        return new SubItemViewHolder(subView);
+    }
+
+    @Override
+    public void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
+        ((GroupItemViewHolder) holder).groupTextView.setText(mDatas.get(groupItemIndex).getGroupItem());
+    }
+
+    @Override
+    public void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex) {
+        ((SubItemViewHolder) holder).subTextView.setText(mDatas.get(groupItemIndex).getSubItems().get(subItemIndex));
+    }
+
+    @Override
+    public void onGroupItemClick(boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
+//        Toast.makeText(mContext, mDatas.get(groupItemIndex).getGroupItem(), Toast.LENGTH_SHORT).show();
+    }
+
+    @Override
+    public void onSubItemClick(SubItemViewHolder holder, int groupItemIndex, int subItemIndex) {
+//        Toast.makeText(mContext, mDatas.get(groupItemIndex).getGroupItem()
+//                + "->" + mDatas.get(groupItemIndex).getSubItems().get(subItemIndex), Toast.LENGTH_SHORT).show();
+        if (mOnSubItemClickListener != null) {
+            String message = mDatas.get(groupItemIndex).getGroupItem() + "/" + mDatas.get(groupItemIndex).getSubItems().get(subItemIndex);
+            mOnSubItemClickListener.onSubItemClick(message);
+        }
+    }
+
+    public class GroupItemViewHolder extends RecyclerView.ViewHolder {
+        TextView groupTextView;
+
+        public GroupItemViewHolder(View itemView) {
+            super(itemView);
+
+            groupTextView = (TextView) itemView.findViewById(R.id.group_tv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView subTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            subTextView = (TextView) itemView.findViewById(R.id.sub_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(String message);
+    }
+}

+ 0 - 14
app_modular/applogin/src/main/java/com/modular/login/model/ProfessionBean.java

@@ -46,20 +46,6 @@ public class ProfessionBean {
             mProfessionThirdTitles = professionThirdTitles;
         }
 
-        @Override
-        public String toString() {
-            return "ProfessionSecondBean{" +
-                    "mProfessionSecondTitle='" + mProfessionSecondTitle + '\'' +
-                    ", mProfessionThirdTitles=" + mProfessionThirdTitles +
-                    '}';
-        }
     }
 
-    @Override
-    public String toString() {
-        return "ProfessionBean{" +
-                "mProfessionFirstTitle='" + mProfessionFirstTitle + '\'' +
-                ", mProfessionSecondTitles=" + mProfessionSecondTitles +
-                '}';
-    }
 }

+ 13 - 6
app_modular/applogin/src/main/res/layout/activity_enterprise_register.xml

@@ -54,6 +54,7 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_company_name"
                     android:hint="企业名称"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
             </LinearLayout>
 
@@ -81,6 +82,7 @@
                     android:drawableLeft="@drawable/ic_business_license"
                     android:hint="营业执照号(例如:1234567890)"
                     android:inputType="number"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
             </LinearLayout>
 
@@ -107,6 +109,7 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_reg_name"
                     android:hint="法定代表人(例如:张三)"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
             </LinearLayout>
 
@@ -133,7 +136,9 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_reg_address"
                     android:hint="企业地址(例如:xx省xx市xx区xx路xx号)"
-                    editTextFormExample:testType="nocheck" />
+                    android:textColor="@color/black"
+                    editTextFormExample:testType="nocheck"
+                    android:focusable="false"/>
 
             </LinearLayout>
 
@@ -156,14 +161,16 @@
                     android:textColor="@color/red"
                     android:visibility="invisible" />
 
-                <com.andreabaccega.widget.FormEditText
+                <TextView
                     android:id="@+id/enterprise_register_industry_et"
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_trade_certify"
                     android:drawableRight="@drawable/ic_drop_down"
                     android:focusable="false"
+                    android:gravity="center_vertical"
                     android:hint="所在行业"
-                    android:paddingRight="10dp" />
+                    android:paddingRight="10dp"
+                    android:textColor="@color/black" />
 
 
             </LinearLayout>
@@ -191,7 +198,8 @@
                     android:id="@+id/enterprise_register_business_et"
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_business_scope"
-                    android:hint="经营范围" />
+                    android:hint="经营范围"
+                    android:textColor="@color/black" />
             </LinearLayout>
 
             <View
@@ -271,8 +279,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="10dp"
-                    android:lineSpacingExtra="4dp"
-                    android:maxLines="2"
+                    android:lineSpacingExtra="6dp"
                     android:textSize="12sp"
                     />
 

+ 9 - 0
app_modular/applogin/src/main/res/layout/activity_industry_choose.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v7.widget.RecyclerView
+    android:id="@+id/industry_choose_rv"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+</android.support.v7.widget.RecyclerView>

+ 15 - 0
app_modular/applogin/src/main/res/layout/item_group_layout.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:background="#beb8b8"
+              android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/group_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="10dp"
+        android:textSize="16sp" />
+
+</LinearLayout>

+ 16 - 0
app_modular/applogin/src/main/res/layout/item_sub_layout.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/sub_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:padding="10dp"
+        android:paddingLeft="20dp"
+        android:textSize="16sp" />
+
+</LinearLayout>

+ 6 - 1
app_modular/appme/src/main/AndroidManifest.xml

@@ -36,7 +36,12 @@
             android:name="com.uas.appme.other.activity.SelectAreaActivity"
             android:screenOrientation="portrait" />
         <activity android:name=".pedometer.view.UURanking"
-            android:label="排行榜"></activity>
+            android:label="排行榜">
+            <intent-filter>
+                <action android:name="com.modular.appme.UURanking"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+        </activity>
         <activity android:name=".pedometer.view.PersonalPageActivity"/>
     </application>
 </manifest>

+ 5 - 1
app_modular/appme/src/main/java/com/uas/appme/pedometer/service/StepService.java

@@ -188,19 +188,23 @@ public class StepService extends Service implements SensorEventListener {
                     case Intent.ACTION_SCREEN_OFF:
                         //屏幕熄灭改为10秒一存储
                         saveDuration = 10000;
+                        StepUtils.doSaveLocalStepsToJudgeHttps();
                         break;
                     //关机广播,保存好当前数据
                     case Intent.ACTION_SHUTDOWN:
                         saveStepData();
+                        StepUtils.doSaveLocalStepsToJudgeHttps();
                         break;
                     // 屏幕解锁广播
                     case Intent.ACTION_USER_PRESENT:
                         saveDuration = 3000;
+                        StepUtils.doSaveLocalStepsToJudgeHttps();
                         break;
                     // 当长按电源键弹出“关机”对话或者锁屏时系统会发出这个广播
                     // example:有时候会用到系统对话框,权限可能很高,会覆盖在锁屏界面或者“关机”对话框之上,
                     // 所以监听这个广播,当收到时就隐藏自己的对话,如点击pad右下角部分弹出的对话框
                     case Intent.ACTION_CLOSE_SYSTEM_DIALOGS:
+                        StepUtils.doSaveLocalStepsToJudgeHttps();
                         saveStepData();
                         break;
                     //监听日期变化
@@ -396,7 +400,7 @@ public class StepService extends Service implements SensorEventListener {
             //调用更新
             notificationManager.notify(110, stepNotification);
         }
-        StepUtils.doSaveLocalStepsToJudgeHttps();
+//        StepUtils.doSaveLocalStepsToJudgeHttps();
 //        TrackUtils.doSaveTrackPoint(latLngsList);
     }
 

+ 12 - 3
app_modular/appme/src/main/java/com/uas/appme/pedometer/utils/StepUtils.java

@@ -7,6 +7,7 @@ import com.common.LogUtil;
 import com.common.config.BaseConfig;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
+import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.core.app.MyApplication;
 import com.core.utils.CommonUtil;
@@ -52,11 +53,13 @@ public class StepUtils {
         httpClient.Api().send(new HttpClient.Builder()
                 .url("appUUsteps")
                 .add("map", map)
+//                .header("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8")
                 .add("token", MyApplication.getInstance().mAccessToken)
                 .method(Method.POST)
                 .build(), new ResultSubscriber<>(new ResultListener<Object>() {
             @Override
             public void onResponse(Object o) {
+                if (o == null) return;
                 LogUtil.prinlnLongMsg("appUUsteps", o.toString() + "");
             }
         }));
@@ -71,11 +74,16 @@ public class StepUtils {
     public static void canUnloadToRemote(String s) {
         PersonalStepBean mPersonalStepBean = new PersonalStepBean();
         mPersonalStepBean = JSON.parseObject(s.toString(), PersonalStepBean.class);
-        if (mPersonalStepBean == null) return;
-        int remoteSteps = CommonUtil.getNumByString(mPersonalStepBean.getWeekSteps().get(mPersonalStepBean.getWeekSteps().size() - 1).getAs_uusteps());
         String CURRENT_DATE = TimeUtil.getCurrentDate();
         StepDataDao stepDataDao = new StepDataDao(MyApplication.getInstance());
         StepEntity stepEntity = stepDataDao.getCurDataByDate(CURRENT_DATE);
+
+        if (mPersonalStepBean == null || ListUtils.isEmpty(mPersonalStepBean.getWeekSteps())) {
+            doSaveLocalStepsToHttps(stepEntity);
+            return;
+        }
+        int remoteSteps = CommonUtil.getNumByString(mPersonalStepBean.getWeekSteps().get(mPersonalStepBean.getWeekSteps().size() - 1).getAs_uusteps());
+
         try {
             if (stepEntity == null) {
 //                stepEntity = new StepEntity();
@@ -91,7 +99,7 @@ public class StepUtils {
                 intent.putExtra("remoteSteps", remoteSteps);
                 BaseConfig.getContext().sendBroadcast(intent);
                 LogUtil.prinlnLongMsg("stepDb.update","sendLocalBroadcast");
-            } else if (remoteSteps < CommonUtil.getNumByString(stepEntity.getSteps())) {
+            } else if (remoteSteps <= CommonUtil.getNumByString(stepEntity.getSteps())) {
                 doSaveLocalStepsToHttps(stepEntity);
             }
         } catch (Exception e) {
@@ -132,6 +140,7 @@ public class StepUtils {
                 .build(), new ResultSubscriber<>(new ResultListener<Object>() {
             @Override
             public void onResponse(Object o) {
+                if (o == null) return;
                 LogUtil.prinlnLongMsg("appSteps", o.toString());
                 canUnloadToRemote(o.toString());
             }

+ 7 - 5
app_modular/appme/src/main/java/com/uas/appme/pedometer/view/NewStepActivity.java

@@ -271,7 +271,7 @@ public class NewStepActivity extends BaseActivity implements Handler.Callback {
         stepEntityList.addAll(stepDataDao.getAllDatas());
         // TODO: 在这里获取历史记录条数,当条数达到7条或以上时,显示更多历史记录
 //        if (stepEntityList.size() >= 7) {
-            steps_history_ll.setVisibility(View.VISIBLE);
+            steps_history_ll.setVisibility(View.GONE);
 //        }else {
 //            steps_history_ll.setVisibility(View.GONE);
 //        }
@@ -308,8 +308,9 @@ public class NewStepActivity extends BaseActivity implements Handler.Callback {
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         if (!CommonUtil.isReleaseVersion()
-                && StepUtils.isCanStep())
-            getMenuInflater().inflate(R.menu.menu_uusport_list, menu);
+                && StepUtils.isCanStep()) {
+//            getMenuInflater().inflate(R.menu.menu_uusport_list, menu);
+        }
         return super.onCreateOptionsMenu(menu);
     }
 
@@ -318,9 +319,10 @@ public class NewStepActivity extends BaseActivity implements Handler.Callback {
         if (item.getItemId() == android.R.id.home){
 //            startActivity(new Intent(getApplicationContext(), SettingActivity.class));
             finish();
-        } else if (StepUtils.isCanStep() && !CommonUtil.isReleaseVersion() && item.getItemId() == R.id.more){
-            startActivity(new Intent(this,UURanking.class));
         }
+//        else if (StepUtils.isCanStep() && !CommonUtil.isReleaseVersion() && item.getItemId() == R.id.more){
+//            startActivity(new Intent(this,UURanking.class));
+//        }
         return super.onOptionsItemSelected(item);
     }
 

+ 2 - 0
app_modular/appme/src/main/java/com/uas/appme/pedometer/view/PersonalPageActivity.java

@@ -110,6 +110,7 @@ public class PersonalPageActivity extends BaseActivity implements View.OnClickLi
                 .build(), new ResultSubscriber<>(new ResultListener<Object>() {
             @Override
             public void onResponse(Object o) {
+                if (o == null) return;
                 LogUtil.prinlnLongMsg("appSteps", o.toString());
                 mPersonalStepBean = JSON.parseObject(o.toString(),PersonalStepBean.class);
                 showStepsInfo();
@@ -172,6 +173,7 @@ public class PersonalPageActivity extends BaseActivity implements View.OnClickLi
                 .build(), new ResultSubscriber<>(new ResultListener<Object>() {
             @Override
             public void onResponse(Object o) {
+                if (o == null) return;
                 LogUtil.prinlnLongMsg("appUUSet", o.toString());
                 setResult(0x02);
                 finish();

+ 4 - 0
app_modular/appme/src/main/java/com/uas/appme/pedometer/view/UURanking.java

@@ -27,6 +27,7 @@ import com.uas.appme.pedometer.bean.StepEntity;
 import com.uas.appme.pedometer.bean.StepsRankingBean;
 import com.uas.appme.pedometer.constant.Constant;
 import com.uas.appme.pedometer.db.StepDataDao;
+import com.uas.appme.pedometer.utils.StepUtils;
 import com.uas.appme.pedometer.utils.TimeUtil;
 
 import java.util.ArrayList;
@@ -64,6 +65,7 @@ public class UURanking extends BaseActivity implements View.OnClickListener {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.uu_ranking_activity);
+        StepUtils.doSaveLocalStepsToJudgeHttps();
         initView();
         initData();
         initEvents();
@@ -127,6 +129,8 @@ public class UURanking extends BaseActivity implements View.OnClickListener {
                 .build(),new ResultSubscriber<>(new ResultListener<Object>() {
             @Override
             public void onResponse(Object o) {
+                if (o == null) return;
+
                 LogUtil.prinlnLongMsg("appStepsrank", o.toString()+"");
                 try {
                     mStepsRankingBean = JSON.parseObject(o.toString(),StepsRankingBean.class);

BIN
app_modular/appme/src/main/res/drawable-xxhdpi/rankb.jpg


+ 2 - 1
app_modular/appme/src/main/res/layout/personal_page_activity.xml

@@ -158,7 +158,8 @@
             android:layout_marginTop="20dp"
             android:layout_width="match_parent"
             android:layout_height="300dp"
-            android:background="#48D1CC">
+            android:background="#48D1CC"
+            android:layout_marginBottom="20dp">
             <lecho.lib.hellocharts.view.LineChartView
                 android:id="@+id/line_chart"
                 android:layout_width="match_parent"

+ 79 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/UUSportActivity.java

@@ -0,0 +1,79 @@
+package com.modular.appmessages.activity;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.support.v4.content.LocalBroadcastManager;
+import android.support.v7.widget.DefaultItemAnimator;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+import com.core.app.AppConstant;
+import com.core.base.BaseActivity;
+import com.core.model.UUSportModel;
+import com.modular.appmessages.R;
+import com.modular.appmessages.adapter.UUSportAdapter;
+
+import java.util.List;
+
+/**
+ * Created by FANGlh on 2017/9/27.
+ * function:
+ */
+
+public class UUSportActivity extends BaseActivity implements View.OnClickListener {
+    private RecyclerView contentRV;
+    private UUSportAdapter mAdapter;
+    private BroadcastReceiver updateReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            initData();
+        }
+    };
+    private LinearLayoutManager manager;
+
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_uusport);
+        LocalBroadcastManager.getInstance(this).registerReceiver(updateReceiver, new IntentFilter(AppConstant.UUSPORT_PUSH));
+        initView();
+        initData();
+    }
+
+    private void initData() {
+//        List<UUSportModel> models = UUSportDao.getInstance().getAllModels();
+        List<UUSportModel> models = null;
+        showModel(models);
+    }
+    private void showModel(final List<UUSportModel> models) {
+        if (mAdapter == null) {
+            mAdapter = new UUSportAdapter(ct, models);
+            contentRV.setAdapter(mAdapter);
+        } else {
+            mAdapter.setModels(models);
+            mAdapter.notifyDataSetChanged();
+        }
+//        ViewUtils.move2Position(manager, contentRV, ListUtils.getSize(models) - 1);
+    }
+    private void initView() {
+        contentRV = (RecyclerView) findViewById(R.id.contentRV);
+        contentRV.setItemAnimator(new DefaultItemAnimator());
+        manager = new LinearLayoutManager(ct);
+        contentRV.setLayoutManager(manager);
+
+        findViewById(R.id.step_rank_ll).setOnClickListener(this);
+    }
+
+    @Override
+    public void onClick(View v) {
+       if (v.getId() == R.id.step_rank_ll){
+           startActivity(new Intent("com.modular.appme.UURanking"));
+           ToastMessage("step_rank_ll");
+       }
+    }
+}

+ 55 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/UUSportAdapter.java

@@ -0,0 +1,55 @@
+package com.modular.appmessages.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import com.core.model.UUSportModel;
+
+import java.util.List;
+
+/**
+ * Created by FANGlh on 2017/9/27.
+ * function:
+ */
+
+public class UUSportAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+    private Context ct;
+    private List<UUSportModel> models;
+    private LayoutInflater inflater;
+
+    public UUSportAdapter(Context ct, List<UUSportModel> models) {
+        this.ct = ct;
+        this.models = models;
+    }
+
+    public List<UUSportModel> getModels() {
+        return models;
+    }
+    public void setModels(List<UUSportModel> models) {
+        this.models = models;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return position;
+    }
+
+
+
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        return null;
+    }
+
+    @Override
+    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return 0;
+    }
+}

+ 36 - 0
app_modular/appmessages/src/main/res/layout/activity_uusport.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/base_bg"
+   >
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/contentRV"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="10dp"
+        android:layout_above="@id/operationLL"
+        android:layout_alignParentTop="true" />
+
+    <LinearLayout
+        android:id="@+id/step_rank_ll"
+        android:layout_alignParentBottom="true"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:orientation="vertical">
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/line"
+            android:background="@color/item_line"/>
+        <TextView
+            android:id="@+id/invite_friends_tv"
+            android:layout_width="match_parent"
+            android:layout_height="50dp"
+            android:text="步数排行榜"
+            android:gravity="center"
+            android:textColor="@color/black"
+            />
+    </LinearLayout>
+</RelativeLayout>

+ 2 - 2
version.gradle

@@ -11,8 +11,8 @@ ext {
             minSdkVersion    : 9,
             targetSdkVersion : 24,
             javaVersion      : JavaVersion.VERSION_1_8,
-            versionCode      : 116,
-            versionName      : '5.9.4',
+            versionCode      : 118,
+            versionName      : '5.9.6',
     ]
 
     depsVersion = [