Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
accc88ac4e | ||
|
6adc0ccc69 | ||
|
f6bccd0c5f | ||
|
1af15f3958 | ||
|
8b66cb3f68 | ||
|
2077808f18 | ||
|
7115f1fe85 | ||
|
055a41bd30 | ||
|
6e088a2063 | ||
|
bd32655720 | ||
|
03c98a445e | ||
|
64eddab2a7 | ||
|
819aea5751 | ||
|
7f3ea23936 |
@ -1,7 +1,6 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<option name="RIGHT_MARGIN" value="150" />
|
||||
<option name="ENABLE_SECOND_REFORMAT" value="true" />
|
||||
<option name="RIGHT_MARGIN" value="120" />
|
||||
<JavaCodeStyleSettings>
|
||||
<option name="FIELD_NAME_PREFIX" value="m" />
|
||||
</JavaCodeStyleSettings>
|
||||
@ -126,6 +125,15 @@
|
||||
</codeStyleSettings>
|
||||
<codeStyleSettings language="kotlin">
|
||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||
<option name="CALL_PARAMETERS_WRAP" value="0" />
|
||||
<option name="CALL_PARAMETERS_LPAREN_ON_NEXT_LINE" value="false" />
|
||||
<option name="CALL_PARAMETERS_RPAREN_ON_NEXT_LINE" value="false" />
|
||||
<option name="METHOD_PARAMETERS_WRAP" value="0" />
|
||||
<option name="METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE" value="false" />
|
||||
<option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="false" />
|
||||
<option name="EXTENDS_LIST_WRAP" value="0" />
|
||||
<option name="METHOD_CALL_CHAIN_WRAP" value="0" />
|
||||
<option name="ASSIGNMENT_WRAP" value="0" />
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
17
.idea/deploymentTargetDropDown.xml
Normal file
17
.idea/deploymentTargetDropDown.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<runningDeviceTargetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="SERIAL_NUMBER" />
|
||||
<value value="adb-10HC690BJT0005G-OxQ61P._adb-tls-connect._tcp." />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-11-08T09:18:44.327257Z" />
|
||||
</component>
|
||||
</project>
|
6
.idea/kotlinc.xml
Normal file
6
.idea/kotlinc.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="1.6.0" />
|
||||
</component>
|
||||
</project>
|
@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeSettings">
|
||||
<configurations>
|
||||
@ -35,7 +34,7 @@
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
12
README.md
12
README.md
@ -45,6 +45,7 @@
|
||||
```
|
||||
1.修复Bug Inconsistency detected(在清除的了mData后续要重新刷新adapter)
|
||||
2.修复百度定位key Bug
|
||||
|
||||
3.事件相关页面添加上报人名字 事件条目布局调整
|
||||
4.修改融合通信登录时机 修改通信弹窗
|
||||
```
|
||||
@ -57,5 +58,16 @@
|
||||
3.修复Bug Inconsistency detected(在清除的了mData后续要重新刷新adapter)
|
||||
```
|
||||
|
||||
### 2023-6-8 (1.1.3)
|
||||
|
||||
```
|
||||
1.人口 事件
|
||||
```
|
||||
|
||||
|
||||
### 2023-9-22 (1.1.6)
|
||||
|
||||
```
|
||||
1.常住人口修改为 户籍人口(户在人在)
|
||||
```
|
||||
|
||||
|
@ -24,6 +24,7 @@ android {
|
||||
versionName rootProject.ext.gVersionName
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
@ -50,9 +51,9 @@ dependencies {
|
||||
if (IsModuleDev.toBoolean()) {
|
||||
implementation project(':mainmodule')
|
||||
implementation project(':chatmodule')//在线聊天
|
||||
implementation project(':modulemap')//地图定位
|
||||
implementation project(':commonmodule')//公共模块
|
||||
implementation project(':gridmodule')//网格员端
|
||||
implementation project(':modulemap')
|
||||
}
|
||||
//ARouter
|
||||
api "com.alibaba:arouter-api:$rootProject.ext.gRouterApiVersion"
|
||||
|
@ -10,8 +10,8 @@
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"versionCode": 10,
|
||||
"versionName": "1.0.9",
|
||||
"versionCode": 17,
|
||||
"versionName": "1.1.6",
|
||||
"outputFile": "app-release.apk"
|
||||
}
|
||||
]
|
||||
|
@ -0,0 +1,8 @@
|
||||
Trial License
|
||||
Modules=851967
|
||||
Version=1100
|
||||
StartDate=20231010
|
||||
ExpiredDate=20240110
|
||||
DeviceIDType=UUID
|
||||
###
|
||||
F79DB8786D31A7EEDDFB1A86354BA234
|
@ -7,17 +7,21 @@ import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.net.ConnectivityManager;
|
||||
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.baidu.mapapi.CoordType;
|
||||
import com.baidu.mapapi.SDKInitializer;
|
||||
import com.supermap.data.Environment;
|
||||
import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.tengshisoft.chatmodule.hwclud.receiver.NetWorkStateReceiver;
|
||||
import com.tenlionsoft.baselib.app.BaseAppContext;
|
||||
import com.tenlionsoft.baselib.utils.AppUtils;
|
||||
import com.tenlionsoft.baselib.utils.FileUtils;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
import com.tenlionsoft.baselib.utils.ResourceUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.Utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@ -32,6 +36,7 @@ import cn.leo.magic.screen.MagicScreenAdapter;
|
||||
public class BaseMyApplication extends BaseAppContext {
|
||||
private static boolean isLogin = false;
|
||||
private NetWorkStateReceiver mNetWorkStateReceiver;
|
||||
private String licenseFileName = "SuperMap iMobile Trial -20231010.slm";
|
||||
|
||||
|
||||
@Override
|
||||
@ -41,7 +46,8 @@ public class BaseMyApplication extends BaseAppContext {
|
||||
ARouter.init(BaseMyApplication.this);
|
||||
CrashReport.initCrashReport(getApplicationContext());
|
||||
Utils.init(this);
|
||||
initBaiduMap();//初始化百度地图
|
||||
doCopyMapLicenseToSdcard();
|
||||
// initBaiduMap();//初始化百度地图
|
||||
if (AppUtils.isSupportCall()) {
|
||||
//判断是否可以视频通话
|
||||
initCertificate();
|
||||
@ -50,7 +56,8 @@ public class BaseMyApplication extends BaseAppContext {
|
||||
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||
registerReceiver(mNetWorkStateReceiver, filter);
|
||||
}
|
||||
// disableRes();
|
||||
//暗黑模式-不随系统主题切换
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -122,9 +129,47 @@ public class BaseMyApplication extends BaseAppContext {
|
||||
* 百度地图初始化
|
||||
*/
|
||||
private void initBaiduMap() {
|
||||
|
||||
//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
|
||||
SDKInitializer.initialize(BaseMyApplication.this);
|
||||
SDKInitializer.setCoordType(CoordType.BD09LL);
|
||||
// SDKInitializer.initialize(BaseMyApplication.this);
|
||||
// SDKInitializer.setCoordType(CoordType.BD09LL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拷贝超图许可到Sdcard
|
||||
*/
|
||||
private void doCopyMapLicenseToSdcard() {
|
||||
String srcPath = "supermap";
|
||||
String targetPath =
|
||||
getExternalFilesDir(null).getAbsolutePath().toString() + File.separator + "SuperMap" + File
|
||||
.separator + "license";
|
||||
File file = new File(targetPath + File.separator + licenseFileName);
|
||||
LogUtils.e("授权文件是否存在:" + file.exists());
|
||||
if (file.exists()) {
|
||||
boolean b = initSuperMap(targetPath);
|
||||
LogUtils.e("初始化超图:" + b);
|
||||
return;
|
||||
}
|
||||
boolean b = ResourceUtils.copyFileFromAssets(srcPath, targetPath, this);
|
||||
LogUtils.e("许可文件拷贝:" + b);
|
||||
if (b) {
|
||||
boolean b1 = initSuperMap(targetPath);
|
||||
LogUtils.e("地图初始化:" + b1);
|
||||
} else {
|
||||
ToastUtils.show("地图许可文件保存失败,请确认授权SD卡读写的权限.");
|
||||
}
|
||||
}
|
||||
|
||||
private boolean initSuperMap(String dirPath) {
|
||||
boolean isInit;
|
||||
try {
|
||||
Environment.setLicensePath(dirPath + File.separator);
|
||||
isInit = Environment.initialization(this);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
isInit = false;
|
||||
}
|
||||
return isInit;
|
||||
}
|
||||
|
||||
public static boolean getIsLoging() {
|
||||
|
@ -94,7 +94,7 @@ dependencies {
|
||||
api 'me.rosuh:AndroidFilePicker:0.8.3'
|
||||
|
||||
//toast
|
||||
api 'com.github.getActivity:ToastUtils:9.5'
|
||||
api 'com.github.getActivity:Toaster:12.3'
|
||||
//图片压缩
|
||||
api "top.zibin:Luban:$rootProject.ext.lubanVersio"
|
||||
|
||||
@ -113,6 +113,8 @@ dependencies {
|
||||
api 'com.github.MZCretin:ExpandableTextView:v1.6.1-x'
|
||||
api 'com.jakewharton.rxbinding3:rxbinding-core:3.0.0'
|
||||
|
||||
|
||||
//加载动画
|
||||
api "com.jcodecraeer:xrecyclerview:${rootProject.ext.xRecyclerViewVersion}"
|
||||
api "com.github.getActivity:XXPermissions:${rootProject.ext.gAskPermissions}"
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,8 @@ import android.net.NetworkInfo;
|
||||
import android.os.PowerManager;
|
||||
import android.view.Gravity;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.scwang.smart.refresh.footer.ClassicsFooter;
|
||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
||||
import com.tenlionsoft.baselib.constant.BroadcastConstant;
|
||||
@ -62,8 +63,8 @@ public class BaseAppContext extends MultiDexApplication {
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
app = this;
|
||||
ToastUtils.init(this);
|
||||
ToastUtils.setGravity(Gravity.BOTTOM, 0, 100);
|
||||
Toaster.init(this);
|
||||
Toaster.setGravity(Gravity.TOP, 0, 100);
|
||||
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
|
||||
isScreenOn = powerManager.isInteractive();
|
||||
screenTurningOff();
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.tenlionsoft.baselib.constant;
|
||||
|
||||
import android.net.ConnectivityManager;
|
||||
import android.os.Environment;
|
||||
|
||||
import java.io.File;
|
||||
@ -12,7 +13,8 @@ import java.io.File;
|
||||
public class PathConfig {
|
||||
|
||||
public static final String PROVIDER_URL = "content://com.tengshisoft.gridclient.content_provider";//内容提供者url
|
||||
public static final String BASE_LAYER = "http://support.supermap.com.cn:8090/iserver/services/map-china400/rest/maps/China";//地图基础图层
|
||||
public static final String BASE_LAYER = "http://support.supermap.com.cn:8090/iserver/services/map-china400/rest" +
|
||||
"/maps/China";//地图基础图层
|
||||
public static final int CRS = 4326;//坐标系
|
||||
|
||||
/*===========================================*/
|
||||
@ -20,19 +22,24 @@ public class PathConfig {
|
||||
public static final String ACTION_LOGIN_OUT = "com.tengshisoft.city-governace.restart_app";
|
||||
|
||||
public static final String ACTION_REGISTER_BROAD = "com.tengshisoft.city-governace.register_broad";
|
||||
public static final String ACTION_FROM_SOCKET_PUSH_MSG = "com.tengshisoft.city-governace.push_msg";//系统推送来的消息 根据 推送过来的消息 分为三类 系统消息类 通知类 聊天类 根据type来判断
|
||||
public static final String ACTION_FROM_SOCKET_PUSH_MSG = "com.tengshisoft.city-governace.push_msg";//系统推送来的消息 根据
|
||||
// 推送过来的消息 分为三类 系统消息类 通知类 聊天类 根据type来判断
|
||||
public static final String ACTION_SOCKET_RELINK = "com.tenglionsoft.city-governance.socket_relink";//socket重连
|
||||
public static final String ACTION_MSG_CHAT = "com.tenglionsoft.city-governance.chat_msg";//聊天消息
|
||||
public static final String ACTION_MSG_CHAT_SEND = "com.tenglion.city-governance.chat_send";//发送聊天信息
|
||||
public static final String ACTION_MSG_CHAT_REFRESH = "com.tenglionsoft.city-governance.MSG_REFRESH";//刷新聊天信息状态
|
||||
public static final String ACTION_MSG_SOCKET_FAIL = "com.tenglionsoft.city-governance.chat_socket_fail";//socket连接失败
|
||||
public static final String ACTION_PUSH_UPCOMING_BY_SYS = "com.tenglionsoft.city-governance.push_sys_upcoming";//系统待办通知
|
||||
public static final String ACTION_PUSH_UPCOMING_BY_SYS = "com.tenglionsoft.city-governance.push_sys_upcoming";
|
||||
//系统待办通知
|
||||
public static final String ACTION_MSG_UPCOMING_BY_USER = "com.tenglionsoft.city-governance.by_user_upcoming";//待办点击
|
||||
public static final String ACTION_MSG_UPCOMING_INITIATIVE = "com.tenglionsoft.city-governance.by_user_initiative";//用户主动获取待办信息
|
||||
public static final String ACTION_MSG_UPCOMING_INITIATIVE =
|
||||
"com.tenglionsoft.city-governance.by_user_initiative";//用户主动获取待办信息
|
||||
public static final String ACTION_PUSH_RESTART_SOCKET = "com.tengshisoft.city-governance.push_restart";//重新登录socket
|
||||
public static final String ACTION_MSG_FORCE_LOGIN_OUT = "com.tengshisoft.city-governance.push_force_grid_login_out";//强制下线
|
||||
public static final String ACTION_MSG_FORCE_LOGIN_OUT = "com.tengshisoft.city-governance" +
|
||||
".push_force_grid_login_out";//强制下线
|
||||
public static final String ACTION_PUSH_STOP_SOCKET = "com.tengshisoft.city-governance.push_stop";//关闭socket
|
||||
public static final String ACTION_ONE_PIXE_FINISH_ACTIVITY = "com.tengshisoft.city-governance.finish_one_pixe_activity";//关闭activity
|
||||
public static final String ACTION_ONE_PIXE_FINISH_ACTIVITY = "com.tengshisoft.city-governance" +
|
||||
".finish_one_pixe_activity";//关闭activity
|
||||
public static final String ACTION_SCREEN_ON = "com.tengshisoft.city-governance.screen_on";//屏幕关闭
|
||||
public static final String ACTION_SCREEN_OFF = "com.tengshisoft.city-governance.screen_off";//屏幕开启
|
||||
public static final String ACTION_SYSTEM_MESSAGE = "com.sucstepsoft.hs.message";
|
||||
@ -43,15 +50,21 @@ public class PathConfig {
|
||||
public static final String ACTION_START_LOCATION = "com.sucstepsoft.city-governance.start_listener";
|
||||
public static final String ACTION_CALL_MSG = "com.tenlionsoft.call_msg";
|
||||
public static final String ACTION_NOTIFY_CONTACT_LOGIN = "com.tengshisoft.city-governance.notify_login";//通知对方登录
|
||||
public static final String ACTION_NOTIFY_CONTACT_LOGIN_SUCCESS = "com.tengshisoft.city-governance.notify_login_success";//对方登录成功
|
||||
public static final String ACTION_NOTIFY_CONTACT_LOGIN_FAIL = "com.tengshisoft.city-governance.notify_login_failed";//对方登录不成功
|
||||
public static final String ACTION_CALL_OTHER_NO_SUPPORT = "com.tengshisoft.city-governance.call_other_no_support";//对方手机不支持视频语音通话
|
||||
public static final String ACTION_NOTIFY_CONTACT_LOGIN_SUCCESS = "com.tengshisoft.city-governance" +
|
||||
".notify_login_success";//对方登录成功
|
||||
public static final String ACTION_NOTIFY_CONTACT_LOGIN_FAIL = "com.tengshisoft.city-governance" +
|
||||
".notify_login_failed";//对方登录不成功
|
||||
public static final String ACTION_CALL_OTHER_NO_SUPPORT =
|
||||
"com.tengshisoft.city-governance.call_other_no_support";//对方手机不支持视频语音通话
|
||||
public static final String ACTION_USER_OFFLINE = "com.tengshisoft.city-governance.user_offline";//用户不在线
|
||||
|
||||
public static final String ACTION_CALL_LOGIN_FAIL = "com.tengshisoft.city-governance.call_login_local_fail";//本地登录失败
|
||||
public static final String ACTION_CALL_LOGIN_SUCCESS = "com.tengshisoft.city-governance.call_login_local_success";//本地登录成功
|
||||
public static final String ACTION_CALL_LOGIN_OUT = "com.tengshisoft.city-governance.call_login_local_loginout";//通知本地退出登录
|
||||
public static final String ACTION_CALL_LOCAL_PHONE_NO_SUPPORT = "com.tengshisoft.city-governance.call_login_local_no.support";//本地通知手机不支持通话
|
||||
public static final String ACTION_CALL_LOGIN_SUCCESS =
|
||||
"com.tengshisoft.city-governance.call_login_local_success";//本地登录成功
|
||||
public static final String ACTION_CALL_LOGIN_OUT = "com.tengshisoft.city-governance.call_login_local_loginout";
|
||||
//通知本地退出登录
|
||||
public static final String ACTION_CALL_LOCAL_PHONE_NO_SUPPORT = "com.tengshisoft.city-governance" +
|
||||
".call_login_local_no.support";//本地通知手机不支持通话
|
||||
public static final String ACTION_NET_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE";//网络状态变化
|
||||
public static final String ACTION_LOCAL_LOGIN = "com.tengshisoft.gridclient.login";//本地融合通信手动登录
|
||||
public static final String ACTION_LOCAL_LOGINOUT = "com.tengshisoft.gridclient.loginout";//本地融合通信手动退出
|
||||
@ -74,6 +87,7 @@ public class PathConfig {
|
||||
|
||||
public static final String DEFAULT_AREA_CODE = "0";//地区
|
||||
public static final String PLACE_TYPE_ID = "df8b758c-f6d8-465a-9aa8-c451fde47076";//场馆类型字典
|
||||
public static final String NOTICE_CID = "4197a23f-2cae-480f-8eb1-086956a51736";//通知公告ID
|
||||
public static final String CITY_DEFAULT_CODE = "640675";
|
||||
public static final String CITY_DEFAULT_NAME = "日喀则市";
|
||||
public static final int CITY_DEFAULT_LEVEL = 3;
|
||||
@ -101,9 +115,14 @@ public class PathConfig {
|
||||
// N员:bc405346-8714-4ded-89ac-9cc4d755f66a
|
||||
// 巡检:25affe67-134c-4a32-ba41-64b0cfedc782
|
||||
public static final int PATROL_SECTOR_INDEX = 3;//巡更点NFC使用的扇区
|
||||
public static final String CATCH_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator + "cache" + File.separator;
|
||||
public static final String VIDEO_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator + "videoCache" + File.separator;
|
||||
public static final String PROJECT_CATCH_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME;//项目缓存目录
|
||||
public static final String CATCH_PATH =
|
||||
Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator +
|
||||
"cache" + File.separator;
|
||||
public static final String VIDEO_PATH =
|
||||
Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator +
|
||||
"videoCache" + File.separator;
|
||||
public static final String PROJECT_CATCH_PATH =
|
||||
Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME;//项目缓存目录
|
||||
public static final String IDENTITY_FILE = VIDEO_PATH + "identity.txt";
|
||||
/**
|
||||
* ====================================主模块===================================
|
||||
@ -161,11 +180,21 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_CHAT_ADDRESSLIST = "/modulechat/activity/addresslist";//通讯录
|
||||
public static final String PATH_MODULE_CHAT_ADDRESSLIST_SEARCH = "/modulechat/activity/addresslistsearch";//通讯录搜索
|
||||
|
||||
public static final String PATH_MODULE_CHAT_FRAGMENT_DEPT_CONTACT = "/modulechat/fragment/contactDeptFragment";//按部门显示联系人
|
||||
public static final String PATH_MODULE_CHAT_FRAGMENT_OFTEN_CONTACT = "/modulechat/fragment/contactOftenFragment";//常用联系人
|
||||
public static final String PATH_MODULE_CHAT_FRAGMENT_PINYIN_CONTACT = "/modulechat/fragment/contactPinyinFragment";//按拼音
|
||||
public static final String PATH_MODULE_CHAT_FRAGMENT_DEPT_CONTACT = "/modulechat/fragment/contactDeptFragment";
|
||||
//按部门显示联系人
|
||||
public static final String PATH_MODULE_CHAT_FRAGMENT_OFTEN_CONTACT = "/modulechat/fragment/contactOftenFragment";
|
||||
//常用联系人
|
||||
public static final String PATH_MODULE_CHAT_FRAGMENT_PINYIN_CONTACT = "/modulechat/fragment/contactPinyinFragment"
|
||||
;//按拼音
|
||||
|
||||
public static final String PATH_MODULE_CHAT_ADDRESSLIST_USER_DETAIL = "/modulechat/activity/contactUserDetail";//联系人详情
|
||||
public static final String PATH_MODULE_CHAT_ADDRESSLIST_USER_DETAIL = "/modulechat/activity/contactUserDetail";
|
||||
//联系人详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DISPATCH_INFO = "/modulecommon/activity" +
|
||||
"/incidentDispatchInfo";//分拨信息
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_HANDLE_INFO = "/modulecommon/activity" +
|
||||
"/incidentHandleInfo";//处理信息
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_INFO = "/modulecommon/activity" +
|
||||
"/incidentCheckInfo";//核查信息
|
||||
//==================ModuleMedia====================
|
||||
public static final String PATH_MODULEMEDIA_CAMERA = "/modulemedia/activity/camera"; //相机
|
||||
public static final String PATH_MODULEMEDIA_FILEPICKER = "/modulemedia/activity/filepicker";
|
||||
@ -193,111 +222,179 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_USER_INFO = "/modulecommon/activity/userInfo";//用户信息修改
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_ATTENDANCE = "/modulecommon/activity/attendance";//考勤
|
||||
public static final String PATH_MODULE_COMMON_DEMO = "/modulecommon/activity/mapdemo";//地图测试
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_USER_CENTER = "/modulecommon/activity/userCenter";//用户中心activity
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_USER_CENTER = "/modulecommon/fragment/userCenter";//用户中心fragment
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_USER_CENTER = "/modulecommon/activity/userCenter";
|
||||
//用户中心activity
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_USER_CENTER = "/modulecommon/fragment/userCenter";
|
||||
//用户中心fragment
|
||||
public static final String PATH_MODULE_BASELIB_SHOW_IMG = "/modulebaselib/activity/showImg";//浏览图片
|
||||
public static final String PATH_MODULE_BASELIB_TAKE_PHOTO = "/modulebaselib/activity/takePhotoOrVideo";//摄像或拍照
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_SEL_DEPT = "/modulecommon/activity/chooseDept";//部门选择接口
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_SEL_DEPT_KNOW = "/modulecommon/activity/chooseDeptKnowLedge";//部门选择接口
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_SEL_DEPT_KNOW = "/modulecommon/activity" +
|
||||
"/chooseDeptKnowLedge";//部门选择接口
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_SEL_PERSON = "/modulecommon/activity/choosePerson";//人员选择
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_CHOOSE_ORG_AREA = "/modulecommon/activity/chooseOrgArea";//区域部门选择
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_CHOOSE_GRID_USER = "/modulecommon/activity/chooseGridUser";//网格员选择
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_CHOOSE_ORG_AREA = "/modulecommon/activity/chooseOrgArea";
|
||||
//区域部门选择
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_CHOOSE_GRID_USER =
|
||||
"/modulecommon/activity/chooseGridUser";//网格员选择
|
||||
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_REPORT = "/modulecommon/activity/incidentReport";//事件上报
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_REPORT = "/modulecommon/activity/incidentReport";
|
||||
//事件上报
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_EDIT = "/modulecommon/activity/incidentEdit";//事件修改
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_LOG = "/modulecommon/activity/incidentLog";//事件日志
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DONE = "/modulecommon/activity/incidentDone";//已办事件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DETAIL = "/modulecommon/activity/incidentDetail";//事件详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_SEL_COMPONENT = "/modulecommon/activity/incidentSelComponent";//部件选择
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_MINE_LIST = "/modulecommon/activity/incidentMineList";//我上报的事件列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_HANDLE_LIST = "/modulecommon/activity/incidentHandleList";//待处理事件列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_HANDLE = "/modulecommon/activity/incidentHandle";//事件处理
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_LIST = "/modulecommon/activity/incidentCheckList";//事件核查
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_DETAIL = "/modulecommon/activity/incidentCheckDetail";//事件核查详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DETAIL = "/modulecommon/activity/incidentDetail";
|
||||
//事件详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_SEL_COMPONENT = "/modulecommon/activity" +
|
||||
"/incidentSelComponent";//部件选择
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_MINE_LIST = "/modulecommon/activity" +
|
||||
"/incidentMineList";//我上报的事件列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_HANDLE_LIST = "/modulecommon/activity" +
|
||||
"/incidentHandleList";//待处理事件列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_HANDLE = "/modulecommon/activity/incidentHandle";
|
||||
//事件处理
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_LIST = "/modulecommon/activity" +
|
||||
"/incidentCheckList";//事件核查
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_DETAIL = "/modulecommon/activity" +
|
||||
"/incidentCheckDetail";//事件核查详情
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE = "/modulecommon/activity/incidentDeferExamine";//延期审核
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL = "/modulecommon/activity/incidentDeferExamineDetail";//延期审核
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE = "/modulecommon/activity" +
|
||||
"/incidentDeferExamine";//延期审核
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL = "/modulecommon/activity" +
|
||||
"/incidentDeferExamineDetail";//延期审核
|
||||
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEPT_SPECIAL = "/modulecommon/activity/incidentDeptSpecial";//部门端特殊事件 预警和超时
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEPT_TIME_OUT = "/modulecommon/fragment/incidentDeptTimeOut";//部门端超时事件
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEPT_EARLY_WARN = "/modulecommon/fragment/incidentDeptEarlyWarn";//部门端预警事件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEPT_SPECIAL = "/modulecommon/activity" +
|
||||
"/incidentDeptSpecial";//部门端特殊事件 预警和超时
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEPT_TIME_OUT = "/modulecommon/fragment" +
|
||||
"/incidentDeptTimeOut";//部门端超时事件
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEPT_EARLY_WARN = "/modulecommon/fragment" +
|
||||
"/incidentDeptEarlyWarn";//部门端预警事件
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_SPECIAL = "/modulecommon/activity/incidentCenterSpecial";//中心端特殊事件 预警和超时
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_CENTER_TIME_OUT = "/modulecommon/fragment/incidentCenterTimeOut";//中心端超时事件
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEFER = "/modulecommon/fragment/incidentDefer";//事件延期列表
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_CENTER_EARLY_WARN = "/modulecommon/fragment/incidentCenterEarlyWarn";//中心端预警事件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_CHECK = "/modulecommon/activity/incidentCenterCheck"; //中心端结果核查
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_CHECK_DETAIL = "/modulecommon/activity/incidentCenterCheckDetail";//中心端结果核查详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_CHOOSE_DEPT_USER = "/modulecommon/activity/chooseDeptUser";//选择部门人员
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_SPECIAL = "/modulecommon/activity" +
|
||||
"/incidentCenterSpecial";//中心端特殊事件 预警和超时
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_CENTER_TIME_OUT = "/modulecommon/fragment" +
|
||||
"/incidentCenterTimeOut";//中心端超时事件
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEFER = "/modulecommon/fragment/incidentDefer";
|
||||
//事件延期列表
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_CENTER_EARLY_WARN = "/modulecommon/fragment" +
|
||||
"/incidentCenterEarlyWarn";//中心端预警事件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_CHECK = "/modulecommon/activity" +
|
||||
"/incidentCenterCheck"; //中心端结果核查
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_CHECK_DETAIL = "/modulecommon/activity" +
|
||||
"/incidentCenterCheckDetail";//中心端结果核查详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_CHOOSE_DEPT_USER =
|
||||
"/modulecommon/activity/chooseDeptUser";//选择部门人员
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_OVERSEE = "/modulecommon/activity/incidentOversee";//事件督办
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_OVERSEE_MINE = "/modulecommon/fragment/incidentOverseeMine";//我发起的督办消息
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_OVERSEE_BY = "/modulecommon/fragment/incidentByOversee";//我被督办的消息
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_OVERSEE_DETAIL = "/modulecommon/activity/incidentOverseeDetail";//督办详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_OVERSEE = "/modulecommon/activity/incidentOversee"
|
||||
;//事件督办
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_OVERSEE_MINE = "/modulecommon/fragment" +
|
||||
"/incidentOverseeMine";//我发起的督办消息
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_OVERSEE_BY = "/modulecommon/fragment" +
|
||||
"/incidentByOversee";//我被督办的消息
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_OVERSEE_DETAIL = "/modulecommon/activity" +
|
||||
"/incidentOverseeDetail";//督办详情
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_GRID_STATISTICS = "/modulecommon/activity/gridStatistics";//统计分析
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_DEPT_STATISTICS = "/modulecommon/activity/deptStatistics";//统计分析
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_COMMAND_STATISTICS = "/modulecommon/activity/commandStatistics";//统计分析
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_GRID_STATISTICS = "/modulecommon/activity/gridStatistics";
|
||||
//统计分析
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_GRID_STATISTICS_INCIDENT = "/modulecommon/activity" +
|
||||
"/gridStatisticsIncident";//事件排名统计
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_DEPT_STATISTICS = "/modulecommon/activity/deptStatistics";
|
||||
//统计分析
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_COMMAND_STATISTICS = "/modulecommon/activity" +
|
||||
"/commandStatistics";//统计分析
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_LIST = "/modulecommon/activity/knowledgeList";//知识库列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_DETAIL = "/modulecommon/activity/knowledgeDetail";//知识详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_LIST = "/modulecommon/activity" +
|
||||
"/knowledgeList";//知识库列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_DETAIL = "/modulecommon/activity" +
|
||||
"/knowledgeDetail";//知识详情
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_MINE_COLLECT = "/modulecommon/activity/mineCollect";//我的收藏
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_MINE_COLLECT_INCIDENT = "/modulecommon/fragment/mineCollectIncident";//我的收藏事件列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_ARCHIVE_LIST = "/modulecommon/activity/archiveIncident";//已归档案件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_RETURN_RECORD = "/modulecommon/activity/returnRecordIncident";//事件回访记录
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_RETURN_RECORD_ADD = "/modulecommon/activity/returnRecordIncidentAdd";//添加回访记录
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_MINE_COLLECT_INCIDENT = "/modulecommon/fragment" +
|
||||
"/mineCollectIncident";//我的收藏事件列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_ARCHIVE_LIST = "/modulecommon/activity" +
|
||||
"/archiveIncident";//已归档案件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_RETURN_RECORD = "/modulecommon/activity" +
|
||||
"/returnRecordIncident";//事件回访记录
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_RETURN_RECORD_ADD = "/modulecommon/activity" +
|
||||
"/returnRecordIncidentAdd";//添加回访记录
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_SEL_GRID = "/modulecommon/activity/chooseGrid";//网格选取
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_BIND_GRID = "/modulecommon/activity/bindGrid";//网格绑定
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_LIST = "/modulecommon/fragment/knowLedgeList";//知识库列表
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_LIST_BY_DEPT = "/modulecommon/fragment/knowLedgeListByDept";//部门黄页
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_LIST = "/modulecommon/fragment/knowLedgeList";
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_GRID_INCIDENT_STATISTICS = "/modulecommon/fragment" +
|
||||
"/gridIncidentStatistics";//网格员事件上报统计
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_GRID_POPULACE_STATISTICS = "/modulecommon/fragment" +
|
||||
"/gridPopulaceStatistics";//网格员人口统计
|
||||
//知识库列表
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_LIST_BY_DEPT = "/modulecommon/fragment" +
|
||||
"/knowLedgeListByDept";//部门黄页
|
||||
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_CENTER = "/modulecommon/fragment/knowLedgeCenter";//中心端知识索要
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_DEPT = "/modulecommon/fragment/knowLedgeDept";//部门端知识库
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_CENTER = "/modulecommon/fragment" +
|
||||
"/knowLedgeCenter";//中心端知识索要
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_KNOW_LEDGE_DEPT = "/modulecommon/fragment/knowLedgeDept";
|
||||
//部门端知识库
|
||||
|
||||
|
||||
public static final String PATH_MODULE_COMMON_FRAGMENT_SMART_CONSULT = "/modulecommon/fragment/smartConsult";//智能咨询
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_ADD = "/modulecommon/activity/knowLedgeAskAdd";//知识索要发起
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_EDIT = "/modulecommon/activity/knowLedgeAskEdit";//知识索要编辑
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_DETAIL = "/modulecommon/activity/knowLedgeAskDetail";//知识索要详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_LIST = "/modulecommon/activity/knowLedgeAskList";//知识索要列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_MANAGE_LIST = "/modulecommon/activity/knowLedgeManageList";//知识库上报列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_MANAGE_ADD = "/modulecommon/activity/knowLedgeManageAdd";//知识库知识上报
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_MANAGE_DETAIL = "/modulecommon/activity/knowLedgeManageDetail";//知识库知识详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_ADD = "/modulecommon/activity" +
|
||||
"/knowLedgeAskAdd";//知识索要发起
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_EDIT = "/modulecommon/activity" +
|
||||
"/knowLedgeAskEdit";//知识索要编辑
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_DETAIL = "/modulecommon/activity" +
|
||||
"/knowLedgeAskDetail";//知识索要详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_ASK_LIST = "/modulecommon/activity" +
|
||||
"/knowLedgeAskList";//知识索要列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_MANAGE_LIST = "/modulecommon/activity" +
|
||||
"/knowLedgeManageList";//知识库上报列表
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_MANAGE_ADD = "/modulecommon/activity" +
|
||||
"/knowLedgeManageAdd";//知识库知识上报
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_KNOWLEDGE_LIBRARY_MANAGE_DETAIL = "/modulecommon/activity" +
|
||||
"/knowLedgeManageDetail";//知识库知识详情
|
||||
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_TASK_CONVER_CASE = "/modulecommon/activity/taskConverCase";//任务转事件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_TASK_CONVER_CASE_DETAIL = "/modulecommon/activity/taskConverCaseDetail";//任务转事件详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_TASK_CONVER_CASE =
|
||||
"/modulecommon/activity/taskConverCase";//任务转事件
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_TASK_CONVER_CASE_DETAIL = "/modulecommon/activity" +
|
||||
"/taskConverCaseDetail";//任务转事件详情
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_FORGET_PWD = "/modulecommon/activity/forgetPassword";//忘记密码
|
||||
|
||||
|
||||
/*======================网格员==================================================*/
|
||||
//新版人口房屋
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_PERSON = "/modulegrid/activity/housePersonList";
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_PERSON_NEW = "/modulegrid/activity/housePersonListNew";
|
||||
|
||||
//社区
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_LIST = "/modulegrid/activity/communityAreaList";//社区管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_ADD = "/modulegrid/activity/communityAreaAdd";//社区信息天机
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_DETAIL = "/modulegrid/activity/communityAreaDetail";//社区信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_EDIT = "/modulegrid/activity/communityAreaEdit";//社区信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_LIST = "/modulegrid/activity" +
|
||||
"/communityAreaList";//社区管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_ADD =
|
||||
"/modulegrid/activity/communityAreaAdd";//社区信息天机
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_DETAIL = "/modulegrid/activity" +
|
||||
"/communityAreaDetail";//社区信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_EDIT = "/modulegrid/activity" +
|
||||
"/communityAreaEdit";//社区信息编辑
|
||||
|
||||
//社区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_DESC_ADD = "/modulegrid/activity/communityAreaDescAdd";//添加社区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_DESC_EDIT = "/modulegrid/activity/communityAreaDescEdit";//编辑社区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_DESC_ADD = "/modulegrid/activity" +
|
||||
"/communityAreaDescAdd";//添加社区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_AREA_DESC_EDIT = "/modulegrid/activity" +
|
||||
"/communityAreaDescEdit";//编辑社区简介
|
||||
|
||||
//小区
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_MANAGE = "/modulegrid/activity/communityManage";//小区管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_MANAGE = "/modulegrid/activity/communityManage";
|
||||
//小区管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_ADD = "/modulegrid/activity/communityAdd";//小区添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_DETAIL = "/modulegrid/activity/communityDetail";//小区详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_DETAIL = "/modulegrid/activity/communityDetail";
|
||||
//小区详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_EDIT = "/modulegrid/activity/communityEdit";//小区编辑
|
||||
|
||||
//小区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_DESC_ADD = "/modulegrid/activity/communityDescAdd";//添加小区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_DESC_EDIT = "/modulegrid/activity/communityDescEdit";//编辑小区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_DESC_ADD =
|
||||
"/modulegrid/activity/communityDescAdd";//添加小区简介
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMMUNITY_DESC_EDIT = "/modulegrid/activity" +
|
||||
"/communityDescEdit";//编辑小区简介
|
||||
|
||||
//楼宇
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_ADD = "/modulegrid/activity/buildingAdd";//楼宇添加
|
||||
@ -306,77 +403,136 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_EDIT = "/modulegrid/activity/buildingEdit";//楼宇编辑
|
||||
|
||||
//楼栋长
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_MANAGER_ADD = "/modulegrid/activity/buildingManagerAdd";//楼栋长添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_MANAGER_DETAIL = "/modulegrid/activity/buildingManagerDetail";//楼栋长详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_MANAGER_EDIT = "/modulegrid/activity/buildingManagerEdit";//楼栋长编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_MANAGER_ADD = "/modulegrid/activity" +
|
||||
"/buildingManagerAdd";//楼栋长添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_MANAGER_DETAIL = "/modulegrid/activity" +
|
||||
"/buildingManagerDetail";//楼栋长详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_BUILDING_MANAGER_EDIT = "/modulegrid/activity" +
|
||||
"/buildingManagerEdit";//楼栋长编辑
|
||||
|
||||
//房屋
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_LIST = "/modulegrid/activity/houseList";//房屋列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_EDIT = "/modulegrid/activity/houseEdit";//房屋编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_DETAIL = "/modulegrid/activity/houseDetail";//房屋详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_BIND_PERSON = "/modulegrid/activity/houseBindPerson";//绑定人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HOUSE_BIND_PERSON = "/modulegrid/activity/houseBindPerson";
|
||||
//绑定人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HIRER_EDIT = "/modulegrid/activity/housePersonEdit";//绑定人员编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_HIRER_DETAIL = "/modulegrid/activity/hirerDetail";// 绑定人员详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_MEMBER_ADD = "/modulegrid/activity/familyMemberAdd";//添加家庭成员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_MEMBER_DETAIL = "/modulegrid/activity/familyMemberDetail";//家庭成员详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_MEMBER_DETAIL = "/modulegrid/activity/familyMemberDetail";
|
||||
//家庭成员详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_MEMBER_EDIT = "/modulegrid/activity/familyMemberEdit";//家庭成员编辑
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SEARCH_HOUSE_BY_PERSON = "/modulegrid/activity/searchHouseByPerson";//以人找房
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SEARCH_HOUSE_BY_PERSON = "/modulegrid/activity" +
|
||||
"/searchHouseByPerson";//以人找房
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MAIN = "/modulegrid/activity/censusMain";//人口系统主页
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_LIST = "/modulegrid/activity/censusBaseList";//人口基础信息列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_ADD = "/modulegrid/activity/censusBaseAdd";//人口基础信息录入
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_DETAIL = "/modulegrid/activity/censusBaseDetail";//人口基础信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_EDIT = "/modulegrid/activity/censusBaseEdit";//人口基础信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_LIST = "/modulegrid/activity/censusBaseList";
|
||||
//人口基础信息列表-户籍
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_RESID_LIST =
|
||||
"/modulegrid/activity/censusResidList";//人口基础信息列表-常住
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_EXIRT_LIST =
|
||||
"/modulegrid/activity/censusExirtList";//人口基础信息列表-外来
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_ADD = "/modulegrid/activity/censusBaseAdd";
|
||||
//人口基础信息录入
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_DETAIL = "/modulegrid/activity" +
|
||||
"/censusBaseDetail";//人口基础信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_EDIT = "/modulegrid/activity/censusBaseEdit";
|
||||
//人口基础信息编辑
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REAR_LIST = "/modulegrid/activity/censusRearList";//留守人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REAR_DETAIL = "/modulegrid/activity/censusRearDetail";//留守人员详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REAR_ADD = "/modulegrid/activity/censusRearAdd";//留守人员添加与编辑
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MIGRANT_LIST = "/modulegrid/activity/censusMigrantList";//流动人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MIGRANT_DETAIL = "/modulegrid/activity/censusMigrantDetail";//流动人员详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MIGRANT_ADD = "/modulegrid/activity/censusMigrantAdd";//流动人员添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_LIST = "/modulegrid/activity/censusRegisterList";//户籍人口列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_ADD = "/modulegrid/activity/censusRegisterAdd";//户籍人口添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_DETAIL = "/modulegrid/activity/censusRegisterDetail";//户籍人口详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_OUT_BOUND_LIST = "/modulegrid/activity/censusOutboundList";//境外人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_OUT_BOUND_ADD = "/modulegrid/activity/censusOutboundAdd";//境外人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_OUT_BOUND_DETAIL = "/modulegrid/activity/censusOutboundDetail";//境外人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REAR_LIST = "/modulegrid/activity/censusRearList";
|
||||
//留守人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REAR_DETAIL = "/modulegrid/activity" +
|
||||
"/censusRearDetail";//留守人员详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REAR_ADD = "/modulegrid/activity/censusRearAdd";
|
||||
//涉稳重点
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_ATTEN = "/modulegrid/activity" +
|
||||
"/censusCriminalAtten";
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_ATTEN_ADD = "/modulegrid/activity" +
|
||||
"/censusCriminalAttenAdd";
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_ATTEN_DETAIL = "/modulegrid/activity" +
|
||||
"/censusCriminalAttenDetail";
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_AIDS_LIST = "/modulegrid/activity/censusAidsList";//艾滋病
|
||||
//信教群众
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CULT = "/modulegrid/activity/censusCult";
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CULT_ADD = "/modulegrid/activity/censusCultAdd";
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CULT_DETAIL = "/modulegrid/activity/censusCultDetail";
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MIGRANT_LIST = "/modulegrid/activity" +
|
||||
"/censusMigrantList";//流动人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MIGRANT_DETAIL = "/modulegrid/activity" +
|
||||
"/censusMigrantDetail";//流动人员详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_MIGRANT_ADD = "/modulegrid/activity" +
|
||||
"/censusMigrantAdd";//流动人员添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_LIST = "/modulegrid/activity" +
|
||||
"/censusRegisterList";//户籍人口列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_ADD = "/modulegrid/activity" +
|
||||
"/censusRegisterAdd";//户籍人口添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_DETAIL = "/modulegrid/activity" +
|
||||
"/censusRegisterDetail";//户籍人口详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_OUT_BOUND_LIST = "/modulegrid/activity" +
|
||||
"/censusOutboundList";//境外人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_OUT_BOUND_ADD = "/modulegrid/activity" +
|
||||
"/censusOutboundAdd";//境外人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_OUT_BOUND_DETAIL = "/modulegrid/activity" +
|
||||
"/censusOutboundDetail";//境外人员
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_AIDS_LIST = "/modulegrid/activity/censusAidsList";
|
||||
//艾滋病
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_AIDS_ADD = "/modulegrid/activity/censusAidsAdd";//艾滋病
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_AIDS_DETAIL = "/modulegrid/activity/censusAidsDetail";//艾滋病
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_AIDS_DETAIL = "/modulegrid/activity" +
|
||||
"/censusAidsDetail";//艾滋病
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CORRECT_LIST = "/modulegrid/activity/censusCorrectList";//特殊人群-社区矫正人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CORRECT_ADD = "/modulegrid/activity/censusCorrectAdd";//特殊人群-社区矫正人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CORRECT_DETAIL = "/modulegrid/activity/censusCorrectDetail";//特殊人群-社区矫正人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CORRECT_LIST = "/modulegrid/activity" +
|
||||
"/censusCorrectList";//特殊人群-社区矫正人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CORRECT_ADD = "/modulegrid/activity" +
|
||||
"/censusCorrectAdd";//特殊人群-社区矫正人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CORRECT_DETAIL = "/modulegrid/activity" +
|
||||
"/censusCorrectDetail";//特殊人群-社区矫正人员
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_DRUG_LIST = "/modulegrid/activity/censusDrugList";//吸毒人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_DRUG_LIST = "/modulegrid/activity/censusDrugList";
|
||||
//吸毒人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_DRUG_ADD = "/modulegrid/activity/censusDrugAdd";//吸毒人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_DRUG_DETAIL = "/modulegrid/activity/censusDrugDetail";//吸毒人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_DRUG_DETAIL = "/modulegrid/activity" +
|
||||
"/censusDrugDetail";//吸毒人员
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_LIST = "/modulegrid/activity/censusCriminalList";//罪犯人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_ADD = "/modulegrid/activity/censusCriminalAdd";//罪犯人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_DETAIl = "/modulegrid/activity/censusCriminalDetail";//罪犯人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_LIST = "/modulegrid/activity" +
|
||||
"/censusCriminalList";//罪犯人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_ADD = "/modulegrid/activity" +
|
||||
"/censusCriminalAdd";//罪犯人员
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_CRIMINAL_DETAIl = "/modulegrid/activity" +
|
||||
"/censusCriminalDetail";//罪犯人员
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_TROUBLE_LIST = "/modulegrid/activity/censusTroubleList";//肇事肇祸列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_TROUBLE_ADD = "/modulegrid/activity/censusTroubleAdd";//肇事肇祸列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_TROUBLE_DETAIL = "/modulegrid/activity/censusTroubleDetail";//肇事肇祸列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_TROUBLE_LIST = "/modulegrid/activity" +
|
||||
"/censusTroubleList";//肇事肇祸列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_TROUBLE_ADD = "/modulegrid/activity" +
|
||||
"/censusTroubleAdd";//肇事肇祸列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_TROUBLE_DETAIL = "/modulegrid/activity" +
|
||||
"/censusTroubleDetail";//肇事肇祸列表
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_LIST = "/modulegrid/activity/censusYoungList";//重点青少年列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_ADD = "/modulegrid/activity/censusYoungAdd";//重点青少年列表添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_DETAIL = "/modulegrid/activity/censusYoungDetail";//重点青少年列表详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_LIST = "/modulegrid/activity/youngCaseList";//重点青少年事件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_ADD = "/modulegrid/activity/youngCaseAdd";//重点青少年事件添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_EDIT = "/modulegrid/activity/youngCaseEdit";//重点青少年事件编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_DETAIL = "/modulegrid/activity/youngCaseDetail";//重点青少年事件详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_LIST =
|
||||
"/modulegrid/activity/censusYoungList";//重点青少年列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_ADD = "/modulegrid/activity/censusYoungAdd";
|
||||
//重点青少年列表添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_DETAIL = "/modulegrid/activity" +
|
||||
"/censusYoungDetail";//重点青少年列表详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_LIST = "/modulegrid/activity" +
|
||||
"/youngCaseList";//重点青少年事件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_ADD = "/modulegrid/activity/youngCaseAdd"
|
||||
;//重点青少年事件添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_EDIT = "/modulegrid/activity" +
|
||||
"/youngCaseEdit";//重点青少年事件编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_YOUNG_CASE_DETAIL = "/modulegrid/activity" +
|
||||
"/youngCaseDetail";//重点青少年事件详情
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_MANAGE = "/modulegrid/activity/taskManage";//任务管理
|
||||
@ -384,30 +540,41 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_DETAIL = "/modulegrid/activity/taskDetail";//任务详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_REPORT = "/modulegrid/activity/taskReport";//任务详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_INSPECTION_PATROL = "/modulegrid/activity/inspectionPatrol";//巡查巡检
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_INSPECTION_PATROL = "/modulegrid/activity/inspectionPatrol";
|
||||
//巡查巡检
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_BUSINESS_LIST = "/modulegrid/activity/taskBusinessList";//任务业务列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_BUSINESS_LIST =
|
||||
"/modulegrid/activity/taskBusinessList";//任务业务列表
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_REPORT_EDIT = "/modulegrid/activity/taskReportEdit";//任务上报记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_REPORT_DETAIL = "/modulegrid/activity/taskReportDetail";//任务上报记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_REPORT_EDIT = "/modulegrid/activity/taskReportEdit";
|
||||
//任务上报记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_REPORT_DETAIL =
|
||||
"/modulegrid/activity/taskReportDetail";//任务上报记录详情
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_LIST = "/modulegrid/activity/nonPublicOrgList";//非公有经济组织
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_ADD = "/modulegrid/activity/nonPublicOrgAdd";//非公有经济组织信息采集
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_EDIT = "/modulegrid/activity/nonPublicOrgEdit";//非公有经济组织信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_DETAIL = "/modulegrid/activity/nonPublicOrgDetail";//非公有经济组织详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_LIST = "/modulegrid/activity/nonPublicOrgList"
|
||||
;//非公有经济组织
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_ADD = "/modulegrid/activity/nonPublicOrgAdd";
|
||||
//非公有经济组织信息采集
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_EDIT = "/modulegrid/activity/nonPublicOrgEdit"
|
||||
;//非公有经济组织信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_NON_PUBLIC_ORG_DETAIL = "/modulegrid/activity" +
|
||||
"/nonPublicOrgDetail";//非公有经济组织详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SOCIAL_ORG_LIST = "/modulegrid/activity/socialOrgList";//社会团体信息
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SOCIAL_ORG_ADD = "/modulegrid/activity/socialOrgAdd";//社会团体信息添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SOCIAL_ORG_EDIT = "/modulegrid/activity/socialOrgEdit";//社会团体信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SOCIAL_ORG_DETAIL = "/modulegrid/activity/socialOrgDetail";//社会团体详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SOCIAL_ORG_EDIT = "/modulegrid/activity/socialOrgEdit";
|
||||
//社会团体信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SOCIAL_ORG_DETAIL = "/modulegrid/activity/socialOrgDetail";
|
||||
//社会团体详情
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_AREA_LIST = "/modulegrid/activity/keyAreasList";//重点区域
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_AREA_ADD = "/modulegrid/activity/keyAreasAdd";//重点区域信息采集
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_AREA_EDIT = "/modulegrid/activity/keyAreasEdit";//重点区域信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_AREA_DETAIL = "/modulegrid/activity/keyAreasDetail";//重点区域详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_AREA_DETAIL = "/modulegrid/activity/keyAreasDetail";
|
||||
//重点区域详情
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_LIST = "/modulegrid/activity/penalList";//命案防控
|
||||
@ -415,94 +582,146 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_ADD = "/modulegrid/activity/penalAdd";//命案防控添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_DETAIL = "/modulegrid/activity/penalDetail";//命案防控详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_LIST = "/modulegrid/activity/penalSuspicionList";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_ADD = "/modulegrid/activity/penalSuspicionAdd";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_EDIT = "/modulegrid/activity/penalSuspicionEdit";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_DETAIL = "/modulegrid/activity/penalSuspicionDetail";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_LIST = "/modulegrid/activity" +
|
||||
"/penalSuspicionList";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_ADD = "/modulegrid/activity" +
|
||||
"/penalSuspicionAdd";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_EDIT = "/modulegrid/activity" +
|
||||
"/penalSuspicionEdit";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_DETAIL = "/modulegrid/activity" +
|
||||
"/penalSuspicionDetail";//命案嫌疑人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_CASE_SEL = "/modulegrid/activity/penalCaseSel";//案件选择
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_LIST = "/modulegrid/activity/penalVictimList";//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_ADD = "/modulegrid/activity/penalVictimAdd";//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_DETAIL = "/modulegrid/activity/penalVictimDetail";//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_EDIT = "/modulegrid/activity/penalVictimEdit";//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_LIST = "/modulegrid/activity/penalVictimList";
|
||||
//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_ADD = "/modulegrid/activity/penalVictimAdd";
|
||||
//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_DETAIL = "/modulegrid/activity" +
|
||||
"/penalVictimDetail";//命案受害人
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_EDIT = "/modulegrid/activity/penalVictimEdit";
|
||||
//命案受害人
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_LIST = "/modulegrid/activity/expressPoiList";//快递点列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_LIST = "/modulegrid/activity/expressPoiList";
|
||||
//快递点列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_ADD = "/modulegrid/activity/expressPoiAdd";//快递点添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_EDIT = "/modulegrid/activity/expressPoiEdit";//快递点编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_DETAIL = "/modulegrid/activity/expressPoiDetail";//快递点详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_EDIT = "/modulegrid/activity/expressPoiEdit";
|
||||
//快递点编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_DETAIL =
|
||||
"/modulegrid/activity/expressPoiDetail";//快递点详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_MANAGE_LIST = "/modulegrid/activity/schoolManageList";//学校管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_MANAGE_ADD = "/modulegrid/activity/schoolManageAdd";//学校管理添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_MANAGE_DETAIL = "/modulegrid/activity/schoolManageDetail";//学校管理详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_MANAGE_LIST =
|
||||
"/modulegrid/activity/schoolManageList";//学校管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_MANAGE_ADD = "/modulegrid/activity/schoolManageAdd";
|
||||
//学校管理添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_MANAGE_DETAIL = "/modulegrid/activity" +
|
||||
"/schoolManageDetail";//学校管理详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_EMPHASES_PERSON_LIST = "/modulegrid/activity/schoolEmphasesPersonList";//学校周边重点人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_EMPHASES_PERSON_ADD = "/modulegrid/activity/schoolEmphasesPersonAdd";//学校周边重点人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_EMPHASES_PERSON_DETAIL = "/modulegrid/activity/schoolEmphasesPersonDetail";//学校周边重点人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_EMPHASES_PERSON_LIST = "/modulegrid/activity" +
|
||||
"/schoolEmphasesPersonList";//学校周边重点人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_EMPHASES_PERSON_ADD = "/modulegrid/activity" +
|
||||
"/schoolEmphasesPersonAdd";//学校周边重点人员列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_EMPHASES_PERSON_DETAIL = "/modulegrid/activity" +
|
||||
"/schoolEmphasesPersonDetail";//学校周边重点人员列表
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_CASE_LIST = "/modulegrid/activity/schoolCaseList";//学校案件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_CASE_LIST = "/modulegrid/activity/schoolCaseList";
|
||||
//学校案件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_CASE_ADD = "/modulegrid/activity/schoolCaseAdd";//学校案件添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_CASE_DETAIL = "/modulegrid/activity/schoolCaseDetail";//学校案件详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_SCHOOL_CASE_DETAIL =
|
||||
"/modulegrid/activity/schoolCaseDetail";//学校案件详情
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_DIC_SEL = "/modulegrid/activity/dicSel";//字典多选、单选
|
||||
|
||||
//巡查巡检
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_LIST = "/modulegrid/activity/patrolKeyAreaList";//重点区域巡查列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_ADD = "/modulegrid/activity/patrolKeyAreaAdd";//重点区域巡查上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_DETAIL = "/modulegrid/activity/patrolKeyAreaDetail";//重点区域巡查详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_EDIT = "/modulegrid/activity/patrolKeyAreaEdit";//重点区域巡查编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_LIST = "/modulegrid/activity" +
|
||||
"/patrolKeyAreaList";//重点区域巡查列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_ADD = "/modulegrid/activity/patrolKeyAreaAdd"
|
||||
;//重点区域巡查上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_DETAIL = "/modulegrid/activity" +
|
||||
"/patrolKeyAreaDetail";//重点区域巡查详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_EDIT = "/modulegrid/activity" +
|
||||
"/patrolKeyAreaEdit";//重点区域巡查编辑
|
||||
|
||||
//重点场所
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_PLACE_LIST = "/modulegrid/activity/keyPlaceList";//重点场所列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_PLACE_ADD = "/modulegrid/activity/keyPlaceAdd";//重点场所列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_PLACE_EDIT = "/modulegrid/activity/keyPlaceEdit";//重点场所列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_PLACE_DETAIL = "/modulegrid/activity/keyPlaceDetail";//重点场所列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_PLACE_DETAIL = "/modulegrid/activity/keyPlaceDetail";
|
||||
//重点场所列表
|
||||
|
||||
//重点场所巡查
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_LIST = "/modulegrid/activity/patrolKeyPlaceList";//重点场所巡查列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_ADD = "/modulegrid/activity/patrolKeyPlaceAdd";//重点区场所查上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_DETAIL = "/modulegrid/activity/patrolKeyPlaceDetail";//重点场所巡查详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_EDIT = "/modulegrid/activity/patrolKeyPlaceEdit";//重点场所巡查编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_LIST = "/modulegrid/activity" +
|
||||
"/patrolKeyPlaceList";//重点场所巡查列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_ADD = "/modulegrid/activity" +
|
||||
"/patrolKeyPlaceAdd";//重点区场所查上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_DETAIL = "/modulegrid/activity" +
|
||||
"/patrolKeyPlaceDetail";//重点场所巡查详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_EDIT = "/modulegrid/activity" +
|
||||
"/patrolKeyPlaceEdit";//重点场所巡查编辑
|
||||
|
||||
//命案巡查
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_LIST = "/modulegrid/activity/patrolPenalList";//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_ADD = "/modulegrid/activity/patrolPenalAdd";//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_DETAIL = "/modulegrid/activity/patrolPenalDetail";//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_EDIT = "/modulegrid/activity/patrolPenalEdit";//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_LIST = "/modulegrid/activity/patrolPenalList";
|
||||
//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_ADD = "/modulegrid/activity/patrolPenalAdd";
|
||||
//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_DETAIL = "/modulegrid/activity" +
|
||||
"/patrolPenalDetail";//命案发生地列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_PENAL_EDIT = "/modulegrid/activity/patrolPenalEdit";
|
||||
//命案发生地列表
|
||||
|
||||
//企业巡查
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_LIST = "/modulegrid/activity/patrolEnterpriseList";//企业巡查记录列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_ADD = "/modulegrid/activity/patrolEnterpriseAdd";//企业巡查记录上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_DETAIL = "/modulegrid/activity/patrolEnterpriseDetail";//企业巡查记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_EDIT = "/modulegrid/activity/patrolEnterpriseEdit";//企业巡查记录编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_LIST = "/modulegrid/activity" +
|
||||
"/patrolEnterpriseList";//企业巡查记录列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_ADD = "/modulegrid/activity" +
|
||||
"/patrolEnterpriseAdd";//企业巡查记录上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_DETAIL = "/modulegrid/activity" +
|
||||
"/patrolEnterpriseDetail";//企业巡查记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_ENTERPRISE_EDIT = "/modulegrid/activity" +
|
||||
"/patrolEnterpriseEdit";//企业巡查记录编辑
|
||||
|
||||
//合租房巡查
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_LIST = "/modulegrid/activity/patrolHireList";//合租房巡查记录列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_ADD = "/modulegrid/activity/patrolHireAdd";//合租房巡查上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_DETAIL = "/modulegrid/activity/patrolHireDetail";//合租房巡查记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_EDIT = "/modulegrid/activity/patrolHireEdit";//合租房巡查记录编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_LIST = "/modulegrid/activity/patrolHireList";
|
||||
//合租房巡查记录列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_ADD = "/modulegrid/activity/patrolHireAdd";
|
||||
//合租房巡查上报
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_DETAIL =
|
||||
"/modulegrid/activity/patrolHireDetail";//合租房巡查记录详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_HIRE_EDIT = "/modulegrid/activity/patrolHireEdit";
|
||||
//合租房巡查记录编辑
|
||||
|
||||
//邮递物流
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_LIST = "/modulegrid/activity/patrolExpressList";//快递物流巡查列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_ADD = "/modulegrid/activity/patrolExpressAdd";//快递物流巡查新增
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_DETAIL = "/modulegrid/activity/patrolExpressDetail";//快递物流巡查详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_EDIT = "/modulegrid/activity/patrolExpressEdit";//快递物流巡查编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_LIST = "/modulegrid/activity" +
|
||||
"/patrolExpressList";//快递物流巡查列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_ADD =
|
||||
"/modulegrid/activity/patrolExpressAdd";//快递物流巡查新增
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_DETAIL = "/modulegrid/activity" +
|
||||
"/patrolExpressDetail";//快递物流巡查详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_PATROL_EXPRESS_EDIT = "/modulegrid/activity" +
|
||||
"/patrolExpressEdit";//快递物流巡查编辑
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_NOTICE_LIST = "/modulecommon/activity/noticeList";//通知列表
|
||||
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_NOTICE_DETAIL = "/modulecommon/activity/noticeDetail";
|
||||
//通知详情
|
||||
|
||||
//部件
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_LIST = "/modulegrid/activity/componentList";//部件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_ADD = "/modulegrid/activity/componentAdd";//部件采集
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_EDIT = "/modulegrid/activity/componentEdit";//部件信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_DETAIL = "/modulegrid/activity/componentDetail";//部件信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_SEL_DEPT = "/modulegrid/activity/componentSelDept";//选择组织机构
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_DETAIL = "/modulegrid/activity/componentDetail";
|
||||
//部件信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_COMPONENT_SEL_DEPT =
|
||||
"/modulegrid/activity/componentSelDept";//选择组织机构
|
||||
|
||||
//车辆管理
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_MANAGE_LIST = "/modulegrid/activity/carManageList";//车辆管理列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_MANAGE_ADD = "/modulegrid/activity/carManageAdd";//车辆信息添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_MANAGE_EDIT = "/modulegrid/activity/carManageEdit";//车辆信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_MANAGE_DETAIL = "/modulegrid/activity/carManageDetail";//车辆信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_PERSON_EDIT = "/modulegrid/activity/carPersonEdit";//车辆人员信息编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_MANAGE_DETAIL = "/modulegrid/activity/carManageDetail";
|
||||
//车辆信息详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_CAR_PERSON_EDIT = "/modulegrid/activity/carPersonEdit";
|
||||
//车辆人员信息编辑
|
||||
|
||||
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_WORK_LOCUS = "/modulegrid/activity/locusWork";//工作轨迹
|
||||
@ -515,44 +734,70 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_DETAIL = "/modulegrid/activity/keyRoadDetail";//护路护线详情
|
||||
|
||||
//护路护线涉及案件
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_LIST = "/modulegrid/activity/keyRoadCaseList";//护路护线涉及案件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_EDIT = "/modulegrid/activity/keyRoadCaseEdit";//护路护线涉及案件编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_ADD = "/modulegrid/activity/keyRoadCaseAdd";//护路护线涉及案件添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_DETAIL = "/modulegrid/activity/keyRoadCaseDetail";//护路护线涉及案件详情
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_LIST = "/modulegrid/activity/keyRoadCaseList";
|
||||
//护路护线涉及案件列表
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_EDIT = "/modulegrid/activity/keyRoadCaseEdit";
|
||||
//护路护线涉及案件编辑
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_ADD = "/modulegrid/activity/keyRoadCaseAdd";
|
||||
//护路护线涉及案件添加
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_KEY_ROAD_CASE_DETAIL = "/modulegrid/activity" +
|
||||
"/keyRoadCaseDetail";//护路护线涉及案件详情
|
||||
|
||||
/*=========================================中心端============================================*/
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_ACCEPT_LIST = "/modulecommand/activity/incidentAcceptList";//事件受理列表
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_ACCEPT_DETAIL = "/modulecommand/activity/incidentAcceptDetail";//事件受理
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_ACCEPT_LIST = "/modulecommand/activity" +
|
||||
"/incidentAcceptList";//事件受理列表
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_ACCEPT_DETAIL = "/modulecommand/activity" +
|
||||
"/incidentAcceptDetail";//事件受理
|
||||
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_LIST = "/modulecommand/activity/incidentDispatchList";//事件派遣列表
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_DETAIL = "/modulecommand/activity/incidentDispatchDetail";//事件派遣
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_LIST = "/modulecommand/activity" +
|
||||
"/incidentDispatchList";//事件派遣列表
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_DETAIL = "/modulecommand/activity" +
|
||||
"/incidentDispatchDetail";//事件派遣
|
||||
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_SEL_DEPT = "/modulecommand/activity/incidentDeptSel";//选择组织机构
|
||||
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_SEL_DEPT = "/modulecommand/activity" +
|
||||
"/incidentDeptSel";//选择组织机构
|
||||
|
||||
|
||||
/*=========================================部门端========================================*/
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_DISTRIBUTION_LIST_ACTIVITY = "/modulesupervision/activity/incidentDeptDistributionList";//事件分拨列表
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_DISTRIBUTION_DETAIL_ACTIVITY = "/modulesupervision/activity/incidentDeptDistributionDetail";//事件分拨详情
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_DISTRIBUTION_LIST_ACTIVITY = "/modulesupervision" +
|
||||
"/activity/incidentDeptDistributionList";//事件分拨列表
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_DISTRIBUTION_DETAIL_ACTIVITY = "/modulesupervision" +
|
||||
"/activity/incidentDeptDistributionDetail";//事件分拨详情
|
||||
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_LIST_ACTIVITY = "/modulesupervision/activity/incidentDeptAcceptList";//事件受理
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_DETAIL_ACTIVITY = "/modulesupervision/activity/incidentDeptAcceptDetail";//事件受理详情
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_LIST_ACTIVITY = "/modulesupervision/activity" +
|
||||
"/incidentDeptAcceptList";//事件受理
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_DETAIL_ACTIVITY = "/modulesupervision/activity" +
|
||||
"/incidentDeptAcceptDetail";//事件受理详情
|
||||
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_CHECK_LIST = "/modulesupervision/activity/incidentDeptList";//事件核查
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_CHECK_DETAIL = "/modulesupervision/activity/incidentDeptListDetail";//事件核查详情
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_CHECK_LIST = "/modulesupervision/activity" +
|
||||
"/incidentDeptList";//事件核查
|
||||
public static final String PATH_MODULE_SUPERVISION_INCIDENT_CHECK_DETAIL = "/modulesupervision/activity" +
|
||||
"/incidentDeptListDetail";//事件核查详情
|
||||
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_PETITION_DISPOSE_LIST = "/modulesupervision/activity/petitionDisposeList";//公众信访
|
||||
public static final String PATH_MODULE_SUPERVISION_FRAGMENT_VISITS_LIST = "/modulesupervision/fragment/visitsList";//公众信访列表
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DISPOSE = "/modulesupervision/activity/visitsDispose";//信访处理
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DISPOSE_LIST = "/modulesupervision/activity/visitsDisposeList";//信访处理列表
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DETAIL = "/modulesupervision/activity/visitsDetail";//信访详情
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DISPOSE_DETAIL = "/modulesupervision/activity/visitsDisposeDetail";//信访处理详情
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_PETITION_DISPOSE_LIST = "/modulesupervision/activity" +
|
||||
"/petitionDisposeList";//公众信访
|
||||
public static final String PATH_MODULE_SUPERVISION_FRAGMENT_VISITS_LIST = "/modulesupervision/fragment/visitsList"
|
||||
;//公众信访列表
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DISPOSE = "/modulesupervision/activity" +
|
||||
"/visitsDispose";//信访处理
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DISPOSE_LIST = "/modulesupervision/activity" +
|
||||
"/visitsDisposeList";//信访处理列表
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DETAIL = "/modulesupervision/activity" +
|
||||
"/visitsDetail";//信访详情
|
||||
public static final String PATH_MODULE_SUPERVISION_ACTIVITY_VISITS_DISPOSE_DETAIL = "/modulesupervision/activity" +
|
||||
"/visitsDisposeDetail";//信访处理详情
|
||||
/*======================================新版房屋人口==================================*/
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_BUILDINGAREA_MANAGE = "/modulegrid/fragment/buildingAreaManage";//小区管理
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_BUILDINGAREA_MANAGE = "/modulegrid/fragment" +
|
||||
"/buildingAreaManage";//小区管理
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_BUILDING_MANAGE = "/modulegrid/fragment/buildingManage";//楼宇管理
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_HOUSE_MANAGE = "/modulegrid/fragment/houseManage";//房屋管理
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_COMMUNITY_MANAGE = "/modulegrid/fragment/communityManage";//社区管理
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_SEARCH_HOUSE_BY_PERSON = "/modulegrid/fragment/searchHouseByPerson";//以人找房
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_COMMUNITY_MANAGE = "/modulegrid/fragment/communityManage";
|
||||
//社区管理
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_SEARCH_HOUSE_BY_PERSON = "/modulegrid/fragment" +
|
||||
"/searchHouseByPerson";//以人找房
|
||||
public static final String PATH_MODULE_GRID_FRAGMENT_PERSON_LIB = "/modulegrid/fragment/personLib";//人口库
|
||||
public static final String PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_SEARCH = "/modulegrid/activity" +
|
||||
"/censusBaseSearch";//人口搜索
|
||||
|
||||
/*==========================日报===================================*/
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_JOURNAL_LIST = "/modulecommon/activity/journalList";
|
||||
@ -560,4 +805,12 @@ public class PathConfig {
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_JOURNAL_DETAIL = "/modulecommon/activity/journalDetail";
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_JOURNAL_REPORT = "/modulecommon/activity/journalReport";
|
||||
public static final String PATH_MODULE_COMMON_ACTIVITY_JOURNAL_CALENDAR = "/modulecommon/activity/journalCalendar";
|
||||
public static final String DEFAULT_PWD_8 = "88888888";
|
||||
public static final String DEFAULT_PWD_6 = "888888";
|
||||
|
||||
public static final String ACTION_UPDATE_ERROR = "com.tenlionsoft.girdcclient.update_error";
|
||||
public static final String ACTION_UPDATE_PROGRESS = "com.tenlionsoft.girdcclient.update_progress";
|
||||
public static final String ACTION_UPDATE_SUCCESS = "com.tenlionsoft.girdcclient.update_success";
|
||||
public static final String ACTION_UPDATE_STAET = "com.tenlionsoft.girdcclient.update_start";
|
||||
|
||||
}
|
||||
|
@ -5,6 +5,8 @@ import android.Manifest.permission;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.StringDef;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@ -12,8 +14,6 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.StringDef;
|
||||
|
||||
|
||||
@SuppressLint("InlinedApi")
|
||||
public final class PermissionConstants {
|
||||
@ -67,7 +67,8 @@ public final class PermissionConstants {
|
||||
permission.READ_EXTERNAL_STORAGE, permission.WRITE_EXTERNAL_STORAGE
|
||||
};
|
||||
|
||||
@StringDef({CALENDAR, CAMERA, CONTACTS, LOCATION, MICROPHONE, PHONE, SENSORS, SMS, STORAGE, ALERT, DISABLE_KEYGUARD})
|
||||
@StringDef({CALENDAR, CAMERA, CONTACTS, LOCATION, MICROPHONE, PHONE, SENSORS, SMS, STORAGE, ALERT,
|
||||
DISABLE_KEYGUARD})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Permission {
|
||||
}
|
||||
|
@ -0,0 +1,428 @@
|
||||
package com.tenlionsoft.baselib.core.beans;
|
||||
|
||||
public class PersonFlowSearchBean {
|
||||
|
||||
private String areaCode;
|
||||
private String areaId;
|
||||
private String areaNames;
|
||||
private String birthDate;
|
||||
private String cardExpireDate;
|
||||
private String cardNumber;
|
||||
private String currentResidence;
|
||||
private String currentResidenceAddr;
|
||||
private String currentResidenceDictionaryName;
|
||||
private String education;
|
||||
private String educationDictionaryName;
|
||||
private String floatingPopulationId;
|
||||
private String fullName;
|
||||
private String gender;
|
||||
private String genderDictionaryName;
|
||||
private String gridId;
|
||||
private String gridName;
|
||||
private String healthyStatus;
|
||||
private String idCardNumber;
|
||||
private String inflowReason;
|
||||
private String inflowReasonDict;
|
||||
private String keyOfFollow;
|
||||
private String maritalStatus;
|
||||
private String maritalStatusDictionaryName;
|
||||
private String nameUsedBefore;
|
||||
private String nation;
|
||||
private String nationDictionaryName;
|
||||
private String nativePlace;
|
||||
private String nativePlaceAddr;
|
||||
private String nativePlaceDictionaryName;
|
||||
private String occupation;
|
||||
private String occupationCategory;
|
||||
private String occupationCategoryDictionaryName;
|
||||
private String politicalStatus;
|
||||
private String politicalStatusDictionaryName;
|
||||
private String registerDate;
|
||||
private String registeredResidence;
|
||||
private String registeredResidenceAddr;
|
||||
private String registeredResidenceDictionaryName;
|
||||
private String registrationType;
|
||||
private String registrationTypeDict;
|
||||
private String religion;
|
||||
private String religionDictionaryName;
|
||||
private String residenceType;
|
||||
private String residenceTypeDict;
|
||||
private String serviceSpace;
|
||||
private String telephone;
|
||||
|
||||
public String getAreaCode() {
|
||||
return areaCode;
|
||||
}
|
||||
|
||||
public void setAreaCode(String areaCode) {
|
||||
this.areaCode = areaCode;
|
||||
}
|
||||
|
||||
public String getAreaId() {
|
||||
return areaId;
|
||||
}
|
||||
|
||||
public void setAreaId(String areaId) {
|
||||
this.areaId = areaId;
|
||||
}
|
||||
|
||||
public String getAreaNames() {
|
||||
return areaNames;
|
||||
}
|
||||
|
||||
public void setAreaNames(String areaNames) {
|
||||
this.areaNames = areaNames;
|
||||
}
|
||||
|
||||
public String getBirthDate() {
|
||||
return birthDate;
|
||||
}
|
||||
|
||||
public void setBirthDate(String birthDate) {
|
||||
this.birthDate = birthDate;
|
||||
}
|
||||
|
||||
public String getCardExpireDate() {
|
||||
return cardExpireDate;
|
||||
}
|
||||
|
||||
public void setCardExpireDate(String cardExpireDate) {
|
||||
this.cardExpireDate = cardExpireDate;
|
||||
}
|
||||
|
||||
public String getCardNumber() {
|
||||
return cardNumber;
|
||||
}
|
||||
|
||||
public void setCardNumber(String cardNumber) {
|
||||
this.cardNumber = cardNumber;
|
||||
}
|
||||
|
||||
public String getCurrentResidence() {
|
||||
return currentResidence;
|
||||
}
|
||||
|
||||
public void setCurrentResidence(String currentResidence) {
|
||||
this.currentResidence = currentResidence;
|
||||
}
|
||||
|
||||
public String getCurrentResidenceAddr() {
|
||||
return currentResidenceAddr;
|
||||
}
|
||||
|
||||
public void setCurrentResidenceAddr(String currentResidenceAddr) {
|
||||
this.currentResidenceAddr = currentResidenceAddr;
|
||||
}
|
||||
|
||||
public String getCurrentResidenceDictionaryName() {
|
||||
return currentResidenceDictionaryName;
|
||||
}
|
||||
|
||||
public void setCurrentResidenceDictionaryName(String currentResidenceDictionaryName) {
|
||||
this.currentResidenceDictionaryName = currentResidenceDictionaryName;
|
||||
}
|
||||
|
||||
public String getEducation() {
|
||||
return education;
|
||||
}
|
||||
|
||||
public void setEducation(String education) {
|
||||
this.education = education;
|
||||
}
|
||||
|
||||
public String getEducationDictionaryName() {
|
||||
return educationDictionaryName;
|
||||
}
|
||||
|
||||
public void setEducationDictionaryName(String educationDictionaryName) {
|
||||
this.educationDictionaryName = educationDictionaryName;
|
||||
}
|
||||
|
||||
public String getFloatingPopulationId() {
|
||||
return floatingPopulationId;
|
||||
}
|
||||
|
||||
public void setFloatingPopulationId(String floatingPopulationId) {
|
||||
this.floatingPopulationId = floatingPopulationId;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getGender() {
|
||||
return gender;
|
||||
}
|
||||
|
||||
public void setGender(String gender) {
|
||||
this.gender = gender;
|
||||
}
|
||||
|
||||
public String getGenderDictionaryName() {
|
||||
return genderDictionaryName;
|
||||
}
|
||||
|
||||
public void setGenderDictionaryName(String genderDictionaryName) {
|
||||
this.genderDictionaryName = genderDictionaryName;
|
||||
}
|
||||
|
||||
public String getGridId() {
|
||||
return gridId;
|
||||
}
|
||||
|
||||
public void setGridId(String gridId) {
|
||||
this.gridId = gridId;
|
||||
}
|
||||
|
||||
public String getGridName() {
|
||||
return gridName;
|
||||
}
|
||||
|
||||
public void setGridName(String gridName) {
|
||||
this.gridName = gridName;
|
||||
}
|
||||
|
||||
public String getHealthyStatus() {
|
||||
return healthyStatus;
|
||||
}
|
||||
|
||||
public void setHealthyStatus(String healthyStatus) {
|
||||
this.healthyStatus = healthyStatus;
|
||||
}
|
||||
|
||||
public String getIdCardNumber() {
|
||||
return idCardNumber;
|
||||
}
|
||||
|
||||
public void setIdCardNumber(String idCardNumber) {
|
||||
this.idCardNumber = idCardNumber;
|
||||
}
|
||||
|
||||
public String getInflowReason() {
|
||||
return inflowReason;
|
||||
}
|
||||
|
||||
public void setInflowReason(String inflowReason) {
|
||||
this.inflowReason = inflowReason;
|
||||
}
|
||||
|
||||
public String getInflowReasonDict() {
|
||||
return inflowReasonDict;
|
||||
}
|
||||
|
||||
public void setInflowReasonDict(String inflowReasonDict) {
|
||||
this.inflowReasonDict = inflowReasonDict;
|
||||
}
|
||||
|
||||
public String getKeyOfFollow() {
|
||||
return keyOfFollow;
|
||||
}
|
||||
|
||||
public void setKeyOfFollow(String keyOfFollow) {
|
||||
this.keyOfFollow = keyOfFollow;
|
||||
}
|
||||
|
||||
public String getMaritalStatus() {
|
||||
return maritalStatus;
|
||||
}
|
||||
|
||||
public void setMaritalStatus(String maritalStatus) {
|
||||
this.maritalStatus = maritalStatus;
|
||||
}
|
||||
|
||||
public String getMaritalStatusDictionaryName() {
|
||||
return maritalStatusDictionaryName;
|
||||
}
|
||||
|
||||
public void setMaritalStatusDictionaryName(String maritalStatusDictionaryName) {
|
||||
this.maritalStatusDictionaryName = maritalStatusDictionaryName;
|
||||
}
|
||||
|
||||
public String getNameUsedBefore() {
|
||||
return nameUsedBefore;
|
||||
}
|
||||
|
||||
public void setNameUsedBefore(String nameUsedBefore) {
|
||||
this.nameUsedBefore = nameUsedBefore;
|
||||
}
|
||||
|
||||
public String getNation() {
|
||||
return nation;
|
||||
}
|
||||
|
||||
public void setNation(String nation) {
|
||||
this.nation = nation;
|
||||
}
|
||||
|
||||
public String getNationDictionaryName() {
|
||||
return nationDictionaryName;
|
||||
}
|
||||
|
||||
public void setNationDictionaryName(String nationDictionaryName) {
|
||||
this.nationDictionaryName = nationDictionaryName;
|
||||
}
|
||||
|
||||
public String getNativePlace() {
|
||||
return nativePlace;
|
||||
}
|
||||
|
||||
public void setNativePlace(String nativePlace) {
|
||||
this.nativePlace = nativePlace;
|
||||
}
|
||||
|
||||
public String getNativePlaceAddr() {
|
||||
return nativePlaceAddr;
|
||||
}
|
||||
|
||||
public void setNativePlaceAddr(String nativePlaceAddr) {
|
||||
this.nativePlaceAddr = nativePlaceAddr;
|
||||
}
|
||||
|
||||
public String getNativePlaceDictionaryName() {
|
||||
return nativePlaceDictionaryName;
|
||||
}
|
||||
|
||||
public void setNativePlaceDictionaryName(String nativePlaceDictionaryName) {
|
||||
this.nativePlaceDictionaryName = nativePlaceDictionaryName;
|
||||
}
|
||||
|
||||
public String getOccupation() {
|
||||
return occupation;
|
||||
}
|
||||
|
||||
public void setOccupation(String occupation) {
|
||||
this.occupation = occupation;
|
||||
}
|
||||
|
||||
public String getOccupationCategory() {
|
||||
return occupationCategory;
|
||||
}
|
||||
|
||||
public void setOccupationCategory(String occupationCategory) {
|
||||
this.occupationCategory = occupationCategory;
|
||||
}
|
||||
|
||||
public String getOccupationCategoryDictionaryName() {
|
||||
return occupationCategoryDictionaryName;
|
||||
}
|
||||
|
||||
public void setOccupationCategoryDictionaryName(String occupationCategoryDictionaryName) {
|
||||
this.occupationCategoryDictionaryName = occupationCategoryDictionaryName;
|
||||
}
|
||||
|
||||
public String getPoliticalStatus() {
|
||||
return politicalStatus;
|
||||
}
|
||||
|
||||
public void setPoliticalStatus(String politicalStatus) {
|
||||
this.politicalStatus = politicalStatus;
|
||||
}
|
||||
|
||||
public String getPoliticalStatusDictionaryName() {
|
||||
return politicalStatusDictionaryName;
|
||||
}
|
||||
|
||||
public void setPoliticalStatusDictionaryName(String politicalStatusDictionaryName) {
|
||||
this.politicalStatusDictionaryName = politicalStatusDictionaryName;
|
||||
}
|
||||
|
||||
public String getRegisterDate() {
|
||||
return registerDate;
|
||||
}
|
||||
|
||||
public void setRegisterDate(String registerDate) {
|
||||
this.registerDate = registerDate;
|
||||
}
|
||||
|
||||
public String getRegisteredResidence() {
|
||||
return registeredResidence;
|
||||
}
|
||||
|
||||
public void setRegisteredResidence(String registeredResidence) {
|
||||
this.registeredResidence = registeredResidence;
|
||||
}
|
||||
|
||||
public String getRegisteredResidenceAddr() {
|
||||
return registeredResidenceAddr;
|
||||
}
|
||||
|
||||
public void setRegisteredResidenceAddr(String registeredResidenceAddr) {
|
||||
this.registeredResidenceAddr = registeredResidenceAddr;
|
||||
}
|
||||
|
||||
public String getRegisteredResidenceDictionaryName() {
|
||||
return registeredResidenceDictionaryName;
|
||||
}
|
||||
|
||||
public void setRegisteredResidenceDictionaryName(String registeredResidenceDictionaryName) {
|
||||
this.registeredResidenceDictionaryName = registeredResidenceDictionaryName;
|
||||
}
|
||||
|
||||
public String getRegistrationType() {
|
||||
return registrationType;
|
||||
}
|
||||
|
||||
public void setRegistrationType(String registrationType) {
|
||||
this.registrationType = registrationType;
|
||||
}
|
||||
|
||||
public String getRegistrationTypeDict() {
|
||||
return registrationTypeDict;
|
||||
}
|
||||
|
||||
public void setRegistrationTypeDict(String registrationTypeDict) {
|
||||
this.registrationTypeDict = registrationTypeDict;
|
||||
}
|
||||
|
||||
public String getReligion() {
|
||||
return religion;
|
||||
}
|
||||
|
||||
public void setReligion(String religion) {
|
||||
this.religion = religion;
|
||||
}
|
||||
|
||||
public String getReligionDictionaryName() {
|
||||
return religionDictionaryName;
|
||||
}
|
||||
|
||||
public void setReligionDictionaryName(String religionDictionaryName) {
|
||||
this.religionDictionaryName = religionDictionaryName;
|
||||
}
|
||||
|
||||
public String getResidenceType() {
|
||||
return residenceType;
|
||||
}
|
||||
|
||||
public void setResidenceType(String residenceType) {
|
||||
this.residenceType = residenceType;
|
||||
}
|
||||
|
||||
public String getResidenceTypeDict() {
|
||||
return residenceTypeDict;
|
||||
}
|
||||
|
||||
public void setResidenceTypeDict(String residenceTypeDict) {
|
||||
this.residenceTypeDict = residenceTypeDict;
|
||||
}
|
||||
|
||||
public String getServiceSpace() {
|
||||
return serviceSpace;
|
||||
}
|
||||
|
||||
public void setServiceSpace(String serviceSpace) {
|
||||
this.serviceSpace = serviceSpace;
|
||||
}
|
||||
|
||||
public String getTelephone() {
|
||||
return telephone;
|
||||
}
|
||||
|
||||
public void setTelephone(String telephone) {
|
||||
this.telephone = telephone;
|
||||
}
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
package com.tenlionsoft.baselib.core.beans;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 作者: adam
|
||||
* 日期: 2021/7/12 - 4:17 下午
|
||||
@ -23,6 +25,7 @@ public class PersonSearchBean {
|
||||
private String genderDictionaryName;
|
||||
private String gridId;
|
||||
private String gridName;
|
||||
private List<GridPersonListBean> gridPersonList;
|
||||
private String idCardNumber;
|
||||
private String maritalStatus;
|
||||
private String maritalStatusDictionaryName;
|
||||
@ -43,7 +46,12 @@ public class PersonSearchBean {
|
||||
private String religion;
|
||||
private String religionDictionaryName;
|
||||
private String serviceSpace;
|
||||
private String subtype;
|
||||
private String telephone;
|
||||
private String type;
|
||||
|
||||
|
||||
|
||||
|
||||
public String getAreaCode() {
|
||||
return areaCode;
|
||||
@ -165,6 +173,14 @@ public class PersonSearchBean {
|
||||
this.gridName = gridName;
|
||||
}
|
||||
|
||||
public List<GridPersonListBean> getGridPersonList() {
|
||||
return gridPersonList;
|
||||
}
|
||||
|
||||
public void setGridPersonList(List<GridPersonListBean> gridPersonList) {
|
||||
this.gridPersonList = gridPersonList;
|
||||
}
|
||||
|
||||
public String getIdCardNumber() {
|
||||
return idCardNumber;
|
||||
}
|
||||
@ -325,6 +341,14 @@ public class PersonSearchBean {
|
||||
this.serviceSpace = serviceSpace;
|
||||
}
|
||||
|
||||
public String getSubtype() {
|
||||
return subtype;
|
||||
}
|
||||
|
||||
public void setSubtype(String subtype) {
|
||||
this.subtype = subtype;
|
||||
}
|
||||
|
||||
public String getTelephone() {
|
||||
return telephone;
|
||||
}
|
||||
@ -332,4 +356,42 @@ public class PersonSearchBean {
|
||||
public void setTelephone(String telephone) {
|
||||
this.telephone = telephone;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public static class GridPersonListBean {
|
||||
private String gridUserId;
|
||||
private String gridUserName;
|
||||
private String gridUserPhone;
|
||||
|
||||
public String getGridUserId() {
|
||||
return gridUserId;
|
||||
}
|
||||
|
||||
public void setGridUserId(String gridUserId) {
|
||||
this.gridUserId = gridUserId;
|
||||
}
|
||||
|
||||
public String getGridUserName() {
|
||||
return gridUserName;
|
||||
}
|
||||
|
||||
public void setGridUserName(String gridUserName) {
|
||||
this.gridUserName = gridUserName;
|
||||
}
|
||||
|
||||
public String getGridUserPhone() {
|
||||
return gridUserPhone;
|
||||
}
|
||||
|
||||
public void setGridUserPhone(String gridUserPhone) {
|
||||
this.gridUserPhone = gridUserPhone;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
package com.tenlionsoft.baselib.core.beans;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
import com.tenlionsoft.baselib.utils.UserLgUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
/**
|
||||
* 作者: adam
|
||||
* 日期: 2021/11/13 - 3:25 下午
|
||||
@ -18,7 +19,10 @@ public class UserExpandInfoBean {
|
||||
private String areaName;
|
||||
private String departmentIds;
|
||||
private String departmentNames;
|
||||
private List<DepartmentsBean> departments;
|
||||
private String gmtCreate;
|
||||
private String groupIds;
|
||||
private String groupNames;
|
||||
private String lastLoginAddress;
|
||||
private String lastLoginTime;
|
||||
private int loginType;
|
||||
@ -27,6 +31,9 @@ public class UserExpandInfoBean {
|
||||
private String roleIds;
|
||||
private String roleNames;
|
||||
private String userAvatar;
|
||||
private String userBirth;
|
||||
private String userEducation;
|
||||
private String userEducationName;
|
||||
private String userEmail;
|
||||
private String userExpiredDate;
|
||||
private String userId;
|
||||
@ -35,27 +42,21 @@ public class UserExpandInfoBean {
|
||||
private String userLongitude;
|
||||
private String userName;
|
||||
private String userPhone;
|
||||
private String userPolitic;
|
||||
private String userPoliticName;
|
||||
private String userSex;
|
||||
private String userSexName;
|
||||
private int userState;
|
||||
private int userType;
|
||||
private String userUKey;
|
||||
private String userUsername;
|
||||
private List<DepartmentsBean> departments;
|
||||
|
||||
private String smcMeetingId;
|
||||
private String smcNumber;
|
||||
private String smcPassword;
|
||||
private String smcState;
|
||||
private String smcUsername;
|
||||
private String smcNumber;//": "04746222025180",
|
||||
private String smcPassword;//": "tenlion@123",
|
||||
private String smcState;//": "1",
|
||||
private String smcUsername;//": "18648051689",
|
||||
|
||||
|
||||
public String getSmcMeetingId() {
|
||||
return smcMeetingId;
|
||||
}
|
||||
|
||||
public void setSmcMeetingId(String smcMeetingId) {
|
||||
this.smcMeetingId = smcMeetingId;
|
||||
}
|
||||
|
||||
public String getSmcNumber() {
|
||||
return smcNumber;
|
||||
}
|
||||
@ -120,6 +121,14 @@ public class UserExpandInfoBean {
|
||||
this.departmentNames = departmentNames;
|
||||
}
|
||||
|
||||
public List<DepartmentsBean> getDepartments() {
|
||||
return departments;
|
||||
}
|
||||
|
||||
public void setDepartments(List<DepartmentsBean> departments) {
|
||||
this.departments = departments;
|
||||
}
|
||||
|
||||
public String getGmtCreate() {
|
||||
return gmtCreate;
|
||||
}
|
||||
@ -128,6 +137,22 @@ public class UserExpandInfoBean {
|
||||
this.gmtCreate = gmtCreate;
|
||||
}
|
||||
|
||||
public String getGroupIds() {
|
||||
return groupIds;
|
||||
}
|
||||
|
||||
public void setGroupIds(String groupIds) {
|
||||
this.groupIds = groupIds;
|
||||
}
|
||||
|
||||
public String getGroupNames() {
|
||||
return groupNames;
|
||||
}
|
||||
|
||||
public void setGroupNames(String groupNames) {
|
||||
this.groupNames = groupNames;
|
||||
}
|
||||
|
||||
public String getLastLoginAddress() {
|
||||
return lastLoginAddress;
|
||||
}
|
||||
@ -184,6 +209,7 @@ public class UserExpandInfoBean {
|
||||
this.roleNames = roleNames;
|
||||
}
|
||||
|
||||
|
||||
public String getUserAvatar() {
|
||||
return userAvatar;
|
||||
}
|
||||
@ -192,6 +218,30 @@ public class UserExpandInfoBean {
|
||||
this.userAvatar = userAvatar;
|
||||
}
|
||||
|
||||
public String getUserBirth() {
|
||||
return userBirth;
|
||||
}
|
||||
|
||||
public void setUserBirth(String userBirth) {
|
||||
this.userBirth = userBirth;
|
||||
}
|
||||
|
||||
public String getUserEducation() {
|
||||
return userEducation;
|
||||
}
|
||||
|
||||
public void setUserEducation(String userEducation) {
|
||||
this.userEducation = userEducation;
|
||||
}
|
||||
|
||||
public String getUserEducationName() {
|
||||
return userEducationName;
|
||||
}
|
||||
|
||||
public void setUserEducationName(String userEducationName) {
|
||||
this.userEducationName = userEducationName;
|
||||
}
|
||||
|
||||
public String getUserEmail() {
|
||||
return userEmail;
|
||||
}
|
||||
@ -256,6 +306,38 @@ public class UserExpandInfoBean {
|
||||
this.userPhone = userPhone;
|
||||
}
|
||||
|
||||
public String getUserPolitic() {
|
||||
return userPolitic;
|
||||
}
|
||||
|
||||
public void setUserPolitic(String userPolitic) {
|
||||
this.userPolitic = userPolitic;
|
||||
}
|
||||
|
||||
public String getUserPoliticName() {
|
||||
return userPoliticName;
|
||||
}
|
||||
|
||||
public void setUserPoliticName(String userPoliticName) {
|
||||
this.userPoliticName = userPoliticName;
|
||||
}
|
||||
|
||||
public String getUserSex() {
|
||||
return userSex;
|
||||
}
|
||||
|
||||
public void setUserSex(String userSex) {
|
||||
this.userSex = userSex;
|
||||
}
|
||||
|
||||
public String getUserSexName() {
|
||||
return userSexName;
|
||||
}
|
||||
|
||||
public void setUserSexName(String userSexName) {
|
||||
this.userSexName = userSexName;
|
||||
}
|
||||
|
||||
public int getUserState() {
|
||||
return userState;
|
||||
}
|
||||
@ -288,14 +370,6 @@ public class UserExpandInfoBean {
|
||||
this.userUsername = userUsername;
|
||||
}
|
||||
|
||||
public List<DepartmentsBean> getDepartments() {
|
||||
return departments;
|
||||
}
|
||||
|
||||
public void setDepartments(List<DepartmentsBean> departments) {
|
||||
this.departments = departments;
|
||||
}
|
||||
|
||||
public static class DepartmentsBean {
|
||||
private String departmentAddress;
|
||||
private String departmentAreaCode;
|
||||
@ -306,8 +380,6 @@ public class UserExpandInfoBean {
|
||||
private String departmentId;
|
||||
private int departmentIntId;
|
||||
private String departmentLatitude;
|
||||
private int departmentLogo;
|
||||
private int departmentLogoHover;
|
||||
private String departmentLongitude;
|
||||
private String departmentMaster;
|
||||
private String departmentMasterName;
|
||||
@ -396,22 +468,6 @@ public class UserExpandInfoBean {
|
||||
this.departmentLatitude = departmentLatitude;
|
||||
}
|
||||
|
||||
public int getDepartmentLogo() {
|
||||
return departmentLogo;
|
||||
}
|
||||
|
||||
public void setDepartmentLogo(int departmentLogo) {
|
||||
this.departmentLogo = departmentLogo;
|
||||
}
|
||||
|
||||
public int getDepartmentLogoHover() {
|
||||
return departmentLogoHover;
|
||||
}
|
||||
|
||||
public void setDepartmentLogoHover(int departmentLogoHover) {
|
||||
this.departmentLogoHover = departmentLogoHover;
|
||||
}
|
||||
|
||||
public String getDepartmentLongitude() {
|
||||
return departmentLongitude;
|
||||
}
|
||||
@ -532,41 +588,4 @@ public class UserExpandInfoBean {
|
||||
this.subDepartments = subDepartments;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "UserExpandInfoBean{" +
|
||||
"areaCode='" + areaCode + '\'' +
|
||||
", areaName='" + areaName + '\'' +
|
||||
", departmentIds='" + departmentIds + '\'' +
|
||||
", departmentNames='" + departmentNames + '\'' +
|
||||
", gmtCreate='" + gmtCreate + '\'' +
|
||||
", lastLoginAddress='" + lastLoginAddress + '\'' +
|
||||
", lastLoginTime='" + lastLoginTime + '\'' +
|
||||
", loginType=" + loginType +
|
||||
", positionIds='" + positionIds + '\'' +
|
||||
", positionNames='" + positionNames + '\'' +
|
||||
", roleIds='" + roleIds + '\'' +
|
||||
", roleNames='" + roleNames + '\'' +
|
||||
", userAvatar='" + userAvatar + '\'' +
|
||||
", userEmail='" + userEmail + '\'' +
|
||||
", userExpiredDate='" + userExpiredDate + '\'' +
|
||||
", userId='" + userId + '\'' +
|
||||
", userLatitude='" + userLatitude + '\'' +
|
||||
", userLevel=" + userLevel +
|
||||
", userLongitude='" + userLongitude + '\'' +
|
||||
", userName='" + userName + '\'' +
|
||||
", userPhone='" + userPhone + '\'' +
|
||||
", userState=" + userState +
|
||||
", userType=" + userType +
|
||||
", userUKey='" + userUKey + '\'' +
|
||||
", userUsername='" + userUsername + '\'' +
|
||||
", departments=" + departments +
|
||||
", smcMeetingId='" + smcMeetingId + '\'' +
|
||||
", smcNumber='" + smcNumber + '\'' +
|
||||
", smcPassword='" + smcPassword + '\'' +
|
||||
", smcState='" + smcState + '\'' +
|
||||
", smcUsername='" + smcUsername + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
@ -381,15 +381,13 @@ public class HttpUtils {
|
||||
.build();
|
||||
}
|
||||
|
||||
//设置拦截器
|
||||
client.newBuilder()
|
||||
.addNetworkInterceptor(new Interceptor() { //设置拦截器
|
||||
@Override
|
||||
public Response intercept(Chain chain) throws IOException {
|
||||
.addNetworkInterceptor(chain -> {
|
||||
Response originalResponse = chain.proceed(chain.request());
|
||||
return originalResponse.newBuilder()
|
||||
.body(new ResponseProgressBody(originalResponse.body(), downloadResponseHandler))
|
||||
.build();
|
||||
}
|
||||
})
|
||||
.build()
|
||||
.newCall(request)
|
||||
|
@ -50,33 +50,16 @@ public class DownloadCallback implements Callback {
|
||||
file = saveFile(response, mFileDir, mFilename);
|
||||
} catch (final IOException e) {
|
||||
// LogUtils.e("onResponse saveFile fail", e);
|
||||
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mDownloadResponseHandler.onFailure("onResponse saveFile fail." + e.toString());
|
||||
mHandler.post(() -> mDownloadResponseHandler.onFailure("onResponse saveFile fail." + e.toString()));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
final File newFile = file;
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mDownloadResponseHandler.onFinish(newFile);
|
||||
}
|
||||
});
|
||||
mHandler.post(() -> mDownloadResponseHandler.onFinish(newFile));
|
||||
} else {
|
||||
// LogUtils.e("onResponse fail status=" + response.code());
|
||||
mHandler.post(() -> mDownloadResponseHandler.onFailure("fail status=" + response.code()));
|
||||
}
|
||||
}
|
||||
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mDownloadResponseHandler.onFailure("fail status=" + response.code());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
//保存文件
|
||||
private File saveFile(Response response, String filedir, String filename) throws IOException {
|
||||
InputStream is = null;
|
||||
|
@ -4,19 +4,18 @@ import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
import com.tenlionsoft.baselib.core.network.HttpUtils;
|
||||
import com.tenlionsoft.baselib.core.network.response.DownloadResponseHandler;
|
||||
import com.tenlionsoft.baselib.core.network.update.utils.ApkUtils;
|
||||
import com.tenlionsoft.baselib.core.network.update.utils.Constants;
|
||||
import com.tenlionsoft.baselib.core.network.update.utils.NotificationBarUtil;
|
||||
import com.tenlionsoft.baselib.core.network.update.utils.NotificationHelper;
|
||||
import com.tenlionsoft.baselib.core.network.update.utils.StorageUtils;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* 下载服务
|
||||
*/
|
||||
@ -24,13 +23,12 @@ public class DownloadService extends Service {
|
||||
|
||||
private DownInfo downInfo;
|
||||
private int oldProgress = 0;
|
||||
private NotificationHelper notificationHelper;
|
||||
private boolean mIsSuccess = true;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
downInfo = new DownInfo();
|
||||
notificationHelper = new NotificationHelper(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -48,14 +46,21 @@ public class DownloadService extends Service {
|
||||
|
||||
|
||||
private void downLoadFile() {
|
||||
HttpUtils.getInstance().download(downInfo.getUrl(), downInfo.getSavePath(), downInfo.getApkName(), new DownloadResponseHandler() {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(PathConfig.ACTION_UPDATE_STAET);
|
||||
sendBroadcast(intent);
|
||||
HttpUtils.getInstance().download(downInfo.getUrl(), downInfo.getSavePath(), downInfo.getApkName(),
|
||||
new DownloadResponseHandler() {
|
||||
@Override
|
||||
public void onFinish(File download_file) {
|
||||
LogUtils.e("下载成功");
|
||||
if (mIsSuccess) {
|
||||
//收起通知栏
|
||||
NotificationBarUtil.setNotificationBarVisibility(DownloadService.this, false);
|
||||
//安装
|
||||
ApkUtils.installAPk(DownloadService.this, download_file);
|
||||
notificationHelper.cancel();
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(PathConfig.ACTION_UPDATE_SUCCESS);
|
||||
intent.putExtra("apkFile", download_file);
|
||||
sendBroadcast(intent);
|
||||
}
|
||||
stopSelf();
|
||||
}
|
||||
|
||||
@ -63,15 +68,22 @@ public class DownloadService extends Service {
|
||||
public void onProgress(long currentBytes, long totalBytes) {
|
||||
int progress = (int) ((currentBytes * 1.0 / totalBytes) * 100);
|
||||
if (progress != oldProgress) {
|
||||
notificationHelper.updateProgress(progress);
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(PathConfig.ACTION_UPDATE_PROGRESS);
|
||||
intent.putExtra("progress", progress);
|
||||
sendBroadcast(intent);
|
||||
}
|
||||
oldProgress = progress;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(String error_msg) {
|
||||
LogUtils.e("下载失败");
|
||||
mIsSuccess = false;
|
||||
ToastUtils.show("App下载失败,请稍后重试");
|
||||
notificationHelper.cancel();
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(PathConfig.ACTION_UPDATE_ERROR);
|
||||
sendBroadcast(intent);
|
||||
stopSelf();
|
||||
}
|
||||
});
|
||||
|
@ -7,26 +7,28 @@ package com.tenlionsoft.baselib.core.retrofit_net;
|
||||
*/
|
||||
public class BaseUrlApi {
|
||||
|
||||
// public static final String IP = "http://192.168.0.120:9000/";/* 测试IP */
|
||||
// public static final String IP = "http://10.25.242.183:80/";/* 测试IP */
|
||||
// public static final String IP = "http://192.168.0.15:7011/";/* 测试IP */
|
||||
// public static final String IP = "http://121.36.71.250:58083/";/* 测试IP */
|
||||
public static final String IP = "http://www.wlcbsyzl.cn/";/* 正式IP */
|
||||
public static final String SYS_USERCENTER = "usercenter/";
|
||||
public static final String SYS_POPULATION = "population/";/*人口系统*/
|
||||
// public static final String SYS_POPULATION = "population/";/*人口系统*/
|
||||
public static final String SYS_POPULATION = "populationhouse/";/*人口系统*/
|
||||
public static final String SYS_CASE = "case/";/*事件部件*/
|
||||
public static final String SYS_HOUSE = "house/";/*房屋系统*/
|
||||
// public static final String SYS_HOUSE = "house/";/*房屋系统*/
|
||||
public static final String SYS_HOUSE = "populationhouse/";/*房屋系统*/
|
||||
public static final String SYS_SECURITY = "manage/";/*社会治安*/
|
||||
public static final String SYS_TASK = "task/";/*任务系统*/
|
||||
public static final String SYS_LIBRARY = "library/";/*知识库系统*/
|
||||
public static final String SYS_VISITS = "visits/";/*信访系统*/
|
||||
|
||||
// public static final String BASE_MAIN_IP = "http://192.168.0.15:7011/usercenter/";
|
||||
// public static final String BASE_MAIN_IP = "http://121.36.71.250:58038/usercenter/";
|
||||
public static final String BASE_MAIN_IP = IP + SYS_USERCENTER;
|
||||
public static final String BASE_CASE_IP = IP + SYS_CASE;
|
||||
// public static final String BASE_CASE_IP = IP + SYS_CASE;
|
||||
public static final String BASE_CASE_LOCAL_IP = "http://49.233.36.36:58099/case/";
|
||||
// public static final String BASE_CASE_IP = "http://192.168.0.120:9000/" + SYS_CASE;//TODO 测试
|
||||
public static final String BASE_LIBRARY_IP = IP + SYS_LIBRARY;
|
||||
public static final String BASE_TASK_IP = IP + SYS_TASK;
|
||||
public static final String BASE_PERSON_IP = IP + SYS_POPULATION;
|
||||
// public static final String BASE_PERSON_IP = "http://192.168.0.115:8080/" + SYS_POPULATION;//TODO 测试
|
||||
public static final String BASE_HOUSE_IP = IP + SYS_HOUSE;
|
||||
public static final String BASE_SECURITY_IP = IP + SYS_SECURITY;
|
||||
public static final String BASE_VISITS_IP = IP + SYS_VISITS;
|
||||
@ -43,6 +45,7 @@ public class BaseUrlApi {
|
||||
// public static final String BASE_VISITS_IP = "http://192.168.0.111:8084/" + SYS_VISITS;
|
||||
|
||||
public static final String BASE_IMG_URL = BASE_URL + "route/file/download/true/";
|
||||
public static final String BASE_IMG_URL_V2 = BASE_URL + "route/file/v2/download/true/";
|
||||
public static final String APK_DOWNLOAD_URL = "downloadUrl";
|
||||
public static final String UPDATE_URL = "version.json";
|
||||
|
||||
@ -64,6 +67,12 @@ public class BaseUrlApi {
|
||||
public static final String CITY_BAIDU_CODE = "168";//乌兰察布市
|
||||
// public static final String CITY_BAIDU_CODE = "321";//呼和浩特市
|
||||
public static final String APP_DOWNLOAD_URL = BASE_URL + "app/appversion/download/" + APP_VERSION_ID;
|
||||
/*========超图========*/
|
||||
public static final String SUPER_MAP_SERVER = "https://58.18.108.24:8443/0ix3sypi/iserver/services/map" +
|
||||
"-WulanchabuData/rest/maps/WLCB_MAP";
|
||||
public static final String SUPER_HEADER_KEY = "c87b5190-a829-4d54-9281-2e8cb461bf5e";
|
||||
public static final String SUPER_HEADER_VALUE = "KI8.zBi1DCtlnG8Z79-0IoPNHGHQ4LK04s#uQ$1TM/#AA!1K.6$30+-e3/72EWcL";
|
||||
|
||||
|
||||
|
||||
/*========融合通信========*/
|
||||
|
@ -1,14 +1,11 @@
|
||||
package com.tenlionsoft.baselib.core.retrofit_net;
|
||||
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.conver.AreaInterceptor;
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.conver.BaseUrlInterceptor;
|
||||
|
||||
import java.net.ProxySelector;
|
||||
import java.util.Properties;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.internal.proxy.NullProxySelector;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
@ -65,7 +62,7 @@ public class RetrofitManager {
|
||||
builder.readTimeout(TIMEOUT, TimeUnit.MINUTES);
|
||||
builder.writeTimeout(TIMEOUT, TimeUnit.MINUTES);
|
||||
//封装公共参数
|
||||
builder.addInterceptor(new AreaInterceptor());
|
||||
// builder.addInterceptor(new AreaInterceptor());
|
||||
//builder.addInterceptor(new CommInterceptor());
|
||||
//多BaseUrl连接器
|
||||
builder.addInterceptor(new BaseUrlInterceptor());
|
||||
|
@ -5,9 +5,9 @@ import com.google.gson.JsonObject;
|
||||
import com.tenlionsoft.baselib.core.beans.AreaBean;
|
||||
import com.tenlionsoft.baselib.core.beans.BaseDictionaryBean;
|
||||
import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
|
||||
import com.tenlionsoft.baselib.core.beans.ConfigBean;
|
||||
import com.tenlionsoft.baselib.core.beans.DicBean;
|
||||
import com.tenlionsoft.baselib.core.beans.DictionaryBean;
|
||||
import com.tenlionsoft.baselib.core.beans.PersonFlowSearchBean;
|
||||
import com.tenlionsoft.baselib.core.beans.PersonSearchBean;
|
||||
import com.tenlionsoft.baselib.core.beans.UploadBean;
|
||||
import com.tenlionsoft.baselib.core.beans.UserExpandInfoBean;
|
||||
@ -16,8 +16,6 @@ import com.tenlionsoft.baselib.core.retrofit_net.bean.BaseResponseBean;
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.bean.BaseUserInfo;
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.bean.VersionBean;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -87,7 +85,8 @@ public interface BaseApiService {
|
||||
*/
|
||||
@Headers({"Content-Type: application/json", "Accept: application/json"})
|
||||
@GET("appversion/getappversionnumber/{appVersionId}")
|
||||
Observable<VersionBean> doCheckAppVersionByToken(@Path("appVersionId") String appVersionId, @Header("token") String token);
|
||||
Observable<VersionBean> doCheckAppVersionByToken(@Path("appVersionId") String appVersionId,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 获取App版本
|
||||
@ -114,12 +113,14 @@ public interface BaseApiService {
|
||||
@Headers({"base_url_name:social"})
|
||||
@Multipart
|
||||
@POST("app/file/uploadimage")
|
||||
Observable<BaseSuccessBean> uploadImageToSocialByMap(@PartMap Map<String, RequestBody> params, @Header("token") String token);
|
||||
Observable<BaseSuccessBean> uploadImageToSocialByMap(@PartMap Map<String, RequestBody> params,
|
||||
@Header("token") String token);
|
||||
|
||||
@Headers({"base_url_name:social"})
|
||||
@Multipart
|
||||
@POST("app/file/uploadimage")
|
||||
Observable<BaseSuccessBean> uploadImageToSocialBySingle(@Part MultipartBody.Part file, @Header("token") String token);
|
||||
Observable<BaseSuccessBean> uploadImageToSocialBySingle(@Part MultipartBody.Part file,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 上传图片文件
|
||||
@ -204,7 +205,8 @@ public interface BaseApiService {
|
||||
*/
|
||||
@Headers({"base_url_name:volunteer", "Content-Type:application/json", "Accept:application/json"})
|
||||
@GET("app/datadictionary/listdictionarybyparentid/{dictionaryParentId}")
|
||||
Observable<List<BaseDictionaryBean>> getDicList(@Path("dictionaryParentId") String id, @Header("token") String token);
|
||||
Observable<List<BaseDictionaryBean>> getDicList(@Path("dictionaryParentId") String id,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 获取字典
|
||||
@ -214,7 +216,8 @@ public interface BaseApiService {
|
||||
*/
|
||||
@Headers({"Content-Type:application/json", "Accept:application/json"})
|
||||
@GET("app/datadictionary/listdictionarybyparentid/{dictionaryParentId}")
|
||||
Observable<List<BaseDictionaryBean>> getSystemDictionary(@Path("dictionaryParentId") String id, @Header("token") String token);
|
||||
Observable<List<BaseDictionaryBean>> getSystemDictionary(@Path("dictionaryParentId") String id,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 用户注册
|
||||
@ -245,6 +248,13 @@ public interface BaseApiService {
|
||||
@PUT("app/user/updateuserinfo")
|
||||
Observable<BaseSuccessBean> editUserInfo(@Body RequestBody body, @Header("token") String token);
|
||||
|
||||
/**
|
||||
* 更新用户基本信息
|
||||
*/
|
||||
@Headers({"Content-Type:application/json", "Accept:application/json"})
|
||||
@PUT("app/user/update-info")
|
||||
Observable<BaseSuccessBean> doEditUserInfo(@Body RequestBody body, @Header("token") String token);
|
||||
|
||||
/**
|
||||
* 获取用户基本信息
|
||||
*/
|
||||
@ -263,7 +273,8 @@ public interface BaseApiService {
|
||||
*/
|
||||
@Headers({"Content-Type:application/json", "Accept:application/json"})
|
||||
@PUT("app/user/updatephoneusername/{phone}")
|
||||
Observable<BaseSuccessBean> doChangePhone(@Body RequestBody body, @Path("phone") String phone, @Header("token") String token);
|
||||
Observable<BaseSuccessBean> doChangePhone(@Body RequestBody body, @Path("phone") String phone,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
@ -300,14 +311,16 @@ public interface BaseApiService {
|
||||
*/
|
||||
@Headers({"base_url_name:house", "Content-Type: application/json", "Accept: application/json"})
|
||||
@GET("app/datadictionary/listdictionarybyparentid/{dictionaryParentId}")
|
||||
Observable<List<DicBean>> getDictListAllByPid(@Path("dictionaryParentId") String pId, @Header("token") String token);
|
||||
Observable<List<DicBean>> getDictListAllByPid(@Path("dictionaryParentId") String pId,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 获取地区
|
||||
*/
|
||||
@Headers({"Content-Type: application/json", "Accept: application/json"})
|
||||
@GET("app/area/listbyparentid/{areaParentId}")
|
||||
Observable<List<AreaBean>> getAreaListByPid(@Path("areaParentId") String dicParentId, @Header("token") String token);
|
||||
Observable<List<AreaBean>> getAreaListByPid(@Path("areaParentId") String dicParentId,
|
||||
@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 获取当前用户是否是志愿者
|
||||
@ -323,7 +336,8 @@ public interface BaseApiService {
|
||||
*/
|
||||
@Headers({"base_url_name:city", "Content-Type: application/json", "Accept: application/json"})
|
||||
@GET("app/websocket/client/login/{clientName}")
|
||||
Observable<BaseSuccessBean> getWebsocketSession(@Header("token") String token, @Path("clientName") String clientName);
|
||||
Observable<BaseSuccessBean> getWebsocketSession(@Header("token") String token,
|
||||
@Path("clientName") String clientName);
|
||||
|
||||
/**
|
||||
* 根据身份证号码搜索人
|
||||
@ -331,6 +345,12 @@ public interface BaseApiService {
|
||||
@Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"})
|
||||
@GET("app/basepopulationinfo/release/getByIdCardNumber/{idCardNumber}")
|
||||
Observable<PersonSearchBean> doSearchPerson(@Path("idCardNumber") String card, @Header("token") String token);
|
||||
/**
|
||||
* 根据身份证号码搜索人-流动人口
|
||||
*/
|
||||
@Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"})
|
||||
@GET("app/floatingpopulation/getByIdCardNumber/{idCardNumber}")
|
||||
Observable<PersonFlowSearchBean> doSearchFLowPerson(@Path("idCardNumber") String card, @Header("token") String token);
|
||||
|
||||
/**
|
||||
* 获取当前用户拓展信息
|
||||
@ -339,5 +359,12 @@ public interface BaseApiService {
|
||||
@GET("app/user-expand/get-whole/{userId}")
|
||||
Observable<UserExpandInfoBean> getUserExpandInfo(@Path("userId") String id, @Header("token") String token);
|
||||
|
||||
/**
|
||||
* 修改用户拓展信息
|
||||
*/
|
||||
@Headers({"Content-Type: application/json", "Accept: application/json"})
|
||||
@PUT("app/user-expand/update/{userId}")
|
||||
Observable<BaseSuccessBean> doEditExpandInfo(@Path("userId") String id, @Body RequestBody body,
|
||||
@Header("token") String token);
|
||||
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ import android.widget.TextView;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.R2;
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
|
@ -8,7 +8,7 @@ import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.luck.picture.lib.tools.BitmapUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.R2;
|
||||
|
@ -10,8 +10,6 @@ import android.app.Service;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@ -23,12 +21,16 @@ import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Display;
|
||||
import android.view.KeyCharacterMap;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.TouchDelegate;
|
||||
import android.view.View;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.view.WindowManager;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.webkit.WebView;
|
||||
import android.widget.Button;
|
||||
@ -45,14 +47,15 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
import com.tenlionsoft.baselib.core.widget.views.AfxTextView;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.UserLgUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -104,9 +107,15 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
protected AfxTextView mTvSearchBack;
|
||||
private boolean mIsExpand;//搜索框是否展开
|
||||
private LocalBroad mLocalBroad;
|
||||
private LinearLayout mLlBaseSearch;
|
||||
protected LinearLayout mLlBaseSearch;
|
||||
private static final String NAVIGATION = "navigationBarBackground";
|
||||
protected Object mCurGrid;
|
||||
protected EditText mEtBaseOnlySearch;
|
||||
protected LinearLayout mLlBaseOnlySearch;
|
||||
protected LinearLayout mLlOnlySearchBar;
|
||||
protected ImageView mIvAppOnlyBack;
|
||||
protected TextView mTvOnlyControl;
|
||||
private ImageView mIvOnlyClear;
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
@Override
|
||||
@ -145,6 +154,9 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断是否开启虚拟按键
|
||||
*/
|
||||
protected boolean isNavBarHasShown(Context ctx) {
|
||||
String brand = Build.BRAND;
|
||||
LogUtils.e(brand);
|
||||
@ -153,7 +165,8 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
deviceInfo = "navigationbar_is_min";
|
||||
} else if (brand.equalsIgnoreCase("xiaomi") || brand.equalsIgnoreCase("blackshark")) {
|
||||
deviceInfo = "force_fsg_nav_bar";
|
||||
} else if (brand.equalsIgnoreCase("VIVO") || brand.equalsIgnoreCase("OnePlus") || brand.equalsIgnoreCase("OPPO")) {
|
||||
} else if (brand.equalsIgnoreCase("VIVO") || brand.equalsIgnoreCase("OnePlus") || brand.equalsIgnoreCase(
|
||||
"OPPO")) {
|
||||
return !ImmersionBar.isGesture(this);
|
||||
} else {
|
||||
deviceInfo = "noah_navi_mode_value";
|
||||
@ -197,6 +210,18 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否有虚拟按键
|
||||
*/
|
||||
protected boolean checkDeviceHasNavigationBar(Context ctx) {
|
||||
boolean hasMenuKey = ViewConfiguration.get(ctx).hasPermanentMenuKey();
|
||||
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
|
||||
if (!hasMenuKey & !hasBackKey) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 非全面屏下 虚拟键高度(无论是否隐藏)
|
||||
*
|
||||
@ -232,6 +257,22 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
mLlAppBaseContent.setBackgroundColor(getResources().getColor(R.color.white));
|
||||
mTvBaseTitle = findViewById(R.id.tv_app_title);//页面标题
|
||||
mLlBaseSearch = findViewById(R.id.ll_base_search);
|
||||
mLlBaseOnlySearch = findViewById(R.id.ll_base_only_search);
|
||||
mEtBaseOnlySearch = findViewById(R.id.et_base_only_search);
|
||||
mIvOnlyClear = findViewById(R.id.iv_app_only_clear_search);
|
||||
mIvOnlyClear.setVisibility(View.GONE);
|
||||
mIvOnlyClear.setOnClickListener(v -> {
|
||||
hideSoftKeyboard();
|
||||
mEtBaseOnlySearch.setText("");
|
||||
mEtBaseOnlySearch.clearFocus();
|
||||
doSearchByTitle();
|
||||
});
|
||||
// ll_only_search_bar
|
||||
// iv_app_only_back
|
||||
// tv_only_control
|
||||
mLlOnlySearchBar = findViewById(R.id.ll_only_search_bar);
|
||||
mIvAppOnlyBack = findViewById(R.id.iv_app_only_back);
|
||||
mTvOnlyControl = findViewById(R.id.tv_only_control);
|
||||
//页面返回
|
||||
mTvAppBack = findViewById(R.id.tv_app_back);
|
||||
mRlTitleBar = findViewById(R.id.rl_title_bar);
|
||||
@ -267,6 +308,10 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
hideSoftKeyboard();
|
||||
finish();
|
||||
});
|
||||
mIvAppOnlyBack.setOnClickListener(v -> {
|
||||
hideSoftKeyboard();
|
||||
finish();
|
||||
});
|
||||
mTvNotify = findViewById(R.id.tv_notify);
|
||||
mIvEmptyData.setOnClickListener(v -> reLoadData());
|
||||
|
||||
@ -293,6 +338,46 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
});
|
||||
mEtBaseOnlySearch.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) {
|
||||
if (!TextUtils.isEmpty(s.toString())) {
|
||||
mIvOnlyClear.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mIvOnlyClear.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
});
|
||||
mEtAppSearchContent.setOnEditorActionListener((v, actionId, event) -> {
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
||||
hideSoftKeyboard();
|
||||
mEtAppSearchContent.clearFocus();
|
||||
doSearchByTitle();
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
mEtBaseOnlySearch.setOnEditorActionListener((v, actionId, event) -> {
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
||||
hideSoftKeyboard();
|
||||
mEtAppSearchContent.clearFocus();
|
||||
doSearchByTitle();
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
mIvClearSearch.setOnClickListener(v -> clearSearchContent());
|
||||
//设置默认title
|
||||
mIvAppSearchIcon.setVisibility(View.GONE);
|
||||
@ -538,15 +623,24 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
hideSoftKeyboard(getCurrentFocus());
|
||||
}
|
||||
|
||||
public void hideSoftKeyboard(EditText editText) {
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
if (editText != null) {
|
||||
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent ev) {
|
||||
|
||||
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
View v = getCurrentFocus();
|
||||
if (v instanceof WebView) {
|
||||
return super.dispatchTouchEvent(ev);
|
||||
}
|
||||
if (v != null) {
|
||||
LogUtils.e("控件ID==" + v.getId());
|
||||
InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
if (im != null) {
|
||||
im.hideSoftInputFromWindow(v.getWindowToken(), 0);
|
||||
@ -746,4 +840,8 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
|
||||
public void showUpdate() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.tenlionsoft.baselib.core.widget.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
@ -12,21 +11,21 @@ import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
public abstract class BaseFragment extends Fragment {
|
||||
public static final int STATE_LOAD = 1234;//加载中
|
||||
public static final int STATE_ERROR = 1235;//加载失败
|
||||
public static final int STATE_SUCCESS = 1236;//加载成功
|
||||
public static final int STATE_EMPTY = 1237;//无数据
|
||||
public static final int STATE_SEARCH_EMPTY = 1238;//没有搜索到数据
|
||||
public static final int STATE_SEARCH_INIT = 1239;//搜索初始化
|
||||
FrameLayout mFlContent;
|
||||
TextView mTvFragmentErrorHint;
|
||||
protected TextView mTvFragmentErrorHint;
|
||||
ProgressBar mPbFragmentLoading;
|
||||
ImageView mIvFragmentEmptyData;
|
||||
LinearLayout mLlHintView;
|
||||
@ -145,6 +144,16 @@ public abstract class BaseFragment extends Fragment {
|
||||
mSrlView.setEnableLoadMore(true);
|
||||
mSrlView.setEnableRefresh(true);
|
||||
break;
|
||||
case STATE_SEARCH_INIT:
|
||||
mLlHintView.setVisibility(View.VISIBLE);
|
||||
mPbFragmentLoading.setVisibility(View.GONE);
|
||||
mIvFragmentEmptyData.setVisibility(View.VISIBLE);
|
||||
mIvFragmentEmptyData.setBackgroundResource(R.drawable.ic_empty_data);
|
||||
mTvFragmentErrorHint.setText("请输入查询的关键字");
|
||||
mDataView.setVisibility(View.GONE);
|
||||
mSrlView.setEnableLoadMore(false);
|
||||
mSrlView.setEnableRefresh(false);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -155,7 +164,6 @@ public abstract class BaseFragment extends Fragment {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 刷新视图
|
||||
*/
|
||||
|
@ -3,6 +3,7 @@ package com.tenlionsoft.baselib.core.widget.base;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Gravity;
|
||||
@ -65,6 +66,9 @@ public class CustomDialog extends ProgressDialog {
|
||||
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
window.setAttributes(params);
|
||||
window.setBackgroundDrawable(new ColorDrawable());
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
window.setType(WindowManager.LayoutParams.LAST_APPLICATION_WINDOW);
|
||||
}
|
||||
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.RegexUtils;
|
||||
import com.tenlionsoft.baselib.utils.TimeUtils;
|
||||
|
@ -21,7 +21,7 @@ import android.widget.CompoundButton;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.RegexUtils;
|
||||
|
||||
|
@ -16,7 +16,7 @@ import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.RatingBar;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.RegexUtils;
|
||||
|
||||
|
@ -17,7 +17,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
import com.tenlionsoft.baselib.core.beans.AreaBean;
|
||||
|
@ -18,7 +18,7 @@ import android.view.WindowManager;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.core.beans.UserLoginBean;
|
||||
import com.tenlionsoft.baselib.utils.UserInfoSPUtils;
|
||||
|
@ -17,7 +17,7 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.core.beans.AddPhotoBean;
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
|
||||
|
@ -16,7 +16,7 @@ import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -74,7 +74,7 @@ public class CenterBaseInputView extends Dialog {
|
||||
public void HideSoftKeyBoardDialog(Activity activity) {
|
||||
try {
|
||||
InputMethodManager imm = (InputMethodManager) activity.getSystemService(activity.INPUT_METHOD_SERVICE);
|
||||
imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
|
||||
imm.hideSoftInputFromWindow(mEtContent.getWindowToken(),0);
|
||||
} catch (Exception ex) {
|
||||
|
||||
|
||||
|
@ -17,7 +17,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
import com.tenlionsoft.baselib.core.beans.AreaBean;
|
||||
|
@ -0,0 +1,202 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.core.beans.PersonSearchBean;
|
||||
import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 作者 : Adam on 2018/7/23.
|
||||
* 邮箱 : itgaojian@163.com
|
||||
* 描述 : 时间加输入
|
||||
*/
|
||||
public class CenterGridPhoneListView extends Dialog {
|
||||
|
||||
private boolean iscancelable;
|
||||
private boolean isBackCancelable;
|
||||
private View view;
|
||||
private Context context;
|
||||
private int gravity;
|
||||
private OnChoseListener mListener;
|
||||
private boolean mIsShow;
|
||||
private boolean mIsShowOther;
|
||||
private TimePickerView mTimePicker;
|
||||
private EditText mEtContent;
|
||||
private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
private List<PersonSearchBean.GridPersonListBean> mGridList = new ArrayList<>();
|
||||
|
||||
private CenterGridPhoneListView(Context context, boolean isCancelable, boolean isBackCancelable, int gravity,
|
||||
boolean isShow, boolean isShowOther, List gridList) {
|
||||
super(context, R.style.dialog_center_alpha);
|
||||
this.context = context;
|
||||
this.gravity = gravity;
|
||||
this.iscancelable = isCancelable;
|
||||
this.isBackCancelable = isBackCancelable;
|
||||
this.mIsShow = isShow;
|
||||
this.mIsShowOther = isShowOther;
|
||||
this.mGridList = gridList;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
view = LayoutInflater.from(context).inflate(R.layout.dialog_base_grid_list, null);
|
||||
setContentView(view);
|
||||
setCancelable(true);
|
||||
setCanceledOnTouchOutside(true);
|
||||
RecyclerView mRlvGrid = view.findViewById(R.id.rlv_grids);
|
||||
GridTextAdapter adapter = new GridTextAdapter(context, mGridList);
|
||||
mRlvGrid.setLayoutManager(new LinearLayoutManager(context));
|
||||
mRlvGrid.setAdapter(adapter);
|
||||
adapter.addOnItemClickListener(gridPersonListBean -> {
|
||||
if (!TextUtils.isEmpty(gridPersonListBean.getGridUserPhone())) {
|
||||
this.dismiss();
|
||||
doCall(gridPersonListBean.getGridUserPhone());
|
||||
}
|
||||
});
|
||||
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
|
||||
Window window = this.getWindow();
|
||||
window.setGravity(Gravity.CENTER);
|
||||
window.setWindowAnimations(R.style.dialog_center_alpha);
|
||||
WindowManager.LayoutParams params = window.getAttributes();
|
||||
params.width = (int) (displayMetrics.widthPixels * 0.9);
|
||||
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
window.setAttributes(params);
|
||||
window.setBackgroundDrawable(new ColorDrawable());
|
||||
}
|
||||
|
||||
public void HideSoftKeyBoardDialog(Activity activity) {
|
||||
try {
|
||||
InputMethodManager imm = (InputMethodManager) activity.getSystemService(activity.INPUT_METHOD_SERVICE);
|
||||
imm.hideSoftInputFromWindow(mEtContent.getWindowToken(), 0);
|
||||
} catch (Exception ex) {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void doCall(String gridUserPhone) {
|
||||
if (!TextUtils.isEmpty(gridUserPhone)) {
|
||||
Intent intent = new Intent(Intent.ACTION_DIAL);
|
||||
Uri data = Uri.parse("tel:" + gridUserPhone);
|
||||
intent.setData(data);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
}
|
||||
|
||||
private void doConfirm() {
|
||||
if (checkParams()) {
|
||||
String time = "";
|
||||
String content = mEtContent.getText().toString().trim();
|
||||
mListener.doConfirm(time, content);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验参数
|
||||
*/
|
||||
private boolean checkParams() {
|
||||
String content = mEtContent.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
ToastUtils.show("请输入原由");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public void addOnChoseListener(OnChoseListener listener) {
|
||||
this.mListener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择
|
||||
*
|
||||
* @param i
|
||||
*/
|
||||
private void choseType(int i) {
|
||||
this.dismiss();
|
||||
}
|
||||
|
||||
public interface OnChoseListener {
|
||||
void doConfirm(String list, String ids);
|
||||
}
|
||||
|
||||
public static class DialogBuilder {
|
||||
private Context mContext;
|
||||
private boolean isCancelable;
|
||||
private boolean mIsBackable;
|
||||
private int mGravity = Gravity.BOTTOM;
|
||||
private OnChoseListener mListener;
|
||||
private boolean mIsShowOther;
|
||||
|
||||
public DialogBuilder(Context context) {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
public DialogBuilder setIscancelable(boolean iscancelable) {
|
||||
this.isCancelable = iscancelable;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setIsBackCancelable(boolean isBackCancelable) {
|
||||
this.mIsBackable = isBackCancelable;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setShowLocation(int gravity) {
|
||||
this.mGravity = gravity;
|
||||
return this;
|
||||
}
|
||||
|
||||
private boolean mIsShow;
|
||||
|
||||
public DialogBuilder setIsShowFile(boolean isShowFile) {
|
||||
mIsShow = isShowFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setIsShowOther(boolean isShow) {
|
||||
mIsShowOther = isShow;
|
||||
return this;
|
||||
}
|
||||
|
||||
private List<PersonSearchBean.GridPersonListBean> mList;
|
||||
|
||||
public DialogBuilder setList(List<PersonSearchBean.GridPersonListBean> list) {
|
||||
this.mList = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CenterGridPhoneListView build() {
|
||||
return new CenterGridPhoneListView(this.mContext, this.isCancelable, this.mIsBackable, this.mGravity,
|
||||
mIsShow, mIsShowOther, mList);
|
||||
}
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@ import android.widget.EditText;
|
||||
import android.widget.RadioGroup;
|
||||
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
@ -12,12 +12,13 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -99,6 +100,17 @@ public class CenterInputView extends Dialog {
|
||||
this.mListener = listener;
|
||||
}
|
||||
|
||||
|
||||
public void hideSoftKeyboard(){
|
||||
try{
|
||||
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.hideSoftInputFromWindow(mEtContent.getWindowToken(), 0);
|
||||
}
|
||||
catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 选择
|
||||
*
|
||||
|
@ -15,7 +15,7 @@ import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
@ -0,0 +1,146 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.TouchDelegate;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
|
||||
/**
|
||||
* 作者 : Adam on 2018/7/23.
|
||||
* 邮箱 : itgaojian@163.com
|
||||
* 描述 : 升级进度条
|
||||
*/
|
||||
public class CenterProgressUpdateView extends Dialog {
|
||||
|
||||
private View view;
|
||||
private Context context;
|
||||
private OnChoseListener mListener;
|
||||
public ImageView mIvImg;
|
||||
private String content;
|
||||
private CircleProgress mCpProgress;
|
||||
|
||||
private CenterProgressUpdateView(Context context, String content) {
|
||||
super(context, R.style.dialog_center);
|
||||
this.context = context;
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将view的点击区域放大
|
||||
*
|
||||
* @param view 需要放大的view
|
||||
* @param expandTouchWidth 放大的宽度
|
||||
*/
|
||||
public void setTouchDelegate(final View view, final int expandTouchWidth) {
|
||||
final View parentView = (View) view.getParent();
|
||||
parentView.post(() -> {
|
||||
final Rect rect = new Rect();
|
||||
view.getHitRect(rect);
|
||||
rect.top -= expandTouchWidth;
|
||||
rect.bottom += expandTouchWidth;
|
||||
rect.left -= expandTouchWidth;
|
||||
rect.right += expandTouchWidth;
|
||||
TouchDelegate touchDelegate = new TouchDelegate(rect, view);
|
||||
parentView.setTouchDelegate(touchDelegate);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
view = LayoutInflater.from(context).inflate(R.layout.dialog_center_update_progress, null);
|
||||
mCpProgress = view.findViewById(R.id.cp_progress);
|
||||
setContentView(view);
|
||||
setCancelable(false);
|
||||
setCanceledOnTouchOutside(false);
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||
windowManager.getDefaultDisplay().getMetrics(dm);
|
||||
Window window = this.getWindow();
|
||||
window.setGravity(Gravity.CENTER);
|
||||
window.setWindowAnimations(R.style.Dialog_ChoseFile);
|
||||
WindowManager.LayoutParams params = window.getAttributes();
|
||||
params.width = (int) (dm.widthPixels * 0.7);
|
||||
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
window.setAttributes(params);
|
||||
window.setBackgroundDrawable(new ColorDrawable());
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前进度
|
||||
*/
|
||||
public void setCurrentProgress(int progress) {
|
||||
if (mCpProgress != null) {
|
||||
mCpProgress.setCurrentProgress(progress);
|
||||
}
|
||||
}
|
||||
|
||||
private void showSoftKeyBoardDialog(EditText editText) {
|
||||
if (editText != null) {
|
||||
editText.setFocusable(true);
|
||||
editText.setFocusableInTouchMode(true);
|
||||
//请求获得焦点
|
||||
editText.requestFocus();
|
||||
//调用系统输入法
|
||||
InputMethodManager inputManager =
|
||||
(InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
inputManager.showSoftInput(editText, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void addOnChoseListener(OnChoseListener listener) {
|
||||
this.mListener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择
|
||||
*
|
||||
* @param i
|
||||
*/
|
||||
private void choseType(int i) {
|
||||
if (mListener != null) {
|
||||
switch (i) {
|
||||
case 1:
|
||||
mListener.doUpdate();
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.dismiss();
|
||||
}
|
||||
|
||||
public interface OnChoseListener {
|
||||
void doUpdate();
|
||||
}
|
||||
|
||||
public static class DialogBuilder {
|
||||
private Context mContext;
|
||||
private String content;
|
||||
|
||||
public DialogBuilder(Context context) {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
public CenterProgressUpdateView build() {
|
||||
return new CenterProgressUpdateView(this.mContext, this.content);
|
||||
}
|
||||
|
||||
public DialogBuilder setContent(String content) {
|
||||
this.content = content;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
@ -15,7 +15,7 @@ import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@ import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
import com.tenlionsoft.baselib.core.beans.AreaBean;
|
||||
|
@ -2,9 +2,7 @@ package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
@ -23,23 +21,9 @@ import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||
import com.tenlionsoft.baselib.core.beans.AreaBean;
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
|
||||
import com.tenlionsoft.baselib.core.retrofit_net.api.BaseApiService;
|
||||
import com.tenlionsoft.baselib.utils.UIUtil;
|
||||
import com.tenlionsoft.baselib.utils.UserLgUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.rxjava3.core.Observer;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||
|
||||
|
||||
/**
|
||||
@ -58,10 +42,12 @@ public class ChangePwdDialog extends Dialog {
|
||||
private boolean isShowNewPwd;
|
||||
private boolean isShowNewConfirmPwd;
|
||||
private OnChangeListener mChangeListener;
|
||||
private boolean mIsShow;
|
||||
|
||||
private ChangePwdDialog(Context context) {
|
||||
private ChangePwdDialog(Context context, boolean isShow) {
|
||||
super(context, R.style.dialog_center_alpha);
|
||||
this.context = context;
|
||||
this.mIsShow = isShow;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -78,7 +64,8 @@ public class ChangePwdDialog extends Dialog {
|
||||
ImageView ivShowOriPwd = view.findViewById(R.id.iv_show_pwd_origin);
|
||||
ImageView ivShowNewPwd = view.findViewById(R.id.iv_show_new_pwd);
|
||||
ImageView ivShowNewConfirmPwd = view.findViewById(R.id.iv_pwd_new_confirm);
|
||||
|
||||
TextView tvHint = view.findViewById(R.id.tv_hint);
|
||||
tvHint.setVisibility(mIsShow ? View.VISIBLE : View.GONE);
|
||||
|
||||
ivShowOriPwd.setOnClickListener(v -> {
|
||||
Editable etext = mEtOriginPwd.getText();
|
||||
@ -123,7 +110,13 @@ public class ChangePwdDialog extends Dialog {
|
||||
}
|
||||
});
|
||||
|
||||
view.findViewById(R.id.tv_cancel).setOnClickListener(v -> this.dismiss());
|
||||
view.findViewById(R.id.tv_cancel).setOnClickListener(v -> {
|
||||
if (mIsShow) {
|
||||
ToastUtils.show("请修改密码");
|
||||
} else {
|
||||
this.dismiss();
|
||||
}
|
||||
});
|
||||
view.findViewById(R.id.tv_confirm).setOnClickListener(v -> doConfirm());
|
||||
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
|
||||
Window window = this.getWindow();
|
||||
@ -155,6 +148,7 @@ public class ChangePwdDialog extends Dialog {
|
||||
public interface OnChangeListener {
|
||||
void doChange(String org, String nPwd, String nCPwd);
|
||||
}
|
||||
|
||||
public void HideSoftKeyBoardDialog(Activity activity) {
|
||||
try {
|
||||
InputMethodManager imm = (InputMethodManager) activity.getSystemService(activity.INPUT_METHOD_SERVICE);
|
||||
@ -164,6 +158,7 @@ public class ChangePwdDialog extends Dialog {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验参数
|
||||
*/
|
||||
@ -176,6 +171,11 @@ public class ChangePwdDialog extends Dialog {
|
||||
String newPwd = mEtNewPwd.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(newPwd)) {
|
||||
ToastUtils.show("请输入新密码");
|
||||
return false;
|
||||
}
|
||||
if (PathConfig.DEFAULT_PWD_8.equals(newPwd)) {
|
||||
ToastUtils.show("新密码过于简单,请修改");
|
||||
return false;
|
||||
}
|
||||
String newConfirmPwd = mEtNewConfirmPwd.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(newConfirmPwd) || !newPwd.equals(newConfirmPwd)) {
|
||||
@ -193,9 +193,16 @@ public class ChangePwdDialog extends Dialog {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
private boolean mIsShow;
|
||||
|
||||
public DialogBuilder setShowHint(boolean isShow) {
|
||||
this.mIsShow = isShow;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public ChangePwdDialog build() {
|
||||
return new ChangePwdDialog(mContext);
|
||||
return new ChangePwdDialog(mContext, mIsShow);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,506 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views; /**
|
||||
* CircleProgress 2017-10-28
|
||||
* Copyright (c) 2017 KL Co.Ltd. All right reserved.
|
||||
*/
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.LinearGradient;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Path;
|
||||
import android.graphics.PointF;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.Shader;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.ConvertUtils;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
|
||||
/**
|
||||
* 圆形进度条
|
||||
*
|
||||
* @author Adam
|
||||
* since 2023 6 23
|
||||
*/
|
||||
public class CircleProgress extends View {
|
||||
private Context mContext;
|
||||
|
||||
/**
|
||||
* 默认进度圆环渐变色值集合
|
||||
*/
|
||||
private int[] mDefColors = {Color.rgb(0, 187, 238), Color.rgb(0, 34, 255)};
|
||||
/**
|
||||
* 100%进度圆环渐变色值集合
|
||||
*/
|
||||
private int[] mEndColors = {Color.rgb(255, 196, 0), Color.rgb(255, 110, 77)};
|
||||
private int mStartColor = Color.rgb(101, 226, 175);
|
||||
private int mEndColor = Color.rgb(88, 181, 250);
|
||||
|
||||
// 圆心x坐标
|
||||
private float centerX, centerY;
|
||||
// 圆的半径
|
||||
private float radius;
|
||||
// 进度
|
||||
private float mProgress;
|
||||
// 当前进度
|
||||
private float currentProgress;
|
||||
// 圆形进度条底色画笔
|
||||
private Paint circleBgPaint;
|
||||
// 圆形进度条进度画笔
|
||||
private Paint progressPaint;
|
||||
// 进度条背景颜色
|
||||
private int circleBgColor = Color.rgb(225, 229, 232);
|
||||
// 进度条颜色
|
||||
private int progressColor = Color.RED;
|
||||
// 默认圆环的宽度
|
||||
private int defaultStrokeWidth = 10;
|
||||
// 圆形背景画笔宽度
|
||||
private int circleBgStrokeWidth = defaultStrokeWidth;
|
||||
// 圆形进度画笔宽度
|
||||
private int progressStrokeWidth = defaultStrokeWidth;
|
||||
private int lineWidth;
|
||||
private boolean isDrawCenterProgressText;
|
||||
private int centerProgressTextSize = 23;
|
||||
private int centerProgressTextColor = Color.BLACK;
|
||||
private int targetTextSize = 10;
|
||||
private int targetTextColor = Color.GRAY;
|
||||
private int targetNumSize = 20;
|
||||
private int targetNumColor = Color.BLACK;
|
||||
private int lineColor = Color.GRAY;
|
||||
|
||||
// 各种画笔
|
||||
private Paint centerProgressTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private Paint trainPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private Paint linePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private Paint targetTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// private Paint targetNumPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
|
||||
// 扇形所在矩形
|
||||
private RectF rectF = new RectF();
|
||||
// 进度动画
|
||||
private ValueAnimator progressAnimator;
|
||||
// 动画执行时间
|
||||
private int duration = 1000;
|
||||
// 动画延时启动时间
|
||||
private int startDelay = 500;
|
||||
|
||||
private ProgressListener progressListener;
|
||||
private String targetText;
|
||||
private String targetNum = "0";
|
||||
private int dp1, dp2, dp4, dp5, dp6, dp7, dp8, dp30;
|
||||
|
||||
public CircleProgress(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public CircleProgress(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mContext = context;
|
||||
dp1 = ConvertUtils.dp2px(1);
|
||||
dp2 = ConvertUtils.dp2px(2);
|
||||
dp4 = ConvertUtils.dp2px(4);
|
||||
dp5 = ConvertUtils.dp2px(5);
|
||||
dp6 = ConvertUtils.dp2px(6);
|
||||
dp7 = ConvertUtils.dp2px(7);
|
||||
dp8 = ConvertUtils.dp2px(8);
|
||||
dp30 = ConvertUtils.dp2px(30);
|
||||
getAttr(attrs);
|
||||
initPaint();
|
||||
}
|
||||
|
||||
private void getAttr(AttributeSet attrs) {
|
||||
TypedArray typedArray = mContext.obtainStyledAttributes(attrs, R.styleable.CircleProgressBarView);
|
||||
|
||||
circleBgStrokeWidth =
|
||||
typedArray.getDimensionPixelOffset(R.styleable.CircleProgressBarView_circleBgStrokeWidth,
|
||||
defaultStrokeWidth);
|
||||
progressStrokeWidth =
|
||||
typedArray.getDimensionPixelOffset(R.styleable.CircleProgressBarView_progressStrokeWidth,
|
||||
defaultStrokeWidth);
|
||||
|
||||
circleBgColor = typedArray.getColor(R.styleable.CircleProgressBarView_circleBgColor, circleBgColor);
|
||||
progressColor = typedArray.getColor(R.styleable.CircleProgressBarView_progressColor, progressColor);
|
||||
|
||||
duration = typedArray.getColor(R.styleable.CircleProgressBarView_circleAnimationDuration, duration);
|
||||
|
||||
isDrawCenterProgressText = typedArray.getBoolean(R.styleable.CircleProgressBarView_isDrawCenterProgressText,
|
||||
false);
|
||||
|
||||
centerProgressTextColor = typedArray.getColor(R.styleable.CircleProgressBarView_centerProgressTextColor,
|
||||
mEndColor);
|
||||
centerProgressTextSize =
|
||||
typedArray.getDimensionPixelOffset(R.styleable.CircleProgressBarView_centerProgressTextSize,
|
||||
ConvertUtils.sp2px(centerProgressTextSize));
|
||||
lineWidth = typedArray.getDimensionPixelOffset(R.styleable.CircleProgressBarView_lineWidth,
|
||||
ConvertUtils.dp2px(1));
|
||||
lineColor = typedArray.getColor(R.styleable.CircleProgressBarView_lineColor, circleBgColor);
|
||||
targetNumColor = typedArray.getColor(R.styleable.CircleProgressBarView_targetNumColor, targetNumColor);
|
||||
targetNumSize = typedArray.getDimensionPixelSize(R.styleable.CircleProgressBarView_targetNumSize,
|
||||
ConvertUtils.sp2px(20));
|
||||
targetTextSize = typedArray.getDimensionPixelSize(R.styleable.CircleProgressBarView_targetTextSize,
|
||||
ConvertUtils.sp2px(12));
|
||||
targetTextColor = typedArray.getColor(R.styleable.CircleProgressBarView_targetTextColor, targetTextColor);
|
||||
targetText = typedArray.getString(R.styleable.CircleProgressBarView_target_text);
|
||||
typedArray.recycle();
|
||||
}
|
||||
|
||||
public void setCenterProgressTextColor(int color) {
|
||||
this.centerProgressTextColor = color;
|
||||
centerProgressTextPaint.setColor(color);
|
||||
}
|
||||
|
||||
private void initPaint() {
|
||||
circleBgPaint = getPaint(circleBgStrokeWidth, circleBgColor);
|
||||
|
||||
progressPaint = getPaint(progressStrokeWidth, progressColor);
|
||||
trainPaint = getPaint(ConvertUtils.dp2px(1), progressColor);
|
||||
trainPaint.setStyle(Paint.Style.FILL);
|
||||
|
||||
linePaint = getPaint(lineWidth, lineColor);
|
||||
|
||||
// 目标文本画笔配置
|
||||
targetTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
targetTextPaint.setTextSize(targetTextSize);
|
||||
targetTextPaint.setColor(targetTextColor);
|
||||
targetTextPaint.setTextAlign(Paint.Align.CENTER);
|
||||
|
||||
// 目标数字画笔配置
|
||||
// targetNumPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// targetNumPaint.setTextSize(targetNumSize);
|
||||
// targetNumPaint.setColor(targetNumColor);
|
||||
// targetNumPaint.setTextAlign(Paint.Align.CENTER);
|
||||
|
||||
// 中间文本画笔配置
|
||||
centerProgressTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
centerProgressTextPaint.setTextSize(centerProgressTextSize);
|
||||
centerProgressTextPaint.setColor(centerProgressTextColor);
|
||||
centerProgressTextPaint.setTextAlign(Paint.Align.CENTER);
|
||||
}
|
||||
|
||||
private Paint getPaint(int strokeWidth, int color) {
|
||||
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
paint.setStrokeWidth(strokeWidth);
|
||||
paint.setColor(color);
|
||||
paint.setAntiAlias(true);
|
||||
paint.setStrokeCap(Paint.Cap.ROUND);
|
||||
paint.setStyle(Paint.Style.STROKE);
|
||||
return paint;
|
||||
}
|
||||
|
||||
private LinearGradient mShader;
|
||||
|
||||
private void configShader() {
|
||||
// Log.d("201801251336", "progress = " + mProgress);
|
||||
// int colors[] = {
|
||||
// Color.rgb(97, 212, 198), Color.rgb(100, 225, 176),
|
||||
// Color.rgb(93, 198, 221), Color.rgb(90, 187, 239)
|
||||
// };
|
||||
// float positions[] = {
|
||||
// 0.2f, 0.3f, 0.3f, 0.2f
|
||||
// };
|
||||
// 清空画笔
|
||||
progressPaint.setShader(null);
|
||||
if (mProgress >= 100) {
|
||||
mShader = new LinearGradient(centerX, 0, centerX, getHeight(),
|
||||
mEndColors, null, Shader.TileMode.CLAMP);
|
||||
} else {
|
||||
mShader = new LinearGradient(centerX, 0, centerX, getHeight(),
|
||||
mDefColors, null, Shader.TileMode.CLAMP);
|
||||
}
|
||||
|
||||
// 圆内纵向直径为着色路径,圆环的左半边和右半边的色值有点对称的感觉
|
||||
// mShader = new LinearGradient(centerX, centerY - radius, centerX, centerY + radius,
|
||||
// mColors,
|
||||
// null, Shader.TileMode.CLAMP);
|
||||
// 圆内横向直径为着色路径,可以达到首尾渐变效果,但进度不超过50%,看不出渐变后的效果
|
||||
// mShader = new LinearGradient(centerX + radius, centerY, centerX - radius, centerY,
|
||||
// mColors,
|
||||
// null, Shader.TileMode.CLAMP);
|
||||
|
||||
// mShader = new SweepGradient(centerX,centerY,mColors,new float[]{0.5f,0.5f});
|
||||
// mShader = new SweepGradient(centerX,centerY,colors,null);
|
||||
// mShader = new SweepGradient(centerX,centerY,mEndColor,mStartColor);
|
||||
// mShader = new RadialGradient(centerX,centerY,radius,mColors,null, Shader.TileMode.CLAMP);
|
||||
|
||||
progressPaint.setShader(mShader);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow();
|
||||
if (progressAnimator != null) {
|
||||
progressAnimator.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean proAnimIsEnd = false;
|
||||
|
||||
private void initAnimation() {
|
||||
proAnimIsEnd = false;
|
||||
progressAnimator = ValueAnimator.ofFloat(0, mProgress);
|
||||
progressAnimator.setDuration(duration);
|
||||
progressAnimator.setStartDelay(startDelay);
|
||||
progressAnimator.setInterpolator(new LinearInterpolator());
|
||||
progressAnimator.addUpdateListener(valueAnimator -> {
|
||||
float value = (float) valueAnimator.getAnimatedValue();
|
||||
mProgress = value;
|
||||
currentProgress = value * 360 / 100;
|
||||
if (progressListener != null) {
|
||||
progressListener.currentProgressListener(value);
|
||||
}
|
||||
invalidate();
|
||||
});
|
||||
progressAnimator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
super.onAnimationEnd(animation);
|
||||
proAnimIsEnd = true;
|
||||
invalidate();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setTargetNum(String num) {
|
||||
targetNum = num;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
|
||||
super.onSizeChanged(w, h, oldW, oldH);
|
||||
centerX = w / 2;
|
||||
centerY = h / 2;
|
||||
|
||||
// 半径再缩小点,给小三角形空出距离
|
||||
radius = Math.min(w, h) / 2 - Math.max(circleBgStrokeWidth, progressStrokeWidth) - dp4;
|
||||
|
||||
rectF.set(centerX - radius,
|
||||
centerY - radius,
|
||||
centerX + radius,
|
||||
centerY + radius);
|
||||
trainPaint.setColor(circleBgColor);
|
||||
|
||||
configShader();
|
||||
}
|
||||
|
||||
public void setColors(int[] colors) {
|
||||
mDefColors = colors;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
// LogUtil.logD("201801251106", "centerX = " + centerX + "->centerY = "
|
||||
// + centerY + "->mProgress = " + mProgress);
|
||||
canvas.drawCircle(centerX, centerY, radius, circleBgPaint);
|
||||
canvas.drawArc(rectF, -90, currentProgress, false, progressPaint);
|
||||
if (isDrawCenterProgressText) {
|
||||
drawCenterProgressText(canvas, formatNum(mProgress) + "%");
|
||||
}
|
||||
if (proAnimIsEnd) {
|
||||
drawTriangle(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
private void drawCenterProgressText(Canvas canvas, String currentProgress) {
|
||||
Paint.FontMetricsInt fontMetrics1 = centerProgressTextPaint.getFontMetricsInt();
|
||||
int baseline = (int) ((rectF.bottom + rectF.top - fontMetrics1.bottom - fontMetrics1.top) / 2);
|
||||
//文字绘制到整个布局的中心位置
|
||||
// canvas.drawLine(centerX - dp30, centerY, centerX + dp30, centerY, linePaint);
|
||||
// canvas.drawText(currentProgress, rectF.centerX(), centerY - dp5, centerProgressTextPaint);
|
||||
canvas.drawText(currentProgress, rectF.centerX(), rectF.centerY()+dp5, centerProgressTextPaint);
|
||||
|
||||
// Paint.FontMetricsInt fontMetrics2 = targetNumPaint.getFontMetricsInt();
|
||||
// int baseline2 = baseline + (fontMetrics2.bottom - fontMetrics2.top);
|
||||
// canvas.drawText("升级中...", rectF.centerX(), baseline + dp7, targetTextPaint);
|
||||
|
||||
// canvas.drawText(targetNum, rectF.centerX(), baseline2 + dp5, targetNumPaint);
|
||||
}
|
||||
|
||||
/**
|
||||
* 绘制三角形
|
||||
*
|
||||
* @param canvas
|
||||
*/
|
||||
private void drawTriangle(Canvas canvas) {
|
||||
Path path = new Path();
|
||||
PointF pf1, pf2, pf3;
|
||||
// LogUtil.logD("20190124", "绘制小三角 mProgress = " + mProgress);
|
||||
if (mProgress < 49) {
|
||||
trainPaint.setColor(circleBgColor);
|
||||
pf1 = new PointF(centerX - dp8, centerY * 2 - progressStrokeWidth - dp2);
|
||||
pf2 = new PointF(centerX - dp1, getHeight() - dp2);
|
||||
pf3 = new PointF(centerX + dp6, centerY * 2 - progressStrokeWidth - dp2);
|
||||
} else if (mProgress >= 49 && mProgress < 51) {
|
||||
float[] positions;
|
||||
int pro = (int) (mProgress * 100);
|
||||
if (mProgress >= 49 && pro < 49.2 * 100) {
|
||||
positions = new float[]{0.39f, 0.39f};
|
||||
// LogUtil.logD("20190124", "阶段1 -> pro = " + pro);
|
||||
} else if (pro >= 49.2 * 100 && pro < 49.4 * 100) {
|
||||
positions = new float[]{0.46f, 0.46f};
|
||||
// LogUtil.logD("20190124", "阶段2");
|
||||
} else if (pro >= 49.4 * 100 && pro < 49.6 * 100) {
|
||||
positions = new float[]{0.5f, 0.5f};
|
||||
// LogUtil.logD("20190124", "阶段3 -> pro = " + pro);
|
||||
} else if (pro >= 49.6 * 100 && pro < 49.8 * 100) {
|
||||
positions = new float[]{0.62f, 0.38f};
|
||||
// LogUtil.logD("20190124", "阶段4 -> pro = " + pro);
|
||||
} else if (pro >= 49.8 * 100 && pro < 50 * 100) {
|
||||
positions = new float[]{0.64f, 0.36f};
|
||||
// LogUtil.logD("20190124", "阶段5 -> pro = " + pro);
|
||||
} else if (pro >= 50 * 100 && pro < 50.2 * 100) {
|
||||
positions = new float[]{0.7f, 0.3f};
|
||||
// LogUtil.logD("20190124", "阶段6 -> pro = " + pro);
|
||||
} else if (pro >= 50.2 * 100 && pro < 50.4 * 100) {
|
||||
positions = new float[]{0.75f, 0.25f};
|
||||
// LogUtil.logD("20190124", "阶段7 -> pro = " + pro);
|
||||
} else if (pro >= 50.4 * 100 && pro < 50.6 * 100) {
|
||||
positions = new float[]{0.8f, 0.2f};
|
||||
// LogUtil.logD("20190124", "阶段8 -> pro = " + pro);
|
||||
} else if (pro >= 50.6 * 100 && pro <= 50.8 * 100) {
|
||||
positions = new float[]{0.9f, 0.1f};
|
||||
// LogUtil.logD("20190124", "阶段9 -> pro = " + pro);
|
||||
} else {
|
||||
positions = new float[]{1.0f, 0.f};
|
||||
// LogUtil.logD("20190124", "阶段 else");
|
||||
}
|
||||
LinearGradient triangleGdt = new LinearGradient(
|
||||
centerX + dp6,
|
||||
0,
|
||||
centerX - dp8,
|
||||
0,
|
||||
new int[]{Color.rgb(88, 181, 250), Color.rgb(225, 229, 232)},
|
||||
positions, Shader.TileMode.CLAMP);
|
||||
trainPaint.setShader(triangleGdt);
|
||||
pf1 = new PointF(centerX - dp8, centerY * 2 - progressStrokeWidth - dp2);
|
||||
pf2 = new PointF(centerX - dp1, getHeight() - dp2);
|
||||
pf3 = new PointF(centerX + dp6, centerY * 2 - progressStrokeWidth - dp2);
|
||||
} else {
|
||||
trainPaint.setShader(null); // 不要忘记清空着色器,不能设置的color没有效果,会优先显示shader
|
||||
if (mProgress >= 100) {
|
||||
trainPaint.setColor(mEndColors[mEndColors.length - 1]);
|
||||
} else {
|
||||
trainPaint.setColor(mDefColors[mDefColors.length - 1]);
|
||||
}
|
||||
pf1 = new PointF(centerX - dp8, centerY * 2 - progressStrokeWidth - dp2);
|
||||
pf2 = new PointF(centerX - dp1, getHeight());
|
||||
pf3 = new PointF(centerX + dp6, centerY * 2 - progressStrokeWidth - dp2);
|
||||
}
|
||||
path.moveTo(pf1.x, pf1.y);
|
||||
path.lineTo(pf2.x, pf2.y);
|
||||
path.lineTo(pf3.x, pf3.y);
|
||||
canvas.drawPath(path, trainPaint);
|
||||
path.reset();
|
||||
}
|
||||
|
||||
|
||||
public void startProgressAnimation() {
|
||||
progressAnimator.start();
|
||||
}
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
|
||||
public void pauseProgressAnimation() {
|
||||
progressAnimator.pause();
|
||||
}
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
|
||||
public void resumeProgressAnimation() {
|
||||
progressAnimator.resume();
|
||||
}
|
||||
|
||||
public void stopProgressAnimation() {
|
||||
progressAnimator.end();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 传入一个进度值,从0到progress动画变化
|
||||
*
|
||||
* @param progress
|
||||
* @return
|
||||
*/
|
||||
public CircleProgress setProgressWithAnimation(float progress) {
|
||||
// if (progress <= 0f || String.valueOf(progress).equals(String.valueOf(Float.NaN))) {
|
||||
if (progress <= 0f || Float.isNaN(progress)) {
|
||||
setCurrentProgress(0f, true);
|
||||
return this;
|
||||
}
|
||||
mProgress = progress;
|
||||
// if (progress >= 100) {
|
||||
// configShader();
|
||||
// }else{
|
||||
configShader();
|
||||
// }
|
||||
initAnimation();
|
||||
startProgressAnimation();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 实时进度,适用于下载进度回调时候之类的场景
|
||||
*
|
||||
* @param progress
|
||||
* @return
|
||||
*/
|
||||
public CircleProgress setCurrentProgress(float progress) {
|
||||
mProgress = progress;
|
||||
currentProgress = progress * 360 / 100;
|
||||
if (progress >= 100) {
|
||||
configShader();
|
||||
}
|
||||
invalidate();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 实时进度,适用于下载进度回调时候之类的场景
|
||||
*
|
||||
* @param progress
|
||||
* @param isArrow 是否有小箭头
|
||||
* @return
|
||||
*/
|
||||
public CircleProgress setCurrentProgress(float progress, boolean isArrow) {
|
||||
proAnimIsEnd = isArrow;
|
||||
setCurrentProgress(progress);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化数字(保留两位小数)
|
||||
*
|
||||
* @param money
|
||||
* @return
|
||||
*/
|
||||
public static String formatNum(float money) {
|
||||
if (((int) money * 100) == (int) (money * 100)) {
|
||||
//如果是一个整数
|
||||
return String.valueOf((int) money);
|
||||
}
|
||||
DecimalFormat format = new DecimalFormat("0.00");
|
||||
return format.format(money);
|
||||
}
|
||||
|
||||
public interface ProgressListener {
|
||||
void currentProgressListener(float currentProgress);
|
||||
}
|
||||
|
||||
public CircleProgress setProgressListener(ProgressListener listener) {
|
||||
progressListener = listener;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatRatingBar;
|
||||
|
@ -0,0 +1,87 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.jcodecraeer.xrecyclerview.progressindicator.AVLoadingIndicatorView;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* 作者: adam
|
||||
* 日期: 2022/4/27 - 16:40
|
||||
* 邮箱: itgaojian@163.com
|
||||
* 描述: 加载状态view
|
||||
*/
|
||||
public class CustomStateView extends LinearLayout {
|
||||
public static final int STATE_LOAD = 0x123;//加载中
|
||||
public static final int STATE_EMPTY = 0x124;//空数据
|
||||
public static final int STATE_ERROR = 0x125;//加载失败
|
||||
public static final int STATE_SUCCESS = 0x126;//加载成功
|
||||
public static final int STATE_ERROR_NET = 0x127;//加载失败,网络错误
|
||||
public static final int STATE_SEARCH = 0x128;//搜索默认状态
|
||||
private AVLoadingIndicatorView mPbStateLoading;
|
||||
private ImageView mIvStateDate;
|
||||
private TextView mTvStateHint;
|
||||
|
||||
public CustomStateView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public CustomStateView(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
View view = LayoutInflater.from(context).inflate(R.layout.layout_state_view, this, true);
|
||||
mPbStateLoading = view.findViewById(R.id.pb_state_loading);
|
||||
mIvStateDate = view.findViewById(R.id.iv_state_data);
|
||||
mTvStateHint = view.findViewById(R.id.tv_state_hint);
|
||||
setState(STATE_LOAD);
|
||||
}
|
||||
|
||||
public CustomStateView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
switch (state) {
|
||||
case STATE_LOAD://加载中
|
||||
mIvStateDate.setVisibility(View.GONE);
|
||||
mPbStateLoading.setVisibility(View.VISIBLE);
|
||||
mTvStateHint.setVisibility(View.VISIBLE);
|
||||
mTvStateHint.setText("加载中...");
|
||||
break;
|
||||
case STATE_EMPTY://没有数据
|
||||
mIvStateDate.setVisibility(View.VISIBLE);
|
||||
mIvStateDate.setBackgroundResource(R.drawable.ic_empty_data);
|
||||
mPbStateLoading.setVisibility(View.GONE);
|
||||
mTvStateHint.setVisibility(View.VISIBLE);
|
||||
mTvStateHint.setText("暂无数据");
|
||||
break;
|
||||
case STATE_ERROR:
|
||||
mIvStateDate.setVisibility(View.VISIBLE);
|
||||
mIvStateDate.setBackgroundResource(R.drawable.ic_load_error);
|
||||
mPbStateLoading.setVisibility(View.GONE);
|
||||
mTvStateHint.setVisibility(View.VISIBLE);
|
||||
mTvStateHint.setText("加载失败");
|
||||
break;
|
||||
case STATE_SUCCESS:
|
||||
mIvStateDate.setVisibility(GONE);
|
||||
mPbStateLoading.setVisibility(GONE);
|
||||
mTvStateHint.setVisibility(GONE);
|
||||
break;
|
||||
case STATE_SEARCH://搜索默认
|
||||
mIvStateDate.setVisibility(View.VISIBLE);
|
||||
mIvStateDate.setBackgroundResource(R.drawable.ic_empty_data);
|
||||
mPbStateLoading.setVisibility(View.GONE);
|
||||
mTvStateHint.setVisibility(View.VISIBLE);
|
||||
mTvStateHint.setText("请输入要搜索的内容");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.core.beans.PersonSearchBean;
|
||||
import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GridTextAdapter extends BaseRecyclerAdapter<PersonSearchBean.GridPersonListBean, GridTextViewHolder> {
|
||||
public GridTextAdapter(Context ctx, List<PersonSearchBean.GridPersonListBean> list) {
|
||||
super(ctx, list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GridTextViewHolder createHolder(ViewGroup parent, int viewType) {
|
||||
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_grid_phone, parent, false);
|
||||
return new GridTextViewHolder(itemView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindHolder(GridTextViewHolder gridTextViewHolder, int i) {
|
||||
gridTextViewHolder.mTvName.setText(mData.get(i).getGridUserName());
|
||||
gridTextViewHolder.mTvPhone.setText(TextUtils.isEmpty(mData.get(i).getGridUserPhone())?"未录入":mData.get(i).getGridUserPhone());
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
public class GridTextViewHolder extends RecyclerView.ViewHolder {
|
||||
public TextView mTvName;
|
||||
public TextView mTvPhone;
|
||||
public LinearLayout mLlGrid;
|
||||
public GridTextViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
mTvName=itemView.findViewById(R.id.tv_name);
|
||||
mTvPhone= itemView.findViewById(R.id.tv_phone);
|
||||
mLlGrid=itemView.findViewById(R.id.ll_grid);
|
||||
}
|
||||
}
|
@ -0,0 +1,587 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Path;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.Typeface;
|
||||
import android.text.Layout;
|
||||
import android.text.SpannableString;
|
||||
import android.text.StaticLayout;
|
||||
import android.text.TextPaint;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.text.style.RelativeSizeSpan;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.tenlionsoft.baselib.utils.ConvertUtils;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
|
||||
public class HalfCircleChartView extends View {
|
||||
|
||||
private Path mPath;
|
||||
private Paint mPaintProgress;
|
||||
private Paint mPaintProgressColor;
|
||||
private Paint mColorPaint;
|
||||
private Paint mPercentPaint;
|
||||
private TextPaint mTextPaint;
|
||||
|
||||
private Paint mGrayPaint;
|
||||
private int mPadding = 60;
|
||||
private int mPaintWidth = 60;//画笔线宽
|
||||
|
||||
private RectF mRectF;
|
||||
private int mWidth;
|
||||
private int mHeight;
|
||||
private Paint mBlackPaint;
|
||||
|
||||
|
||||
public HalfCircleChartView(Context context) {
|
||||
super(context, null);
|
||||
}
|
||||
|
||||
public HalfCircleChartView(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
initView();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
|
||||
mPath = new Path();
|
||||
mPath.reset();
|
||||
|
||||
mRectF = new RectF();
|
||||
|
||||
|
||||
mPaintProgress = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mPaintProgress.setStrokeWidth(mPaintWidth);
|
||||
mPaintProgress.setColor(Color.parseColor("#EBF0F6"));
|
||||
mPaintProgress.setStyle(Paint.Style.STROKE);
|
||||
mPaintProgress.setStrokeCap(Paint.Cap.ROUND);
|
||||
// mPaintProgress.setAlpha(40);
|
||||
mPaintProgress.setShadowLayer(6, 0, 6, Color.parseColor("#E0E0E0"));
|
||||
|
||||
mPaintProgressColor = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mPaintProgressColor.setStrokeWidth(mPaintWidth);
|
||||
mPaintProgressColor.setColor(Color.parseColor("#305DFD"));
|
||||
mPaintProgressColor.setStyle(Paint.Style.STROKE);
|
||||
mPaintProgressColor.setStrokeCap(Paint.Cap.ROUND);
|
||||
// mPaintProgressColor.setShadowLayer(6, -5, 5, Color.parseColor("#C2C9E3"));
|
||||
|
||||
mColorPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mColorPaint.setColor(Color.parseColor("#305DFD"));
|
||||
mColorPaint.setStyle(Paint.Style.FILL);
|
||||
mColorPaint.setTextAlign(Paint.Align.CENTER);
|
||||
mColorPaint.setFakeBoldText(true);
|
||||
mColorPaint.setTextSize(ConvertUtils.sp2px(20));
|
||||
mColorPaint.setTextAlign(Paint.Align.CENTER);
|
||||
mPercentPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mPercentPaint.setColor(Color.parseColor("#305DFD"));
|
||||
mPercentPaint.setStyle(Paint.Style.FILL);
|
||||
mPercentPaint.setTextAlign(Paint.Align.CENTER);
|
||||
mPercentPaint.setFakeBoldText(true);
|
||||
mPercentPaint.setTextSize(ConvertUtils.sp2px(12));
|
||||
mPercentPaint.setTextAlign(Paint.Align.CENTER);
|
||||
|
||||
|
||||
mGrayPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mGrayPaint.setColor(Color.parseColor("#8F8F8F"));
|
||||
mGrayPaint.setStyle(Paint.Style.FILL);
|
||||
mGrayPaint.setTextAlign(Paint.Align.CENTER);
|
||||
mGrayPaint.setTextSize(ConvertUtils.sp2px(12));
|
||||
|
||||
mBlackPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mBlackPaint.setColor(Color.BLACK);
|
||||
mBlackPaint.setStyle(Paint.Style.FILL);
|
||||
mBlackPaint.setStrokeWidth(10);
|
||||
|
||||
mTextPaint = new TextPaint();
|
||||
mTextPaint.setColor(Color.parseColor("#305DFD"));
|
||||
mTextPaint.setTextSize(ConvertUtils.sp2px(14));
|
||||
mTextPaint.setTextAlign(Paint.Align.CENTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
mWidth = resolveSize(400, widthMeasureSpec);
|
||||
mHeight = resolveSize(400, heightMeasureSpec);
|
||||
setMeasuredDimension(
|
||||
Math.max(getSuggestedMinimumWidth(),
|
||||
resolveSize(mWidth,
|
||||
widthMeasureSpec)),
|
||||
Math.max(getSuggestedMinimumHeight(),
|
||||
resolveSize(mHeight,
|
||||
heightMeasureSpec)));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
//获取最小一边
|
||||
int min = Math.min(mWidth, mHeight);
|
||||
//中心点
|
||||
int centerX = mWidth / 2;
|
||||
int centerY = mHeight / 2;
|
||||
|
||||
|
||||
int startY = centerY - min / 2;
|
||||
int startX = centerX - min / 2;
|
||||
int endY = centerY + min / 2;
|
||||
int endX = centerX + min / 2;
|
||||
LogUtils.e("矩形:(" + startX + ".." + startY + ")(" + endX + ".." + endY + ")");
|
||||
// Rect path = new Rect(startX, startY, endX, endY);
|
||||
// canvas.drawRect(path, mGrayPaint);
|
||||
mRectF.set(startX + mPaintWidth, startY + mPaintWidth, endX - mPaintWidth, endY - mPaintWidth);
|
||||
int offsetY = centerY - mPaintWidth;
|
||||
LogUtils.e("中心点Y:" + mRectF.centerY() + "==" + centerY);
|
||||
mRectF.offset(0, offsetY);
|
||||
//绘制第一个环形背景
|
||||
mPath.arcTo(mRectF, 180, 180);
|
||||
canvas.drawPath(mPath, mPaintProgress);
|
||||
|
||||
//添加进度
|
||||
addProgress(canvas);
|
||||
//绘制文字
|
||||
drawText(canvas, "70", offsetY);
|
||||
}
|
||||
|
||||
|
||||
private void drawText(Canvas canvas, String percent, int offsetY) {
|
||||
//中心点
|
||||
canvas.save();
|
||||
int centerX = mWidth / 2;
|
||||
int centerY = mHeight / 2;
|
||||
SpannableString s = makeTxt("60");
|
||||
StaticLayout textLayout = new StaticLayout(s, mTextPaint, canvas.getWidth(),
|
||||
Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
|
||||
canvas.translate(centerX, centerY + offsetY - mPaintWidth);
|
||||
textLayout.draw(canvas);
|
||||
canvas.restore();
|
||||
//计算文字所占大小
|
||||
// Rect perRect = new Rect();
|
||||
// mColorPaint.getTextBounds(percent, 0, percent.length(), perRect);
|
||||
//
|
||||
// Rect centRect = new Rect();
|
||||
// mPercentPaint.getTextBounds("%", 0, "%".length(), centRect);
|
||||
// //文字所占长宽
|
||||
// int strWidth = perRect.width() + centRect.width();
|
||||
// LogUtils.e("文字所占宽度:" + strWidth);
|
||||
// int strHeight = perRect.height();
|
||||
//
|
||||
// canvas.drawText(percent, centerX - strWidth / 2, centerY + perRect.height() / 2 + offsetY - mPaintWidth,
|
||||
// mColorPaint);//绘制占比数字
|
||||
//
|
||||
// canvas.drawText("%", centerX + perRect.width() / 2, centerY + centRect.height() + offsetY - mPaintWidth,
|
||||
// mPercentPaint);//绘制百分号
|
||||
// canvas.drawPoint(centerX, centerY + offsetY - mPaintWidth, mBlackPaint);
|
||||
//
|
||||
// Rect re = new Rect();
|
||||
// String s = "重点青少年占比";
|
||||
// mGrayPaint.getTextBounds(s, 0, s.length(), re);
|
||||
// canvas.drawText(s, centerX - re.width() / 2,
|
||||
// centerY + strHeight + re.height() / 2 + 10 + offsetY - mPaintWidth, mGrayPaint);
|
||||
}
|
||||
|
||||
private SpannableString makeTxt(String str) {
|
||||
String content = str + "%\n重点青少年占比";
|
||||
SpannableString s = new SpannableString(content);
|
||||
s.setSpan(new StyleSpan(Typeface.BOLD), 0, content.indexOf("重"), 0);
|
||||
s.setSpan(new ForegroundColorSpan(Color.parseColor("#2F5CFB")), 0, content.indexOf("重"), 0);
|
||||
s.setSpan(new RelativeSizeSpan(1.3f), 0, content.indexOf("重"), 0);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
private void addProgress(Canvas canvas) {
|
||||
Path mPathProgress = new Path();
|
||||
mPathProgress.reset();
|
||||
//70%的进度
|
||||
float progress = 0.7f;
|
||||
float sweepAngle = progress * 180;
|
||||
mPathProgress.arcTo(mRectF, 180, sweepAngle);
|
||||
canvas.drawPath(mPathProgress, mPaintProgressColor);
|
||||
}
|
||||
|
||||
|
||||
//Android Canvas沿着Path绘制文字
|
||||
// private void addTextPath(Canvas canvas) {
|
||||
//
|
||||
// int startAngle = 135; //开始角度
|
||||
// int sweepAngle = 45; //总共 270度角,分6次则为 45度
|
||||
//
|
||||
// String[] content = {"0-10W", "10-20W", "20-30W", "30-40W", "40-50W", "50W+"};
|
||||
// Paint mTextPaint = new Paint();
|
||||
// mTextPaint.setColor(Color.BLACK);
|
||||
// mTextPaint.setTextSize(40);
|
||||
// Path path = null;
|
||||
//
|
||||
//
|
||||
// for (int i = 0; i < 6; i++) {
|
||||
// path = new Path();
|
||||
// path.addArc(mRectF2, startAngle, sweepAngle);
|
||||
// float textLength = mTextPaint.measureText(content[i]);//获得字体长度
|
||||
// float hOffset = (float) (mDiam2 * Math.PI * (sweepAngle * 1.0 / 360) / 2 - textLength / 2);//The
|
||||
// distance along the path
|
||||
// float vOffset = (float) (mDiam2 / 2 / 6); //垂直路径方向上的偏移
|
||||
// canvas.drawTextOnPath(content[i], path, hOffset, vOffset, mTextPaint);
|
||||
//
|
||||
//// Log.d("Circle", "hOffset:" + hOffset + " vOffset: " + vOffset);
|
||||
// startAngle += sweepAngle;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// private void addKeDu1(Canvas canvas) {
|
||||
//
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 45;
|
||||
// //刻度直径
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80; //刻度线长度
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY + py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY + py_a2;
|
||||
//
|
||||
// //绘制粗刻度线
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
//
|
||||
// //绘制细刻度线
|
||||
// int length2 = 50;
|
||||
// for (int i = 1; i < 9; i++) {
|
||||
//
|
||||
// float angle2 = 45 - (i * 45 / 9);
|
||||
// int px_a3 = (int) (radius / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a3 = (int) (radius / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_3 = pointX - px_a3;
|
||||
// int py_a_3 = pointY + py_a3;
|
||||
//
|
||||
// int radius3 = radius - length2;
|
||||
// int px_a4 = (int) (radius3 / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a4 = (int) (radius3 / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_4 = pointX - px_a4;
|
||||
// int py_a_4 = pointY + py_a4;
|
||||
//
|
||||
// canvas.drawLine(px_a_3, py_a_3, px_a_4, py_a_4, paintLine2);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void addKeDu2(Canvas canvas) {
|
||||
//
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 0;
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80;
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY + py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY + py_a2;
|
||||
//
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
//
|
||||
// int length2 = 50;
|
||||
// for (int i = 1; i < 9; i++) {
|
||||
//
|
||||
// float angle2 = angle + (i * 45 / 9);
|
||||
// int px_a3 = (int) (radius / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a3 = (int) (radius / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_3 = pointX - px_a3;
|
||||
// int py_a_3 = pointY - py_a3;
|
||||
//
|
||||
// int radius3 = radius - length2;
|
||||
// int px_a4 = (int) (radius3 / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a4 = (int) (radius3 / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_4 = pointX - px_a4;
|
||||
// int py_a_4 = pointY - py_a4;
|
||||
//
|
||||
// canvas.drawLine(px_a_3, py_a_3, px_a_4, py_a_4, paintLine2);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void addKeDu3(Canvas canvas) {
|
||||
//
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 45;
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80;
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY - py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY - py_a2;
|
||||
//
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
//
|
||||
// int length2 = 50;
|
||||
// for (int i = 1; i < 9; i++) {
|
||||
//
|
||||
// float angle2 = angle + (i * 45 / 9);
|
||||
// int px_a3 = (int) (radius / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a3 = (int) (radius / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_3 = pointX - px_a3;
|
||||
// int py_a_3 = pointY - py_a3;
|
||||
//
|
||||
// int radius3 = radius - length2;
|
||||
// int px_a4 = (int) (radius3 / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a4 = (int) (radius3 / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_4 = pointX - px_a4;
|
||||
// int py_a_4 = pointY - py_a4;
|
||||
//
|
||||
// canvas.drawLine(px_a_3, py_a_3, px_a_4, py_a_4, paintLine2);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void addKeDu4(Canvas canvas) {
|
||||
//
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 90;
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80;
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY - py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY - py_a2;
|
||||
//
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
//
|
||||
// int length2 = 50;
|
||||
// for (int i = 1; i < 9; i++) {
|
||||
//
|
||||
// float angle2 = angle + (i * 45 / 9);
|
||||
// int px_a3 = (int) (radius / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a3 = (int) (radius / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_3 = pointX - px_a3;
|
||||
// int py_a_3 = pointY - py_a3;
|
||||
//
|
||||
// int radius3 = radius - length2;
|
||||
// int px_a4 = (int) (radius3 / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a4 = (int) (radius3 / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_4 = pointX - px_a4;
|
||||
// int py_a_4 = pointY - py_a4;
|
||||
//
|
||||
// canvas.drawLine(px_a_3, py_a_3, px_a_4, py_a_4, paintLine2);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void addKeDu5(Canvas canvas) {
|
||||
//
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 135;
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80;
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY - py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY - py_a2;
|
||||
//
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
//
|
||||
// int length2 = 50;
|
||||
// for (int i = 1; i < 9; i++) {
|
||||
//
|
||||
// float angle2 = angle + (i * 45 / 9);
|
||||
// int px_a3 = (int) (radius / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a3 = (int) (radius / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_3 = pointX - px_a3;
|
||||
// int py_a_3 = pointY - py_a3;
|
||||
//
|
||||
// int radius3 = radius - length2;
|
||||
// int px_a4 = (int) (radius3 / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a4 = (int) (radius3 / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_4 = pointX - px_a4;
|
||||
// int py_a_4 = pointY - py_a4;
|
||||
//
|
||||
// canvas.drawLine(px_a_3, py_a_3, px_a_4, py_a_4, paintLine2);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void addKeDu6(Canvas canvas) {
|
||||
//
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 180;
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80;
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY - py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY - py_a2;
|
||||
//
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
//
|
||||
// int length2 = 50;
|
||||
// for (int i = 1; i < 9; i++) {
|
||||
//
|
||||
// float angle2 = angle + (i * 45 / 9);
|
||||
// int px_a3 = (int) (radius / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a3 = (int) (radius / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_3 = pointX - px_a3;
|
||||
// int py_a_3 = pointY - py_a3;
|
||||
//
|
||||
// int radius3 = radius - length2;
|
||||
// int px_a4 = (int) (radius3 / 2 * Math.cos(Math.PI * angle2 / 180));
|
||||
// int py_a4 = (int) (radius3 / 2 * Math.sin(Math.PI * angle2 / 180));
|
||||
// int px_a_4 = pointX - px_a4;
|
||||
// int py_a_4 = pointY - py_a4;
|
||||
//
|
||||
// canvas.drawLine(px_a_3, py_a_3, px_a_4, py_a_4, paintLine2);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private void addEndKeDu(Canvas canvas) {
|
||||
// int pointX = 500;
|
||||
// int pointY = 500;
|
||||
//
|
||||
// Paint paintLine = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(12);
|
||||
//
|
||||
// Paint paintLine2 = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
// paintLine.setColor(0xff454545);
|
||||
// paintLine.setStrokeWidth(4);
|
||||
//
|
||||
//
|
||||
// float angle = 225;
|
||||
// int radius = 800 - 40;
|
||||
// int length = 80;
|
||||
//
|
||||
// int px_a1 = (int) (radius / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a1 = (int) (radius / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_1 = pointX - px_a1;
|
||||
// int py_a_1 = pointY - py_a1;
|
||||
//
|
||||
// int radius2 = radius - length;
|
||||
// int px_a2 = (int) (radius2 / 2 * Math.cos(Math.PI * angle / 180));
|
||||
// int py_a2 = (int) (radius2 / 2 * Math.sin(Math.PI * angle / 180));
|
||||
// int px_a_2 = pointX - px_a2;
|
||||
// int py_a_2 = pointY - py_a2;
|
||||
//
|
||||
// canvas.drawLine(px_a_1, py_a_1, px_a_2, py_a_2, paintLine);
|
||||
// }
|
||||
}
|
@ -7,7 +7,7 @@ import android.util.AttributeSet;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
|
||||
|
@ -0,0 +1,50 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.PointF;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.github.mikephil.charting.charts.CombinedChart;
|
||||
import com.github.mikephil.charting.charts.HorizontalBarChart;
|
||||
|
||||
/**
|
||||
* 滑动冲突
|
||||
*/
|
||||
public class MPAndroidChartView extends HorizontalBarChart {
|
||||
private PointF mPointF = new PointF();
|
||||
|
||||
public MPAndroidChartView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public MPAndroidChartView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public MPAndroidChartView(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent ev) {
|
||||
getParent().requestDisallowInterceptTouchEvent(true);
|
||||
return super.dispatchTouchEvent(ev);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case MotionEvent.ACTION_DOWN:
|
||||
mPointF.x = event.getX();
|
||||
mPointF.y = event.getY();
|
||||
break;
|
||||
case MotionEvent.ACTION_MOVE:
|
||||
if (getScaleX() > 1 && Math.abs(event.getX() - mPointF.x) > 5) {
|
||||
getParent().requestDisallowInterceptTouchEvent(true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return super.onTouchEvent(event);
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.core.beans.DictionaryBean;
|
||||
import com.tenlionsoft.baselib.core.beans.PersonSearchBean;
|
||||
|
269
baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/TopPingView.java
Executable file
269
baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/TopPingView.java
Executable file
@ -0,0 +1,269 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.exifinterface.media.ExifInterface;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.UIUtil;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.rxjava3.annotations.NonNull;
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import io.reactivex.rxjava3.core.ObservableOnSubscribe;
|
||||
import io.reactivex.rxjava3.core.Observer;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||
|
||||
|
||||
/**
|
||||
* 作者 : Adam on 2018/7/23.
|
||||
* 邮箱 : itgaojian@163.com
|
||||
* 描述 : ping
|
||||
*/
|
||||
public class TopPingView extends Dialog {
|
||||
public String appType;
|
||||
private Context context;
|
||||
|
||||
private OnChoseListener mListener;
|
||||
private TextView mTvInfo;
|
||||
private TextView mTvStart;
|
||||
private TextView mTvCancel;
|
||||
private EditText mEtUrl;
|
||||
private ProgressDialog mDialog;
|
||||
|
||||
|
||||
public interface OnChoseListener {
|
||||
void checkUpdate();
|
||||
|
||||
void shareQQ();
|
||||
|
||||
void shareWeChart();
|
||||
|
||||
void shareWeibo();
|
||||
|
||||
void showPing();
|
||||
}
|
||||
|
||||
private TopPingView(Context context2) {
|
||||
super(context2, R.style.Dialog_ChoseFile);
|
||||
this.appType = ExifInterface.GPS_MEASUREMENT_2D;
|
||||
this.context = context2;
|
||||
}
|
||||
|
||||
/* access modifiers changed from: protected */
|
||||
public void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
View view = LayoutInflater.from(this.context).inflate(R.layout.dialog_top_ping, null);
|
||||
setContentView(view);
|
||||
setCancelable(false);
|
||||
setCanceledOnTouchOutside(false);
|
||||
mTvInfo = view.findViewById(R.id.tv_info);
|
||||
mEtUrl = view.findViewById(R.id.et_ip);
|
||||
mTvStart = view.findViewById(R.id.tv_confirm);
|
||||
mTvCancel = view.findViewById(R.id.tv_cancel);
|
||||
mTvStart.setOnClickListener(v -> {
|
||||
String url = mEtUrl.getText().toString().trim();
|
||||
if (!TextUtils.isEmpty(url)) {
|
||||
ping(url);
|
||||
} else {
|
||||
ToastUtils.show("请输入要ping的网络地址");
|
||||
}
|
||||
});
|
||||
mTvCancel.setOnClickListener(v -> {
|
||||
hideSoftKeyboard(mEtUrl);
|
||||
this.dismiss();
|
||||
});
|
||||
mDialog = UIUtil.initDialog(context, "执行中...");
|
||||
Window window = getWindow();
|
||||
window.setGravity(Gravity.TOP);
|
||||
window.setWindowAnimations(R.style.Dialog_ChoseFile);
|
||||
WindowManager.LayoutParams attributes = window.getAttributes();
|
||||
attributes.width = -1;
|
||||
attributes.height = -2;
|
||||
window.setAttributes(attributes);
|
||||
window.setBackgroundDrawable(new ColorDrawable());
|
||||
window.setSoftInputMode(4);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void hideSoftKeyboard(View view) {
|
||||
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
if (view != null) {
|
||||
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void showSoftKeyBoardDialog(EditText editText) {
|
||||
if (editText != null) {
|
||||
editText.setFocusable(true);
|
||||
editText.setFocusableInTouchMode(true);
|
||||
editText.requestFocus();
|
||||
((InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(editText
|
||||
, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void addOnChoseListener(OnChoseListener onChoseListener) {
|
||||
this.mListener = onChoseListener;
|
||||
}
|
||||
|
||||
public void show() {
|
||||
super.show();
|
||||
getWindow().clearFlags(131080);
|
||||
}
|
||||
|
||||
public void ping(String url) {
|
||||
Observable.create((ObservableOnSubscribe<String>) emitter -> {
|
||||
StringBuilder buffer = new StringBuilder();
|
||||
String result = ""; // 结果集
|
||||
Process ping;
|
||||
try {
|
||||
ping = Runtime.getRuntime().exec(
|
||||
"ping -c 4 " + url);
|
||||
int status = ping.waitFor(); // 状态
|
||||
|
||||
InputStream input = ping.getInputStream();
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(input));
|
||||
|
||||
String line = ""; // 长度
|
||||
while ((line = in.readLine()) != null) {
|
||||
buffer.append(line).append("\n");
|
||||
}
|
||||
if (status == 0) {
|
||||
result = buffer.toString();
|
||||
} else {
|
||||
result = "网络不通";
|
||||
}
|
||||
emitter.onNext(result);
|
||||
} catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
emitter.onError(new Throwable("程序错误"));
|
||||
|
||||
}
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<String>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
mTvStart.setEnabled(false);
|
||||
mTvStart.setText("执行中...");
|
||||
mTvInfo.setText("运行中...");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull String result) {
|
||||
mTvInfo.setText(result);
|
||||
mTvStart.setText("执行");
|
||||
mTvStart.setEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
mTvInfo.setText(e.getMessage());
|
||||
mTvStart.setText("执行");
|
||||
mTvStart.setEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mTvInfo.setText("");
|
||||
mTvStart.setText("执行");
|
||||
mTvStart.setEnabled(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void choseType(int i) {
|
||||
OnChoseListener onChoseListener = this.mListener;
|
||||
if (onChoseListener == null) {
|
||||
return;
|
||||
}
|
||||
if (i == 1) {
|
||||
onChoseListener.shareWeChart();
|
||||
} else if (i == 2) {
|
||||
onChoseListener.shareWeibo();
|
||||
} else if (i == 3) {
|
||||
onChoseListener.shareQQ();
|
||||
} else if (i == 4) {
|
||||
onChoseListener.checkUpdate();
|
||||
} else if (i == 5) {
|
||||
onChoseListener.showPing();
|
||||
}
|
||||
}
|
||||
|
||||
public static class DialogBuilder {
|
||||
private boolean isCancelable;
|
||||
private boolean isCommentImg;
|
||||
private Context mContext;
|
||||
private int mGravity = 80;
|
||||
private boolean mIsBackable;
|
||||
private boolean mIsShow;
|
||||
private boolean mIsShowOther;
|
||||
private OnChoseListener mListener;
|
||||
|
||||
public DialogBuilder(Context context) {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
public DialogBuilder setIscancelable(boolean z) {
|
||||
this.isCancelable = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setIsBackCancelable(boolean z) {
|
||||
this.mIsBackable = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setShowLocation(int i) {
|
||||
this.mGravity = i;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setIsShowFile(boolean z) {
|
||||
this.mIsShow = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogBuilder setIsShowOther(boolean z) {
|
||||
this.mIsShowOther = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TopPingView build() {
|
||||
return new TopPingView(this.mContext);
|
||||
}
|
||||
|
||||
public DialogBuilder setIsShowPhoto(String str) {
|
||||
if ("0".equals(str)) {
|
||||
this.isCommentImg = false;
|
||||
} else {
|
||||
this.isCommentImg = true;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package com.tenlionsoft.baselib.core.widget.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.text.TextPaint;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.tenlionsoft.baselib.R;
|
||||
|
||||
/**
|
||||
* 作者: adam
|
||||
* 日期: 2020/6/3 - 4:58 PM
|
||||
* 邮箱: itgaojian@163.com
|
||||
* 描述: 字体加粗
|
||||
*/
|
||||
public class TypeBoldTextView extends androidx.appcompat.widget.AppCompatTextView {
|
||||
|
||||
public TypeBoldTextView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public TypeBoldTextView(Context context, @Nullable AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public TypeBoldTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.TypeBoldTextView, defStyleAttr, 0);
|
||||
int type = a.getInteger(R.styleable.TypeBoldTextView_txt_is_bold, 0);
|
||||
if (type == 0) {
|
||||
setTextBold();
|
||||
}
|
||||
}
|
||||
|
||||
private void setTextBold() {
|
||||
try {
|
||||
TextPaint paint = this.getPaint();
|
||||
if (paint != null) {
|
||||
paint.setFakeBoldText(true);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +1,9 @@
|
||||
package com.tenlionsoft.baselib.utils;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.view.TextureView;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonParseException;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.core.beans.ErrorBean;
|
||||
|
||||
import java.net.SocketTimeoutException;
|
||||
@ -23,20 +21,27 @@ public class ExceptionHandler {
|
||||
public static void handleException(Throwable throwable) {
|
||||
if (throwable instanceof HttpException) {
|
||||
HttpException ex = (HttpException) throwable;
|
||||
ex.printStackTrace();
|
||||
try {
|
||||
String errBody = ex.response().errorBody().string();
|
||||
LogUtils.e(ex.getMessage());
|
||||
LogUtils.e(errBody);
|
||||
if (!TextUtils.isEmpty(errBody)) {
|
||||
ErrorBean errorBean = new Gson().fromJson(errBody, ErrorBean.class);
|
||||
if (!TextUtils.isEmpty(errorBean.getMsg())) {
|
||||
ToastUtils.show(errorBean.getMsg());
|
||||
ToastUtils.show(errorBean.getMsg() + "(" + errorBean.getCode() + ")");
|
||||
} else if (!TextUtils.isEmpty(errorBean.getMessage())) {
|
||||
ToastUtils.show(errorBean.getMessage());
|
||||
ToastUtils.show(errorBean.getMessage() + "(" + errorBean.getCode() + ")");
|
||||
} else if (errBody.contains("404")) {
|
||||
ToastUtils.show("无法连接到服务器,请检查网络连接后再试(404)");
|
||||
} else if (errBody.contains("500")) {
|
||||
ToastUtils.show("系统错误(500)");
|
||||
} else {
|
||||
ToastUtils.show("网络错误,请稍后重试");
|
||||
ToastUtils.show("系统错误");
|
||||
}
|
||||
}
|
||||
} catch (Exception e1) {
|
||||
ToastUtils.show("网络错误,请稍后重试");
|
||||
ToastUtils.show("网络错误,请稍后重试(500)");
|
||||
e1.printStackTrace();
|
||||
}
|
||||
} else if (throwable instanceof JsonParseException) {
|
||||
@ -44,7 +49,7 @@ public class ExceptionHandler {
|
||||
} else if (throwable instanceof SocketTimeoutException) {
|
||||
ToastUtils.show("网络连接超时");
|
||||
} else {
|
||||
ToastUtils.show("网络错误,请稍后重试");
|
||||
ToastUtils.show("系统错误(500)");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.tenlionsoft.baselib.utils;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.RawRes;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
@ -33,18 +35,20 @@ public final class ResourceUtils {
|
||||
* @param destFilePath The path of destination file.
|
||||
* @return {@code true}: success<br>{@code false}: fail
|
||||
*/
|
||||
public static boolean copyFileFromAssets(final String assetsFilePath, final String destFilePath) {
|
||||
public static boolean copyFileFromAssets(final String assetsFilePath, final String destFilePath, Context ctx) {
|
||||
boolean res = true;
|
||||
try {
|
||||
String[] assets = Utils.getApp().getAssets().list(assetsFilePath);
|
||||
String[] assets = ctx.getAssets().list(assetsFilePath);
|
||||
if (assets.length > 0) {
|
||||
for (String asset : assets) {
|
||||
res &= copyFileFromAssets(assetsFilePath + "/" + asset, destFilePath + "/" + asset);
|
||||
LogUtils.e("AssetsFile:" + asset);
|
||||
res &= copyFileFromAssets(assetsFilePath + "/" + asset, destFilePath + "/" + asset, ctx);
|
||||
}
|
||||
} else {
|
||||
LogUtils.e("开始拷贝:" + destFilePath + "====" + assetsFilePath);
|
||||
res = writeFileFromIS(
|
||||
destFilePath,
|
||||
Utils.getApp().getAssets().open(assetsFilePath),
|
||||
ctx.getAssets().open(assetsFilePath),
|
||||
false
|
||||
);
|
||||
}
|
||||
|
@ -1,6 +1,31 @@
|
||||
package com.tenlionsoft.baselib.utils;
|
||||
|
||||
import android.text.SpannableString;
|
||||
import android.text.style.RelativeSizeSpan;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
public final class StringUtils {
|
||||
/**
|
||||
* 中文数字
|
||||
*/
|
||||
private static final String[] CN_NUM = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
|
||||
|
||||
/**
|
||||
* 中文数字单位
|
||||
*/
|
||||
private static final String[] CN_UNIT = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"};
|
||||
|
||||
/**
|
||||
* 特殊字符:负
|
||||
*/
|
||||
private static final String CN_NEGATIVE = "负";
|
||||
|
||||
/**
|
||||
* 特殊字符:点
|
||||
*/
|
||||
private static final String CN_POINT = "点";
|
||||
|
||||
private StringUtils() {
|
||||
throw new UnsupportedOperationException("u can't instantiate me...");
|
||||
@ -182,4 +207,113 @@ public final class StringUtils {
|
||||
}
|
||||
return new String(chars);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* int 转 中文数字
|
||||
* 支持到int最大值
|
||||
*
|
||||
* @param intNum 要转换的整型数
|
||||
* @return 中文数字
|
||||
*/
|
||||
public static String int2chineseNum(int intNum) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
boolean isNegative = false;
|
||||
if (intNum < 0) {
|
||||
isNegative = true;
|
||||
intNum *= -1;
|
||||
}
|
||||
int count = 0;
|
||||
while (intNum > 0) {
|
||||
sb.insert(0, CN_NUM[intNum % 10] + CN_UNIT[count]);
|
||||
intNum = intNum / 10;
|
||||
count++;
|
||||
}
|
||||
|
||||
if (isNegative)
|
||||
sb.insert(0, CN_NEGATIVE);
|
||||
|
||||
|
||||
return sb.toString().replaceAll("零[千百十]", "零").replaceAll("零+万", "万")
|
||||
.replaceAll("零+亿", "亿").replaceAll("亿万", "亿零")
|
||||
.replaceAll("零+", "零").replaceAll("零$", "");
|
||||
}
|
||||
|
||||
/**
|
||||
* bigDecimal 转 中文数字
|
||||
* 整数部分只支持到int的最大值
|
||||
*
|
||||
* @param bigDecimalNum 要转换的BigDecimal数
|
||||
* @return 中文数字
|
||||
*/
|
||||
public static String bigDecimal2chineseNum(BigDecimal bigDecimalNum) {
|
||||
if (bigDecimalNum == null)
|
||||
return CN_NUM[0];
|
||||
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
||||
//将小数点后面的零给去除
|
||||
String numStr = bigDecimalNum.abs().stripTrailingZeros().toPlainString();
|
||||
|
||||
String[] split = numStr.split("\\.");
|
||||
String integerStr = int2chineseNum(Integer.parseInt(split[0]));
|
||||
|
||||
sb.append(integerStr);
|
||||
|
||||
//如果传入的数有小数,则进行切割,将整数与小数部分分离
|
||||
if (split.length == 2) {
|
||||
//有小数部分
|
||||
sb.append(CN_POINT);
|
||||
String decimalStr = split[1];
|
||||
char[] chars = decimalStr.toCharArray();
|
||||
for (int i = 0; i < chars.length; i++) {
|
||||
int index = Integer.parseInt(String.valueOf(chars[i]));
|
||||
sb.append(CN_NUM[index]);
|
||||
}
|
||||
}
|
||||
|
||||
//判断传入数字为正数还是负数
|
||||
int signum = bigDecimalNum.signum();
|
||||
if (signum == -1) {
|
||||
sb.insert(0, CN_NEGATIVE);
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 三位逗号分隔
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String intFenGeNumber(String number) {
|
||||
StringBuffer sb = new StringBuffer(number);
|
||||
for (int i = number.length() - 3; i >= 0; i -= 3) {
|
||||
sb.insert(i, ",");
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static String numAddSepar(int num) {
|
||||
DecimalFormat mFormat = new DecimalFormat("###,###,###,###");
|
||||
String format = mFormat.format(num);
|
||||
return format;
|
||||
}
|
||||
|
||||
public static CharSequence numAddUnit(int num) {
|
||||
if (num > 9999) {
|
||||
//万
|
||||
DecimalFormat df2 = new DecimalFormat("0.00");
|
||||
String format = df2.format((float) num / 10000);
|
||||
String content = format + "万";
|
||||
SpannableString s = new SpannableString(content);
|
||||
s.setSpan(new RelativeSizeSpan(0.6f), content.indexOf("万"), content.length(),
|
||||
0);
|
||||
return s;
|
||||
} else {
|
||||
DecimalFormat mFormat = new DecimalFormat("###,###,###,###");
|
||||
String format = mFormat.format(num);
|
||||
return format;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,6 +89,7 @@ public final class TimeUtils {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static int getMonthDay(String time) {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
try {
|
||||
@ -107,6 +108,7 @@ public final class TimeUtils {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy");
|
||||
return format.format(date);
|
||||
}
|
||||
|
||||
public static int getDayOfString(String time) {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
try {
|
||||
@ -120,6 +122,7 @@ public final class TimeUtils {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Milliseconds to the formatted time string.
|
||||
*
|
||||
@ -130,6 +133,7 @@ public final class TimeUtils {
|
||||
public static String millis2String(final long millis, @NonNull final DateFormat format) {
|
||||
return format.format(new Date(millis));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取某年某月的最后天
|
||||
*
|
||||
@ -144,6 +148,7 @@ public final class TimeUtils {
|
||||
int dayOfMonth = cal.getActualMaximum(Calendar.DATE);
|
||||
return dayOfMonth;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formatted time string to the milliseconds.
|
||||
* <p>The pattern is {@code yyyy-MM-dd HH:mm:ss}.</p>
|
||||
@ -160,6 +165,7 @@ public final class TimeUtils {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
return format.format(date);
|
||||
}
|
||||
|
||||
public static String dateToStringMonth(final Date date) {
|
||||
SimpleDateFormat format = new SimpleDateFormat("MM");
|
||||
return format.format(date);
|
||||
@ -171,6 +177,12 @@ public final class TimeUtils {
|
||||
return format.format(date);
|
||||
}
|
||||
|
||||
public static String getCurrentChineseDate() {
|
||||
Date date = new Date();
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
|
||||
return format.format(date);
|
||||
}
|
||||
|
||||
public static String getCurrentMonth() {
|
||||
Date date = new Date();
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
|
||||
|
@ -0,0 +1,17 @@
|
||||
package com.tenlionsoft.baselib.utils;
|
||||
|
||||
import com.hjq.toast.Toaster;
|
||||
|
||||
public class ToastUtils {
|
||||
public static void show(String content) {
|
||||
Toaster.show(content);
|
||||
}
|
||||
|
||||
public static void show(int content) {
|
||||
Toaster.show(content);
|
||||
}
|
||||
|
||||
public static void showLong(String content) {
|
||||
Toaster.showLong(content);
|
||||
}
|
||||
}
|
BIN
baselib/src/main/res/drawable-xhdpi/ic_arrow_sort_gray.png
Normal file
BIN
baselib/src/main/res/drawable-xhdpi/ic_arrow_sort_gray.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 211 B |
BIN
baselib/src/main/res/drawable-xhdpi/ic_location_gray_icon.png
Normal file
BIN
baselib/src/main/res/drawable-xhdpi/ic_location_gray_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 770 B |
Binary file not shown.
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 280 KiB |
6
baselib/src/main/res/drawable/shp_rectangle_blue_deep.xml
Executable file
6
baselib/src/main/res/drawable/shp_rectangle_blue_deep.xml
Executable file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/text_blue1" />
|
||||
<corners android:radius="5dp" />
|
||||
</shape>
|
6
baselib/src/main/res/drawable/shp_rectangle_blue_shallow.xml
Executable file
6
baselib/src/main/res/drawable/shp_rectangle_blue_shallow.xml
Executable file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#FFF0F4FD" />
|
||||
<corners android:radius="5dp" />
|
||||
</shape>
|
6
baselib/src/main/res/drawable/shp_rectangle_gray_f5_radius.xml
Executable file
6
baselib/src/main/res/drawable/shp_rectangle_gray_f5_radius.xml
Executable file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/gray_f6" />
|
||||
<corners android:radius="3dp" />
|
||||
</shape>
|
6
baselib/src/main/res/drawable/shp_rectangle_red_shallow.xml
Executable file
6
baselib/src/main/res/drawable/shp_rectangle_red_shallow.xml
Executable file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#16FF001E" />
|
||||
<corners android:radius="3dp" />
|
||||
</shape>
|
5
baselib/src/main/res/drawable/shp_trans.xml
Normal file
5
baselib/src/main/res/drawable/shp_trans.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/transparent" />
|
||||
</shape>
|
@ -6,6 +6,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
<!-- ===========标题============= -->
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/rl_title_bar"
|
||||
android:layout_width="match_parent"
|
||||
@ -14,7 +15,9 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="5dp"
|
||||
android:paddingRight="5dp">
|
||||
android:paddingRight="5dp"
|
||||
tools:background="@color/white"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tv_app_back"
|
||||
@ -56,6 +59,79 @@
|
||||
android:textSize="18sp"
|
||||
tools:text="页面标题" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_only_search_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_app_only_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:paddingLeft="5dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:scaleType="fitXY"
|
||||
android:textColor="@color/white"
|
||||
android:visibility="visible"
|
||||
tools:background="@drawable/ic_back_black"
|
||||
tools:text=""
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_base_only_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shp_rectangle_gray_f5_radius">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_base_only_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="@null"
|
||||
android:drawableLeft="@drawable/ic_search_icon_gray"
|
||||
android:drawablePadding="5dp"
|
||||
android:hint="请输入查询的关键字"
|
||||
android:imeOptions="actionSearch"
|
||||
android:padding="8dp"
|
||||
android:singleLine="true"
|
||||
android:textSize="12sp" />
|
||||
<ImageView
|
||||
android:id="@+id/iv_app_only_clear_search"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginRight="5dp"
|
||||
android:src="@drawable/ic_clear_cir_gray" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_only_control"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="15sp"
|
||||
tools:text="操作" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_app_search_content"
|
||||
android:layout_width="match_parent"
|
||||
@ -100,13 +176,15 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_base_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shp_rectangle_white_5">
|
||||
android:background="@drawable/shp_rectangle_white_5"
|
||||
tools:visibility="gone">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_base_search_content"
|
||||
@ -116,7 +194,7 @@
|
||||
android:background="@null"
|
||||
android:drawableLeft="@drawable/ic_search_icon_gray"
|
||||
android:drawablePadding="5dp"
|
||||
android:hint="请输入查询的内容"
|
||||
android:hint="请输入查询的关键字"
|
||||
android:imeOptions="actionSearch"
|
||||
android:padding="8dp"
|
||||
android:singleLine="true"
|
||||
@ -131,6 +209,7 @@
|
||||
android:src="@drawable/ic_clear_cir_gray" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_do_search"
|
||||
android:layout_width="wrap_content"
|
||||
@ -185,6 +264,8 @@
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
|
||||
<!-- ===========内容============= -->
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="20dp"
|
||||
@ -15,6 +14,17 @@
|
||||
android:textColor="@color/black"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_hint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="检测到您的密码过于简单,请修改密码。"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:visibility="gone"
|
||||
android:textColor="@color/red_ff"
|
||||
android:textSize="@dimen/text_14" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
style="@style/item_gray"
|
||||
|
@ -89,7 +89,7 @@
|
||||
<TextView
|
||||
style="@style/item_title"
|
||||
android:layout_weight="0.6"
|
||||
android:text="是否未重点青少年" />
|
||||
android:text="是否为重点青少年" />
|
||||
|
||||
<View style="@style/vertical_line" />
|
||||
|
||||
|
26
baselib/src/main/res/layout/dialog_base_grid_list.xml
Executable file
26
baselib/src/main/res/layout/dialog_base_grid_list.xml
Executable file
@ -0,0 +1,26 @@
|
||||
<?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:layout_margin="20dp"
|
||||
android:background="@drawable/shp_rectangle_white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp"
|
||||
android:text="网格员"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="18sp" />
|
||||
|
||||
|
||||
<LinearLayout style="@style/item_gray_vertical">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rlv_grids"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
43
baselib/src/main/res/layout/dialog_center_update_progress.xml
Executable file
43
baselib/src/main/res/layout/dialog_center_update_progress.xml
Executable file
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/transparent"
|
||||
android:orientation="vertical"
|
||||
tools:background="@color/black"
|
||||
tools:layout_margin="20dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/shape_rectangle_white_rim"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<com.tenlionsoft.baselib.core.widget.views.CircleProgress
|
||||
android:id="@+id/cp_progress"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="120dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="20dp"
|
||||
app:centerProgressTextColor="#FF6953"
|
||||
app:centerProgressTextSize="20dp"
|
||||
app:circleBgStrokeWidth="5dp"
|
||||
app:isDrawCenterProgressText="true"
|
||||
app:progressStrokeWidth="8dp"
|
||||
app:targetTextColor="#999999"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="10dp"
|
||||
android:text="软件正在升级中..."
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/text_14" />
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
132
baselib/src/main/res/layout/dialog_top_ping.xml
Executable file
132
baselib/src/main/res/layout/dialog_top_ping.xml
Executable file
@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/transparent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/shape_rectangle_white_rim"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scrollbars="none">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="130dp"
|
||||
android:background="@drawable/shape_rectangle_gray_border">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_info"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="left"
|
||||
android:hint="运行结果"
|
||||
android:padding="5dp"
|
||||
android:textColor="@color/text_detail_24"
|
||||
android:textColorHint="@color/hint_color"
|
||||
android:textSize="12dp" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="网络地址:"
|
||||
android:textColor="@color/app_title_9f_no"
|
||||
android:textSize="16sp"
|
||||
app:text_type_cus="3" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/shape_bottom_line"
|
||||
android:minHeight="25dp">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_ip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/shape_bottom_line"
|
||||
android:hint="请输入网络地址"
|
||||
android:padding="5dp"
|
||||
android:textColor="@color/text_detail_24"
|
||||
android:textColorHint="@color/hint_color"
|
||||
android:textSize="15sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="5dp"
|
||||
android:background="@color/gray_line" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
|
||||
android:id="@+id/tv_cancel"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:text="结束"
|
||||
android:textColor="@color/app_title_9f_no"
|
||||
android:textSize="16sp"
|
||||
app:text_type_cus="3" />
|
||||
|
||||
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
|
||||
android:id="@+id/tv_confirm"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:text="开始"
|
||||
android:textColor="@color/app_title_9f_no"
|
||||
android:textSize="16sp"
|
||||
app:text_type_cus="3" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
@ -19,7 +19,7 @@
|
||||
android:layout_weight="1"
|
||||
android:padding="10dp"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="15sp"
|
||||
android:textSize="14dp"
|
||||
tools:text="测试" />
|
||||
|
||||
<CheckBox
|
||||
|
36
baselib/src/main/res/layout/item_grid_phone.xml
Normal file
36
baselib/src/main/res/layout/item_grid_phone.xml
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/ll_grid"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingTop="3dp"
|
||||
android:paddingRight="10dp"
|
||||
android:paddingBottom="3dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/text_14"
|
||||
tools:text="姓名" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_phone"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="未录入"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/text_14" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="15dp"
|
||||
android:layout_height="15dp"
|
||||
android:src="@drawable/ic_call_answer" />
|
||||
</LinearLayout>
|
@ -29,8 +29,10 @@
|
||||
android:gravity="left|center"
|
||||
android:hint="请输入人员身份证号码"
|
||||
android:inputType="text"
|
||||
android:imeOptions="actionSearch"
|
||||
android:paddingLeft="5dp"
|
||||
android:textColor="@color/black"
|
||||
android:maxLines="1"
|
||||
android:textSize="12sp"
|
||||
tools:text="" />
|
||||
|
||||
|
@ -146,7 +146,7 @@
|
||||
<TextView
|
||||
style="@style/item_title_23"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="名族" />
|
||||
android:text="民族" />
|
||||
|
||||
|
||||
<TextView
|
||||
|
39
baselib/src/main/res/layout/layout_state_view.xml
Normal file
39
baselib/src/main/res/layout/layout_state_view.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/ll_state_hint"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
|
||||
<com.jcodecraeer.xrecyclerview.progressindicator.AVLoadingIndicatorView
|
||||
android:id="@+id/pb_state_loading"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
app:indicator="BallSpinFadeLoader"
|
||||
app:indicator_color="@color/text_blue" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_state_data"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="60dp"
|
||||
android:scaleType="fitXY"
|
||||
tools:src="@drawable/ic_empty_data" />
|
||||
|
||||
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
|
||||
android:id="@+id/tv_state_hint"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:clickable="true"
|
||||
android:textColor="@color/gray_text"
|
||||
android:textSize="@dimen/text_14"
|
||||
tools:text="加载数据失败" />
|
||||
|
||||
</LinearLayout>
|
@ -453,7 +453,7 @@
|
||||
<item name="android:textColor">@color/black</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_right_file_picker</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_sort_gray</item>
|
||||
</style>
|
||||
|
||||
<style name="item_title">
|
||||
@ -508,7 +508,7 @@
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:drawablePadding">5dp</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_gray_down</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_sort_gray</item>
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:padding">5dp</item>
|
||||
<item name="android:layout_gravity">center_vertical</item>
|
||||
|
@ -453,7 +453,7 @@
|
||||
<item name="android:textColor">@color/black</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_right_file_picker</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_sort_gray</item>
|
||||
</style>
|
||||
|
||||
<style name="item_title">
|
||||
@ -508,7 +508,7 @@
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:drawablePadding">5dp</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_gray_down</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_sort_gray</item>
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:padding">5dp</item>
|
||||
<item name="android:layout_gravity">center_vertical</item>
|
||||
|
@ -21,6 +21,7 @@
|
||||
<attr name="iconRight" format="reference" />
|
||||
<attr name="duration_max" format="integer" />
|
||||
<attr name="text_type_cus" format="integer" />
|
||||
<attr name="txt_is_bold" format="integer" />
|
||||
<declare-styleable name="JCameraView">
|
||||
<attr name="iconSize" />
|
||||
<attr name="iconMargin" />
|
||||
@ -32,6 +33,11 @@
|
||||
<!--属性集合-->
|
||||
<declare-styleable name="TypeFaceTextView">
|
||||
<attr name="text_type_cus" />
|
||||
|
||||
</declare-styleable>
|
||||
<declare-styleable name="TypeBoldTextView">
|
||||
<attr name="txt_is_bold" />
|
||||
|
||||
</declare-styleable>
|
||||
<declare-styleable name="DiffuseView">
|
||||
<attr name="diffuse_color" />
|
||||
@ -190,4 +196,70 @@
|
||||
<attr name="NavigationPaddingTop" format="dimension" />
|
||||
<attr name="NavigationPaddingBottom" format="dimension" />
|
||||
</declare-styleable>
|
||||
|
||||
<!-- <declare-styleable name="TopBar">-->
|
||||
<!-- <!–中间title的自定义属性–>-->
|
||||
<!-- <attr name="mTitle" format="string"></attr>-->
|
||||
<!-- <attr name="mTitleSize" format="dimension"></attr>-->
|
||||
<!-- <attr name="mTitleColor" format="color"></attr>-->
|
||||
<!-- <!–左边图片的自发定义属性–>-->
|
||||
<!-- <attr name="mLeftBackGround" format="reference"></attr>-->
|
||||
<!-- <!–右边TextView的自定义属性–>-->
|
||||
<!-- <attr name="rightTitle" format="string"></attr>-->
|
||||
<!-- <attr name="rightTitleSize" format="dimension"></attr>-->
|
||||
<!-- <attr name="rightTextColor" format="color"></attr>-->
|
||||
<!-- </declare-styleable>-->
|
||||
<!-- <!–Xiaomi–>-->
|
||||
<!-- <declare-styleable name="XiaoMiStep">-->
|
||||
<!-- <!–背景–>-->
|
||||
<!-- <attr name="backGroundColor" format="color"></attr>-->
|
||||
<!-- <!–最外层圆–>-->
|
||||
<!-- <attr name="outerCircleColor" format="color"></attr>-->
|
||||
<!-- <!–外层圆上的小圆点颜色–>-->
|
||||
<!-- <attr name="outerDotColor" format="color"></attr>-->
|
||||
<!-- <!–竖线的颜色–>-->
|
||||
<!-- <attr name="lineColor" format="color"></attr>-->
|
||||
<!-- <!–圆环的颜色–>-->
|
||||
<!-- <attr name="ringColor" format="color"></attr>-->
|
||||
<!-- <!–步数颜色–>-->
|
||||
<!-- <attr name="stepNumColor" format="color"></attr>-->
|
||||
<!-- <!–其他字的颜色–>-->
|
||||
<!-- <attr name="othetTextColor" format="color"></attr>-->
|
||||
<!-- </declare-styleable>-->
|
||||
|
||||
<!--CircleProgress-->
|
||||
<declare-styleable name="CircleProgressBarView">
|
||||
|
||||
<attr name="circleBgStrokeWidth" format="dimension" />
|
||||
<attr name="progressStrokeWidth" format="dimension" />
|
||||
|
||||
<attr name="circleBgColor" format="color" />
|
||||
<attr name="progressColor" format="color" />
|
||||
|
||||
<attr name="circleAnimationDuration" format="integer" />
|
||||
|
||||
<attr name="isDrawCenterProgressText" format="boolean" />
|
||||
|
||||
<attr name="centerProgressTextColor" format="color" />
|
||||
<attr name="centerProgressTextSize" format="dimension" />
|
||||
<attr name="targetNumColor" format="color" />
|
||||
<attr name="targetNumSize" format="dimension" />
|
||||
<attr name="targetTextColor" format="color" />
|
||||
<attr name="targetTextSize" format="integer" />
|
||||
<attr name="lineWidth" format="integer" />
|
||||
<attr name="lineColor" format="color" />
|
||||
<attr name="target_text" format="string" />
|
||||
|
||||
<attr name="round_color" format="color" />
|
||||
<attr name="round_progress_color" format="color" />
|
||||
<attr name="round_width" format="dimension" />
|
||||
<attr name="max_" format="integer" />
|
||||
<attr name="text_isDisplayable" format="boolean" />
|
||||
<attr name="style_">
|
||||
<enum name="STROKE" value="0" />
|
||||
<enum name="FILL" value="1" />
|
||||
</attr>
|
||||
|
||||
</declare-styleable>
|
||||
|
||||
</resources>
|
@ -38,12 +38,14 @@
|
||||
<!--textColor-->
|
||||
<color name="text_detail_24">#242424</color>
|
||||
<color name="text_yellow">#CA5500</color>
|
||||
<color name="text_yellow_F1">#F1C600</color>
|
||||
<color name="text_green">#27BA0D</color>
|
||||
<color name="text_gray">#8E8E8E</color>
|
||||
<color name="text_gray_tr">#bb8E8E8E</color>
|
||||
<color name="text_gray01">#535353</color>
|
||||
<color name="text_gray02">#7C7C7C</color>
|
||||
<color name="text_blue">#00A6FE</color>
|
||||
<color name="blue_shallow_30">#BDCBF1</color>
|
||||
<color name="text_blue_tr">#3300A6FE</color>
|
||||
<color name="blue_line">#00BEF7</color>
|
||||
<color name="text_80_gray">#808080</color>
|
||||
@ -71,6 +73,7 @@
|
||||
<color name="black">#000000</color>
|
||||
<!--考勤详情表格颜色-->
|
||||
<color name="gray_line">#FBFBFB</color>
|
||||
<color name="gray_6f">#6F6F6F</color>
|
||||
<color name="gray_line_deep">#EBEBEB</color>
|
||||
<color name="gray_line_shallow">#F3F1F1</color>
|
||||
<!-- 透明颜色 -->
|
||||
@ -121,9 +124,13 @@
|
||||
<color name="gray_dd">#E7E7E7</color>
|
||||
<color name="gray_db">#D8D8D8</color>
|
||||
<color name="red_ff">#FF0000</color>
|
||||
<color name="red_1E">#82FF001E</color>
|
||||
<color name="red_37">#F37575</color>
|
||||
<color name="orange">#FF6300</color>
|
||||
<color name="home_background">#f5f5f5</color>
|
||||
<color name="gray_text">#777777</color>
|
||||
<color name="gray_text_8A">#8A8A8A</color>
|
||||
<color name="gray_text_89">#898989</color>
|
||||
<color name="my_blue_bg">#ff7271</color>
|
||||
<color name="button_bg">#8bc6f7</color>
|
||||
<color name="sifazhuanti_bg">#f4f4f4</color>
|
||||
@ -162,6 +169,7 @@
|
||||
<color name="gray_ef">#efeff4</color>
|
||||
<color name="line">#efefef</color>
|
||||
<color name="gray_f5">#F5F5F5</color>
|
||||
<color name="gray_f6">#F6F6F6</color>
|
||||
<color name="gray_f7">#F7F7F7</color>
|
||||
<color name="gray_tr_hint">#aa000000</color>
|
||||
|
||||
@ -202,11 +210,16 @@
|
||||
<!--学习考试-->
|
||||
<!-- 白色 -->
|
||||
<color name="blue">#99B1DC</color>
|
||||
<color name="text_blue_52">#527FFF</color>
|
||||
<color name="text_blue_79">#79D4FF</color>
|
||||
<color name="btn_yellow">#AAFD9521</color>
|
||||
<color name="btn_blue">#AA1BAAE2</color>
|
||||
<color name="btn_green">#AA37B54A</color>
|
||||
<color name="btn_purple">#AA6B6FD2</color>
|
||||
<color name="col_main_theme">#216cd8</color>
|
||||
<color name="label_green">#03C591</color>
|
||||
<color name="label_blue">#2579FB</color>
|
||||
<color name="label_yellow">#FF9A05</color>
|
||||
|
||||
<color name="colorDarkOrange">#d84315</color>
|
||||
</resources>
|
@ -7,6 +7,7 @@
|
||||
<dimen name="text_21">21dp</dimen>
|
||||
<dimen name="text_22">22dp</dimen>
|
||||
<dimen name="text_14">14dp</dimen>
|
||||
<dimen name="text_12">12dp</dimen>
|
||||
<dimen name="text_15">15dp</dimen>
|
||||
<dimen name="text_16">16dp</dimen>
|
||||
<dimen name="material_bottom_navigation_active_item_max_width">168dp</dimen>
|
||||
@ -25,10 +26,10 @@
|
||||
<dimen name="margin_padding_small">8dp</dimen>
|
||||
<dimen name="margin_padding_min">4dp</dimen>
|
||||
|
||||
<dimen name="text_primary">16sp</dimen>
|
||||
<dimen name="text_small">14sp</dimen>
|
||||
<dimen name="text_big">20sp</dimen>
|
||||
<dimen name="text_min">12sp</dimen>
|
||||
<dimen name="text_primary">16dp</dimen>
|
||||
<dimen name="text_small">14dp</dimen>
|
||||
<dimen name="text_big">20dp</dimen>
|
||||
<dimen name="text_min">12dp</dimen>
|
||||
|
||||
<dimen name="divider_height">0.5dp</dimen>
|
||||
|
||||
|
@ -344,6 +344,20 @@
|
||||
<item name="android:padding">2dp</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="item_container_ver">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_marginLeft">18dp</item>
|
||||
<item name="android:layout_marginTop">5dp</item>
|
||||
<item name="android:layout_marginRight">18dp</item>
|
||||
<item name="android:layout_marginBottom">5dp</item>
|
||||
<item name="android:background">@drawable/shape_rectangle_white</item>
|
||||
<item name="android:orientation">vertical</item>
|
||||
<item name="android:padding">2dp</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="item_gray_vertical">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
@ -453,7 +467,7 @@
|
||||
<item name="android:textColor">@color/black</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_right_file_picker</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_sort_gray</item>
|
||||
</style>
|
||||
|
||||
<style name="item_title">
|
||||
@ -508,7 +522,7 @@
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:drawablePadding">5dp</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_gray_down</item>
|
||||
<item name="android:drawableRight">@drawable/ic_arrow_sort_gray</item>
|
||||
<item name="android:gravity">right</item>
|
||||
<item name="android:padding">5dp</item>
|
||||
<item name="android:layout_gravity">center_vertical</item>
|
||||
|
12
build.gradle
12
build.gradle
@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.4.0-rc'
|
||||
ext.kotlin_version = '1.6.0'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
@ -13,7 +13,7 @@ buildscript {
|
||||
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
|
||||
classpath "com.alibaba:arouter-register:1.0.2"
|
||||
classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.6'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
@ -45,6 +45,9 @@ allprojects {
|
||||
maven {
|
||||
url "https://jitpack.io"
|
||||
}
|
||||
maven{
|
||||
url "https://repo1.maven.org/maven2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,8 +58,8 @@ ext {
|
||||
gCompileSdkVersion = 30
|
||||
gMinSdkVersion = 21
|
||||
gTargetSdkVersion = 30
|
||||
gVersionCode = 10
|
||||
gVersionName = '1.0.9'
|
||||
gVersionCode = 17
|
||||
gVersionName = '1.1.6'
|
||||
gBuildToolsVersion = "29.0.2"
|
||||
// gVersionCode=26
|
||||
// gVersionName='1.3.0'
|
||||
@ -128,4 +131,5 @@ ext {
|
||||
magicIndicator = '1.7.0'
|
||||
//图表
|
||||
mpAndroidChart = 'v3.1.0'
|
||||
gAskPermissions='18.5'
|
||||
}
|
@ -39,8 +39,8 @@ dependencies {
|
||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation project(':baselib')
|
||||
implementation project(':modulemap')
|
||||
implementation project(':commonmodule')
|
||||
implementation project(':modulemap')
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'//地图
|
||||
testImplementation 'junit:junit:4.+'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||
|
@ -15,7 +15,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.github.promeg.pinyinhelper.Pinyin;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
import com.tengshisoft.chatmodule.R2;
|
||||
import com.tengshisoft.chatmodule.fragments.OftenContactFragment;
|
||||
|
@ -11,7 +11,7 @@ import android.widget.ProgressBar;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
import com.tengshisoft.chatmodule.R2;
|
||||
|
@ -16,9 +16,10 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkCallInfo;
|
||||
import com.huawei.ecterminalsdk.models.TsdkCommonResult;
|
||||
import com.huawei.ecterminalsdk.models.call.TsdkCall;
|
||||
@ -57,6 +58,7 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
|
||||
import com.tenlionsoft.baselib.utils.AppUtils;
|
||||
import com.tenlionsoft.baselib.utils.EncryptedSPTool;
|
||||
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.UIUtil;
|
||||
import com.tenlionsoft.baselib.utils.UserLgUtils;
|
||||
|
||||
@ -65,7 +67,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.Unbinder;
|
||||
@ -256,7 +257,8 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (!TextUtils.isEmpty(UserLgUtils.getHwAccount())) {
|
||||
doShowCallDialog();
|
||||
LoginMangerV2.getInstance().checkLogin(UserLgUtils.getHwAccount(), UserLgUtils.getHwPwd(), AddressUserDetailActivity.this);
|
||||
LoginMangerV2.getInstance().checkLogin(UserLgUtils.getHwAccount(),
|
||||
UserLgUtils.getHwPwd(), AddressUserDetailActivity.this);
|
||||
sendNotifyLogin();
|
||||
} else {
|
||||
// 通知对方,手机不支持通话
|
||||
@ -292,7 +294,8 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (!TextUtils.isEmpty(UserLgUtils.getHwAccount())) {
|
||||
doShowCallDialog();
|
||||
LoginMangerV2.getInstance().checkLogin(UserLgUtils.getHwAccount(), UserLgUtils.getHwPwd(), AddressUserDetailActivity.this);
|
||||
LoginMangerV2.getInstance().checkLogin(UserLgUtils.getHwAccount(),
|
||||
UserLgUtils.getHwPwd(), AddressUserDetailActivity.this);
|
||||
sendNotifyLogin();
|
||||
} else {
|
||||
// 通知对方,手机不支持通话
|
||||
@ -318,7 +321,9 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
//主动拨打
|
||||
LogUtils.d("通知对方登录");
|
||||
Intent intent = new Intent();
|
||||
MessageBean msgBean = buildMsgBean("", mUserByUserId.getUserId(), UserLgUtils.getUserId(), UserLgUtils.getUserId(), MsgTypeStateEnum.MSG_TO_OTHER_VOICE, UserLgUtils.getName() + "想要与您进行通话", StatusCode.MSG_TYPE_NOTIFY_LOGIN);
|
||||
MessageBean msgBean = buildMsgBean("", mUserByUserId.getUserId(), UserLgUtils.getUserId(),
|
||||
UserLgUtils.getUserId(), MsgTypeStateEnum.MSG_TO_OTHER_VOICE, UserLgUtils.getName() + "想要与您进行通话",
|
||||
StatusCode.MSG_TYPE_NOTIFY_LOGIN);
|
||||
intent.putExtra("bean", msgBean);
|
||||
intent.setAction(PathConfig.ACTION_NOTIFY_CONTACT_LOGIN);
|
||||
sendBroadcast(intent);
|
||||
@ -341,7 +346,8 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
/**
|
||||
* 构建
|
||||
*/
|
||||
private MessageBean buildMsgBean(String id, String toId, String formId, String formName, int msgType, String msg, int type) {
|
||||
private MessageBean buildMsgBean(String id, String toId, String formId, String formName, int msgType, String msg,
|
||||
int type) {
|
||||
MessageBean bean = new MessageBean();
|
||||
String uuid = "";
|
||||
if (!TextUtils.isEmpty(id)) {
|
||||
@ -374,12 +380,16 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
}
|
||||
mTvUserName.setText(mUserByUserId.getUserName());
|
||||
mTvPhone.setText("联系电话:" + mUserByUserId.getUserPhone());
|
||||
mTvEmail.setText("邮箱:" + (TextUtils.isEmpty(mUserByUserId.getUserEmail()) ? "未录入" : mUserByUserId.getUserEmail()));
|
||||
mTvEmail.setText("邮箱:" + (TextUtils.isEmpty(mUserByUserId.getUserEmail()) ? "未录入" :
|
||||
mUserByUserId.getUserEmail()));
|
||||
if (mDeptById != null) {
|
||||
mTvDeptDept.setText("部门:" + (TextUtils.isEmpty(mDeptById.getDepartmentName()) ? "未录入" : mDeptById.getDepartmentName()));
|
||||
mTvDeptDept.setText("部门:" + (TextUtils.isEmpty(mDeptById.getDepartmentName()) ? "未录入" :
|
||||
mDeptById.getDepartmentName()));
|
||||
mTvDept.setText((TextUtils.isEmpty(mDeptById.getDepartmentName()) ? "未录入" : mDeptById.getDepartmentName()));
|
||||
mTvDeptPhone.setText("部门电话:" + (TextUtils.isEmpty(mDeptById.getDepartmentTel()) ? "未录入" : mDeptById.getDepartmentTel()));
|
||||
mTvDeptAddress.setText("部门地址:" + (TextUtils.isEmpty(mDeptById.getDepartmentAddress()) ? "未录入" : mDeptById.getDepartmentAddress()));
|
||||
mTvDeptPhone.setText("部门电话:" + (TextUtils.isEmpty(mDeptById.getDepartmentTel()) ? "未录入" :
|
||||
mDeptById.getDepartmentTel()));
|
||||
mTvDeptAddress.setText("部门地址:" + (TextUtils.isEmpty(mDeptById.getDepartmentAddress()) ? "未录入" :
|
||||
mDeptById.getDepartmentAddress()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -805,7 +815,8 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
* @param obj 状态值
|
||||
*/
|
||||
private void handlerLoginFailed(Object obj) {
|
||||
this.loginFail();
|
||||
runOnUiThread(() -> {
|
||||
AddressUserDetailActivity.this.loginFail();
|
||||
String str = (String) obj;
|
||||
int code = Integer.parseInt(str.split("-")[0]);
|
||||
String index = str.split("-")[1];
|
||||
@ -890,6 +901,7 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
dialogHint.setStr_message(msgHint, null);
|
||||
dialogHint.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1023,7 +1035,9 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView
|
||||
private void sendNotifyLogout() {
|
||||
BaseAppContext.getInstance().setOtherUserTel("");
|
||||
if (isRunning()) {
|
||||
MessageBean bean = buildMsgBean("", mUserByUserId.getUserId(), UserLgUtils.getUserId(), UserLgUtils.getUserId(), MsgTypeStateEnum.MSG_TO_OTHER_IMG, "退出登录", StatusCode.MSG_TYPE_NOTIFY_LOGOUT);
|
||||
MessageBean bean = buildMsgBean("", mUserByUserId.getUserId(), UserLgUtils.getUserId(),
|
||||
UserLgUtils.getUserId(), MsgTypeStateEnum.MSG_TO_OTHER_IMG, "退出登录",
|
||||
StatusCode.MSG_TYPE_NOTIFY_LOGOUT);
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(PathConfig.ACTION_MSG_CHAT_SEND);
|
||||
intent.putExtra("bean", bean);
|
||||
|
@ -8,7 +8,7 @@ import android.view.WindowManager;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tengshisoft.chatmodule.CallSessionCallback;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
import com.tengshisoft.chatmodule.beans.EnumType;
|
||||
|
@ -22,7 +22,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkCallInfo;
|
||||
import com.huawei.ecterminalsdk.models.TsdkCommonResult;
|
||||
import com.huawei.ecterminalsdk.models.call.TsdkCall;
|
||||
|
@ -22,7 +22,7 @@ import android.widget.TextView;
|
||||
import com.allen.library.SuperTextView;
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkConfRole;
|
||||
import com.huawei.ecterminalsdk.base.TsdkLdapContactsInfo;
|
||||
import com.huawei.ecterminalsdk.base.TsdkMobileAuidoRoute;
|
||||
|
@ -17,7 +17,7 @@ import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkConfAttendeeInfo;
|
||||
import com.huawei.ecterminalsdk.base.TsdkConfSpeaker;
|
||||
import com.huawei.ecterminalsdk.base.TsdkConfTerminalType;
|
||||
|
@ -31,7 +31,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkConfRole;
|
||||
import com.huawei.ecterminalsdk.base.TsdkMobileAuidoRoute;
|
||||
import com.huawei.ecterminalsdk.base.TsdkNotifyHandUpAttendee;
|
||||
|
@ -4,7 +4,7 @@ package com.tengshisoft.chatmodule.hwclud.manager;
|
||||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkAuthType;
|
||||
import com.huawei.ecterminalsdk.base.TsdkFailedInfo;
|
||||
import com.huawei.ecterminalsdk.base.TsdkForceLogoutInfo;
|
||||
|
@ -20,7 +20,7 @@ import android.view.ViewConfiguration;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.models.call.TsdkCall;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
import com.tengshisoft.chatmodule.activity.SponsorMeetingActivity;
|
||||
|
@ -17,7 +17,7 @@ import android.widget.Chronometer;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
import com.tengshisoft.chatmodule.activity.SponsorMeetingActivity;
|
||||
import com.tengshisoft.chatmodule.hwclud.listener.FloatingViewListener;
|
||||
|
@ -20,7 +20,7 @@ import android.view.WindowManager;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkWatchSvcAttendees;
|
||||
import com.huawei.ecterminalsdk.models.call.TsdkCall;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
|
@ -6,7 +6,7 @@ import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkAttendee;
|
||||
import com.huawei.ecterminalsdk.base.TsdkAudioNetQuality;
|
||||
import com.huawei.ecterminalsdk.base.TsdkAuxTokenOwnerInd;
|
||||
|
@ -9,7 +9,7 @@ import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.tenlionsoft.baselib.utils.ToastUtils;
|
||||
import com.huawei.ecterminalsdk.base.TsdkWatchSvcAttendees;
|
||||
import com.tengshisoft.chatmodule.R;
|
||||
import com.tengshisoft.chatmodule.R2;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user