Browse Source

1。V3.3.3版本,增加角标提示,更换sdk5.4.8.

master
wangchengxin 5 years ago
parent
commit
ecd67d4cc2
  1. 2
      .idea/misc.xml
  2. 1
      .idea/vcs.xml
  3. BIN
      PushSDK/build/generated/mockable-android-19.v3.jar
  4. 2
      PushSDK/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
  5. 2
      PushSDK/build/intermediates/incremental/packageDebugResources/compile-file-map.properties
  6. 2
      PushSDK/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties
  7. BIN
      PushSDK/build/outputs/aar/PushSDK-debug.aar
  8. 9
      app/build.gradle
  9. BIN
      app/libs/HwPush_SDK_NOMAP_V2705.jar
  10. BIN
      app/libs/MiPush_SDK_Client_3_6_19.jar
  11. BIN
      app/libs/YTX_Android_IM_SDK_v5.4.8r.jar
  12. BIN
      app/libs/Yuntx_FullLib_v5.3.1r.jar
  13. BIN
      app/libs/armeabi-v7a/libmsc.so
  14. BIN
      app/libs/armeabi-v7a/libserphone.so
  15. 610
      app/src/main/AndroidManifest.xml
  16. BIN
      app/src/main/assets/share_video.jpg
  17. 2
      app/src/main/java/cn/shangyu/gdxzPatient/activity/AccumulatePointsActivity.java
  18. 101
      app/src/main/java/cn/shangyu/gdxzPatient/activity/AddExpertActivity.java
  19. 24
      app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreChoosePatientActivity.java
  20. 75
      app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreIllnessActivity.java
  21. 82
      app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreInfoActivity.java
  22. 23
      app/src/main/java/cn/shangyu/gdxzPatient/activity/BaseActivity.java
  23. 6
      app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanTvsActivity.java
  24. 49
      app/src/main/java/cn/shangyu/gdxzPatient/activity/LoginActivity.java
  25. 142
      app/src/main/java/cn/shangyu/gdxzPatient/activity/MainActivity.java
  26. 40
      app/src/main/java/cn/shangyu/gdxzPatient/activity/PersonInfoActivity.java
  27. 49
      app/src/main/java/cn/shangyu/gdxzPatient/activity/ProblemComplementActivity.java
  28. 34
      app/src/main/java/cn/shangyu/gdxzPatient/activity/SetInformationNewActivity.java
  29. 2
      app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingAndHelpActivity.java
  30. 2
      app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingVersionActivity.java
  31. 69
      app/src/main/java/cn/shangyu/gdxzPatient/activity/VideoDetialActivity.java
  32. 2
      app/src/main/java/cn/shangyu/gdxzPatient/activity/VideoMoreActivity.java
  33. 3
      app/src/main/java/cn/shangyu/gdxzPatient/adapter/VideoAdapter.java
  34. 43
      app/src/main/java/cn/shangyu/gdxzPatient/application/BaseApplication.java
  35. 9
      app/src/main/java/cn/shangyu/gdxzPatient/bean/VideoBean.java
  36. 8
      app/src/main/java/cn/shangyu/gdxzPatient/bean/VideoMoreBean.java
  37. 10
      app/src/main/java/cn/shangyu/gdxzPatient/bean/VideoSelectBean.java
  38. 58
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/common/utils/ECNotificationManager.java
  39. 10
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/AbstractSQLManager.java
  40. 46
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/ConversationSqlManager.java
  41. 56
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/IMessageSqlManager.java
  42. 6
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/ImgInfoSqlManager.java
  43. 49
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ChattingFragment.java
  44. 130
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/IMChattingHelper.java
  45. 5
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ImageGralleryPagerActivity.java
  46. 8
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/model/ImgInfo.java
  47. 4
      app/src/main/java/cn/shangyu/gdxzPatient/fragment/HepatopathyInfoFragment.java
  48. 4
      app/src/main/java/cn/shangyu/gdxzPatient/fragment/HomeFragment.java
  49. 1
      app/src/main/java/cn/shangyu/gdxzPatient/fragment/OneToOneFragment.java
  50. 111
      app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/BuyIntegerActivty.java
  51. 16
      app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/IntegralTicketActivity.java
  52. 12
      app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/PointsMallActivity.java
  53. 24
      app/src/main/java/cn/shangyu/gdxzPatient/utils/BadgeCountUtils.java
  54. 38
      app/src/main/java/cn/shangyu/gdxzPatient/utils/BadgeUtils.java
  55. 22
      app/src/main/java/cn/shangyu/gdxzPatient/utils/Constant.java
  56. 25
      app/src/main/java/cn/shangyu/gdxzPatient/utils/NotificationUtils.java
  57. 8
      app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java
  58. BIN
      app/src/main/res/drawable-hdpi/gettoken.png
  59. BIN
      app/src/main/res/drawable-hdpi/upload.png
  60. 133
      app/src/main/res/layout/activity_addexpert.xml
  61. 33
      app/src/main/res/layout/activity_askamoreinfo.xml
  62. 2
      app/src/main/res/layout/activity_completeinformation.xml
  63. 2
      app/src/main/res/layout/activity_familycontactinfo.xml
  64. 2
      app/src/main/res/layout/activity_personinfo.xml
  65. 4
      app/src/main/res/layout/activity_personinfo1.xml
  66. 86
      app/src/main/res/layout/dialog_notification.xml
  67. 2
      app/src/main/res/layout/fragment_basicinfo.xml
  68. 26
      app/src/main/res/layout/item.xml
  69. 6
      app/src/main/res/layout/item_doctoranswer.xml
  70. 29
      app/src/main/res/layout/mian.xml
  71. 2
      app/src/main/res/layout/popwindow_selected_livercancer.xml
  72. 26
      app/src/main/res/values/strings.xml

2
.idea/misc.xml

@ -24,7 +24,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

1
.idea/vcs.xml

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/TimeLib" vcs="Git" />
<mapping directory="$PROJECT_DIR$/library_pullToRefresh" vcs="Git" />
</component>

BIN
PushSDK/build/generated/mockable-android-19.v3.jar

Binary file not shown.

2
PushSDK/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties

@ -1,2 +1,2 @@
#Fri Apr 19 17:12:56 CST 2019
#Wed Sep 18 19:48:37 CST 2019
F\:\\ApplicationPatient\\PushSDK\\build\\intermediates\\bundles\\debug\\res\\layout\\upush_notification.xml=F\:\\ApplicationPatient\\PushSDK\\build\\intermediates\\res\\merged\\androidTest\\debug\\layout_upush_notification.xml.flat

2
PushSDK/build/intermediates/incremental/packageDebugResources/compile-file-map.properties

@ -1,2 +1,2 @@
#Fri Apr 19 14:42:24 CST 2019
#Wed Sep 18 12:46:41 CST 2019
F\:\\ApplicationPatient\\PushSDK\\res\\layout\\upush_notification.xml=F\:\\ApplicationPatient\\PushSDK\\build\\intermediates\\bundles\\debug\\res\\layout\\upush_notification.xml

2
PushSDK/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties

@ -1,2 +1,2 @@
#Mon May 13 09:12:25 CST 2019
#Wed Sep 18 14:09:11 CST 2019
F\:\\ApplicationPatient\\PushSDK\\res\\layout\\upush_notification.xml=F\:\\ApplicationPatient\\PushSDK\\build\\intermediates\\bundles\\release\\res\\layout\\upush_notification.xml

BIN
PushSDK/build/outputs/aar/PushSDK-debug.aar

Binary file not shown.

9
app/build.gradle

