diff --git a/app/build.gradle b/app/build.gradle index 91a4ee0..df69934 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,7 +52,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':cm_utils') implementation project(':camera') - implementation files('libs/tbs.jar') +// implementation files('libs/tbs.jar') implementation files('libs/BaiduLBS_Android.jar') androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/app/libs/tbs.jar b/app/libs/tbs.jar deleted file mode 100644 index 87c40fa..0000000 Binary files a/app/libs/tbs.jar and /dev/null differ diff --git a/app/src/main/java/com/tengshisoft/BaseMyApplication.java b/app/src/main/java/com/tengshisoft/BaseMyApplication.java index 3cf6991..0a170af 100644 --- a/app/src/main/java/com/tengshisoft/BaseMyApplication.java +++ b/app/src/main/java/com/tengshisoft/BaseMyApplication.java @@ -9,7 +9,6 @@ import com.baidu.mapapi.SDKInitializer; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.footer.ClassicsFooter; import com.sucstepsoft.cm_utils.core.widget.refresh.CustomRefreshHeader; -import com.tencent.smtt.sdk.QbSdk; import androidx.multidex.MultiDex; import cn.jiguang.share.android.api.JShareInterface; diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java index 65fd245..31b9f45 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java @@ -49,6 +49,11 @@ public class PathConfig { public static final String NEWS_BANNER_ID = "eab0ca3c-d35d-4c02-9397-ace2bdd10fc1"; public static final String PLACE_TYPE_ID = "df8b758c-f6d8-465a-9aa8-c451fde47076";//场馆类型字典 + public static final String CITY_DEFAULT_CODE = "640675"; + public static final String CITY_DEFAULT_NAME = "日喀则市"; + public static final int CITY_DEFAULT_LEVEL = 3; + + public static final String DID_CITY_CODE = "640675";//日喀则市编码 //新闻类型 public static final int NEWS_TYPE_MULTI_PIC = 2332;//key_1 三图; key_2 一图左;key_3 一图右;key_4 一图下;key_5 纯文字;key_6 视频;key_7 音频; public static final int NEWS_TYPE_SINGLE_PIC_LEFT = 2333;//一图左 @@ -89,6 +94,8 @@ public class PathConfig { public static final String PATH_MODULE_MAIN_NEWS_MAIN = "/modulemain/activity/newsmain"; public static final String PATH_MODULE_MAIN_FORGAT_PWD = "/modulemain/activity/forgetpwd"; + + public static final String PATH_MODULE_MAIN_CHOOSE_CITY = "/modulemain/activity/choosecity";//选择城市 //======================Map================================================== public static final String PATH_MODULE_MAP_NAVIGATION = "/modulemap/activity/navigation";//地图 public static final String PATH_MODULE_MAP_SHOW_ICON = "/modulemap/activity/showicon";//文化地图 @@ -213,4 +220,5 @@ public class PathConfig { //====================Player======================= public static final String PATH_MODULE_PLAYER_SIMPLE_VIDEO = "/moduleplayer/activity/simpleplayer";//单纯播放器 + } diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java index ff2c1cf..fd47902 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java @@ -11,8 +11,8 @@ import retrofit2.http.GET; */ public class BaseUrlApi { - // public static final String IP = "http://219.147.99.164:8081/";/* 正式IP */ - public static final String IP = "https://www.wgink.ink/usercenter/";/* 测试IP */ + public static final String IP = "http://192.168.0.113:7001/usercenter/";/* 正式IP */ +// public static final String IP = "https://www.wgink.ink/usercenter/";/* 测试IP */ public static final String BASE_SYSTEM_IP = "https://www.wgink.ink/"; // public static final String IP = "http://192.168.0.113:7001/usercenter/";/* 测试IP */ public static final String PROJECT_NAME = "app/"; diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/RetrofitManager.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/RetrofitManager.java index 5e9cf01..444a3d0 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/RetrofitManager.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/RetrofitManager.java @@ -15,6 +15,7 @@ import com.sucstepsoft.cm_utils.core.retrofit_net.bean.VersionBean; import com.sucstepsoft.cm_utils.core.retrofit_net.conver.ApiException; import com.sucstepsoft.cm_utils.core.retrofit_net.conver.BaseObserver; import com.sucstepsoft.cm_utils.core.retrofit_net.conver.BaseUrlInterceptor; +import com.sucstepsoft.cm_utils.core.retrofit_net.conver.CommInterceptor; import com.sucstepsoft.cm_utils.core.retrofit_net.conver.RxTransformer; import com.sucstepsoft.cm_utils.core.retrofit_net.download.DownloadUtils; import com.sucstepsoft.cm_utils.core.retrofit_net.listener.DownloadListener; @@ -71,7 +72,7 @@ public class RetrofitManager { builder.readTimeout(TIMEOUT, TimeUnit.SECONDS); builder.writeTimeout(TIMEOUT, TimeUnit.SECONDS); //封装公共参数 -// builder.addInterceptor(new CommInterceptor()); + builder.addInterceptor(new CommInterceptor()); //多BaseUrl连接器 builder.addInterceptor(new BaseUrlInterceptor()); OkHttpClient client = builder.build(); diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/conver/CommInterceptor.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/conver/CommInterceptor.java index 61d3572..891a0d0 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/conver/CommInterceptor.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/conver/CommInterceptor.java @@ -1,6 +1,10 @@ package com.sucstepsoft.cm_utils.core.retrofit_net.conver; +import android.text.TextUtils; + +import com.sucstepsoft.cm_utils.constant.PathConfig; import com.sucstepsoft.cm_utils.utils.UserInfoSPUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; import java.io.IOException; import java.util.HashMap; @@ -33,20 +37,37 @@ public class CommInterceptor implements Interceptor { RequestBody oldBody = oldRequest.body(); if (oldBody instanceof FormBody) { FormBody.Builder formBodyBuilder = new FormBody.Builder(); -// formBodyBuilder.add("token", UserInfoSPUtils.getToken()); + int cityLevel = UserLgUtils.getCityLevel(); + if (cityLevel == -1) { + cityLevel = PathConfig.CITY_DEFAULT_LEVEL; + } + String name = "area" + cityLevel; + String areaId = UserLgUtils.getCurrentCityCode(); + if (TextUtils.isEmpty(areaId)) { + areaId = PathConfig.CITY_DEFAULT_CODE; + } + formBodyBuilder.add(name, areaId); newRequestBuild = oldRequest.newBuilder(); RequestBody formBody = formBodyBuilder.build(); postBodyString = bodyToString(oldRequest.body()); postBodyString += ((postBodyString.length() > 0) ? "&" : "") + bodyToString(formBody); -// newRequestBuild.post(RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=UTF-8"), postBodyString)); newRequestBuild.post(RequestBody.create(MediaType.parse("application/json;charset=UTF-8"), postBodyString)); } else if (oldBody instanceof MultipartBody) { MultipartBody oldBodyMultipart = (MultipartBody) oldBody; List oldPartList = oldBodyMultipart.parts(); MultipartBody.Builder builder = new MultipartBody.Builder(); builder.setType(MultipartBody.FORM); - RequestBody requestBody1 = RequestBody.create(MediaType.parse("text/plain"), "token"); - MultipartBody.Part partBody = MultipartBody.Part.createFormData("token", UserInfoSPUtils.getToken(), requestBody1); + int cityLevel = UserLgUtils.getCityLevel(); + if (cityLevel == -1) { + cityLevel = PathConfig.CITY_DEFAULT_LEVEL; + } + String name = "area" + cityLevel; + RequestBody requestBody1 = RequestBody.create(MediaType.parse("text/plain"), name); + String areaId = UserLgUtils.getCurrentCityCode(); + if (TextUtils.isEmpty(areaId)) { + areaId = PathConfig.CITY_DEFAULT_CODE; + } + MultipartBody.Part partBody = MultipartBody.Part.createFormData(name, areaId, requestBody1); for (MultipartBody.Part part : oldPartList) { builder.addPart(part); postBodyString += (bodyToString(part.body()) + "\n"); @@ -59,16 +80,35 @@ public class CommInterceptor implements Interceptor { newRequestBuild = oldRequest.newBuilder(); FormBody.Builder formBodyBuilder = new FormBody.Builder(); formBodyBuilder.addEncoded("Content-Type", "application/json;charset=UTF-8"); - FormBody token = formBodyBuilder.add("token", UserInfoSPUtils.getToken()).build(); + int cityLevel = UserLgUtils.getCityLevel(); + if (cityLevel == -1) { + cityLevel = PathConfig.CITY_DEFAULT_LEVEL; + } + String name = "area" + cityLevel; + String areaId = UserLgUtils.getCurrentCityCode(); + if (TextUtils.isEmpty(areaId)) { + areaId = PathConfig.CITY_DEFAULT_CODE; + } + FormBody token = formBodyBuilder.add(name, areaId).build(); newRequestBuild.post(token); } } else { // 添加新的参数 + int cityLevel = UserLgUtils.getCityLevel(); + if (cityLevel == -1) { + cityLevel = PathConfig.CITY_DEFAULT_LEVEL; + } + String name = "area" + cityLevel; + String areaId = UserLgUtils.getCurrentCityCode(); + if (TextUtils.isEmpty(areaId)) { + areaId = PathConfig.CITY_DEFAULT_CODE; + } + HttpUrl.Builder commonParamsUrlBuilder = oldRequest.url() .newBuilder() .scheme(oldRequest.url().scheme()) .host(oldRequest.url().host()) - .addQueryParameter("token", UserInfoSPUtils.getToken()); + .addQueryParameter(name, areaId); newRequestBuild = oldRequest.newBuilder() .method(oldRequest.method(), oldRequest.body()) .url(commonParamsUrlBuilder.build()); diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseActivity.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseActivity.java index 67b9e67..2f6458a 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseActivity.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseActivity.java @@ -88,6 +88,7 @@ public abstract class BaseActivity extends AppCompatActivity { private RelativeLayout mRlTrTitleBar; private Button mBtnTrBack; private TextView mTvTrTitle; + protected TypeFaceTextView mTvAppBack; // protected BoomMenuButton mBbMenu; @Override @@ -252,6 +253,7 @@ public abstract class BaseActivity extends AppCompatActivity { mRlBack = findViewById(R.id.rl_app_back); mRlNotify = findViewById(R.id.rl_notify); mIvNotify = findViewById(R.id.iv_nootify_point); + mTvAppBack = findViewById(R.id.tv_app_back); mBtnTrBack.setOnClickListener(v -> { hideSoftKeyboard(); finish(); diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseFragment.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseFragment.java index 21ce7c4..9d54d60 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseFragment.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/BaseFragment.java @@ -16,6 +16,7 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.sucstepsoft.cm_utils.R; import com.sucstepsoft.cm_utils.constant.PathConfig; +import com.sucstepsoft.cm_utils.utils.LogUtils; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; @@ -152,8 +153,7 @@ public abstract class BaseFragment extends Fragment { return null; } - -// @Override + // @Override // public void onDetach() { // super.onDetach(); // try { diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/UserLgUtils.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/UserLgUtils.java index 080717c..0fc75e3 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/UserLgUtils.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/utils/UserLgUtils.java @@ -148,6 +148,22 @@ public class UserLgUtils { return SPUtils.getInstance(SP_USER_INFO).getString("city"); } + public static void setCurrentCity(String city) { + SPUtils.getInstance(SP_USER_INFO).put("currentCity", city); + } + + public static String getCurrentCity() { + return SPUtils.getInstance(SP_USER_INFO).getString("currentCity"); + } + + public static String getCurrentCityCode() { + return SPUtils.getInstance(SP_USER_INFO).getString("currentCityCode"); + } + + public static void setCurrentCityCode(String code) { + SPUtils.getInstance(SP_USER_INFO).put("currentCityCode", code); + } + public static void setLocationAddress(String address) { SPUtils.getInstance(SP_USER_INFO).put("address", address); } @@ -171,4 +187,12 @@ public class UserLgUtils { public static void setLocationCityCode(String code) { SPUtils.getInstance(SP_USER_INFO).put("cityCode", code); } + + public static int getCityLevel() { + return SPUtils.getInstance(SP_USER_INFO).getInt("cityLevel"); + } + + public static void setCityLevel(int level) { + SPUtils.getInstance(SP_USER_INFO).put("cityLevel", level); + } } diff --git a/cm_utils/src/main/res/drawable/shape_search_input_box.xml b/cm_utils/src/main/res/drawable/shape_search_input_box.xml index 4d2a79c..ca94e1d 100644 --- a/cm_utils/src/main/res/drawable/shape_search_input_box.xml +++ b/cm_utils/src/main/res/drawable/shape_search_input_box.xml @@ -1,6 +1,9 @@ - + + \ No newline at end of file diff --git a/cm_utils/src/main/res/layout/base_activity.xml b/cm_utils/src/main/res/layout/base_activity.xml index 9dce509..8920fcb 100755 --- a/cm_utils/src/main/res/layout/base_activity.xml +++ b/cm_utils/src/main/res/layout/base_activity.xml @@ -24,8 +24,8 @@ @@ -44,6 +44,22 @@ android:layout_height="30dp" android:layout_centerInParent="true" android:scaleType="fitXY" /> + + - + + mArea1List; + private List mArea2List; + private List mArea3List; + private List mArea4List; + private String mCurrentArea1Name = ""; + + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + mTvBaseTitle.setText("地区选择"); + mTvPublish.setVisibility(View.VISIBLE); + mTvPublish.setText("确定"); + mTvCurrentArea.setText(mCurrentCityName); + mTvPublish.setOnClickListener(v -> doChooseArea()); + if (!TextUtils.isEmpty(UserLgUtils.getCurrentCity())) { + mCurrentCityName = UserLgUtils.getCurrentCity(); + } else { + mCurrentCityName = PathConfig.CITY_DEFAULT_NAME; + } + mTvCurrentArea.setText(mCurrentCityName); + mCurrentCityCode = UserLgUtils.getCurrentCityCode(); + refreshView(STATE_LOAD_SUCCESS); + ChipsLayoutManager area1Manager = ChipsLayoutManager.newBuilder(mActivity) + .setOrientation(ChipsLayoutManager.HORIZONTAL) + .setMaxViewsInRow(4) + .build(); + ChipsLayoutManager area2Manager = ChipsLayoutManager.newBuilder(mActivity) + .setOrientation(ChipsLayoutManager.HORIZONTAL) + .setMaxViewsInRow(4) + .build(); + ChipsLayoutManager area3Manager = ChipsLayoutManager.newBuilder(mActivity) + .setOrientation(ChipsLayoutManager.HORIZONTAL) + .setMaxViewsInRow(4) + .build(); + ChipsLayoutManager area4Manager = ChipsLayoutManager.newBuilder(mActivity) + .setOrientation(ChipsLayoutManager.HORIZONTAL) + .setMaxViewsInRow(4) + .build(); + mArea1List = new ArrayList<>(); + mArea2List = new ArrayList<>(); + mArea3List = new ArrayList<>(); + mArea4List = new ArrayList<>(); + mRlvArea1Content.setLayoutManager(area1Manager); + mRlvArea2Content.setLayoutManager(area2Manager); + mRlvArea3Content.setLayoutManager(area3Manager); + mRlvArea4Content.setLayoutManager(area4Manager); + + mArea1Adapter = new AreaListAdapter(mActivity, mArea1List); + mArea2Adapter = new AreaListAdapter(mActivity, mArea2List); + mArea3Adapter = new AreaListAdapter(mActivity, mArea3List); + mArea4Adapter = new AreaListAdapter(mActivity, mArea4List); + + mRlvArea1Content.setAdapter(mArea1Adapter); + mRlvArea2Content.setAdapter(mArea2Adapter); + mRlvArea3Content.setAdapter(mArea3Adapter); + mRlvArea4Content.setAdapter(mArea4Adapter); + + mArea1Adapter.addOnItemClickListener(areaListBean -> { + for (int i = 0; i < mArea1List.size(); i++) { + mArea1List.get(i).setCheckEd(areaListBean.getAreaId().equals(mArea1List.get(i).getAreaId()) ? true : false); + } + mCurrentArea1Name = areaListBean.getAreaName(); + mArea1Adapter.setData(mArea1List); + getArea2List(areaListBean.getAreaId()); + setCurrentCity(areaListBean, 1); + }); + mArea2Adapter.addOnItemClickListener(areaListBean -> { + for (int i = 0; i < mArea2List.size(); i++) { + mArea2List.get(i).setCheckEd(areaListBean.getAreaId().equals(mArea2List.get(i).getAreaId()) ? true : false); + } + mArea2Adapter.setData(mArea2List); + setCurrentCity(areaListBean, 2); + getArea3List(areaListBean.getAreaId()); + }); + mArea3Adapter.addOnItemClickListener(areaListBean -> { + for (int i = 0; i < mArea3List.size(); i++) { + mArea3List.get(i).setCheckEd(areaListBean.getAreaId().equals(mArea3List.get(i).getAreaId()) ? true : false); + } + mArea3Adapter.setData(mArea3List); + setCurrentCity(areaListBean, 3); + getArea4List(areaListBean.getAreaId()); + }); + mArea4Adapter.addOnItemClickListener(areaListBean -> { + for (int i = 0; i < mArea4List.size(); i++) { + mArea4List.get(i).setCheckEd(areaListBean.getAreaId().equals(mArea4List.get(i).getAreaId()) ? true : false); + } + mArea4Adapter.setData(mArea4List); + setCurrentCity(areaListBean, 4); + }); + getArea3List(PathConfig.DID_CITY_CODE); + mTvSearch.setOnClickListener(v -> { + String searchText = mEtSearch.getText().toString().trim(); + if (TextUtils.isEmpty(searchText)) { + ToastUtils.showShort("请输入查询的地区名称"); + } else { + doSearch(searchText); + } + }); + mEtSearch.setOnFocusChangeListener((v, hasFocus) -> { + if (hasFocus) { + mLlSearch.setVisibility(View.VISIBLE); + mNsvContent.setVisibility(View.GONE); + } else { + mNsvContent.setVisibility(View.VISIBLE); + mLlSearch.setVisibility(View.GONE); + } + }); + mEtSearch.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + String text = s.toString().trim(); + if (TextUtils.isEmpty(text)) { + mEtSearch.clearFocus(); + hideSoftKeyboard(mEtSearch); + } + } + }); + } + + /** + * 搜索 + * + * @param searchText + */ + private void doSearch(String searchText) { + ProgressDialog dialog = UIUtil.initDialog(mActivity, "搜索中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(HomeApi.class) + .doSearchByKeyword(1, searchText, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(SearchBean searchBean) { + dialog.dismiss(); + } + + @Override + public void onError(Throwable e) { + dialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + private void setCurrentCity(AreaListBean bean, int area) { + if (area == 1) { + + } else if (area == 2) { + for (int i = 0; i < mArea1List.size(); i++) { + mArea1List.get(i).setCheckEd(false); + } + mArea1Adapter.setData(mArea1List); + } else if (area == 3) { + for (int i = 0; i < mArea2List.size(); i++) { + mArea2List.get(i).setCheckEd(false); + } + mArea2Adapter.setData(mArea2List); + } else if (area == 4) { + for (int i = 0; i < mArea3List.size(); i++) { + mArea3List.get(i).setCheckEd(false); + } + mArea3Adapter.setData(mArea3List); + } +// if (!TextUtils.isEmpty(mCurrentArea1Name)) { +// if ("北京市".equals(mCurrentArea1Name) || "天津市".equals(mCurrentArea1Name) || "上海市".equals(mCurrentArea1Name) || "重庆市".equals(mCurrentArea1Name)) { +// if ("1".equals(bean.getAreaLevel()) && "直辖区".equals(bean.getAreaName())) { +// mCurrentCityName = mCurrentArea1Name + "-" + bean.getAreaName(); +// } else { +// mCurrentCityName = bean.getAreaName(); +// } +// } else { +// +// } +// } + UserLgUtils.setCityLevel(Integer.parseInt(bean.getAreaLevel()) + 1); + mCurrentCityName = bean.getAreaName(); + mCurrentCityCode = bean.getAreaId(); + mTvCurrentArea.setText(mCurrentCityName); + } + + private void getArea1List() { + ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(HomeApi.class) + .getAreaListByPid("0") + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List areaListBean) { + dialog.dismiss(); + mArea1List = areaListBean; + mArea1Adapter.setData(mArea1List); + mTvArea1Hint.setVisibility(View.GONE); + + mArea2List.clear(); + mArea2Adapter.setData(mArea2List); + mTvArea2Hint.setVisibility(View.VISIBLE); + mTvArea2Hint.setText("请选择"); + + mArea3List.clear(); + mArea3Adapter.setData(mArea2List); + mTvArea3Hint.setVisibility(View.VISIBLE); + mTvArea3Hint.setText("请选择"); + + mArea4List.clear(); + mArea4Adapter.setData(mArea2List); + mTvArea4Hint.setVisibility(View.VISIBLE); + mTvArea4Hint.setText("请选择"); + } + + @Override + public void onError(Throwable e) { + dialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + private void getArea2List(String id) { + ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(HomeApi.class) + .getAreaListByPid(id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List areaListBean) { + dialog.dismiss(); + if (areaListBean != null && areaListBean.size() > 0) { + mArea2List = areaListBean; + mArea2Adapter.setData(mArea2List); + mTvArea2Hint.setVisibility(View.GONE); + } else { + mArea2List.clear(); + mArea2Adapter.setData(mArea2List); + mTvArea2Hint.setVisibility(View.VISIBLE); + mTvArea2Hint.setText("暂无数据"); + } + + mArea3List.clear(); + mArea3Adapter.setData(mArea3List); + mTvArea3Hint.setVisibility(View.VISIBLE); + mTvArea3Hint.setText("请选择"); + + mArea4List.clear(); + mArea4Adapter.setData(mArea4List); + mTvArea4Hint.setVisibility(View.VISIBLE); + mTvArea4Hint.setText("请选择"); + + } + + @Override + public void onError(Throwable e) { + dialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + private void getArea3List(String id) { + ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(HomeApi.class) + .getAreaListByPid(id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List areaListBean) { + dialog.dismiss(); + if (areaListBean != null && areaListBean.size() > 0) { + mArea3List = areaListBean; + mArea3Adapter.setData(mArea3List); + mTvArea3Hint.setVisibility(View.GONE); + } else { + mArea3List.clear(); + mArea3Adapter.setData(mArea3List); + mTvArea3Hint.setVisibility(View.VISIBLE); + mTvArea3Hint.setText("暂无数据"); + } + mArea4List.clear(); + mArea4Adapter.setData(mArea4List); + mTvArea4Hint.setVisibility(View.VISIBLE); + mTvArea4Hint.setText("请选择"); + } + + @Override + public void onError(Throwable e) { + dialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + //640675 + private void getArea4List(String id) { + ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(HomeApi.class) + .getAreaListByPid(id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List areaListBean) { + dialog.dismiss(); + if (areaListBean != null && areaListBean.size() > 0) { + mArea4List = areaListBean; + mTvArea4Hint.setVisibility(View.GONE); + } else { + mArea4List.clear(); + mTvArea4Hint.setVisibility(View.VISIBLE); + mTvArea4Hint.setText("暂无数据"); + } + mArea4Adapter.setData(mArea4List); + } + + @Override + public void onError(Throwable e) { + dialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 确定选择 + */ + private void doChooseArea() { + if (TextUtils.isEmpty(mCurrentCityCode)) { + ToastUtils.showShort("请选择地区"); + } else { + Intent intent = new Intent(); + intent.putExtra("chooseCity", mCurrentCityName); + intent.putExtra("chooseCityCode", mCurrentCityCode); + setResult(333, intent); + finish(); + } + } + + @Override + protected void onDestroy() { + if (mBind != null) { + mBind.unbind(); + } + super.onDestroy(); + } + + @Override + protected int setLayoutId() { + return R.layout.activity_choose_city; + } + + +} diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/base/MainActivity.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/base/MainActivity.java index 4e397bc..b904f53 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/base/MainActivity.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/base/MainActivity.java @@ -33,12 +33,16 @@ import com.sucstepsoft.cm_utils.core.widget.views.CenterDialogUpdateView; import com.sucstepsoft.cm_utils.utils.FileUtils; import com.sucstepsoft.cm_utils.utils.LogUtils; import com.sucstepsoft.cm_utils.utils.PermissionUtils; +import com.sucstepsoft.cm_utils.utils.SPUtils; import com.sucstepsoft.cm_utils.utils.ToastUtils; import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.tengshisoft.mudulemain.R; import com.tengshisoft.mudulemain.R2; +import com.tengshisoft.mudulemain.cultural.fragment.HomeFragment; import com.tengshisoft.mudulemain.cultural.net.HomeApi; +import org.aspectj.lang.annotation.Around; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -46,6 +50,7 @@ import java.util.ArrayList; import java.util.List; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; @@ -89,13 +94,17 @@ public class MainActivity extends BaseActivity { Fragment placeFragment = FragmentUtils.getPlaceFragment(); Fragment culturalFragment = FragmentUtils.getCulturalFragment(); Fragment mineMainFragment = FragmentUtils.getMineFragment(); - mFragments.add(homefragment); mFragments.add(activityFragment); mFragments.add(placeFragment); mFragments.add(culturalFragment); mFragments.add(mineMainFragment); - + String locationCity = UserLgUtils.getCurrentCity(); + if (TextUtils.isEmpty(locationCity)) { + UserLgUtils.setCurrentCity(PathConfig.CITY_DEFAULT_NAME); + UserLgUtils.setCurrentCityCode(PathConfig.CITY_DEFAULT_CODE); + UserLgUtils.setCityLevel(PathConfig.CITY_DEFAULT_LEVEL); + } mVpContent.setAdapter(new MyFragmentPageAdapter(this)); mVpContent.setUserInputEnabled(false); //TODO 系统字体 @@ -109,6 +118,9 @@ public class MainActivity extends BaseActivity { mIvInto.setVisibility(View.GONE); mVpContent.setCurrentItem(0, false); mTvBaseTitle.setText("日喀则市数字文化云"); + mTvAppBack.setVisibility(View.VISIBLE); + String city = TextUtils.isEmpty(UserLgUtils.getCurrentCity()) ? "地区选择" : UserLgUtils.getCurrentCity(); + mTvAppBack.setText(city); return true; } else if (itemId == R.id.tab_activity) { //活动 @@ -117,6 +129,7 @@ public class MainActivity extends BaseActivity { mVpContent.setCurrentItem(1, false); mIvInto.setVisibility(View.GONE); mTvBaseTitle.setText(item.getTitle()); + mTvAppBack.setVisibility(View.GONE); return true; } else if (itemId == R.id.tab_place) { //场馆 @@ -124,6 +137,7 @@ public class MainActivity extends BaseActivity { mRlTitleBar1.setVisibility(View.VISIBLE); mLlImg.setVisibility(View.VISIBLE); mIvInto.setVisibility(View.VISIBLE); + mTvAppBack.setVisibility(View.GONE); mVpContent.setCurrentItem(2, false); mTvBaseTitle.setText(item.getTitle()); mIvInto.setOnClickListener(v -> ARouter.getInstance() @@ -136,6 +150,7 @@ public class MainActivity extends BaseActivity { mIvInto.setVisibility(View.GONE); mVpContent.setCurrentItem(3, false); mTvBaseTitle.setText(item.getTitle()); + mTvAppBack.setVisibility(View.GONE); return true; } else if (itemId == R.id.tab_mine) { //我的 @@ -150,6 +165,12 @@ public class MainActivity extends BaseActivity { }); mRlTitleBar.setVisibility(View.VISIBLE); mRlTitleBar1.setVisibility(View.VISIBLE); + mTvAppBack.setVisibility(View.VISIBLE); + String city = TextUtils.isEmpty(UserLgUtils.getCurrentCity()) ? "地区选择" : UserLgUtils.getCurrentCity(); + mTvAppBack.setText(city); + mTvAppBack.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_MAIN_CHOOSE_CITY) + .navigation(mActivity, 1234)); doCheckPermission(); checkAppVersion(); getUserInfo(); @@ -189,6 +210,30 @@ public class MainActivity extends BaseActivity { } } + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + if (requestCode == 1234) { + if (resultCode == 333) { + String chooseCity = data.getStringExtra("chooseCity"); + String chooseCityCode = data.getStringExtra("chooseCityCode"); + UserLgUtils.setCurrentCity(chooseCity); + UserLgUtils.setCurrentCityCode(chooseCityCode); + LogUtils.e(chooseCityCode + "===" + chooseCity); + mTvAppBack.setText(chooseCity); + refreshData(); + } + } + super.onActivityResult(requestCode, resultCode, data); + } + + /** + * 重新加载数据 + */ + private void refreshData() { + HomeFragment fragment = (HomeFragment) mFragments.get(0); + fragment.notifyData(); + } + /** * 获取用户信息 */ @@ -372,7 +417,10 @@ public class MainActivity extends BaseActivity { double longitude = location.getLongitude(); float radius = location.getRadius(); if (latitude != Double.MIN_VALUE && longitude != Double.MIN_VALUE && radius <= 300) { - UserLgUtils.setLocationCity(location.getCity()); +// UserLgUtils.setLocationCity(location.getCity()); +// if (TextUtils.isEmpty(UserLgUtils.getCurrentCity())) { +// mTvAppBack.setText(location.getCity()); +// } UserLgUtils.setLocationAddress(location.getAddrStr()); UserLgUtils.setLocationLat(latitude + ""); UserLgUtils.setLocationLng(longitude + ""); diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/AreaListAdapter.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/AreaListAdapter.java new file mode 100644 index 0000000..904e72f --- /dev/null +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/adapter/AreaListAdapter.java @@ -0,0 +1,42 @@ +package com.tengshisoft.mudulemain.cultural.adapter; + +import android.content.Context; +import android.text.Layout; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CompoundButton; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; +import com.tengshisoft.mudulemain.R; +import com.tengshisoft.mudulemain.cultural.beans.AreaListBean; +import com.tengshisoft.mudulemain.cultural.holder.AreaHolder; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/7/21 - 10:56 AM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class AreaListAdapter extends BaseRecyclerAdapter { + public AreaListAdapter(Context ctx, List list) { + super(ctx, list); + } + + @Override + public AreaHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_area_layout, parent, false); + return new AreaHolder(itemView); + } + + @Override + public void bindHolder(AreaHolder areaHolder, int i) { + AreaListBean bea = mData.get(i); + areaHolder.mCbName.setOnCheckedChangeListener(null); + areaHolder.mCbName.setText(bea.getAreaName()); + areaHolder.mCbName.setChecked(bea.isCheckEd()); + areaHolder.mCbName.setOnCheckedChangeListener((buttonView, isChecked) -> mListener.onItemClickListen(bea)); + } +} diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/beans/AreaListBean.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/beans/AreaListBean.java new file mode 100644 index 0000000..be246ac --- /dev/null +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/beans/AreaListBean.java @@ -0,0 +1,197 @@ +package com.tengshisoft.mudulemain.cultural.beans; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/7/21 - 10:49 AM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class AreaListBean { + + /** + * areaCityCode : string + * areaCode : string + * areaFirst : string + * areaId : string + * areaLat : string + * areaLevel : string + * areaLng : string + * areaMergerName : string + * areaName : string + * areaParentId : string + * areaParentName : string + * areaPinyin : string + * areaShortName : string + * areaZipCode : string + * parent : true + * subArea : [{}] + */ + + private String areaCityCode; + private String areaCode; + private String areaFirst; + private String areaId; + private String areaLat; + private String areaLevel; + private String areaLng; + private String areaMergerName; + private String areaName; + private String areaParentId; + private String areaParentName; + private String areaPinyin; + private String areaShortName; + private String areaZipCode; + private boolean parent; + private boolean checkEd; + + @Override + public String toString() { + return "AreaListBean{" + + "areaName='" + areaName + '\'' + + ", checkEd=" + checkEd + + '}'; + } + + public boolean isCheckEd() { + return checkEd; + } + + public void setCheckEd(boolean checkEd) { + this.checkEd = checkEd; + } + + private List subArea; + + public String getAreaCityCode() { + return areaCityCode; + } + + public void setAreaCityCode(String areaCityCode) { + this.areaCityCode = areaCityCode; + } + + public String getAreaCode() { + return areaCode; + } + + public void setAreaCode(String areaCode) { + this.areaCode = areaCode; + } + + public String getAreaFirst() { + return areaFirst; + } + + public void setAreaFirst(String areaFirst) { + this.areaFirst = areaFirst; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getAreaLat() { + return areaLat; + } + + public void setAreaLat(String areaLat) { + this.areaLat = areaLat; + } + + public String getAreaLevel() { + return areaLevel; + } + + public void setAreaLevel(String areaLevel) { + this.areaLevel = areaLevel; + } + + public String getAreaLng() { + return areaLng; + } + + public void setAreaLng(String areaLng) { + this.areaLng = areaLng; + } + + public String getAreaMergerName() { + return areaMergerName; + } + + public void setAreaMergerName(String areaMergerName) { + this.areaMergerName = areaMergerName; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public String getAreaParentId() { + return areaParentId; + } + + public void setAreaParentId(String areaParentId) { + this.areaParentId = areaParentId; + } + + public String getAreaParentName() { + return areaParentName; + } + + public void setAreaParentName(String areaParentName) { + this.areaParentName = areaParentName; + } + + public String getAreaPinyin() { + return areaPinyin; + } + + public void setAreaPinyin(String areaPinyin) { + this.areaPinyin = areaPinyin; + } + + public String getAreaShortName() { + return areaShortName; + } + + public void setAreaShortName(String areaShortName) { + this.areaShortName = areaShortName; + } + + public String getAreaZipCode() { + return areaZipCode; + } + + public void setAreaZipCode(String areaZipCode) { + this.areaZipCode = areaZipCode; + } + + public boolean isParent() { + return parent; + } + + public void setParent(boolean parent) { + this.parent = parent; + } + + public List getSubArea() { + return subArea; + } + + public void setSubArea(List subArea) { + this.subArea = subArea; + } + + public static class SubAreaBean { + } +} diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/beans/SearchBean.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/beans/SearchBean.java new file mode 100644 index 0000000..ce26807 --- /dev/null +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/beans/SearchBean.java @@ -0,0 +1,215 @@ +package com.tengshisoft.mudulemain.cultural.beans; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/7/27 - 9:19 AM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class SearchBean { + + /** + * page : 1 + * rows : [{"areaCityCode":"string","areaCode":"string","areaFirst":"string","areaId":"string","areaLat":"string","areaLevel":"string","areaLng":"string","areaMergerName":"string","areaName":"string","areaParentId":"string","areaParentName":"string","areaPinyin":"string","areaShortName":"string","areaZipCode":"string","parent":true,"subArea":[{}]}] + * total : 20 + */ + + private int page; + private int total; + private List rows; + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * areaCityCode : string + * areaCode : string + * areaFirst : string + * areaId : string + * areaLat : string + * areaLevel : string + * areaLng : string + * areaMergerName : string + * areaName : string + * areaParentId : string + * areaParentName : string + * areaPinyin : string + * areaShortName : string + * areaZipCode : string + * parent : true + * subArea : [{}] + */ + + private String areaCityCode; + private String areaCode; + private String areaFirst; + private String areaId; + private String areaLat; + private String areaLevel; + private String areaLng; + private String areaMergerName; + private String areaName; + private String areaParentId; + private String areaParentName; + private String areaPinyin; + private String areaShortName; + private String areaZipCode; + private boolean parent; + private List subArea; + + public String getAreaCityCode() { + return areaCityCode; + } + + public void setAreaCityCode(String areaCityCode) { + this.areaCityCode = areaCityCode; + } + + public String getAreaCode() { + return areaCode; + } + + public void setAreaCode(String areaCode) { + this.areaCode = areaCode; + } + + public String getAreaFirst() { + return areaFirst; + } + + public void setAreaFirst(String areaFirst) { + this.areaFirst = areaFirst; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getAreaLat() { + return areaLat; + } + + public void setAreaLat(String areaLat) { + this.areaLat = areaLat; + } + + public String getAreaLevel() { + return areaLevel; + } + + public void setAreaLevel(String areaLevel) { + this.areaLevel = areaLevel; + } + + public String getAreaLng() { + return areaLng; + } + + public void setAreaLng(String areaLng) { + this.areaLng = areaLng; + } + + public String getAreaMergerName() { + return areaMergerName; + } + + public void setAreaMergerName(String areaMergerName) { + this.areaMergerName = areaMergerName; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public String getAreaParentId() { + return areaParentId; + } + + public void setAreaParentId(String areaParentId) { + this.areaParentId = areaParentId; + } + + public String getAreaParentName() { + return areaParentName; + } + + public void setAreaParentName(String areaParentName) { + this.areaParentName = areaParentName; + } + + public String getAreaPinyin() { + return areaPinyin; + } + + public void setAreaPinyin(String areaPinyin) { + this.areaPinyin = areaPinyin; + } + + public String getAreaShortName() { + return areaShortName; + } + + public void setAreaShortName(String areaShortName) { + this.areaShortName = areaShortName; + } + + public String getAreaZipCode() { + return areaZipCode; + } + + public void setAreaZipCode(String areaZipCode) { + this.areaZipCode = areaZipCode; + } + + public boolean isParent() { + return parent; + } + + public void setParent(boolean parent) { + this.parent = parent; + } + + public List getSubArea() { + return subArea; + } + + public void setSubArea(List subArea) { + this.subArea = subArea; + } + + public static class SubAreaBean { + } + } +} diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java index 028edc5..4002a40 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java @@ -423,6 +423,8 @@ public class HomeFragment extends BaseFragment { mBannerImageAdapter.notifyDataSetChanged(); mBanner.start(); } + } else { + } } @@ -721,4 +723,14 @@ public class HomeFragment extends BaseFragment { protected int getContentViewId() { return R.layout.fragment_home; } + + public void notifyData() { + //重新加载数据 + mMainCommendBeans.clear(); + buildBannerData(); + getNewsList(null); + getLiveList(); + getMainCommendList(); + getBannerData(); + } } diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/holder/AreaHolder.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/holder/AreaHolder.java new file mode 100644 index 0000000..7da2066 --- /dev/null +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/holder/AreaHolder.java @@ -0,0 +1,25 @@ +package com.tengshisoft.mudulemain.cultural.holder; + +import android.view.View; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.tengshisoft.mudulemain.R; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +/** + * 作者: adam + * 日期: 2020/7/21 - 10:56 AM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class AreaHolder extends RecyclerView.ViewHolder { + public CheckBox mCbName; + + public AreaHolder(@NonNull View itemView) { + super(itemView); + mCbName = itemView.findViewById(R.id.cb_name); + } +} diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java index 894a0a6..5c89356 100644 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java @@ -5,10 +5,12 @@ import com.tengshisoft.moduleactivity.beans.ActivityListBeans; import com.tengshisoft.modulecultural.bean.CulturalLiveBean; import com.tengshisoft.modulecultural.bean.LegacyListBean; import com.tengshisoft.moduleplace.beans.PlaceListBean; +import com.tengshisoft.mudulemain.cultural.beans.AreaListBean; import com.tengshisoft.mudulemain.cultural.beans.BaseUserBean; import com.tengshisoft.mudulemain.cultural.beans.CommentListBean; import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean; import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean; +import com.tengshisoft.mudulemain.cultural.beans.SearchBean; import java.util.List; @@ -236,4 +238,24 @@ public interface HomeApi { @Headers({"base_url_name:live", "Content-Type:application/json", "Accept:application/json"}) @GET("app/liveplan/listpageliveplanrelease") Observable getLiveRecord(@Query("page") String page, @Query("rows") String rows); + + /** + * 统一用户-获取区域 + * + * @param pId + * @return + */ + @Headers({"Content-Type:application/json", "Accept:application/json"}) + @GET("app/dataarea/listareabyparentidrelease/{areaParentId}") + Observable> getAreaListByPid(@Path("areaParentId") String pId); + + /** + * 统一用户-获取区域-搜索 + * + * @param token + * @return + */ + @Headers({"Content-Type:application/json", "Accept:application/json"}) + @GET("app/dataarea/listpagearea") + Observable doSearchByKeyword(@Query("page") int page, @Query("keywords") String key, @Header("token") String token); } diff --git a/modulemain/src/main/res/drawable/sel_line_ra_3.xml b/modulemain/src/main/res/drawable/sel_line_ra_3.xml new file mode 100644 index 0000000..621a6c4 --- /dev/null +++ b/modulemain/src/main/res/drawable/sel_line_ra_3.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modulemain/src/main/res/drawable/shape_gray_line_ra_2.xml b/modulemain/src/main/res/drawable/shape_gray_line_ra_2.xml new file mode 100644 index 0000000..a79d893 --- /dev/null +++ b/modulemain/src/main/res/drawable/shape_gray_line_ra_2.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/modulemain/src/main/res/drawable/shape_red_line_ra_2.xml b/modulemain/src/main/res/drawable/shape_red_line_ra_2.xml new file mode 100644 index 0000000..79037c0 --- /dev/null +++ b/modulemain/src/main/res/drawable/shape_red_line_ra_2.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/modulemain/src/main/res/layout/activity_choose_city.xml b/modulemain/src/main/res/layout/activity_choose_city.xml new file mode 100644 index 0000000..d887bbb --- /dev/null +++ b/modulemain/src/main/res/layout/activity_choose_city.xml @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modulemain/src/main/res/layout/item_area_layout.xml b/modulemain/src/main/res/layout/item_area_layout.xml new file mode 100644 index 0000000..0e6677e --- /dev/null +++ b/modulemain/src/main/res/layout/item_area_layout.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/modulemap/build.gradle b/modulemap/build.gradle index 9972cd1..9bee002 100644 --- a/modulemap/build.gradle +++ b/modulemap/build.gradle @@ -36,7 +36,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation files('libs/tbs.jar') +// implementation files('libs/tbs.jar') implementation files('libs/BaiduLBS_Android.jar') implementation project(':cm_utils') implementation 'androidx.appcompat:appcompat:1.1.0' diff --git a/modulemap/libs/tbs.jar b/modulemap/libs/tbs.jar deleted file mode 100644 index 87c40fa..0000000 Binary files a/modulemap/libs/tbs.jar and /dev/null differ diff --git a/moduleplace/build.gradle b/moduleplace/build.gradle index 27e26d3..37f619d 100644 --- a/moduleplace/build.gradle +++ b/moduleplace/build.gradle @@ -36,7 +36,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':cm_utils') - implementation files('libs/tbs.jar') +// implementation files('libs/tbs.jar') implementation 'androidx.appcompat:appcompat:1.1.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' diff --git a/moduleplace/libs/tbs.jar b/moduleplace/libs/tbs.jar deleted file mode 100644 index 87c40fa..0000000 Binary files a/moduleplace/libs/tbs.jar and /dev/null differ diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/NoticeDetailActivity.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/NoticeDetailActivity.java index 3db75b7..8b32cdf 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/NoticeDetailActivity.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/NoticeDetailActivity.java @@ -1,10 +1,10 @@ package com.tengshisoft.moduleplace.activitys; +import android.webkit.WebView; import android.widget.TextView; import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; -import com.tencent.smtt.sdk.WebView; import com.tengshisoft.moduleplace.R; import com.tengshisoft.moduleplace.R2; import com.tengshisoft.moduleplace.beans.NoticeDetailBean; diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/PlaceDetailActivity.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/PlaceDetailActivity.java index 784f1ed..2fcb639 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/PlaceDetailActivity.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/activitys/PlaceDetailActivity.java @@ -1,10 +1,7 @@ package com.tengshisoft.moduleplace.activitys; -import android.os.Bundle; import android.text.TextUtils; import android.view.View; -import android.view.ViewGroup; -import android.webkit.JavascriptInterface; import android.webkit.WebSettings; import android.webkit.WebView; import android.widget.LinearLayout; @@ -12,8 +9,6 @@ import android.widget.TextView; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; -import com.google.android.material.tabs.TabLayout; -import com.google.android.material.tabs.TabLayoutMediator; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.sucstepsoft.cm_utils.constant.PathConfig; import com.sucstepsoft.cm_utils.core.beans.BaseImageBean; @@ -23,14 +18,10 @@ import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; import com.sucstepsoft.cm_utils.core.widget.base.BaseBannerImageAdapter; import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView; import com.sucstepsoft.cm_utils.utils.ConvertUtils; -import com.sucstepsoft.cm_utils.utils.LogUtils; import com.sucstepsoft.cm_utils.utils.UserLgUtils; -import com.tencent.smtt.sdk.WebViewClient; import com.tengshisoft.moduleplace.R; import com.tengshisoft.moduleplace.R2; import com.tengshisoft.moduleplace.beans.PlaceDetailBean; -import com.tengshisoft.moduleplace.beans.PlaceSubjectBean; -import com.tengshisoft.moduleplace.fragment.SubjectDescFragment; import com.tengshisoft.moduleplace.net.ApiPlace; import com.youth.banner.Banner; import com.youth.banner.config.IndicatorConfig; @@ -38,17 +29,9 @@ import com.youth.banner.indicator.CircleIndicator; import com.youth.banner.transformer.DepthPageTransformer; import com.youth.banner.util.BannerUtils; -import org.aspectj.lang.annotation.Around; - -import java.nio.file.Path; import java.util.ArrayList; import java.util.List; -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; -import androidx.viewpager2.adapter.FragmentStateAdapter; -import androidx.viewpager2.widget.ViewPager2; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectHintFragment.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectHintFragment.java index 45058ad..4aedbcb 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectHintFragment.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectHintFragment.java @@ -3,7 +3,6 @@ package com.tengshisoft.moduleplace.fragment; import android.view.View; import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment; -import com.tencent.smtt.sdk.WebView; import com.tengshisoft.moduleplace.R; import com.tengshisoft.moduleplace.R2; diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectIntroduceFragment.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectIntroduceFragment.java index ca8dd8f..9b182ee 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectIntroduceFragment.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectIntroduceFragment.java @@ -3,11 +3,8 @@ package com.tengshisoft.moduleplace.fragment; import android.view.View; import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment; -import com.tencent.smtt.sdk.WebView; import com.tengshisoft.moduleplace.R; -import com.tengshisoft.moduleplace.R2; -import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; @@ -18,8 +15,8 @@ import butterknife.Unbinder; * 描述: 详情 */ public class SubjectIntroduceFragment extends BaseFragment { - @BindView(R2.id.wv_introduce) - WebView mWvIntroduce; +// @BindView(R2.id.wv_introduce) +// WebView mWvIntroduce; private Unbinder mBind; @@ -54,9 +51,9 @@ public class SubjectIntroduceFragment extends BaseFragment { @Override public void onDestroy() { super.onDestroy(); - if (mWvIntroduce != null) { - mWvIntroduce.destroy(); - } +// if (mWvIntroduce != null) { +// mWvIntroduce.destroy(); +// } } } diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectNoticeFragment.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectNoticeFragment.java index e8007b1..8937b4d 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectNoticeFragment.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectNoticeFragment.java @@ -3,7 +3,6 @@ package com.tengshisoft.moduleplace.fragment; import android.view.View; import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment; -import com.tencent.smtt.sdk.WebView; import com.tengshisoft.moduleplace.R; import com.tengshisoft.moduleplace.R2; diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectOptionsFragment.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectOptionsFragment.java index 1d99927..872698e 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectOptionsFragment.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/fragment/SubjectOptionsFragment.java @@ -3,7 +3,6 @@ package com.tengshisoft.moduleplace.fragment; import android.view.View; import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment; -import com.tencent.smtt.sdk.WebView; import com.tengshisoft.moduleplace.R; import com.tengshisoft.moduleplace.R2; diff --git a/moduleplace/src/main/java/com/tengshisoft/moduleplace/widget/NewsNoClickWebView.java b/moduleplace/src/main/java/com/tengshisoft/moduleplace/widget/NewsNoClickWebView.java index 562e145..19d64fd 100644 --- a/moduleplace/src/main/java/com/tengshisoft/moduleplace/widget/NewsNoClickWebView.java +++ b/moduleplace/src/main/java/com/tengshisoft/moduleplace/widget/NewsNoClickWebView.java @@ -3,10 +3,7 @@ package com.tengshisoft.moduleplace.widget; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; - -import com.tencent.smtt.sdk.WebView; - -import java.util.Map; +import android.webkit.WebView; /** * 作者: adam @@ -18,7 +15,7 @@ public class NewsNoClickWebView extends WebView { public NewsNoClickWebView(Context context, boolean b) { - super(context, b); + super(context); } public NewsNoClickWebView(Context context) { @@ -37,9 +34,9 @@ public class NewsNoClickWebView extends WebView { super(context, attributeSet, i, b); } - public NewsNoClickWebView(Context context, AttributeSet attributeSet, int i, Map map, boolean b) { - super(context, attributeSet, i, map, b); - } +// public NewsNoClickWebView(Context context, AttributeSet attributeSet, int i, Map map, boolean b) { +// super(context, attributeSet, i, map, b); +// } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int mExpandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); diff --git a/moduleplace/src/main/res/layout/activity_notice_detail.xml b/moduleplace/src/main/res/layout/activity_notice_detail.xml index b260993..68d22c0 100644 --- a/moduleplace/src/main/res/layout/activity_notice_detail.xml +++ b/moduleplace/src/main/res/layout/activity_notice_detail.xml @@ -49,7 +49,7 @@ android:layout_height="1dp" android:background="@color/gray_line" /> - - diff --git a/moduleplace/src/main/res/layout/fragment_subject_introduce.xml b/moduleplace/src/main/res/layout/fragment_subject_introduce.xml index c4ad6f0..8dda7a1 100644 --- a/moduleplace/src/main/res/layout/fragment_subject_introduce.xml +++ b/moduleplace/src/main/res/layout/fragment_subject_introduce.xml @@ -4,8 +4,8 @@ android:layout_height="match_parent" android:orientation="vertical"> - + + + + \ No newline at end of file diff --git a/moduleplace/src/main/res/layout/fragment_subject_notice.xml b/moduleplace/src/main/res/layout/fragment_subject_notice.xml index c4ad6f0..edfc5dc 100644 --- a/moduleplace/src/main/res/layout/fragment_subject_notice.xml +++ b/moduleplace/src/main/res/layout/fragment_subject_notice.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - diff --git a/moduleplace/src/main/res/layout/fragment_subject_options.xml b/moduleplace/src/main/res/layout/fragment_subject_options.xml index c4ad6f0..edfc5dc 100644 --- a/moduleplace/src/main/res/layout/fragment_subject_options.xml +++ b/moduleplace/src/main/res/layout/fragment_subject_options.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - diff --git a/moduleplace/src/main/res/layout/item_place_list.xml b/moduleplace/src/main/res/layout/item_place_list.xml index 40c65ed..f782b68 100644 --- a/moduleplace/src/main/res/layout/item_place_list.xml +++ b/moduleplace/src/main/res/layout/item_place_list.xml @@ -1,12 +1,14 @@ + android:layout_marginBottom="5dp" + app:cardCornerRadius="5dp">