@ -12,8 +12,8 @@ android {
applicationId "cn.shangyu.gdxzPatient"
minSdkVersion 19
targetSdkVersion 26
versionCode 57
versionName "3.3.1"
versionCode 58
versionName "3.3.3"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
@ -85,5 +85,8 @@ dependencies {
implementation files('libs/xUtils-2.6.14.jar')
compile 'com.android.support:multidex:1.0.0'
compile 'com.github.dfqin:grantor:2.1.0'
implementation files('libs/Yuntx_FullLib_v5.3.1r.jar')
implementation files('libs/YTX_Android_IM_SDK_v5.4.8r.jar')
compile 'me.leolin:ShortcutBadger:1.1.13@aar'
implementation files('libs/HwPush_SDK_NOMAP_V2705.jar')
implementation files('libs/MiPush_SDK_Client_3_6_19.jar')
}

BIN
app/libs/HwPush_SDK_NOMAP_V2705.jar

Binary file not shown.

BIN
app/libs/MiPush_SDK_Client_3_6_19.jar

Binary file not shown.

BIN
app/libs/YTX_Android_IM_SDK_v5.4.8r.jar

Binary file not shown.

BIN
app/libs/Yuntx_FullLib_v5.3.1r.jar

Binary file not shown.

BIN
app/libs/armeabi-v7a/libmsc.so

Binary file not shown.

BIN
app/libs/armeabi-v7a/libserphone.so

Binary file not shown.

610
app/src/main/AndroidManifest.xml

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.shangyu.gdxzPatient"
android:versionCode="57"
android:versionName="3.3.1" >
android:versionCode="58"
android:versionName="3.3.3" >
<uses-sdk
android:minSdkVersion="14"
@ -89,8 +89,14 @@
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 容联 -->
<!-- 设置华为角标的显示 -->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
<!--小米权限申请-->
<permission android:name="cn.shangyu.gdxzPatient.permission.MIPUSH_RECEIVE"
android:protectionLevel="signature" />
<!--//这里com.xiaomi.mipushdemo改成app的包名-->
<uses-permission android:name="cn.shangyu.gdxzPatient.permission.MIPUSH_RECEIVE"/>
<!--&lt;!&ndash; 容联 &ndash;&gt;-->
<uses-feature
android:name="android.hardware.location"
android:required="false" />
@ -109,28 +115,19 @@
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar" >
<meta-data
android:name="DEBUG_LOG"
android:value="true" />
<meta-data
android:name="TRACE_LOG"
android:value="true" />
<meta-data
android:name="LOG_LEVEL"
android:value="99"
/>
<!--
<meta-data
android:name="DEBUG_LOG"
android:value="true" />
<meta-data
android:name="TRACE_LOG"
android:value="true" />
<meta-data
android:name="LOG_LEVEL"
android:value="60"
/>
-->
<!--容联SDK日志开关-->
<!--<meta-data-->
<!--android:name="DEBUG_LOG"-->
<!--android:value="true" />-->
<!--<meta-data-->
<!--android:name="TRACE_LOG"-->
<!--android:value="true" />-->
<!--<meta-data-->
<!--android:name="LOG_LEVEL"-->
<!--android:value="99"-->
<!--/>-->
<meta-data
android:name="android.max_aspect"
android:value="2.1" />
@ -793,39 +790,6 @@ android:value="true" />
<activity android:name="cn.shancn.shangyu.gdxzPatientient.activity.OrdersDetailSendFlowerActivity" >
</activity>
-->
<!-- 门诊详情 -->
<activity
@ -1201,18 +1165,18 @@ android:value="true" />
android:screenOrientation="portrait" />
<!-- VoIP 呼叫界面 -->
<activity
android:name=".ecdemo.ui.voip.VoIPCallActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="con.yuntongxun.ecdemo.intent.ACTION_VOICE_CALL" />
<!--<activity-->
<!--android:name=".ecdemo.ui.voip.VoIPCallActivity"-->
<!--android:configChanges="keyboardHidden|orientation|screenSize"-->
<!--android:launchMode="singleTask"-->
<!--android:screenOrientation="portrait"-->
<!--android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >-->
<!--<intent-filter>-->
<!--<action android:name="con.yuntongxun.ecdemo.intent.ACTION_VOICE_CALL" />-->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--<category android:name="android.intent.category.DEFAULT" />-->
<!--</intent-filter>-->
<!--</activity>-->
<activity
android:name=".ecdemo.ui.voip.VideoActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
@ -1238,39 +1202,6 @@ android:value="true" />
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
-->
<activity android:name="cn.shangyu.gdxzPatient.activity.TopicAcitivty" >
</activity>
@ -1291,79 +1222,13 @@ android:value="true" />
<data android:scheme="qwalletXXXXXXXX" />
</intent-filter>
</activity>
微信支付
<!--微信支付-->
<activity-alias
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity="com.pingplusplus.android.PaymentActivity" />
支付宝
<!--支付宝-->
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
@ -1377,41 +1242,7 @@ android:value="true" />
android:exported="false"
android:screenOrientation="behind" >
</activity>
银联支付
<!--银联支付-->
<activity android:name="com.unionpay.uppay.PayActivity" />
<!-- Ping++ SDK end -->
@ -1458,38 +1289,6 @@ android:value="true" />
</activity>
-->
<!-- 微信回调activity -->
<!--
@ -1500,39 +1299,6 @@ android:value="true" />
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
-->
<!-- ************************* 分享相关的注册 END **************************** -->
<!--
@ -1541,39 +1307,6 @@ android:value="true" />
android:value="Umeng" >
</meta-data>
-->
<!--
ECSDK核心服务类
@ -1582,39 +1315,6 @@ android:value="true" />
android:enabled="true"
android:exported="false" />
-->
<!-- 友盟自动更新 start -->
<!--<service-->
@ -1658,56 +1358,270 @@ android:value="true" />
3、如果应用未处于运行状态并且不想被唤醒应用运行则采用状态栏通知处理(SDK直接提醒,不会通知应用),比如调用
ECDevice#logout(ECDevice.NotifyMode, ECDevice.OnLogoutListener)退出接口传入后台接收消息才会有提醒
-->
<receiver
android:name=".ecdemo.service.YuntxNotifyReceiver"
android:exported="false" >
<intent-filter>
<!-- 接收push消息 -->
<action android:name="cn.shangyu.gdxzPatient.action.VOIP_CALL" />
<action android:name="cn.shangyu.gdxzPatient.action.MESSAGE" />
<action android:name="cn.shangyu.gdxzPatient.action.NOTIFICATION_CLICK" />
<action android:name="cn.shangyu.gdxzPatient.action.PERSON_VERSION" />
<!-- 这个配置是容联IM专有的配置,其他应用集成的时候可以忽略 -->
<action android:name="com.yuntongxun.ecdemo.action.SOFT_UPDATER" />
</intent-filter>
</receiver>
<service android:name=".ecdemo.service.YuntxNotifyReceiver$NotifyService" />
<!-- 以下是华为的 -->
<!-- 第三方相关 :接收Push消息(注册、Push消息、Push连接状态、标签,LBS上报结果)广播 -->
<receiver android:name=".ecdemo.ui.huawei.MyReceiver">
<intent-filter>
<!-- 必须,用于接收token -->
<action android:name="com.huawei.android.push.intent.REGISTRATION" />
<!-- 必须,用于接收消息 -->
<action android:name="com.huawei.android.push.intent.RECEIVE" />
<!-- 可选,用于点击通知栏或通知栏上的按钮后触发onEvent回调 -->
<action android:name="com.huawei.android.push.intent.CLICK" />
<!-- 可选,查看push通道是否连接,不查看则不需要 -->
<action android:name="com.huawei.intent.action.PUSH_STATE" />
<!-- 可选,标签、地理位置上报回应,不上报则不需要 -->
<action android:name="com.huawei.android.push.plugin.RESPONSE" />
</intent-filter>
<meta-data
android:name="CS_cloud_ablitity"
android:value="肝胆相照" />
</receiver>
<!--
备注:Push相关的android组件需要添加到业务的AndroidManifest.xml,
Push相关android组件运行在另外一个进程是为了防止Push服务异常而影响主业务
-->
<!-- PushSDK:PushSDK接收外部请求事件入口 -->
<receiver
android:name="com.huawei.android.pushagent.PushEventReceiver"
android:process=":pushservice">
<intent-filter>
<action android:name="com.huawei.android.push.intent.REFRESH_PUSH_CHANNEL" />
<action android:name="com.huawei.intent.action.PUSH" />
<action android:name="com.huawei.intent.action.PUSH_ON" />
<action android:name="com.huawei.android.push.PLUGIN" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<receiver
android:name="com.huawei.android.pushagent.PushBootReceiver"
android:process=":pushservice">
<intent-filter>
<action android:name="com.huawei.android.push.intent.REGISTER" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<meta-data
android:name="CS_cloud_version"
android:value="\u0032\u0037\u0030\u0035" />
</receiver>
<!-- PushSDK:Push服务 -->
<service
android:name="com.huawei.android.pushagent.PushService"
android:process=":pushservice" />
<!--下是华为官方提供推送注册-->
<!--<meta-data-->
<!--android:name="com.huawei.hms.client.appid"-->
<!--android:value="appid=10526652"/>-->
<!--&lt;!&ndash; 接入HMSSDK 需要注册的provider,authorities 一定不能与其他应用一样,所以这边 cn.shangyu.gdxzExpert 要替换上您应用的包名-->
<!--Access HMSSDK need to register provider,authorities must not be the same as other applications, so this side ${package_name} to replace the package name you applied&ndash;&gt;-->
<!--<provider-->
<!--android:name="com.huawei.hms.update.provider.UpdateProvider"-->
<!--android:authorities="cn.shangyu.gdxzExpert.hms.update.provider"-->
<!--android:exported="false"-->
<!--android:grantUriPermissions="true"/>-->
<!--&lt;!&ndash; 接入HMSSDK 需要注册的provider,authorities 一定不能与其他应用一样,所以这边 cn.shangyu.gdxzExpert 要替换上您应用的包名-->
<!--Access HMSSDK need to register provider,authorities must not be the same as other applications, so this side ${package_name} to replace the package name you applied&ndash;&gt;-->
<!--<provider-->
<!--android:name="com.huawei.updatesdk.fileprovider.UpdateSdkFileProvider"-->
<!--android:authorities="cn.shangyu.gdxzExpert.updateSdk.fileProvider"-->
<!--android:exported="false"-->
<!--android:grantUriPermissions="true">-->
<!--</provider>-->
<!--&lt;!&ndash;<activity android:name=".OpendeviceActivity"/>&ndash;&gt;-->
<!--&lt;!&ndash; 使用 HMSAgent 代码接入HMSSDK 需要注册的activity | Use hmsagent code to access HMSSDK activity that requires registration&ndash;&gt;-->
<!--<activity-->
<!--android:name="com.huawei.android.hms.agent.common.HMSAgentActivity"-->
<!--android:configChanges="orientation|locale|screenSize|layoutDirection|fontScale"-->
<!--android:excludeFromRecents="true"-->
<!--android:exported="false"-->
<!--android:hardwareAccelerated="true"-->
<!--android:theme="@android:style/Theme.Translucent" >-->
<!--<meta-data-->
<!--android:name="hwc-theme"-->
<!--android:value="androidhwext:style/Theme.Emui.Translucent" />-->
<!--</activity>-->
<!--&lt;!&ndash; 接入HMSSDK 需要注册的activity | Access HMSSDK activity to be registered&ndash;&gt;-->
<!--<activity-->
<!--android:name="com.huawei.hms.activity.BridgeActivity"-->
<!--android:configChanges="orientation|locale|screenSize|layoutDirection|fontScale"-->
<!--android:excludeFromRecents="true"-->
<!--android:exported="false"-->
<!--android:hardwareAccelerated="true"-->
<!--android:theme="@android:style/Theme.Translucent" >-->
<!--<meta-data-->
<!--android:name="hwc-theme"-->
<!--android:value="androidhwext:style/Theme.Emui.Translucent" />-->
<!--</activity>-->
<!--&lt;!&ndash; 接入HMSSDK 需要注册的activity | Access HMSSDK activity to be registered&ndash;&gt;-->
<!--<activity-->
<!--android:name="com.huawei.updatesdk.service.otaupdate.AppUpdateActivity"-->
<!--android:configChanges="orientation|screenSize"-->
<!--android:exported="false"-->
<!--android:theme="@style/upsdkDlDialog" >-->
<!--<meta-data-->
<!--android:name="hwc-theme"-->
<!--android:value="androidhwext:style/Theme.Emui.Translucent.NoTitleBar" />-->
<!--</activity>-->
<!--&lt;!&ndash; 接入HMSSDK 需要注册的activity | Access HMSSDK activity to be registered&ndash;&gt;-->
<!--<activity-->
<!--android:name="com.huawei.updatesdk.support.pm.PackageInstallerActivity"-->
<!--android:configChanges="orientation|keyboardHidden|screenSize"-->
<!--android:exported="false"-->
<!--android:theme="@style/upsdkDlDialog" >-->
<!--<meta-data-->
<!--android:name="hwc-theme"-->
<!--android:value="androidhwext:style/Theme.Emui.Translucent" />-->
<!--</activity>-->
<!--&lt;!&ndash; 接入HMSSDK PUSH模块需要注册,第三方相关 :接收Push消息(注册、透传消息、通知栏点击事件)广播,-->
<!--此receiver类需要开发者自己创建并继承com.huawei.hms.support.api.push.PushReceiver类,-->
<!--参考示例代码中的类:com.huawei.hmsagent.HuaweiPushRevicer-->
<!--cn.shangyu.gdxzExpert 要替换上您应用的包名&ndash;&gt;-->
<!--<receiver android:name="com.huawei.android.hms.agent.HuaweiPushRevicer"-->
<!--android:permission="cn.shangyu.gdxzExpert.permission.PROCESS_PUSH_MSG">-->
<!--<intent-filter>-->
<!--&lt;!&ndash; 必须,用于接收token &ndash;&gt;-->
<!--<action android:name="com.huawei.android.push.intent.REGISTRATION" />-->
<!--&lt;!&ndash; 必须, 用于接收透传消息 &ndash;&gt;-->
<!--<action android:name="com.huawei.android.push.intent.RECEIVE" />-->
<!--&lt;!&ndash; 必须, 用于接收通知栏消息点击事件 此事件不需要开发者处理,只需注册就可以&ndash;&gt;-->
<!--<action android:name="com.huawei.intent.action.PUSH_DELAY_NOTIFY"/>-->
<!--</intent-filter>-->
<!--</receiver>-->
<!--&lt;!&ndash;如下2个通知会在以后的版本中逐渐废弃-->
<!--接入HMSSDK PUSH模块需要注册,第三方相关 :接收Push消息(点击通知栏或通知栏上的按钮后触发onEvent回调、查看push通道是否连接)广播,-->
<!--此receiver类需要开发者自己创建并继承com.huawei.hms.support.api.push.PushReceiver类,-->
<!--参考示例代码中的类:com.huawei.hmsagent.HuaweiPushRevicer-->
<!--cn.shangyu.gdxzExpert 要替换上您应用的包名&ndash;&gt;-->
<!--<receiver android:name="com.huawei.android.hms.agent.HuaweiPushRevicer">-->
<!--<intent-filter>-->
<!--&lt;!&ndash; 用于点击通知栏或通知栏上的按钮后触发onEvent回调 &ndash;&gt;-->
<!--<action android:name="com.huawei.android.push.intent.CLICK" />-->
<!--&lt;!&ndash; 查看push通道是否连接, 不查看则不需要 &ndash;&gt;-->
<!--<action android:name="com.huawei.intent.action.PUSH_STATE"/>-->
<!--</intent-filter>-->
<!--</receiver>-->
<!--&lt;!&ndash;接入HMSSDK PUSH模块需要注册该service,不需要开发者处理&ndash;&gt;-->
<!--<service-->
<!--android:name="com.huawei.hms.support.api.push.service.HmsMsgService"-->
<!--android:enabled="true"-->
<!--android:exported="true"-->
<!--android:process=":pushservice">-->
<!--<intent-filter>-->
<!--<action android:name="com.huawei.push.msg.NOTIFY_MSG" />-->
<!--<action android:name="com.huawei.push.msg.PASSBY_MSG" />-->
<!--</intent-filter>-->
<!--</service>-->
<!--&lt;!&ndash; 接入HMSSDK 需要注册的应用下载服务 | Access HMSSDK need to register app download service&ndash;&gt;-->
<!--<service android:name="com.huawei.updatesdk.service.deamon.download.DownloadService"-->
<!--android:exported="false"/>-->
<!-- 小米 -->
<service
android:name="com.xiaomi.push.service.XMPushService"
android:enabled="true"
android:process=":pushservice" />
<service
android:name="com.xiaomi.push.service.XMJobService" android:enabled="true"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"
android:process=":pushservice" />
<service
android:name="com.xiaomi.mipush.sdk.PushMessageHandler"
android:enabled="true"
android:exported="true" />
<service
android:name="com.xiaomi.mipush.sdk.MessageHandleService"
android:enabled="true" />
-->
<receiver
android:name=".ecdemo.service.YuntxNotifyReceiver"
android:exported="false" >
android:name=".ecdemo.ui.xiaomi.DemoMessageReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" />
</intent-filter>
<intent-filter>
<action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" />
</intent-filter>
<intent-filter>
<action android:name="com.xiaomi.mipush.ERROR" />
</intent-filter>
</receiver>
<receiver
android:name="com.xiaomi.push.service.receivers.NetworkStatusReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<!-- 接收push消息 -->
<action android:name="cn.shangyu.gdxzPatient.action.VOIP_CALL" />
<action android:name="cn.shangyu.gdxzPatient.action.MESSAGE" />
<action android:name="cn.shangyu.gdxzPatient.action.NOTIFICATION_CLICK" />
<action android:name="cn.shangyu.gdxzPatient.action.PERSON_VERSION" />
<!-- 这个配置是容联IM专有的配置,其他应用集成的时候可以忽略 -->
<action android:name="com.yuntongxun.ecdemo.action.SOFT_UPDATER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver
android:name="com.xiaomi.push.service.receivers.PingReceiver"
android:exported="false"
android:process=":pushservice">
<intent-filter>
<action android:name="com.xiaomi.push.PING_TIMER" />
</intent-filter>
</receiver>
<service android:name=".ecdemo.service.YuntxNotifyReceiver$NotifyService" />
</application>
</manifest>

BIN
app/src/main/assets/share_video.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

2
app/src/main/java/cn/shangyu/gdxzPatient/activity/AccumulatePointsActivity.java

@ -104,7 +104,7 @@ public class AccumulatePointsActivity extends BaseActivity implements OnCallBack
iv_5 = (ImageView) view.findViewById(R.id.iv_5);
iv_6 = (ImageView) view.findViewById(R.id.iv_6);
iv_7 = (ImageView) view.findViewById(R.id.iv_7);
if (Constant.isSignIn) {
bt_signIn.setBackgroundResource(R.drawable.signin_true);
}

101
app/src/main/java/cn/shangyu/gdxzPatient/activity/AddExpertActivity.java

@ -17,6 +17,8 @@ import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import cn.shangyu.gdxzPatient.R;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil;
import cn.shangyu.gdxzPatient.ecdemo.ui.SDKCoreHelper;
@ -26,6 +28,7 @@ import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.CustomToast;
import cn.shangyu.gdxzPatient.utils.LogUtils;
import cn.shangyu.gdxzPatient.utils.SharePrefUtil;
import cn.shangyu.gdxzPatient.utils.StringUtil;
import cn.shangyu.gdxzPatient.utils.UIUtils;
import cn.shangyu.gdxzPatient.utils.Url;
import cn.shangyu.gdxzPatient.widget.CustomProgressDialog;
@ -47,9 +50,9 @@ public class AddExpertActivity extends BaseActivity implements OnClickListener {
private CheckBox cb_select1;// 第一个CheckBox
private CheckBox cb_select2;// 第二个CheckBox
private CheckBox cb_select3;// 第三个CheckBox
private TextView tv_name1;// 第一个名字控件
private TextView tv_name2;// 第二个名字控件
private TextView tv_name4;//
private EditText et_name1;// 第一个名字控件
private EditText et_name2;// 第二个名字控件
private EditText et_name3;//
private TextView tv_time2;// 第二个时间控件
private Button bt_submit;// 提交那妞
private CustomProgressDialog pd;// 进度框
@ -97,10 +100,10 @@ public class AddExpertActivity extends BaseActivity implements OnClickListener {
cb_select2 = (CheckBox) view.findViewById(R.id.cb_select2);// 第二个CheckBox
cb_select3 = (CheckBox) view.findViewById(R.id.cb_select3);// 第三个CheckBox
tv_name1 = (TextView) view.findViewById(R.id.tv_name1);// 第一个名字控件
et_name1 = (EditText) view.findViewById(R.id.et_name1);// 第一个名字控件
tv_name2 = (TextView) view.findViewById(R.id.tv_name2);// 第二个名字控件
tv_name4 = (TextView) view.findViewById(R.id.tv_name4);
et_name2 = (EditText) view.findViewById(R.id.et_name2);// 第二个名字控件
et_name3 = (EditText) view.findViewById(R.id.et_name3);
String mMyName = SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "");
if (TextUtils.isEmpty(SharePrefUtil.getString(AddExpertActivity.this,
@ -109,25 +112,25 @@ public class AddExpertActivity extends BaseActivity implements OnClickListener {
exit();
}
if (mMyName.length() <= 4) {
tv_name1.setText("您好!\n我是"
+ SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "") + ",在线上和您沟通过,请您同意我作为您的随访患者。");
tv_name2.setText("我是"
+ SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "") + ",在");
tv_name4.setText("我是"
+ SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "") + ",在");
} else {
tv_name1.setText("您好!\n我是" + mMyName.subSequence(0, 4)
+ "...,在线上和您沟通过,请您同意我作为您的随访患者。");
tv_name2.setText("我是" + mMyName.subSequence(0, 4) + "...,在");
tv_name4.setText("我是" + mMyName.subSequence(0, 4) + "...,在");
}
content = "您好!\n我是"
+ SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "") + ",在线上和您沟通过,请您同意我作为您的随访患者。";
// if (mMyName.length() <= 4) {
// tv_name1.setText("您好!\n我是"
// + SharePrefUtil.getString(AddExpertActivity.this,
// Constant.REALNAME, "") + ",在线上和您沟通过,请您同意我作为您的随访患者。");
// tv_name2.setText("我是"
// + SharePrefUtil.getString(AddExpertActivity.this,
// Constant.REALNAME, "") + ",在");
// tv_name4.setText("我是"
// + SharePrefUtil.getString(AddExpertActivity.this,
// Constant.REALNAME, "") + ",在");
// } else {
// tv_name1.setText("您好!\n我是" + mMyName.subSequence(0, 4)
// + "...,在线上和您沟通过,请您同意我作为您的随访患者。");
// tv_name2.setText("我是" + mMyName.subSequence(0, 4) + "...,在");
// tv_name4.setText("我是" + mMyName.subSequence(0, 4) + "...,在");
// }
// content = "您好!\n我是"
// + SharePrefUtil.getString(AddExpertActivity.this,
// Constant.REALNAME, "") + ",在线上和您沟通过,请您同意我作为您的随访患者。";
// tv_name2.setText("我是"+SharePrefUtil.getString(AddExpertActivity.this,
// Constant.REALNAME, "")+",在");
// tv_name3 = (TextView)view.findViewById(R.id.tv_name3);//第三个名字控件
@ -230,23 +233,43 @@ public class AddExpertActivity extends BaseActivity implements OnClickListener {
* method
*/
void submitAdd() {
patientUuid = SharePrefUtil.getString(AddExpertActivity.this, "uuid",
"");
patientUuid = SharePrefUtil.getString(AddExpertActivity.this, "uuid","");
if ("1".equals(selected)) {
// content= tv_name1.getText().toString()+"请您同意我作为您的随访患者。";
content = tv_name1.getText().toString();
String name1 = et_name1.getText().toString().trim();
if (StringUtil.isEmpty(name1)){
ToastUtil.showMessage("请输入真实姓名");
return;
}else {
content = "我是"+ name1+ ",在线上和您沟通过,请您同意我作为您的随访患者。";
}
} else if ("2".equals(selected)) {
content = "您好!\n"
+ "我是"
+ SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "") + ",在"
+ et_address4.getText().toString() + "看过您的门诊,请同意我作为您的随访患者。";
String name1 = et_name2.getText().toString().trim();
String address4 = et_address4.getText().toString().trim();
if (StringUtil.isEmpty(name1)){
ToastUtil.showMessage("请输入真实姓名");
return;
}else if (StringUtil.isEmpty(address4)){
ToastUtil.showMessage("请输入就诊的医院");
return;
}else {
content = "我是"+ name1 + ",在"+ address4+ "看过您的门诊,请同意我作为您的随访患者。";
}
} else if ("3".equals(selected)) {
content = "您好!\n"
+ "我是"
+ SharePrefUtil.getString(AddExpertActivity.this,
Constant.REALNAME, "") + ",在"
+ et_address5.getText().toString() + "住过院,请同意我作为您的随访患者。";
String name1 = et_name3.getText().toString().trim();
String address4 = et_address5.getText().toString().trim();
if (StringUtil.isEmpty(name1)){
ToastUtil.showMessage("请输入真实姓名");
return;
}else if (StringUtil.isEmpty(address4)){
ToastUtil.showMessage("请输入就诊的医院");
return;
}else {
content = "我是"+ name1 + ",在"+ address4+ "医院住过院,请同意我作为您的随访患者。";
}
}
pd = new CustomProgressDialog(AddExpertActivity.this, "请稍候");
pd.show();
@ -334,6 +357,6 @@ public class AddExpertActivity extends BaseActivity implements OnClickListener {
}
};
private String patientUuid;
private String selected;
private String selected = "1";
}

24
app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreChoosePatientActivity.java

@ -61,6 +61,7 @@ public class AskAMoreChoosePatientActivity extends BaseActivity implements View.
private String disease_uuid;
private String go_hospital;
private CustomProgressDialog pd;
private String birthday;
@Override
public void setTitle() {
@ -97,9 +98,14 @@ public class AskAMoreChoosePatientActivity extends BaseActivity implements View.
}
private void getInfoAllList() {
pd.show();
Map<String,String> map = new HashMap<>();
sendJsonPostParamtoNetSignMD5(Url.addInterrogationStep1Info,map,ADDINTERROGATIONSTEP1INFO,this);
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
pd.show();
Map<String,String> map = new HashMap<>();
sendJsonPostParamtoNetSignMD5(Url.addInterrogationStep1Info,map,ADDINTERROGATIONSTEP1INFO,this);
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
}
private void initView(View view) {
@ -130,9 +136,12 @@ public class AskAMoreChoosePatientActivity extends BaseActivity implements View.
public void onOptionsSelect(int options1, int option2,
int options3) {
// 返回的分别是三个级别的选中位置
String name = drugName.get(options1);
disease_uuid = fromJson.getDiseaseList().get(options1).getUuid();
tv_drugtype.setText(name);
if (drugName!=null&&drugName.size()>0){
String name = drugName.get(options1);
disease_uuid = fromJson.getDiseaseList().get(options1).getUuid();
tv_drugtype.setText(name);
}
}
});
}
@ -157,6 +166,8 @@ public class AskAMoreChoosePatientActivity extends BaseActivity implements View.
return;
}else {
family_uuid = fromJson.getFamilyList().get(options1).getUuid();
birthday = fromJson.getFamilyList().get(options1).getBirthday();
if (name.length()>7){
tv_person.setText( name.substring(0,3)+"..."+name.substring(name.length()-1,name.length()));
}else {
@ -220,6 +231,7 @@ public class AskAMoreChoosePatientActivity extends BaseActivity implements View.
intent.putExtra("family_uuid",family_uuid);
intent.putExtra("disease_uuid",disease_uuid);
intent.putExtra("go_hospital",go_hospital);
intent.putExtra("birthday",birthday);
startActivity(intent);
}else {
Intent intent = new Intent().setClass(AskAMoreChoosePatientActivity.this,PersonInfoActivity.class);

75
app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreIllnessActivity.java

@ -162,41 +162,45 @@ public class AskAMoreIllnessActivity extends BaseActivity implements View.OnClic
finish();
break;
case R.id.bt_next:
pd.show();
String s = et_question.getText().toString();
if (StringUtil.isEmpty(s)||s.length()<10){
ToastUtil.showMessage("病情描述至少10个字");
pd.dismiss();
return;
}
String s2 = et_question2.getText().toString();
if (StringUtil.isEmpty(s2)||s2.length()<5){
ToastUtil.showMessage("咨询问题至少5个字");
pd.dismiss();
return;
}
bt_next.setFocusable(false);
bt_next.setEnabled(false);
Map<String,Object> map = new HashMap<>();
map.put("step1_uuid",step1_uuid);
map.put("disease_describe",s);
map.put("your_question",s2);
LogUtil.i("step1_uuid = "+step1_uuid);
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
for (int i = 0; i < mBitmaps.size(); i++) {
int num = i + 1;
if (!mBitmaps.get(i).isAdd()) {
BasicNameValuePair value = new BasicNameValuePair("img"+ num, Base64Util.BitmaptoBase64(mBitmaps.get(i).getBitmap()));
parameters.add(value);
String s = et_question.getText().toString();
if (StringUtil.isEmpty(s)||s.length()<10){
ToastUtil.showMessage("病情描述至少10个字");
return;
}
String s2 = et_question2.getText().toString();
if (StringUtil.isEmpty(s2)||s2.length()<5){
ToastUtil.showMessage("咨询问题至少5个字");
return;
}
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
pd.show();
bt_next.setFocusable(false);
bt_next.setEnabled(false);
Map<String,Object> map = new HashMap<>();
map.put("step1_uuid",step1_uuid);
map.put("disease_describe",s);
map.put("your_question",s2);
LogUtil.i("step1_uuid = "+step1_uuid);
// List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
// for (int i = 0; i < mBitmaps.size(); i++) {
// int num = i + 1;
// if (!mBitmaps.get(i).isAdd()) {
// BasicNameValuePair value = new BasicNameValuePair("img"+ num, Base64Util.BitmaptoBase64(mBitmaps.get(i).getBitmap()));
// parameters.add(value);
// }
// }
// Map map1=new HashMap();
// for (int i=0;i<parameters.size();i++){
// BasicNameValuePair basicNameValuePair = parameters.get(i);
// map1.put(basicNameValuePair.getName(),basicNameValuePair.getValue());
// }
// map.put("imgsBean",map1);
sendJsonPostParamtoNetSignMD5Object(Url.addInterrogationStep2,map,mBitmaps,ADDINTERROGATIONSTEP2,this);
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
Map map1=new HashMap();
for (int i=0;i<parameters.size();i++){
BasicNameValuePair basicNameValuePair = parameters.get(i);
map1.put(basicNameValuePair.getName(),basicNameValuePair.getValue());
}
map.put("imgsBean",map1);
sendJsonPostParamtoNetSignMD5Object(Url.addInterrogationStep2,map,ADDINTERROGATIONSTEP2,this);
break;
}
}
@ -209,10 +213,7 @@ public class AskAMoreIllnessActivity extends BaseActivity implements View.OnClic
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
LogUtil.i("resultJson = "+resultJson);
// {"code":"200","InterrogationStep1Uuid":"a12c07490d864cd9972f10947bf59a87","message":"添加成功"}
pd.dismiss();
bt_next.setFocusable(true);
bt_next.setEnabled(true);
switch (resultCode){
case ADDINTERROGATIONSTEP2:
try {
@ -223,6 +224,8 @@ public class AskAMoreIllnessActivity extends BaseActivity implements View.OnClic
ToastUtil.showMessage("添加成功");
}else {
ToastUtil.showMessage("添加失败");
bt_next.setFocusable(true);
bt_next.setEnabled(true);
}
} catch (JSONException e) {
e.printStackTrace();

82
app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreInfoActivity.java

@ -18,7 +18,10 @@ import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -29,9 +32,11 @@ import cn.shangyu.gdxzPatient.ecdemo.common.utils.LogUtil;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil;
import cn.shangyu.gdxzPatient.http.OnCallBackFromNet;
import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.DateGetAge;
import cn.shangyu.gdxzPatient.utils.StringUtil;
import cn.shangyu.gdxzPatient.utils.UIUtils;
import cn.shangyu.gdxzPatient.utils.Url;
import cn.shangyu.gdxzPatient.widget.CustomProgressDialog;
import cn.shangyu.gdxzPatient.widget.LoadingPage;
import pickerview.OptionsPopupWindow;
import pickerview.TimePopupWindow;
@ -67,6 +72,8 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
private String other_disease;
private EditText et_detail;
public static final int ADDINTERROGATIONSTEP1 = 200;
private CustomProgressDialog pd;
private String birthday;
@Override
public void setTitle() {
@ -87,11 +94,11 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
family_uuid = intent.getStringExtra("family_uuid");
disease_uuid = intent.getStringExtra("disease_uuid");
go_hospital = intent.getStringExtra("go_hospital");
birthday = intent.getStringExtra("birthday");
pwOptions = new OptionsPopupWindow(this);
pwOptions.setTitle("6");
pwOptions_state = new OptionsPopupWindow(this);
pwOptions_state.setTitle("7");
list_state = new ArrayList<>();
list_state.add("无明显肝纤维化");
list_state.add("肝纤维化");
@ -241,7 +248,26 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
int options3) {
// 返回的分别是三个级别的选中位置
String name = list_long.get(options1);
tv_timelong.setText(name);
if (options1>0){
String substring = name.split("年")[0];
int drunlong = Integer.parseInt(substring);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sdf.parse(birthday);
int age = DateGetAge.getAge(date);
if (drunlong>age){
ToastUtil.showMessage("请选择正确的患病时长");
}else {
tv_timelong.setText(name);
}
} catch (Exception e) {
e.printStackTrace();
}
}else {
tv_timelong.setText(name);
}
}
});
}
@ -346,27 +372,36 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
}
if (StringUtil.isEmpty(other_disease)){
// ToastUtil.showMessage("请选择是否合并其他慢性疾病");
ToastUtil.showMessage("请选择是否合并其他慢性疾病");
other_disease = "";
return;
}
Map<String,String> map = new HashMap<>();
map.put("family_uuid",family_uuid);
map.put("disease_uuid",disease_uuid);
map.put("go_hospital",go_hospital);
map.put("disease_date",disease_date);
map.put("liver_status",liver_status);
map.put("boolean_medication",boolean_medication);
map.put("medication_info",medication_info);
map.put("other_disease",other_disease);
sendJsonPostParamtoNetSignMD5(Url.addInterrogationStep1,map,ADDINTERROGATIONSTEP1,this);
LogUtil.i("family_uuid = "+family_uuid);
LogUtil.i("disease_uuid = "+disease_uuid);
LogUtil.i("go_hospital = "+go_hospital);
LogUtil.i("disease_date = "+disease_date);
LogUtil.i("liver_status = "+liver_status);
LogUtil.i("boolean_medication = "+boolean_medication);
LogUtil.i("medication_info = "+medication_info);
LogUtil.i("other_disease = "+other_disease);
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
pd = new CustomProgressDialog(AskAMoreInfoActivity.this, "请稍候");
pd.show();
Map<String,String> map = new HashMap<>();
map.put("family_uuid",family_uuid);
map.put("disease_uuid",disease_uuid);
map.put("go_hospital",go_hospital);
map.put("disease_date",disease_date);
map.put("liver_status",liver_status);
map.put("boolean_medication",boolean_medication);
map.put("medication_info",medication_info);
map.put("other_disease",other_disease);
sendJsonPostParamtoNetSignMD5(Url.addInterrogationStep1,map,ADDINTERROGATIONSTEP1,this);
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
// LogUtil.i("family_uuid = "+family_uuid);
// LogUtil.i("disease_uuid = "+disease_uuid);
// LogUtil.i("go_hospital = "+go_hospital);
// LogUtil.i("disease_date = "+disease_date);
// LogUtil.i("liver_status = "+liver_status);
// LogUtil.i("boolean_medication = "+boolean_medication);
// LogUtil.i("medication_info = "+medication_info);
// LogUtil.i("other_disease = "+other_disease);
break;
}
}
@ -375,7 +410,7 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
if (cb.isChecked()==true){
if (StringUtil.isEmpty(otherDrug.toString())) {
otherDrug.append(cb.getText().toString());
}else {
}else if (!otherDrug.toString().contains(cb.getText().toString())){
otherDrug.append(","+cb.getText().toString());
}
}
@ -441,6 +476,7 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
LogUtil.i("ADDINTERROGATIONSTEP1 = "+resultJson);
other_disease = "";
otherDrug.delete(0,otherDrug.length());
pd.dismiss();
switch (resultCode){
case ADDINTERROGATIONSTEP1:
try {
@ -456,8 +492,8 @@ public class AskAMoreInfoActivity extends BaseActivity implements View.OnClickLi
} catch (JSONException e) {
e.printStackTrace();
}
break;
}
}
}

23
app/src/main/java/cn/shangyu/gdxzPatient/activity/BaseActivity.java

@ -5,6 +5,7 @@ import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.ReentrantLock;
@ -32,6 +33,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import cn.shangyu.gdxzPatient.R;
import cn.shangyu.gdxzPatient.application.AppManager;
import cn.shangyu.gdxzPatient.bean.AddBitmaps;
import cn.shangyu.gdxzPatient.bean.TimestampBean;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.LogUtil;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil;
@ -39,6 +41,7 @@ import cn.shangyu.gdxzPatient.ecdemo.ui.SDKCoreHelper;
import cn.shangyu.gdxzPatient.http.HttpHelper;
import cn.shangyu.gdxzPatient.http.HttpHelper.HttpResult;
import cn.shangyu.gdxzPatient.http.OnCallBackFromNet;
import cn.shangyu.gdxzPatient.utils.Base64Util;
import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.GsonTools;
import cn.shangyu.gdxzPatient.utils.LogUtils;
@ -468,6 +471,8 @@ public abstract class BaseActivity extends FragmentActivity {
}
}
} catch (Exception e) {
mHandler.sendEmptyMessage(010);
ToastUtil.showMessage("提交失败,请重试");
// TODO Auto-generated catch block
e.printStackTrace();
@ -481,7 +486,7 @@ public abstract class BaseActivity extends FragmentActivity {
}
public void sendJsonPostParamtoNetSignMD5Object(final String postUrl,
final Map<String, Object> param, final int callType,final OnCallBackFromNet callBack) {
final Map<String, Object> param, final List<AddBitmaps> mBitmaps, final int callType, final OnCallBackFromNet callBack) {
param.put("user_uuid", SharePrefUtil.getString(BaseActivity.this, "uuid", ""));
param.put("client_type", "A");
param.put("version",UpdateVersionUtils.getVersionName() );
@ -494,6 +499,7 @@ public abstract class BaseActivity extends FragmentActivity {
public void run() {
// TODO Auto-generated method stub
lock.lock();
try {
httpResult = HttpHelper.post(Url.getTimestamp, null);
if (httpResult != null) {
@ -502,7 +508,20 @@ public abstract class BaseActivity extends FragmentActivity {
TimestampBean bean = GsonTools.fromGsonToBean(result1, TimestampBean.class);
param.put("timestamp", bean.getTimestamp());
LogUtils.e("timestamp = "+ bean.getTimestamp());
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
for (int i = 0; i < mBitmaps.size(); i++) {
int num = i + 1;
if (!mBitmaps.get(i).isAdd()) {
BasicNameValuePair value = new BasicNameValuePair("img"+ num, Base64Util.BitmaptoBase64(mBitmaps.get(i).getBitmap()));
parameters.add(value);
}
}
Map map1=new HashMap();
for (int i=0;i<parameters.size();i++){
BasicNameValuePair basicNameValuePair = parameters.get(i);
map1.put(basicNameValuePair.getName(),basicNameValuePair.getValue());
}
param.put("imgsBean",map1);
String encoding = "UTF-8";
Gson gson = new Gson();
String params = gson.toJson(param);

6
app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanTvsActivity.java

@ -60,7 +60,9 @@ import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
/**
* 首页肝胆视频
* */
public class GanDanTvsActivity extends BaseActivity implements OnClickListener ,OnCallBackFromNet{
private PullToRefreshListView mLv_Video;
private TextView mLoad_empty, tilte, tv_screen;
@ -261,6 +263,8 @@ public class GanDanTvsActivity extends BaseActivity implements OnClickListener ,
.getPublic_name());
intent.putExtra("note", mVideoSelectDatas.get(position)
.getNote());
intent.putExtra("content", mVideoSelectDatas.get(position)
.getContent());
String nowNum = mVideoSelectDatas.get(position).getReadnum()
+ "";
int nums = Integer.parseInt(nowNum) + 1;

49
app/src/main/java/cn/shangyu/gdxzPatient/activity/LoginActivity.java

@ -33,6 +33,7 @@ import android.text.Selection;
import android.text.Spannable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
@ -54,6 +55,7 @@ import cn.shangyu.gdxzPatient.bean.PatientUsers;
import cn.shangyu.gdxzPatient.bean.QuickLoginBean;
import cn.shangyu.gdxzPatient.bean.VerCodeBean;
import cn.shangyu.gdxzPatient.ecdemo.common.CCPAppManager;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.LogUtil;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil;
import cn.shangyu.gdxzPatient.ecdemo.core.ClientUser;
import cn.shangyu.gdxzPatient.ecdemo.storage.ConversationSqlManager;
@ -77,7 +79,11 @@ import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.yuntongxun.ecsdk.ECDevice;
import com.yuntongxun.ecsdk.ECError;
import com.yuntongxun.ecsdk.ECInitParams;
import com.yuntongxun.ecsdk.PersonInfo;
import com.yuntongxun.ecsdk.SdkErrorCode;
/**
*
@ -809,8 +815,49 @@ public class LoginActivity extends BaseActivity implements OnClickListener {
ConversationSqlManager.insertContact(userlist);
// LogUtils.v("========" + clientUser.getUserName());
Log.i("UUID","UUID = "+SharePrefUtil.getString(ctx, Constant.UUID,""));
if ("1".equals(isPerfect)) {// 完善度 (0信息不完善1信息完善)
//设置个人信息,包括昵称、生日、性别,推送消息的时候使用
PersonInfo personInfo =new PersonInfo();
// 设置昵称
personInfo.setNickName(SharePrefUtil.getString(ctx, Constant.REALNAME,""));
ECDevice.setPersonInfo(personInfo, new ECDevice.OnSetPersonInfoListener() {
@Override
public void onSetPersonInfoComplete(ECError e, int version) {
if (SdkErrorCode.REQUEST_SUCCESS == e.errorCode) {
// 个人信息设置成功,version最新的个人信息版本号
// 更新个人信息到本地数据库,通知UI刷新
// 调用查询个人信息接口,设置结果回调
String uuid = SharePrefUtil.getString(ctx, Constant.UUID, "");
ECDevice.getPersonInfo(uuid, new ECDevice.OnGetPersonInfoListener() {
@Override
public void onGetPersonInfoComplete(ECError e, PersonInfo p){
if(SdkErrorCode.REQUEST_SUCCESS == e.errorCode) {
// 个人信息获取成功
// 更新个人信息到本地数据库,通知UI刷新
p.getNickName();
Log.e("ECSDK_Demo", "p.getNickName() = " + p.getNickName());
return ;
}
//
}});
return;
}
Log.e("ECSDK_Demo", "get person info fail " +
", errorCode=" + e.errorCode);
}});
String brand = android.os.Build.BRAND;
if ("Xiaomi".equals(brand)){
//小米推送服务
ECDevice.reportDeviceToken(Constant.regID);
}else {
//华为推送服务
ECDevice.reportDeviceToken(Constant.token);
}
SharePrefUtil.saveBoolean(ctx, "isLogin", true);
Intent intent = new Intent(LoginActivity.this,
MainActivity.class);

142
app/src/main/java/cn/shangyu/gdxzPatient/activity/MainActivity.java

@ -2,6 +2,8 @@ package cn.shangyu.gdxzPatient.activity;
import java.io.File;
import java.io.InvalidClassException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -20,13 +22,16 @@ import android.Manifest;
import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.AppOpsManager;
import android.app.Dialog;
import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
@ -37,6 +42,7 @@ import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentManager;
@ -45,6 +51,7 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
@ -190,6 +197,7 @@ public class MainActivity extends BaseActivity implements
}
};
private RadioButton tab_rbn_my;
private AlertDialog dialog3;
public static void deleteDirWihtFile(File dir) {
if (dir == null || !dir.exists() || !dir.isDirectory())
@ -336,6 +344,13 @@ public class MainActivity extends BaseActivity implements
// 首次启动,更新
if (TextUtils.isEmpty(lastVersion)||!thisVersion.equals(lastVersion)) {
SharePrefUtil.saveString(getApplicationContext(), "lastVersion", thisVersion);
if (!isNotificationEnabled(MainActivity.this)){
//弹框提示是否打开通知栏
// ToastUtil.showMessage("为了您能与患者及时沟通\n请打开肝胆相照专家端通知信息-允许通知-随访消息");
openNotification();
}
// iv_yindao1.setVisibility(View.VISIBLE);
// tab_rbn_my = (RadioButton) view.findViewById(R.id.tab_rbn_my);
// iv_yindao1.setOnClickListener(new OnClickListener() {
@ -367,6 +382,121 @@ public class MainActivity extends BaseActivity implements
// 二次启动(版本未变)
}
private void openNotification(){
LayoutInflater inflater = LayoutInflater.from(this);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_notification, null);
dialog3 = new AlertDialog.Builder(
MainActivity.this).create();
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
dialog3.show();
dialog3.getWindow().setContentView(layout);
btn_cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharePrefUtil.saveBoolean(MainActivity.this,Constant.isNotification,true);//点击取消说明用户不想用通知栏
dialog3.dismiss();
}
});
btn_sure.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharePrefUtil.saveBoolean(MainActivity.this,Constant.isNotification,true);//点击确定说明用户想用通知栏,但不保证用户真正打开通知栏
dialog3.dismiss();
toSetting();
}
});
}
@SuppressLint("WrongConstant")
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
private boolean isNotificationEnabled(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//8.0手机以上
if (((NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)).getImportance() == NotificationManager.IMPORTANCE_NONE) {
return false;
}
}
String CHECK_OP_NO_THROW = "checkOpNoThrow";
String OP_POST_NOTIFICATION = "OP_POST_NOTIFICATION";
AppOpsManager mAppOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
ApplicationInfo appInfo = context.getApplicationInfo();
String pkg = context.getApplicationContext().getPackageName();
int uid = appInfo.uid;
Class appOpsClass = null;
try {
appOpsClass = Class.forName(AppOpsManager.class.getName());
Method checkOpNoThrowMethod = appOpsClass.getMethod(CHECK_OP_NO_THROW, Integer.TYPE, Integer.TYPE,
String.class);
Field opPostNotificationValue = appOpsClass.getDeclaredField(OP_POST_NOTIFICATION);
int value = (Integer) opPostNotificationValue.get(Integer.class);
return ((Integer) checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg) == AppOpsManager.MODE_ALLOWED);
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
private void toSetting() {
goToNotificationSetting(MainActivity.this);
}
/**
* 打开允许通知的设置页
*/
private void goToNotificationSetting(Context context) {
Intent intent = new Intent();
if (Build.VERSION.SDK_INT >= 26) {
// android 8.0引导
gotoChannelSetting("随访消息",MainActivity.this);
// intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
// //这种方案适用于 API 26, 即8.0(含8.0)以上可以用
// intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
// intent.putExtra(Settings.EXTRA_CHANNEL_ID, context.getApplicationInfo().uid);
// //这种方案适用于 API21——25,即 5.0——7.1 之间的版本可以使用
// intent.putExtra("app_package", context.getPackageName());
// intent.putExtra("app_uid", context.getApplicationInfo().uid);
//
} else if (Build.VERSION.SDK_INT >= 21) {
// android 5.0-7.0
intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
intent.putExtra("app_package", context.getPackageName());
intent.putExtra("app_uid", context.getApplicationInfo().uid);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} else {
// 其他
intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
intent.setData(Uri.fromParts("package", context.getPackageName(), null));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
/*
* 跳转到渠道设置页
*/
public void gotoChannelSetting(@NonNull String channelId, @NonNull Context context) {
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
intent.putExtra(Settings.EXTRA_CHANNEL_ID, channelId);
context.startActivity(intent);
}
public static Intent serviceIntent;
@ -553,7 +683,7 @@ public class MainActivity extends BaseActivity implements
try {
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
BasicNameValuePair value01 = new BasicNameValuePair(
"currVer", versionCode);
"currVer", "1");
BasicNameValuePair value02 = new BasicNameValuePair(
"appType", "2");
parameters.add(value01);
@ -657,8 +787,10 @@ public class MainActivity extends BaseActivity implements
if (!TextUtils.isEmpty(getAutoRegistAccount())) {
SDKCoreHelper.init(this);
}
}
}
/**
@ -1384,6 +1516,14 @@ public class MainActivity extends BaseActivity implements
// 检测离线消息
checkOffineMessage();
mInitActionFlag = true;
String brand = android.os.Build.BRAND;
if ("Xiaomi".equals(brand)){
//小米推送服务
ECDevice.reportDeviceToken(Constant.regID);
}else {
//华为推送服务
ECDevice.reportDeviceToken(Constant.token);
}
}
}

40
app/src/main/java/cn/shangyu/gdxzPatient/activity/PersonInfoActivity.java

@ -46,6 +46,7 @@ import android.provider.DocumentsContract;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@ -96,7 +97,11 @@ import com.github.dfqin.grantor.PermissionsUtil;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
import com.yuntongxun.ecsdk.ECDevice;
import com.yuntongxun.ecsdk.ECError;
import com.yuntongxun.ecsdk.ECInitParams;
import com.yuntongxun.ecsdk.PersonInfo;
import com.yuntongxun.ecsdk.SdkErrorCode;
/**
v3.3.0个人资料
@ -517,7 +522,7 @@ public class PersonInfoActivity extends BaseActivity implements
height = SharePrefUtil.getInt(ctx, Constant.HEIGHT, 0);//身高
weight = SharePrefUtil.getInt(ctx, Constant.WEIGHT, 0);//体重
whether_pregnant = SharePrefUtil.getInt(ctx, Constant.WHETHER_PREGNANT, 0);//是否怀孕
whether_hbv = SharePrefUtil.getInt(ctx, Constant.WHETHER_HBV, 3);//肝或肝癌家族史
whether_hbv = SharePrefUtil.getInt(ctx, Constant.WHETHER_HBV, 3);//肝硬化或肝癌家族史
expected_date_of_childbirth = SharePrefUtil.getString(ctx, Constant.EXPECTED_DATE_OF_CHILDBIRTH, "");//预产期
if (height==0){
tv_height.setText("请输入身高");
@ -1860,6 +1865,37 @@ if (data!=null){
pd = new CustomProgressDialog(this, "请稍后");
pd.show();
//设置个人信息,包括昵称、生日、性别,推送消息的时候使用
PersonInfo personInfo =new PersonInfo();
// 设置昵称
personInfo.setNickName(et_name.getText().toString());
ECDevice.setPersonInfo(personInfo, new ECDevice.OnSetPersonInfoListener() {
@Override
public void onSetPersonInfoComplete(ECError e, int version) {
if (SdkErrorCode.REQUEST_SUCCESS == e.errorCode) {
// 个人信息设置成功,version最新的个人信息版本号
// 更新个人信息到本地数据库,通知UI刷新
String uuid = SharePrefUtil.getString(ctx, Constant.UUID, "");
ECDevice.getPersonInfo(uuid, new ECDevice.OnGetPersonInfoListener() {
@Override
public void onGetPersonInfoComplete(ECError e, PersonInfo p){
if(SdkErrorCode.REQUEST_SUCCESS == e.errorCode) {
// 个人信息获取成功
// 更新个人信息到本地数据库,通知UI刷新
p.getNickName();
Log.e("ECSDK_Demo", "p.getNickName() = " + p.getNickName());
return ;
}
//
}});
return;
}
}});
new Thread() {
public void run() {
try {
@ -1904,7 +1940,7 @@ if (data!=null){
BasicNameValuePair value013 = new BasicNameValuePair(
"expected_date_of_childbirth", expected_date_of_childbirth);//预产期
BasicNameValuePair value014 = new BasicNameValuePair(
"whether_hbv", whether_hbv+"");// 肝或肝癌家族史
"whether_hbv", whether_hbv+"");// 肝硬化或肝癌家族史
BasicNameValuePair value015;
if ("请输入身高".equals(tv_height.getText().toString().trim())){
value015 = new BasicNameValuePair(

49
app/src/main/java/cn/shangyu/gdxzPatient/activity/ProblemComplementActivity.java

@ -164,33 +164,38 @@ public class ProblemComplementActivity extends BaseActivity implements View.OnCl
if (pd==null){
pd = new CustomProgressDialog(ProblemComplementActivity.this, "请稍候");
}
pd.show();
String s = et_describe.getText().toString();
if (StringUtil.isEmpty(s)||s.length()<5){
ToastUtil.showMessage("输入至少5个字");
pd.dismiss();
return;
}
Map<String,Object> map = new HashMap<>();
map.put("step1_uuid",step1_uuid);
map.put("disease_describe",s);
LogUtils.e("disease_describe = "+s);
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
for (int i = 0; i < mBitmaps.size(); i++) {
int num = i + 1;
if (!mBitmaps.get(i).isAdd()) {
BasicNameValuePair value = new BasicNameValuePair("img"+ num, Base64Util.BitmaptoBase64(mBitmaps.get(i).getBitmap()));
parameters.add(value);
}
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
pd.show();
bt_next.setFocusable(false);
bt_next.setEnabled(false);
Map<String,Object> map = new HashMap<>();
map.put("step1_uuid",step1_uuid);
map.put("disease_describe",s);
LogUtils.e("disease_describe = "+s);
// List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
// for (int i = 0; i < mBitmaps.size(); i++) {
// int num = i + 1;
// if (!mBitmaps.get(i).isAdd()) {
// BasicNameValuePair value = new BasicNameValuePair("img"+ num, Base64Util.BitmaptoBase64(mBitmaps.get(i).getBitmap()));
// parameters.add(value);
// }
// }
// Map map1=new HashMap();
// for (int i=0;i<parameters.size();i++){
// BasicNameValuePair basicNameValuePair = parameters.get(i);
// map1.put(basicNameValuePair.getName(),basicNameValuePair.getValue());
// }
// map.put("imgsBean",map1);
sendJsonPostParamtoNetSignMD5Object(Url.addInterrogationSupplement,map, mBitmaps, ADDINTERROGATIONSUPPLEMENT,this);
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
Map map1=new HashMap();
for (int i=0;i<parameters.size();i++){
BasicNameValuePair basicNameValuePair = parameters.get(i);
map1.put(basicNameValuePair.getName(),basicNameValuePair.getValue());
}
map.put("imgsBean",map1);
sendJsonPostParamtoNetSignMD5Object(Url.addInterrogationSupplement,map,ADDINTERROGATIONSUPPLEMENT,this);
break;
}
}
@ -203,6 +208,8 @@ public class ProblemComplementActivity extends BaseActivity implements View.OnCl
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
pd.dismiss();
bt_next.setFocusable(true);
bt_next.setEnabled(true);
switch (resultCode){
case ADDINTERROGATIONSUPPLEMENT:
LogUtil.i("ADDINTERROGATIONSUPPLEMENT = "+resultJson);

34
app/src/main/java/cn/shangyu/gdxzPatient/activity/SetInformationNewActivity.java

@ -34,7 +34,11 @@ import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.google.gson.Gson;
import com.iflytek.cloud.thirdparty.V;
import com.yuntongxun.ecsdk.ECDevice;
import com.yuntongxun.ecsdk.ECError;
import com.yuntongxun.ecsdk.ECInitParams;
import com.yuntongxun.ecsdk.PersonInfo;
import com.yuntongxun.ecsdk.SdkErrorCode;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
@ -245,6 +249,36 @@ public class SetInformationNewActivity extends BaseActivity implements View.OnCl
jsonObject.getJSONObject("data").optString(
"diagnosis"));
//设置个人信息,包括昵称、生日、性别,推送消息的时候使用
PersonInfo personInfo =new PersonInfo();
// 设置昵称
personInfo.setNickName(realName);
ECDevice.setPersonInfo(personInfo, new ECDevice.OnSetPersonInfoListener() {
@Override
public void onSetPersonInfoComplete(ECError e, int version) {
if (SdkErrorCode.REQUEST_SUCCESS == e.errorCode) {
// 个人信息设置成功,version最新的个人信息版本号
// 更新个人信息到本地数据库,通知UI刷新
String uuid = SharePrefUtil.getString(ctx, Constant.UUID, "");
ECDevice.getPersonInfo(uuid, new ECDevice.OnGetPersonInfoListener() {
@Override
public void onGetPersonInfoComplete(ECError e, PersonInfo p){
if(SdkErrorCode.REQUEST_SUCCESS == e.errorCode) {
// 个人信息获取成功
// 更新个人信息到本地数据库,通知UI刷新
p.getNickName();
Log.e("ECSDK_Demo", "p.getNickName() = " + p.getNickName());
return ;
}
//
}});
return;
}
}});
} catch (JSONException e) {
e.printStackTrace();
}

2
app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingAndHelpActivity.java

@ -26,6 +26,7 @@ import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil;
import cn.shangyu.gdxzPatient.ecdemo.common.view.SettingItem;
import cn.shangyu.gdxzPatient.ecdemo.ui.SDKCoreHelper;
import cn.shangyu.gdxzPatient.ecdemo.ui.group.GroupService;
import cn.shangyu.gdxzPatient.utils.BadgeCountUtils;
import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.DataCleanManager;
import cn.shangyu.gdxzPatient.utils.DialogUtil;
@ -482,6 +483,7 @@ public class SettingAndHelpActivity extends BaseActivity implements
public void onClick(View v) {
// TODO Auto-generated method stub
DataCleanManager.clearAllCache(ctx);
BadgeCountUtils.removeBadge(UIUtils.getContext());
SharePrefUtil.saveString(UIUtils.getContext(),Constant.STEPUUID,"");
SharePrefUtil.saveBoolean(UIUtils.getContext(), Constant.CONSULNEWTPOINT, false);
try {

2
app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingVersionActivity.java

@ -161,7 +161,7 @@ public class SettingVersionActivity extends BaseActivity implements
try {
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
BasicNameValuePair value01 = new BasicNameValuePair(
"currVer", mVersionCode);
"currVer", "1");
BasicNameValuePair value02 = new BasicNameValuePair(
"appType", "2");
parameters.add(value01);

69
app/src/main/java/cn/shangyu/gdxzPatient/activity/VideoDetialActivity.java

@ -17,6 +17,7 @@ import com.umeng.socialize.bean.SHARE_MEDIA;
//import com.umeng.socialize.controller.UMServiceFactory;
//import com.umeng.socialize.controller.UMSocialService;
import com.umeng.socialize.media.UMImage;
import com.umeng.socialize.media.UMMin;
import com.umeng.socialize.media.UMWeb;
//import com.umeng.socialize.sso.SinaSsoHandler;
//import com.umeng.socialize.sso.UMSsoHandler;
@ -37,6 +38,7 @@ import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.ImageOptions;
import cn.shangyu.gdxzPatient.utils.LogUtils;
import cn.shangyu.gdxzPatient.utils.SharePrefUtil;
import cn.shangyu.gdxzPatient.utils.StringUtil;
import cn.shangyu.gdxzPatient.utils.UIUtils;
import cn.shangyu.gdxzPatient.utils.UMengShareHelper;
import cn.shangyu.gdxzPatient.utils.Url;
@ -199,6 +201,7 @@ public class VideoDetialActivity extends Activity implements OnClickListener {
}
};
};
private String content;//用于小程序分享
// 收藏
private void goCollection() {
@ -330,9 +333,11 @@ public class VideoDetialActivity extends Activity implements OnClickListener {
videoTitle = getIntent().getStringExtra("title");
readnum = getIntent().getStringExtra("readnum");
imagePath = getIntent().getStringExtra("imgpath");
content = getIntent().getStringExtra("content");
LogUtils.e("imgpath = "+imagePath);
LogUtils.e("readnum = "+readnum);
LogUtils.e("title = "+videoTitle);
LogUtils.e("content = "+content);
mThumbnail = ImageLoader.getInstance().loadImageSync(
Url.imgUrl + imagePath);
public_name = getIntent().getStringExtra("public_name");
@ -867,34 +872,42 @@ public class VideoDetialActivity extends Activity implements OnClickListener {
shareImg = new UMImage(VideoDetialActivity.this,
"http://doc.igandan.com/app/html/img/2016/20160714132557.png");
}
UMWeb web = new UMWeb(shareUrl);
web.setTitle(shareTitle);// 标题
web.setThumb(shareImg); // 缩略图
web.setDescription(shareContent);// 描述
new ShareAction(VideoDetialActivity.this)
.withMedia(web)
.setDisplayList(SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,
SHARE_MEDIA.SINA)
.setCallback(
new UMengShareHelper(VideoDetialActivity.this).shareListener)
.open();
// UMMin umMin = new UMMin(shareUrl);
// //兼容低版本的网页链接
// umMin.setThumb(shareImg);
// // 小程序消息封面图片
// umMin.setTitle(shareTitle);
// // 小程序消息title
// umMin.setDescription(shareContent);
// // 小程序消息描述
// umMin.setPath("pages/gandanVideoDetailApp/gandanVideoDetailApp");
// //小程序页面路径
// umMin.setUserName("gh_11f9423d9de3");
// // 小程序原始id,在微信平台查询
// new ShareAction(VideoDetialActivity.this)
// .withMedia(umMin)
// .setPlatform(SHARE_MEDIA.WEIXIN)
// .setCallback(new UMengShareHelper(VideoDetialActivity.this).shareListener).share();
if (StringUtil.isEmpty(content)){
UMWeb web = new UMWeb(shareUrl);
web.setTitle(shareTitle);// 标题
web.setThumb(shareImg); // 缩略图
web.setDescription(shareContent);// 描述
new ShareAction(VideoDetialActivity.this)
.withMedia(web)
.setDisplayList(SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,
SHARE_MEDIA.SINA)
.setCallback(
new UMengShareHelper(VideoDetialActivity.this).shareListener)
.open();
}else {
mThumbnail = ImageLoader.getInstance().loadImageSync("assets://share_video.jpg");
shareImg = new UMImage(VideoDetialActivity.this, mThumbnail);
UMMin umMin = new UMMin(shareUrl);
//兼容低版本的网页链接
umMin.setThumb(shareImg);
// 小程序消息封面图片
umMin.setTitle(shareTitle);
// 小程序消息title
umMin.setDescription(shareContent);
// 小程序消息描述
// umMin.setPath("pages/gandanVideoDetailApp/gandanVideoDetailApp?contentID="+content);
umMin.setPath("pages/gandanVideoDetailApp/gandanVideoDetailApp?contentID="+content+"&noteIN="+summery+"&titleName="+shareTitle);
//小程序页面路径
umMin.setUserName("gh_11f9423d9de3");
// 小程序原始id,在微信平台查询
new ShareAction(VideoDetialActivity.this)
.withMedia(umMin)
.setPlatform(SHARE_MEDIA.WEIXIN)
.setCallback(new UMengShareHelper(VideoDetialActivity.this).shareListener).share();
}
}
ForegroundColorSpan redSpan, greySpan;

2
app/src/main/java/cn/shangyu/gdxzPatient/activity/VideoMoreActivity.java

@ -88,6 +88,8 @@ public class VideoMoreActivity extends BaseActivity implements OnClickListener,O
intent.putExtra("public_name", list1.get(arg2)
.getPublic_name());
int nowNum = list1.get(arg2).getReadnum();
intent.putExtra("content", list1.get(arg2)
.getContent());
int nums = nowNum + 1;
list1.get(arg2).setReadnum(nums);
BaseApplication.videoMap.put(list1.get(arg2).getUuid(),

3
app/src/main/java/cn/shangyu/gdxzPatient/adapter/VideoAdapter.java

@ -108,7 +108,8 @@ public class VideoAdapter extends BaseAdapter {
datas.get(Num).video.get(position).getPublic_name());
intent.putExtra("note", datas.get(Num).video.get(position)
.getNote());
intent.putExtra("content", datas.get(Num).video.get(position)
.getContent());
String nowNum = datas.get(Num).video.get(position).getReadnum();
int nums = Integer.parseInt(nowNum) + 1;
BaseApplication.videoMap.put(datas.get(Num).video.get(position)

43
app/src/main/java/cn/shangyu/gdxzPatient/application/BaseApplication.java

@ -8,6 +8,7 @@ import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Application;
import android.content.Context;
import android.content.pm.ApplicationInfo;
@ -21,6 +22,7 @@ import cn.shangyu.gdxzPatient.ecdemo.common.CCPAppManager;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ECPreferenceSettings;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ECPreferences;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.FileAccessor;
import cn.shangyu.gdxzPatient.ecdemo.ui.huawei.PustDemoActivity;
import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.CrashHandler;
import cn.shangyu.gdxzPatient.utils.DataCleanManager;
@ -34,6 +36,7 @@ import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.huawei.android.pushagent.api.PushManager;
import com.iflytek.cloud.SpeechConstant;
import com.iflytek.cloud.SpeechUtility;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
@ -47,6 +50,7 @@ import com.umeng.message.IUmengRegisterCallback;
import com.umeng.message.PushAgent;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;
import com.xiaomi.mipush.sdk.MiPushClient;
/**
* BaseApplication.java
@ -88,7 +92,9 @@ public class BaseApplication extends Application {
public static boolean refreshMyGanDanHouse = false;// 发布一个肝胆话题之后刷新话题跟我的话题两个fragment
public static boolean refreshTopicGanDanHouse = false;// 发布一个肝胆话题之后刷新topicActivityt
public static boolean refreshExpertDetial = false;// 刷新专家详情的鲜花数量
private PustDemoActivity mPustTestActivity = null;
public static final String APP_ID = "2882303761517470792";//小米
public static final String APP_KEY = "5241747057792";
// 友盟分享6.4.5配置三方平台的appkey
{
@ -137,6 +143,12 @@ public class BaseApplication extends Application {
}
return instance;
}
public void setMainActivity(PustDemoActivity activity) {
mPustTestActivity = activity;
}
public PustDemoActivity getMainActivity() {
return mPustTestActivity;
}
public static void addActivity(Activity a) {
activityList.add(a);
@ -153,7 +165,9 @@ public class BaseApplication extends Application {
// activityList.clear();
}
public static void reInitPush(Context ctx) {
MiPushClient.registerPush(ctx.getApplicationContext(), APP_ID, APP_KEY);
}
@Override
public void onCreate() {
super.onCreate();
@ -171,7 +185,17 @@ public class BaseApplication extends Application {
CCPAppManager.setContext(instance);
FileAccessor.initFileAccess();
setChattingContactId();
/***
* 华为推送
* */
// HMSAgent.init(this);
PushManager.requestToken(getContext());//应该在初始化之后上传
/**
* 小米推送
* */
if (shouldInit()) {
MiPushClient.registerPush(this, APP_ID, APP_KEY);
}
// 友盟6.4.5分享初始化sdk
// Config.DEBUG = true;
UMShareAPI.get(this);
@ -394,7 +418,18 @@ public class BaseApplication extends Application {
.build();// 开始构建
ImageLoader.getInstance().init(config);
}
private boolean shouldInit(){
ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
List<ActivityManager.RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
String mainProcessName = getPackageName();
int myPid = android.os.Process.myPid();
for (ActivityManager.RunningAppProcessInfo info : processInfos) {
if (info.pid == myPid && mainProcessName.equals(info.processName)) {
return true;
}
}
return false;
}
/**
* 实现实位回调监听
*/

9
app/src/main/java/cn/shangyu/gdxzPatient/bean/VideoBean.java

@ -77,6 +77,15 @@ public class VideoBean extends BaseBean {
private String name;
private String path;
private String note;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getNote() {
return note;

8
app/src/main/java/cn/shangyu/gdxzPatient/bean/VideoMoreBean.java

@ -56,7 +56,15 @@ public class VideoMoreBean extends BaseBean{
private int status;
private String name;
private String path;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getImgpath() {
return imgpath;
}

10
app/src/main/java/cn/shangyu/gdxzPatient/bean/VideoSelectBean.java

@ -85,6 +85,7 @@ public class VideoSelectBean extends BaseBean{
* note : sd
* name : we
* path : html/video/6f2a4efe71034bcb90ad7af22fd3490c.html
* content:<script src=\"//player.polyv.net/script/polyvplayer.min.js\"></script>\n<div id=\"plv_cfb7a69a751a1b6875bbff2c38cd5062_c\"></div>\n<script>\nvar player = polyvObject(\"#plv_cfb7a69a751a1b6875bbff2c38cd5062_c\").videoPlayer({\n \"width\":\"100%\",\n \"height\":\"225\",\n \"vid\" : \"cfb7a69a751a1b6875bbff2c38cd5062_c\" \n});\n</script>
*/
private String type_uuid;
@ -98,6 +99,15 @@ public class VideoSelectBean extends BaseBean{
private String note;
private String name;
private String path;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getType_uuid() {
return type_uuid;

58
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/common/utils/ECNotificationManager.java

@ -22,6 +22,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.text.TextUtils;
import cn.shangyu.gdxzPatient.R;
@ -30,10 +32,13 @@ import cn.shangyu.gdxzPatient.activity.MyFriendActivity;
import cn.shangyu.gdxzPatient.ecdemo.common.CCPAppManager;
import cn.shangyu.gdxzPatient.ecdemo.storage.ConversationSqlManager;
import cn.shangyu.gdxzPatient.ecdemo.storage.GroupNoticeSqlManager;
import cn.shangyu.gdxzPatient.ecdemo.storage.IMessageSqlManager;
import cn.shangyu.gdxzPatient.ecdemo.ui.voip.ECVoIPBaseActivity;
import cn.shangyu.gdxzPatient.utils.BadgeCountUtils;
import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.LogUtils;
import cn.shangyu.gdxzPatient.utils.NotificationUtils;
import cn.shangyu.gdxzPatient.utils.UIUtils;
import cn.shangyu.gdxzPatient.utils.Utility;
import com.yuntongxun.ecsdk.ECMessage;
@ -170,8 +175,10 @@ public class ECNotificationManager {
defaults = Notification.DEFAULT_ALL;
shake = false;
}
count = ConversationSqlManager.qureySessionUnreadCountByFlag("1");
NotificationUtils notificationUtils = new NotificationUtils(context,defaults,pendingIntent);
notificationUtils.sendNotification(contentTitle, contentText);
notificationUtils.sendNotification(contentTitle, contentText,count);
// Notification notification = NotificationUtil.buildNotification(context,
// R.drawable.logo, defaults, shake, contentTitle, contentTitle,
@ -183,9 +190,54 @@ public class ECNotificationManager {
// ((NotificationManager) mContext
// .getSystemService(Context.NOTIFICATION_SERVICE)).notify(
// NOTIFY_ID_PUSHCONTENT, notification);
String brand = android.os.Build.BRAND;
LogUtil.i("brand = "+brand);
if ("Xiaomi".equals(brand)){
//小米不需要原生角标
}else {
try {
OnUpdateMsgUnreadCounts();
}catch (Exception e){
}
}
}
/**
* 统计未读消息数 OnUpdateMsgUnreadCounts
*
* void
*/
private static int count;
public static void OnUpdateMsgUnreadCounts() {
// int unreadCount = IMessageSqlManager.qureyAllSessionUnreadCount();
// int notifyUnreadCount = IMessageSqlManager.getUnNotifyUnreadCount();
// count = unreadCount;
// if (unreadCount >= notifyUnreadCount) {
// count = unreadCount - notifyUnreadCount;
// }
//原生角标
BadgeCountUtils.setBadgeCount(UIUtils.getContext(),count);
//华为角标
setBadgeNum(count,UIUtils.getContext());
}
/**
* 设置角标
*/
public static void setBadgeNum(int num, Context context) {
try {
Bundle bunlde = new Bundle();
bunlde.putString("package", "cn.shangyu.gdxzPatient");
bunlde.putString("class", "cn.shangyu.gdxzPatient.activity.MainActivity");
bunlde.putInt("badgenumber", num);
context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, bunlde);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @param contex
@ -342,8 +394,8 @@ public class ECNotificationManager {
/**
* 后台呈现音视频呼叫Notification
*
* @param callType
* 呼叫类型
* @param
*
*/
// public static void showCallingNotification(
// ECVoIPCallManager.CallType callType) {

10
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/AbstractSQLManager.java

@ -590,6 +590,12 @@ public abstract class AbstractSQLManager {
public class IThreadColumn extends BaseColumn {
// // 消息类型
// public static final String SEND_TYPE = "send_type";
// 会话id
public static final String THREAD_ID = "sessionId";
// 会话人名称
@ -630,6 +636,7 @@ public abstract class AbstractSQLManager {
public class IMessageColumn extends BaseColumn {
// 消息ID
public static final String MESSAGE_ID = "msgid";
// 消息类型
@ -662,6 +669,9 @@ public abstract class AbstractSQLManager {
// 备注
public static final String REMARK = "remark";
}
/**

46
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/ConversationSqlManager.java

@ -61,10 +61,10 @@ public class ConversationSqlManager extends AbstractSQLManager {
" LEFT JOIN contacts ON im_thread.sessionId = contacts.contact_id \n" +
" LEFT JOIN groups2 ON im_thread.sessionId = groups2.groupid order by dateTime desc;";
return getInstance().sqliteDB().rawQuery(sql, null);
} catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
}
return null;
return null;
}
/**
@ -82,12 +82,12 @@ public class ConversationSqlManager extends AbstractSQLManager {
" LEFT JOIN contacts ON im_thread.sessionId = contacts.contact_id \n" +
" LEFT JOIN groups2 ON im_thread.sessionId = groups2.groupid where flag = '1' ;";//order by dateTime desc
return getInstance().sqliteDB().rawQuery(sql, null);
} catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
}
return null;
return null;
}
/**gaotengfei
@ -250,7 +250,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
*
* @param msg
* @return
*
*
*/
public static long insertSessionRecord(ECMessage msg) {
if (msg == null || TextUtils.isEmpty(msg.getSessionId())){
@ -280,14 +280,14 @@ public class ConversationSqlManager extends AbstractSQLManager {
}
/**
*
*
* @author Administrator
* @date 2015-12-3 下午1:18:17
*
* 功能说明把该条会话的未读数置为0
*
* method @param sessionId
*/
*/
public static void updateUnderCountToZero(String sessionId) {
long ownThreadId = ConversationSqlManager.querySessionIdForBySessionId(sessionId);
ContentValues values = new ContentValues();
@ -299,7 +299,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
@ -311,14 +311,14 @@ public class ConversationSqlManager extends AbstractSQLManager {
return true;
}
}
/**
* 添加一个人为我的专家/公益咨询flag标记为不一样
*gaotengfei
*flag=1专家=2为公益资讯
* @param msg
* @param
* @return
*
*
*/
public static void insertConverByExpert(PatientUsers patient) {
@ -328,7 +328,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
long ownThreadId = ConversationSqlManager.querySessionIdForBySessionId(patient.sessionId);
ContentValues values = new ContentValues();
if( ownThreadId == 0){
LogUtils.v("插入数据库====");
LogUtils.v("插入数据库====");
try {
values.put(IThreadColumn.THREAD_ID, patient.sessionId);
values.put(IThreadColumn.THREAD_USERNAME, patient.userNames);
@ -367,10 +367,10 @@ public class ConversationSqlManager extends AbstractSQLManager {
values = null;
}
}
}
}
}
/**
*
*
* @author gaofei
* @date 2015-9-29 上午10:41:33
*
@ -383,7 +383,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
//入股删除的话又重新插入,则聊天记录会清空。
if(list.size() == 0 || ConversationSqlManager.getAllConversationCursor().getCount() > list.size()){
//数据库中的条目数大于服务器返回的条目数,说明有漏删的数据
// LogUtils.v("把数据标记全部置为2");
// LogUtils.v("把数据标记全部置为2");
try {
String sql="update im_thread set flag='2'";
getInstance().sqliteDB().execSQL(sql);
@ -392,12 +392,12 @@ public class ConversationSqlManager extends AbstractSQLManager {
e.printStackTrace();
}
}
for (int i = 0; i < list.size(); i++) {
for (int i = 0; i < list.size(); i++) {
long ownThreadId = ConversationSqlManager.querySessionIdForBySessionId(list.get(i).sessionId);
ContentValues values = new ContentValues();
LogUtils.v("ownThreadId=="+ownThreadId);
if( ownThreadId == 0){
LogUtils.v("插入数据库===="+list.get(i).type);
LogUtils.v("插入数据库===="+list.get(i).type);
try {
values.put(IThreadColumn.THREAD_ID, list.get(i).sessionId);
values.put(IThreadColumn.THREAD_USERNAME, list.get(i).userNames);
@ -452,7 +452,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
* method @return
*/
public static String qureyUnreadCountBySessionId(String sessionId) {
try {
try {
Cursor cursor = getInstance().sqliteDB().query(DatabaseHelper.TABLES_NAME_IM_SESSION, new String[]{IThreadColumn.UNREAD_COUNT},
"sessionId=?", new String[]{String.valueOf(sessionId)},null , null, null, null);
if (cursor != null && cursor.getCount() > 0) {
@ -467,7 +467,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
e.printStackTrace();
return "0";
}
return "0";
return "0";
}
/**
* 根据session查未读消息数
@ -480,7 +480,7 @@ public class ConversationSqlManager extends AbstractSQLManager {
* method @return
*/
public static String qureyUnreadCountBySessionId(String sessionId,String flag) {
try {
try {
Cursor cursor = getInstance().sqliteDB().query(DatabaseHelper.TABLES_NAME_IM_SESSION, new String[]{IThreadColumn.UNREAD_COUNT},
"sessionId=? and flag=? ", new String[]{String.valueOf(sessionId),String.valueOf(flag)},null , null, null, null);
if (cursor != null && cursor.getCount() > 0) {
@ -495,10 +495,10 @@ public class ConversationSqlManager extends AbstractSQLManager {
e.printStackTrace();
return "0";
}
return "0";
return "0";
}
/**
*
*
* @author Administrator
* @date 2015-12-10 下午3:02:58
*

56
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/IMessageSqlManager.java

@ -47,7 +47,7 @@ import com.yuntongxun.ecsdk.im.ECVoiceMessageBody;
/**
* 消息数据库管理
*
*
* @author Jorstin Chan@容联云通讯
* @date 2014-12-11
* @version 4.0
@ -110,7 +110,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 更新消息到本地数据库
*
*
* @param message
* 消息
* @param boxType
@ -219,7 +219,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
}
/**
*
*
* @return
*/
public static int getMaxVersion() {
@ -260,7 +260,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 更新消息的状态
*
*
* @param msgId
* @param sendStatu
* @return
@ -271,7 +271,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 更新文件的下载状态
*
*
* @param msg
* @return
*/
@ -309,7 +309,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 设置Im消息发送状态
*
*
* @param msgId
* 消息ID
* @param sendStatu
@ -317,7 +317,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
* @return
*/
public static int setIMessageSendStatus(String msgId, int sendStatu,
int duration) {
int duration) {
int row = 0;
ContentValues values = new ContentValues();
try {
@ -344,7 +344,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 根据不同的消息类型将数据保存到数据库
*
*
* @param message
* @param values
*/
@ -399,13 +399,13 @@ public class IMessageSqlManager extends AbstractSQLManager {
}
/**
*
*
* @param threadId
* @param lastTime
* @return
*/
public static ArrayList<ECMessage> queryIMessageListAfter(long threadId,
String lastTime) {
String lastTime) {
ArrayList<ECMessage> al = null;
Cursor cursor = null;
StringBuffer sb = new StringBuffer();
@ -472,7 +472,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
* cursor
* .getString(cursor.getColumnIndexOrThrow(IMessageColumn
* .FILE_PATH));
*
*
* if (msgType == ECMessage.Type.VOICE.ordinal()) { int
* duration =
* cursor.getInt(cursor.getColumnIndexOrThrow(
@ -653,7 +653,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 删除会话
*
*
* @param contactId
*/
@SuppressWarnings("static-access")
@ -681,13 +681,13 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* IM分页查询
*
*
* @param num
* @param lastTime
* @return
*/
public static ArrayList<ECMessage> queryIMessageList(long threadId,
int num, String lastTime) {
int num, String lastTime) {
ArrayList<ECMessage> al = null;
Cursor cursor = null;
StringBuffer sb = new StringBuffer();
@ -736,13 +736,13 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* IM分页查询
*
*
* @param num
* @param version
* @return
*/
public static ArrayList<ECMessage> queryIMessageVersionList(long threadId,
int num, String version) {
int num, String version) {
ArrayList<ECMessage> al = null;
Cursor cursor = null;
StringBuffer sb = new StringBuffer();
@ -791,7 +791,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 组装消息
*
*
* @param cursor
* @return
*/
@ -1030,7 +1030,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 返回消息的类型发送接收草稿
*
*
* @param type
* 消息类型
* @return
@ -1047,7 +1047,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 根据会话ID查询会话消息的数据量
*
*
* @param threadId
* 当前会话ID
* @return 会话总数
@ -1081,7 +1081,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
}
/**
*
*
* @param rowIds
* @return
*/
@ -1117,7 +1117,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 分页加载查询数据
*
*
* @param threadId
* @param limit
* @return
@ -1136,7 +1136,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 查询会话所有的图片
*
*
* @param session
* @return
*/
@ -1159,7 +1159,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 查询所有未读数
*
*
* @return
*/
public static int qureyAllSessionUnreadCount() {
@ -1214,7 +1214,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 通过联系着查找会话ID
*
*
* @param contactId
* @return
*/
@ -1247,7 +1247,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 消息重发
*
*
* @param rowid
* @param detail
* @return
@ -1285,7 +1285,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 查询某一会话所有信息条数
*
*
* @return
*/
public static int qureyIMCountForSession(long threadId) {
@ -1316,7 +1316,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
/**
* 查询下载失败的图片消息
*
*
* @return
*/
public static List<ECMessage> getDowndFailMsg() {
@ -1414,7 +1414,7 @@ public class IMessageSqlManager extends AbstractSQLManager {
}
/**
*
*
* @param 删除本地图片
*/
public static void deleteLocalFileAfterFire(String msgId) {

6
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/storage/ImgInfoSqlManager.java

@ -273,11 +273,7 @@ public class ImgInfoSqlManager extends AbstractSQLManager {
}
imgInfo.setThumbImgPath(thumbName);
}
/*if(body.getRemoteUrl().contains("_thumbnail")) {
imgInfo.setBigImgPath(body.getRemoteUrl().replace("_thumbnail", ""));
} else {
imgInfo.setBigImgPath(null);
}*/
imgInfo.isGif = body.getRemoteUrl().endsWith(".gif");
imgInfo.setMsglocalid(msg.getMsgId());
imgInfo.setCreatetime((int)DateUtil.getCurrentTime());

49
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ChattingFragment.java

@ -93,15 +93,16 @@ import cn.shangyu.gdxzPatient.ecdemo.ui.contact.ECContacts;
import cn.shangyu.gdxzPatient.ecdemo.ui.group.GroupInfoActivity;
import cn.shangyu.gdxzPatient.ecdemo.ui.plugin.FileExplorerActivity;
import cn.shangyu.gdxzPatient.greenrobot.event.EventBus;
import cn.shangyu.gdxzPatient.utils.BadgeCountUtils;
import cn.shangyu.gdxzPatient.utils.EvenBusEvent;
import cn.shangyu.gdxzPatient.utils.LogUtils;
import cn.shangyu.gdxzPatient.utils.UIUtils;
import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.yuntongxun.ecsdk.ECChatManager;
import com.yuntongxun.ecsdk.ECError;
import com.yuntongxun.ecsdk.ECMessage;
import com.yuntongxun.ecsdk.ECVoIPCallManager.CallType;
import com.yuntongxun.ecsdk.SdkErrorCode;
import com.yuntongxun.ecsdk.im.ECFileMessageBody;
import com.yuntongxun.ecsdk.im.ECGroup;
@ -205,6 +206,7 @@ public class ChattingFragment extends CCPFragment implements
/** 在线客服 */
private boolean mCustomerService = false;
private OnChattingAttachListener mAttachListener;
private boolean flag = true;//判断是否在当前页面
@Override
protected int getLayoutId() {
@ -693,6 +695,7 @@ public class ChattingFragment extends CCPFragment implements
if (mCustomerService) {
CustomerServiceHelper.addCustomerServiceListener(this);
}
flag = true;
// 将所有的未读消息设置为已读
setChattingSessionRead();
mChattingAdapter.onResume();
@ -1310,7 +1313,10 @@ public class ChattingFragment extends CCPFragment implements
if (!isViewMode)
mListView.setSelection(mListView.getCount() - 1);
setChattingSessionRead();
LogUtil.i("更新所有的未读消息");
if (flag){
setChattingSessionRead();
}
}
/**
@ -1318,8 +1324,41 @@ public class ChattingFragment extends CCPFragment implements
*/
private void setChattingSessionRead() {
ConversationSqlManager.setChattingSessionRead(mThread);
}
int unreadCount = IMessageSqlManager.qureyAllSessionUnreadCount();
int notifyUnreadCount = IMessageSqlManager.getUnNotifyUnreadCount();
int count = unreadCount;
if (unreadCount >= notifyUnreadCount) {
count = unreadCount - notifyUnreadCount;
}
int i = ConversationSqlManager.qureySessionUnreadCountByFlag("1");
//原生角标
BadgeCountUtils.setBadgeCount(UIUtils.getContext(),i);
//华为角标
setBadgeNum(i,UIUtils.getContext());
LogUtil.i("unreadCount1 = "+unreadCount+",notifyUnreadCount1 = "+notifyUnreadCount+",qureySessionUnreadCountByFlag1 = "+i);
}
@Override
public void onStop() {
super.onStop();
flag = false;
LogUtil.i("flag = "+flag);
}
/**
* 设置角标
*/
public static void setBadgeNum(int num, Context context) {
try {
Bundle bunlde = new Bundle();
bunlde.putString("package", "cn.shangyu.gdxzPatient");
bunlde.putString("class", "cn.shangyu.gdxzPatient.activity.MainActivity");
bunlde.putInt("badgenumber", num);
context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, bunlde);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 给予客户端震动提示
*/
@ -1496,12 +1535,8 @@ public class ChattingFragment extends CCPFragment implements
}
private void handleSelectImageIntent() {
// Intent i = new Intent(Intent.ACTION_PICK,
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// startActivityForResult(i, REQUEST_CODE_LOAD_IMAGE);
Intent intent = new Intent(getChattingActivity(),
PhotoSelectActivity.class);
// intent.putExtra("photonum", "-1");
intent.putExtra("type", "chat");
startActivityForResult(intent, REQUEST_CODE_LOAD_IMAGE);
}

130
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/IMChattingHelper.java

@ -128,12 +128,12 @@ public class IMChattingHelper implements OnChatReceiveListener,
/**
* 发送ECMessage 消息
*
*
* @param msg
*/
public static long sendECMessage(ECMessage msg) {
getInstance().checkChatManager();
// 获取一个聊天管理器
@ -171,7 +171,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
/**
* 消息重发
*
*
* @param msg
* @return
*/
@ -249,7 +249,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
new ECChatManager.OnGetPersonInfoListener() {
@Override
public void onGetPersonInfoComplete(ECError e,
PersonInfo p) {
PersonInfo p) {
if (e.errorCode == SdkErrorCode.REQUEST_SUCCESS
&& p != null) {
clientUser.setpVersion(p.getVersion());
@ -380,12 +380,12 @@ public class IMChattingHelper implements OnChatReceiveListener,
/**
* 处理接收消息
*
*
* @param msg
* @param showNotice
*/
private synchronized void postReceiveMessage(ECMessage msg,
boolean showNotice) {
boolean showNotice) {
// 接收到的IM消息,根据IM消息类型做不同的处理
// IM消息类型:ECMessage.Type
@ -404,13 +404,25 @@ public class IMChattingHelper implements OnChatReceiveListener,
.getAbsolutePath());
} else if (msg.getType() == Type.IMAGE) {
ECImageMessageBody imageBody = (ECImageMessageBody) body;
thumbnail = !TextUtils.isEmpty(imageBody
.getThumbnailFileUrl());
imageBody.setLocalUrl(new File(FileAccessor
.getImagePathName(), DemoUtils
.md5(thumbnail ? imageBody.getThumbnailFileUrl()
: imageBody.getRemoteUrl())
+ "." + fileExt).getAbsolutePath());
thumbnail = !TextUtils.isEmpty(imageBody.getThumbnailFileUrl());
String remoteUrl = imageBody.getRemoteUrl();//大图
String thumbnailFileUrl = imageBody.getThumbnailFileUrl();//缩略图
LogUtil.i("getRemoteUrl = "+imageBody.getRemoteUrl());
LogUtil.i("getThumbnailFileUrl = "+imageBody.getThumbnailFileUrl());
if (remoteUrl.contains(":0")){
//http://:0/56032/8a48b5514fba2f87014fca72dec021e4/2019-09-24/18-17/1569320233439725917.jpg
//http://dcsvip1imapp.cloopen.net:8888/56032/8a48b5514fba2f87014fca72dec021e4/2019-09-24/18-17/1569320233439725917.jpg
String replace = remoteUrl.replace(":0", "dcsvip1imapp.cloopen.net:8888");
String replace1 = thumbnailFileUrl.replace(":0", "dcsvip1imapp.cloopen.net:8888");
LogUtil.i("replace ="+replace);
LogUtil.i("replace1 ="+replace1);
imageBody.setRemoteUrl(replace);
imageBody.setThumbnailFileUrl(replace1);
}
imageBody.setLocalUrl(new File(FileAccessor.getImagePathName(), DemoUtils.md5(thumbnail ? imageBody.getThumbnailFileUrl(): imageBody.getRemoteUrl())+ "." + fileExt).getAbsolutePath());
LogUtil.i("getRemoteUrl修改后 = "+imageBody.getRemoteUrl());
LogUtil.i("getThumbnailFileUrl修改后 = "+imageBody.getThumbnailFileUrl());
LogUtil.i("getHDImageURL修改后 = "+imageBody.getHDImageURL());
} else {
body.setLocalUrl(new File(FileAccessor.getFilePathName(),
@ -470,12 +482,12 @@ public class IMChattingHelper implements OnChatReceiveListener,
}
/**
*
*
* @author Administrator
* @date 2015-12-5 下午1:07:52
*
*
* 功能说明根据专家id请求专家信息暂时没用
*
*
* method
*/
// private static void requestData(final String expertUuid) {
@ -557,19 +569,19 @@ public class IMChattingHelper implements OnChatReceiveListener,
+ ConversationSqlManager.qureySessionUnreadCountByFlag("2"));
LogUtils.e("推送未读消息数1=="
+ ConversationSqlManager
.qureyUnreadCountBySessionId(Constant.SENDER1));
.qureyUnreadCountBySessionId(Constant.SENDER1));
LogUtils.e("推送未读消息数2=="
+ ConversationSqlManager
.qureyUnreadCountBySessionId(Constant.SENDER2));
.qureyUnreadCountBySessionId(Constant.SENDER2));
LogUtils.e("推送未读消息数3=="
+ ConversationSqlManager
.qureyUnreadCountBySessionId(Constant.SENDER3));
.qureyUnreadCountBySessionId(Constant.SENDER3));
LogUtils.e("推送未读消息数4=="
+ ConversationSqlManager
.qureyUnreadCountBySessionId(Constant.SENDER4));
.qureyUnreadCountBySessionId(Constant.SENDER4));
LogUtils.e("推送未读消息数5=="
+ ConversationSqlManager
.qureyUnreadCountBySessionId(Constant.SENDER5));
.qureyUnreadCountBySessionId(Constant.SENDER5));
LogUtils.e("离线消息==" + !isSyncOffline());
LogUtils.e("拓展字段:" + exture);
if (!isSyncOffline()) {
@ -604,10 +616,10 @@ public class IMChattingHelper implements OnChatReceiveListener,
|| msg.getForm().equals("TNalkvtn7btb0UaQjaN")
|| msg.getForm().equals("Ezfuqp3JcqCP7YlMZxe")
|| msg.getForm().equals("ZDZXfl4uF1zqEFpEl1H")
// 08-02 15:09:31.410: E/LogUtils(10469): showNotification(ECMessage
// msg) msg.getForm():xlx60HdXXhYhqJTAJDA
// 08-02 15:09:31.410: E/LogUtils(10469): showNotification(ECMessage
// msg) msg.getForm():xlx60HdXXhYhqJTAJDA
) {
) {
EventBus.getDefault().post(new EvenBusEvent("第二构造函数", "3"));
LogUtils.e("系统消息通知>>>>>>>>>>>>>>");
@ -702,7 +714,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
true);
LogUtils.e("Constant.SYSTEMPOINT>>>"
+ SharePrefUtil.getBoolean(UIUtils.getContext(),
Constant.SYSTEMPOINT, true));
Constant.SYSTEMPOINT, true));
if (mType.equals("23")) {
EventBus.getDefault().post(new EvenBusEvent("第二构造函数", "5")); // 有好友申请了
} else {
@ -742,12 +754,12 @@ public class IMChattingHelper implements OnChatReceiveListener,
}
/**
*
*
* @author Administrator
* @date 2015-12-8 下午1:19:17
*
*
* 功能说明系统消息通知
*
*
* method @param msg
*/
private static void showSystemNotify(ECMessage msg, boolean systemtoggle) {
@ -767,15 +779,15 @@ public class IMChattingHelper implements OnChatReceiveListener,
if (!msgDomin.equals("null")) {
String[] sourceStrArray = msgDomin.split(",");
if (sourceStrArray.length>0){
SharePrefUtil.saveString(UIUtils.getContext(),"re_article_type", sourceStrArray[0]);
}
SharePrefUtil.saveString(UIUtils.getContext(),"re_article_type", sourceStrArray[0]);
}
if (sourceStrArray.length>1){
SharePrefUtil.saveString(UIUtils.getContext(),"re_article_uuid", sourceStrArray[1]);
BaseApplication.ganDanHomeRead.add(sourceStrArray[1]);
}
SharePrefUtil.saveString(UIUtils.getContext(),"re_article_uuid", sourceStrArray[1]);
BaseApplication.ganDanHomeRead.add(sourceStrArray[1]);
}
if (sourceStrArray.length>2){
SharePrefUtil.saveString(UIUtils.getContext(),"re_msg_uuid", sourceStrArray[2]);
}
SharePrefUtil.saveString(UIUtils.getContext(),"re_msg_uuid", sourceStrArray[2]);
}
}
@ -859,19 +871,19 @@ public class IMChattingHelper implements OnChatReceiveListener,
messageInto = Constant.SENDER1;
Systemtoggle(msg, systemtoggle);
//7免费咨询 -》一问多答通知
if ("7".equals(tuisongType)){
LogUtil.i("step_uuidAll userDataResult = "+userDataResult);
String msg1 = json.getString("msgDomin");
String[] split = msg1.split(",");
String string = SharePrefUtil.getString(UIUtils.getContext(), Constant.STEPUUID, "");
if (StringUtil.isEmpty(string)){
SharePrefUtil.saveString(UIUtils.getContext(),Constant.STEPUUID,split[1]);
}else if(!string.contains(split[1])){
SharePrefUtil.saveString(UIUtils.getContext(),Constant.STEPUUID,string+","+split[1]);
}
SharePrefUtil.saveBoolean(UIUtils.getContext(),Constant.CONSULNEWTPOINT, true);
EventBus.getDefault().post(new EvenBusEvent("一问多答", "7"));
}
if ("7".equals(tuisongType)){
LogUtil.i("step_uuidAll userDataResult = "+userDataResult);
String msg1 = json.getString("msgDomin");
String[] split = msg1.split(",");
String string = SharePrefUtil.getString(UIUtils.getContext(), Constant.STEPUUID, "");
if (StringUtil.isEmpty(string)){
SharePrefUtil.saveString(UIUtils.getContext(),Constant.STEPUUID,split[1]);
}else if(!string.contains(split[1])){
SharePrefUtil.saveString(UIUtils.getContext(),Constant.STEPUUID,string+","+split[1]);
}
SharePrefUtil.saveBoolean(UIUtils.getContext(),Constant.CONSULNEWTPOINT, true);
EventBus.getDefault().post(new EvenBusEvent("一问多答", "7"));
}
} else if ("9".equals(tuisongType)) {
LogUtils.v("群发消息");
@ -943,7 +955,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
/**
* 是否需要状态栏通知
*
*
* @param contactId
*/
public static boolean checkNeedNotification(String contactId) {
@ -1095,7 +1107,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
/**
* 客服消息
*
*
* @param msg
*/
@Override
@ -1149,7 +1161,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
/**
* 重试下载3次
*
*
* @param entry
*/
private void retryDownload(SyncMsgEntry entry) {
@ -1224,7 +1236,7 @@ public class IMChattingHelper implements OnChatReceiveListener,
ECMessage msg;
public SyncMsgEntry(boolean showNotice, boolean thumbnail,
ECMessage message) {
ECMessage message) {
this.showNotice = showNotice;
this.msg = message;
this.thumbnail = thumbnail;
@ -1250,12 +1262,12 @@ public class IMChattingHelper implements OnChatReceiveListener,
}
} else if (msg.getNotifyType() == NotifyType.REVOKE) {
ECMessageRevokeNotify revokeNotify = (ECMessageRevokeNotify) msg;
if(revokeNotify!=null){
if(!revokeNotify.getRevoker().equalsIgnoreCase(CCPAppManager.getUserId()))
{
IMessageSqlManager.insertSysMessage("对方撤回了一条消息",revokeNotify.getSessionId());
}
}
if(revokeNotify!=null){
if(!revokeNotify.getRevoker().equalsIgnoreCase(CCPAppManager.getUserId()))
{
IMessageSqlManager.insertSysMessage("对方撤回了一条消息",revokeNotify.getSessionId());
}
}
IMessageSqlManager.delSingleMsg(revokeNotify.getMsgId());
if (mOnMessageReportCallback != null) {
mOnMessageReportCallback.onMessageReport(null, null);

5
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ImageGralleryPagerActivity.java

@ -40,9 +40,6 @@ public class ImageGralleryPagerActivity extends ECSuperActivity implements
public static final String EXTRA_IMAGE_INDEX = "image_index";
public static final String EXTRA_IMAGE_URLS = "image_urls";
/**
*
*/
private boolean mFullscreen = true;
private HackyViewPager mPager;
private int pagerPosition;
@ -107,7 +104,7 @@ public class ImageGralleryPagerActivity extends ECSuperActivity implements
File file = null;
// 由于不是聊天的图片查看无法下载保存
// if (viewImageInfo.getPicurl().contains(Url.imgUrl)) {
if (viewImageInfo.getPicurl().contains(Url.imgUrl)||viewImageInfo.getPicurl().contains(".jpg")) {
if (viewImageInfo.getPicurl().contains(Url.imgUrl)||viewImageInfo.getPicurl().contains(".jpg")||viewImageInfo.getPicurl().contains(".png")||viewImageInfo.getPicurl().contains(".gif")||viewImageInfo.getPicurl().contains(".jpeg")||viewImageInfo.getPicurl().contains(".tga")) {
file = DiskCacheUtils.findInCache(viewImageInfo.getPicurl(),ImageLoader.getInstance().getDiskCache());
} else {
file = new File(FileAccessor.getImagePathName(), viewImageInfo.getPicurl());

8
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/model/ImgInfo.java

@ -190,7 +190,13 @@ public class ImgInfo {
values.put(ImgInfoSqlManager.ImgInfoColumn.TOTALLEN, totalLen);
}
// if(!TextUtils.isEmpty(bigImgPath)) {
if(!TextUtils.isEmpty(bigImgPath)&&bigImgPath.contains(".jpg")) {
if(!TextUtils.isEmpty(bigImgPath)&&bigImgPath.contains(".jpg")) {//判断接收到图片但为正常显示,
values.put(ImgInfoSqlManager.ImgInfoColumn.BIG_IMGPATH, bigImgPath);
}else if (!TextUtils.isEmpty(bigImgPath)&&bigImgPath.contains(".png")){
values.put(ImgInfoSqlManager.ImgInfoColumn.BIG_IMGPATH, bigImgPath);
}else if (!TextUtils.isEmpty(bigImgPath)&&bigImgPath.contains(".gif")){
values.put(ImgInfoSqlManager.ImgInfoColumn.BIG_IMGPATH, bigImgPath);
}else if (!TextUtils.isEmpty(bigImgPath)&&bigImgPath.contains(".jpeg")){
values.put(ImgInfoSqlManager.ImgInfoColumn.BIG_IMGPATH, bigImgPath);
}
if(!TextUtils.isEmpty(thumbImgPath)) {

4
app/src/main/java/cn/shangyu/gdxzPatient/fragment/HepatopathyInfoFragment.java

@ -43,9 +43,9 @@ public class HepatopathyInfoFragment extends BaseFragment{
private void setData() {
if (data.getGo_hospital()==0){
tv_isgohospital.setText("");
tv_isgohospital.setText("");
}else {
tv_isgohospital.setText("");
tv_isgohospital.setText("");
}
tv_long.setText(data.getDisease_date());
tv_state.setText(data.getLiver_status());

4
app/src/main/java/cn/shangyu/gdxzPatient/fragment/HomeFragment.java

@ -502,8 +502,7 @@ public class HomeFragment extends BaseFragment implements OnClickListener,
// 我的专家红点
public void setCount() {
if (iv_red_point != null
&& ConversationSqlManager.qureySessionUnreadCountByFlag("1") != 0) {
if (iv_red_point != null&& ConversationSqlManager.qureySessionUnreadCountByFlag("1") != 0) {
iv_red_point.setVisibility(View.VISIBLE);
} else {
@ -1138,7 +1137,6 @@ public class HomeFragment extends BaseFragment implements OnClickListener,
private void GetTopViewNet() {
Map<String, String> param = new HashMap<>();
sendJsonPostParamtoNetSignMD5(Url.newsRollIndexNew, param, 11, this);

1
app/src/main/java/cn/shangyu/gdxzPatient/fragment/OneToOneFragment.java

@ -127,7 +127,6 @@ public class OneToOneFragment extends BaseFragment implements PullToRefreshBase
}
public void refreshNet() {
sort = "1";
page = 1;
requestData();
}

111
app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/BuyIntegerActivty.java

@ -96,26 +96,31 @@ public class BuyIntegerActivty extends BaseActivity implements View.OnClickListe
private void getPointUnitPrice() {
if (pd == null) {
pd = new CustomProgressDialog(BuyIntegerActivty.this, "创建订单中");
pd = new CustomProgressDialog(BuyIntegerActivty.this, "请稍候");
}
pd.show();
new Thread(){
@Override
public void run() {
super.run();
HttpHelper.HttpResult httpResult = HttpHelper.post(
Url.getPointUnitPrice, null);// 请求网络
String result = httpResult.getString();// str为服务器返回的json串
LogUtils.e("result = "+result);
try {
JSONObject jsonObject = new JSONObject(result);
pointUnitPrice = jsonObject.getString("PointUnitPrice");
handler.sendEmptyMessage(1);
} catch (JSONException e) {
e.printStackTrace();
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
pd.show();
new Thread(){
@Override
public void run() {
super.run();
HttpHelper.HttpResult httpResult = HttpHelper.post(
Url.getPointUnitPrice, null);// 请求网络
String result = httpResult.getString();// str为服务器返回的json串
LogUtils.e("result = "+result);
try {
JSONObject jsonObject = new JSONObject(result);
pointUnitPrice = jsonObject.getString("PointUnitPrice");
handler.sendEmptyMessage(1);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}.start();
}.start();
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
}
private void initOnListenr() {
@ -212,31 +217,55 @@ public class BuyIntegerActivty extends BaseActivity implements View.OnClickListe
}
break;
case R.id.tv_buy:
if (!"0元".equals(tv_needpoint.getText().toString())){
buildAlert1 = ECAlertDialog.buildAlert(BuyIntegerActivty.this,
"您确定是否购买?", "否", "是",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {// 取消
// TODO Auto-generated method stub
buildAlert1.dismiss();
}
}, new DialogInterface.OnClickListener() {// 确定
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
buildAlert1.dismiss();
sendFlower();
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
if (!"0元".equals(tv_needpoint.getText().toString())){
buildAlert1 = ECAlertDialog.buildAlert(BuyIntegerActivty.this,
"您确定是否购买?", "否", "是",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {// 取消
// TODO Auto-generated method stub
buildAlert1.dismiss();
}
}, new DialogInterface.OnClickListener() {// 确定
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
buildAlert1.dismiss();
sendFlower();
}
});
buildAlert1.setTitle("温馨提示");
buildAlert1.setCanceledOnTouchOutside(false);
buildAlert1.show();
}else{
new Thread(){
@Override
public void run() {
super.run();
HttpHelper.HttpResult httpResult = HttpHelper.post(
Url.getPointUnitPrice, null);// 请求网络
String result = httpResult.getString();// str为服务器返回的json串
LogUtils.e("result = "+result);
try {
JSONObject jsonObject = new JSONObject(result);
pointUnitPrice = jsonObject.getString("PointUnitPrice");
handler.sendEmptyMessage(1);
} catch (JSONException e) {
e.printStackTrace();
}
});
buildAlert1.setTitle("温馨提示");
buildAlert1.setCanceledOnTouchOutside(false);
}
}.start();
ToastUtil.showMessage("请选择您要购买的积分");
}
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
buildAlert1.show();
}else
ToastUtil.showMessage("请选择您要购买的积分");
break;
case R.id.ll_500:
chengeChoose(500);

16
app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/IntegralTicketActivity.java

@ -29,6 +29,7 @@ import java.util.List;
import java.util.Map;
import cn.shangyu.gdxzPatient.R;
import cn.shangyu.gdxzPatient.activity.AskAMoreInfoActivity;
import cn.shangyu.gdxzPatient.activity.BaseActivity;
import cn.shangyu.gdxzPatient.bean.PointTicketlistBean;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.DateUtil;
@ -87,11 +88,16 @@ public class IntegralTicketActivity extends BaseActivity implements RadioGroup.O
}
private void getPointTicketlist() {
pd.show();
Map<String,String> map = new HashMap<>();
map.put("page",page+"");
map.put("status",status+"");
sendJsonPostParamtoNetSignMD5(Url.pointTicketlist,map,POINTTICKETLIST,this);
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
pd.show();
Map<String,String> map = new HashMap<>();
map.put("page",page+"");
map.put("status",status+"");
sendJsonPostParamtoNetSignMD5(Url.pointTicketlist,map,POINTTICKETLIST,this);
} else {
pd.dismiss();
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
}
@Override

12
app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/PointsMallActivity.java

@ -165,9 +165,15 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener,
private void getData() {
// TODO Auto-generated method stub
Map<String, String> param = new HashMap<>();
param.put("page",startPage +"");
sendJsonPostParamtoNetSignMD5(Url.goodsList, param, 1, this);
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
Map<String, String> param = new HashMap<>();
param.put("page",startPage +"");
sendJsonPostParamtoNetSignMD5(Url.goodsList, param, 1, this);
} else {
pd.dismiss();
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
}
@Override

24
app/src/main/java/cn/shangyu/gdxzPatient/utils/BadgeCountUtils.java

@ -0,0 +1,24 @@
package cn.shangyu.gdxzPatient.utils;
import android.content.Context;
import me.leolin.shortcutbadger.ShortcutBadger;
/**
* Created by 周旭 on 2017/4/12.
* 第三方库设置APP logo角标数量的工具类机型适配比较好
*/
public class BadgeCountUtils {
//设置APP logo的角标
public static void setBadgeCount(Context context, int badgeCount) {
ShortcutBadger.applyCount(context, badgeCount); //for 1.1.4+
}
//移除角标
public static void removeBadge(Context context) {
ShortcutBadger.removeCount(context); //for 1.1.4+
}
}

38
app/src/main/java/cn/shangyu/gdxzPatient/utils/BadgeUtils.java

@ -0,0 +1,38 @@
package cn.shangyu.gdxzPatient.utils;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
/**
* Created by 周旭 on 2017/4/12.
* Android原生方式设置角标
*/
public class BadgeUtils {
private static final String INTENT_ACTION = "android.intent.action.BADGE_COUNT_UPDATE";
private static final String INTENT_EXTRA_BADGE_COUNT = "badge_count";
private static final String INTENT_EXTRA_PACKAGENAME = "badge_count_package_name";
private static final String INTENT_EXTRA_ACTIVITY_NAME = "badge_count_class_name";
//设置角标
public static void setBadgeCount(Context context, int badgeCount) {
Intent intent = new Intent(INTENT_ACTION);
intent.putExtra(INTENT_EXTRA_BADGE_COUNT, badgeCount);
intent.putExtra(INTENT_EXTRA_PACKAGENAME, getComponentName(context).getPackageName());
intent.putExtra(INTENT_EXTRA_ACTIVITY_NAME, getComponentName(context).getClassName());
context.sendBroadcast(intent);
}
//清除角标
public static void removeBadge(Context context){
setBadgeCount(context,0);
}
//获取ComponentName
private static ComponentName getComponentName(Context context) {
return context.getApplicationContext().getPackageManager()
.getLaunchIntentForPackage(context.getApplicationContext().getPackageName())
.getComponent();
}
}

22
app/src/main/java/cn/shangyu/gdxzPatient/utils/Constant.java

@ -59,7 +59,7 @@ public class Constant {
public static final String MEDICALHISTORY = "medicalHistory";// 既往史 0没有病史
public static final String WHETHER_PREGNANT = "whether_pregnant";// 是否怀孕
public static final String EXPECTED_DATE_OF_CHILDBIRTH = "expected_date_of_childbirth";// 预产期
public static final String WHETHER_HBV = "whether_hbv";// 肝或肝癌家族史
public static final String WHETHER_HBV = "whether_hbv";// 肝硬化或肝癌家族史
public static final String HEIGHT = "height";// 身高
public static final String WEIGHT = "weight";// 体重
// 1有病史
@ -132,5 +132,23 @@ public class Constant {
public static boolean isSignIn;//签到
public static String wendaguize = "http://doc.igandan.com/app/integral/interrogation.html";//问答规则
/**
* 聊天类型患者
*/
public static String typePatient = "Patient";// 聊天类型,患者
/**
* 聊天类型公益咨询
*/
public static String typeConsult = "Consult";// 聊天类型,公益咨询
/**
* 聊天类型即是患者也是公益咨询
*/
public static String typePatientConsult = "PatientConsult";// 聊天类型,公益咨询
/**
* 聊天类型朋友圈里
*/
public static String typeVip = "Vip";// 聊天类型,朋友圈里
public static String isNotification = "isNotification";//是否打开通知栏
public static String regID;//小米推送服务返回regid作为容联的
public static String token;//华为推送服务返回作为容联的
}

25
app/src/main/java/cn/shangyu/gdxzPatient/utils/NotificationUtils.java

@ -11,7 +11,12 @@ import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v4.app.NotificationCompat;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import cn.shangyu.gdxzPatient.R;
import cn.shangyu.gdxzPatient.ecdemo.storage.ConversationSqlManager;
import cn.shangyu.gdxzPatient.ecdemo.storage.IMessageSqlManager;
/**
@ -64,15 +69,33 @@ public class NotificationUtils extends ContextWrapper {
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pendingIntent);
}
public void sendNotification(String title, String content){
public void sendNotification(String title, String content,int count){
id = title;
name = title;
if (Build.VERSION.SDK_INT>=26){
createNotificationChannel();
Notification notification = getChannelNotification(title, content).build();
notification.flags |= notification.FLAG_AUTO_CANCEL;
try {
Field field = notification.getClass().getDeclaredField("extraNotification");
Object extraNotification = field.get(notification);
Method method = extraNotification.getClass().getDeclaredMethod("setMessageCount", int.class);
method.invoke(extraNotification,count);
} catch (Exception e) {
e.printStackTrace();
}
getManager().notify(35,notification);
}else{
Notification notification = getNotification_25(title, content).build();
notification.flags |= notification.FLAG_AUTO_CANCEL;
try {
Field field = notification.getClass().getDeclaredField("extraNotification");
Object extraNotification = field.get(notification);
Method method = extraNotification.getClass().getDeclaredMethod("setMessageCount", int.class);
method.invoke(extraNotification,count);
} catch (Exception e) {
e.printStackTrace();
}
getManager().notify(35,notification);
}
}

8
app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java

@ -23,12 +23,11 @@ public class Url {
public static String upLoadUrl = "http://app.igandan.com/app/upload/";
public static String zcxy = "http://app.igandan.com/patient_zcxy.jsp";
public static String urlVer = "http://app.igandan.com/app/";
public static String urlH5 = "http://wx.igandan.com/";
public static String urlmyLan = "https://app.igandan.com/app/patientAPI/";//迈兰、
public static String urlping = "https://app.igandan.com/app/pingPatient/";//ping
public static String urlH5 = "http://wx.igandan.com/";
public static String urlmyLan = "https://app.igandan.com/app/patientAPI/";//迈兰、
public static String urlping = "https://app.igandan.com/app/pingPatient/";//ping
// ---------------------------------------------------------------------------------------------------------
//肝胆相照测试
// public static String urlVer = "https://tapp.igandan.org/app/";//
// public static String url = "https://tapp.igandan.org/app/patient/";//
@ -41,7 +40,6 @@ public class Url {
// public static String urlping = "https://tapp.igandan.org/app/pingPatient/";//ping
// public static String imgUrl = "http://192.168.100.99:8080/Mgdxz/";
// public static String urlVer = "http://192.168.100.99:8080/Mgdxz/app/";
// public static String url =
// "http://192.168.100.99:8080/Mgdxz/app/patient/";

BIN
app/src/main/res/drawable-hdpi/gettoken.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
app/src/main/res/drawable-hdpi/upload.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

133
app/src/main/res/layout/activity_addexpert.xml

@ -23,7 +23,7 @@
android:lineSpacingExtra="5dp"
android:paddingLeft="25dp"
android:paddingRight="15dp"
android:text="添加医生为我的随访专家,获得医生同意后,可与医生零距离互动。"
android:text="此申请信息仅您和您的主治医生可见,请您务必填写真实信息,方便医生快速审核。添加医生为我的随访专家,获得医生同意后,可与医生零距离互动。"
android:textColor="#a4aaaa"
android:textSize="@dimen/textsize" />
@ -72,22 +72,69 @@
android:orientation="vertical" >
<TextView
android:id="@+id/tv_name1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你好!\n我是赵丽,在线上和您沟通过,"
android:text="你好"
android:textColor="#323232"
android:textSize="@dimen/textsize" />
<TextView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/cb_select1"
android:text="同意我作为您的随访患者。"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:textColor="#323232"
android:textSize="@dimen/textsize"
android:text="我是"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/et_name1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:background="@null"
android:textColorHint="#a4aaaa"
android:maxLength="10"
android:hint="请输入真实姓名"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="14sp" />
<View
android:layout_width="100dp"
android:layout_height="1dp"
android:background="#cccccc" />
</LinearLayout>
<TextView
android:textColor="#323232"
android:textSize="@dimen/textsize"
android:text=",在线上和您沟通过,"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:textColor="#323232"
android:textSize="@dimen/textsize"
android:visibility="gone" />
android:text="请您同意我作为您的随访患者。"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--<TextView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_marginTop="5dp"-->
<!--android:layout_toRightOf="@id/cb_select1"-->
<!--android:text="同意我作为您的随访患者。"-->
<!--android:textColor="#323232"-->
<!--android:textSize="@dimen/textsize"-->
<!--android:visibility="gone" />-->
</LinearLayout>
<TextView
@ -144,10 +191,32 @@
android:id="@+id/tv_name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是赵丽,在"
android:text="我是"
android:textColor="#323232"
android:textSize="@dimen/textsize" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/et_name2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:background="@null"
android:textColorHint="#a4aaaa"
android:maxLength="10"
android:gravity="center"
android:hint="请输入真实姓名"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="14sp" />
<View
android:layout_width="100dp"
android:layout_height="1dp"
android:background="#cccccc" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -157,12 +226,10 @@
android:id="@+id/tv_time2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#3cc7c0"
android:singleLine="true"
android:text="时间选择"
android:textColor="#ff0000"
android:text=",在"
android:textColor="#323232"
android:textSize="@dimen/textsize"
android:visibility="gone" />
/>
</LinearLayout>
<LinearLayout
@ -176,6 +243,8 @@
android:layout_height="wrap_content"
android:background="@null"
android:maxLength="30"
android:textColorHint="#a4aaaa"
android:hint="请输入就诊的医院"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="14sp" />
@ -249,10 +318,32 @@
android:id="@+id/tv_name4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是赵丽,在"
android:text="我是"
android:textColor="#323232"
android:textSize="@dimen/textsize" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/et_name3"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:background="@null"
android:textColorHint="#a4aaaa"
android:maxLength="10"
android:gravity="center"
android:hint="请输入真实姓名"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="14sp" />
<View
android:layout_width="100dp"
android:layout_height="1dp"
android:background="#cccccc" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -261,12 +352,10 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#3cc7c0"
android:singleLine="true"
android:text="时间选择"
android:textColor="#ff0000"
android:text=",在"
android:textColor="#323232"
android:textSize="@dimen/textsize"
android:visibility="gone" />
/>
</LinearLayout>
<LinearLayout
@ -279,6 +368,8 @@
android:layout_width="152dp"
android:layout_height="wrap_content"
android:background="@null"
android:textColorHint="#a4aaaa"
android:hint="请输入就诊的医院"
android:maxLength="30"
android:singleLine="true"
android:textColor="@color/black"

33
app/src/main/res/layout/activity_askamoreinfo.xml

@ -324,15 +324,30 @@
android:background="#cccccc" />
</RelativeLayout>
<TextView
android:id="@+id/tv_other"
android:textColor="@color/tv_bg"
android:textSize="17sp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:text="是否合并其他慢性疾病?(多选)"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_other"
android:textColor="@color/tv_bg"
android:textSize="17sp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:text="是否合并其他慢性疾病?(多选)"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/tv_10"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="*"
android:textColor="@color/red_account"
android:textSize="@dimen/textsize" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"

2
app/src/main/res/layout/activity_completeinformation.xml

@ -407,7 +407,7 @@
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:gravity="center_vertical"
android:text="肝或肝癌家族史"
android:text="肝硬化或肝癌家族史"
android:textColor="@color/black"
android:textSize="@dimen/textsize" />

2
app/src/main/res/layout/activity_familycontactinfo.xml

@ -380,7 +380,7 @@
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:gravity="center_vertical"
android:text="肝或肝癌家族史"
android:text="肝硬化或肝癌家族史"
android:textColor="@color/tv_bg"
android:textSize="@dimen/textsize" />

2
app/src/main/res/layout/activity_personinfo.xml

@ -572,7 +572,7 @@
android:layout_marginLeft="15dp"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:text="肝或肝癌家族史"
android:text="肝硬化或肝癌家族史"
android:textColor="@color/black"
android:textSize="@dimen/textsize" />

4
app/src/main/res/layout/activity_personinfo1.xml

@ -350,7 +350,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text=""
android:text="10"
android:textColor="@color/c999999"
android:textSize="@dimen/textsizea" />
@ -713,7 +713,7 @@
android:layout_marginLeft="20dp"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:text="肝或肝癌家族史"
android:text="肝硬化或肝癌家族史"
android:textColor="@color/tv_bg"
android:textSize="@dimen/textsize" />

86
app/src/main/res/layout/dialog_notification.xml

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/rect_tishi"
>
<TextView
android:id="@+id/tv_infotitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="温馨提示"
android:textColor="@color/patient_theme"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:textSize="18sp"
/>
<TextView
android:id="@+id/tv_tishi"
android:text="为了您能与患者及时沟通\n请打开肝胆相照专家端通知信息-允许通知-随访消息"
android:layout_centerInParent="true"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:lineSpacingExtra="5dp"
android:gravity="center"
android:textSize="16sp"
android:textColor="#000000"
android:layout_below="@+id/tv_infotitle"
android:layout_width="wrap_content"
android:layout_height="100dp" />
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="#cccccc"
android:layout_below="@+id/tv_tishi"
android:layout_marginTop="15dp"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_below="@+id/line"
android:layout_height="40dp">
<Button
android:id="@+id/btn_cancel"
android:text="取消"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:background="@null"
android:textColor="@color/btn_black_theme_selector"
android:textSize="14sp"
/>
<View
android:id="@+id/line1"
android:layout_width="1dp"
android:layout_height="40dp"
android:background="#999999"
android:layout_below="@+id/tishi"
/>
<Button
android:id="@+id/btn_sure"
android:text="确定"
android:textColor="@color/patient_theme"
android:textSize="14sp"
android:layout_height="40dp"
android:layout_toRightOf="@+id/line1"
android:layout_width="0dp"
android:layout_weight="1"
android:background="@null"
/>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>

2
app/src/main/res/layout/fragment_basicinfo.xml

@ -186,7 +186,7 @@
android:layout_height="50dp">
<TextView
android:id="@+id/ganai"
android:text="肝或肝癌家族史"
android:text="肝硬化或肝癌家族史"
android:textSize="17sp"
android:layout_centerVertical="true"
android:textColor="@color/tv_bg"

26
app/src/main/res/layout/item.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5dp"
android:layout_gravity="center" >
<ImageView
android:id="@+id/grid_item_image"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_margin="5dp"
android:src="@drawable/ic_launcher" >
</ImageView>
<TextView
android:id="@+id/grid_item_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:layout_marginTop="5dp"
android:textSize="15dp" >
</TextView>
</LinearLayout>

6
app/src/main/res/layout/item_doctoranswer.xml

@ -64,8 +64,12 @@
android:id="@+id/tv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tv_name"
android:layout_alignBottom="@+id/civ_head"
android:layout_toEndOf="@+id/civ_head"
android:lines="1"
android:ellipsize="end"
android:layout_toLeftOf="@+id/tv_time"
android:layout_marginRight="2dp"
android:text="人民医院"
android:textColor="@color/c999999"
android:textSize="14sp" />

29
app/src/main/res/layout/mian.xml

@ -0,0 +1,29 @@
<?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="match_parent"
android:background="@color/white"
android:orientation="vertical" >
<GridView
android:id="@+id/gridView2"
android:layout_width="match_parent"
android:layout_height="335dp"
android:gravity="center"
android:numColumns="3" >
</GridView>
<TextView
android:layout_marginTop="20dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor= "#FF0000"
android:text="收到消息将在下面展示:" />
<TextView
android:id="@+id/tv_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

2
app/src/main/res/layout/popwindow_selected_livercancer.xml

@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:text="肝或肝癌家族史"
android:text="肝硬化或肝癌家族史"
android:textColor="#cccccc"
android:textSize="14sp" />

26
app/src/main/res/values/strings.xml

@ -612,8 +612,28 @@
<string name="permission_read_external_hint">没有此权限,无法开启这个功能,请开启权限。PERMISSION_READ_EXTERNAL_STORAGE</string>
<string name="permission_white_external_hint">没有此权限,无法开启这个功能,请开启权限。PERMISSION_WRITE_EXTERNAL_STORAGE</string>
<string name="permission_recode_audio_hint">没有此权限,无法开启这个功能,请开启权限。PERMISSION_RECORD_AUDIO</string>
<string name="register_success">Register push success.</string>
<string name="register_fail">Register push fail.</string>
<string name="recv_passthrough_message"> Receive a passthrough message. Content is \"%1$s\"</string>
<string name="click_notification_message"> Clicked a notification message. Content is \"%1$s\"</string>
<string name="arrive_notification_message"> Arrived a notification message. Content is \"%1$s\"</string>
<string name="set_alias_success"> Set alias \"%1$s\" success.</string>
<string name="set_alias_fail"> Set alias fail for %1$s.</string>
<string name="unset_alias_success"> Unset alias \"%1$s\" success.</string>
<string name="unset_alias_fail"> Unset alias fail for %1$s.</string>
<string name="set_account_success"> Set account \"%1$s\" success.</string>
<string name="set_account_fail"> Set account fail for %1$s.</string>
<string name="unset_account_success"> Unset account \"%1$s\" success.</string>
<string name="unset_account_fail"> Unset account fail for %1$s.</string>
<string name="subscribe_topic_success"> Subscribe topic \"%1$s\" success.</string>
<string name="subscribe_topic_fail"> Subscribe topic fail for %1$s.</string>
<string name="unsubscribe_topic_success"> Unsubscribe topic \"%1$s\" success.</string>
<string name="unsubscribe_topic_fail"> Unsubscribe topic fail for %1$s.</string>
<string name="set_accept_time_success"> Set accept time %1$s - %2$s success.</string>
<string name="set_accept_time_fail"> Set accept time fail for %1$s.</string>
<string name="xiaomi_push">小米推送</string>
<string name="huawei_push">华为推送</string>
</resources>
Loading…
Cancel
Save