Commit cebff8c0dc9688c0793f4d34807eefecaedb626c
Exists in
yxb_dev
and in
2 other branches
Merge branch 'developer' of http://git.shunzhi.net/taohd/parentwork into developer
Showing
5 changed files
with
153 additions
and
38 deletions
Show diff stats
.idea/modules.xml
| @@ -4,7 +4,8 @@ | @@ -4,7 +4,8 @@ | ||
| 4 | <modules> | 4 | <modules> |
| 5 | <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> | 5 | <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> |
| 6 | <module fileurl="file://$PROJECT_DIR$/mvpsdk/mvpsdk.iml" filepath="$PROJECT_DIR$/mvpsdk/mvpsdk.iml" /> | 6 | <module fileurl="file://$PROJECT_DIR$/mvpsdk/mvpsdk.iml" filepath="$PROJECT_DIR$/mvpsdk/mvpsdk.iml" /> |
| 7 | - <module fileurl="file://$PROJECT_DIR$/parentwork.iml" filepath="$PROJECT_DIR$/parentwork.iml" /> | 7 | + <module fileurl="file://$PROJECT_DIR$/parentWorkHolper.iml" filepath="$PROJECT_DIR$/parentWorkHolper.iml" /> |
| 8 | + <module fileurl="file://F:\parentWorkHolper\parentwork.iml" filepath="F:\parentWorkHolper\parentwork.iml" /> | ||
| 8 | <module fileurl="file://$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" filepath="$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" /> | 9 | <module fileurl="file://$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" filepath="$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" /> |
| 9 | </modules> | 10 | </modules> |
| 10 | </component> | 11 | </component> |
No preview for this file type
app/src/main/AndroidManifest.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| 3 | - package="com.shunzhi.parent"> | 3 | + package="com.shunzhi.parent"> |
| 4 | 4 | ||
| 5 | <!-- 用于进行网络定位 --> | 5 | <!-- 用于进行网络定位 --> |
| 6 | - <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | 6 | + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> |
| 7 | <!-- 用于访问GPS定位 --> | 7 | <!-- 用于访问GPS定位 --> |
| 8 | - <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | ||
| 9 | - <uses-permission android:name="android.permission.GET_TASKS" /> | ||
| 10 | - <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | ||
| 11 | - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | 8 | + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> |
| 9 | + <uses-permission android:name="android.permission.GET_TASKS"/> | ||
| 10 | + <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> | ||
| 11 | + <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> | ||
| 12 | <!-- Android 6.0版本可去除,用于选举信息(通道复用)的同步 --> | 12 | <!-- Android 6.0版本可去除,用于选举信息(通道复用)的同步 --> |
| 13 | - <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | 13 | + <uses-permission android:name="android.permission.WRITE_SETTINGS"/> |
| 14 | <!-- 进行网络访问和网络状态监控相关的权限声明 --> | 14 | <!-- 进行网络访问和网络状态监控相关的权限声明 --> |
| 15 | - <uses-permission android:name="android.permission.INTERNET" /> | 15 | + <uses-permission android:name="android.permission.INTERNET"/> |
| 16 | <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 --> | 16 | <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 --> |
| 17 | - <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | 17 | + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> |
| 18 | <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> | 18 | <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> |
| 19 | - <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 19 | + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> |
| 20 | <!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> | 20 | <!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> |
| 21 | - <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> | 21 | + <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> |
| 22 | <!-- 允许对sd卡进行读写操作 --> | 22 | <!-- 允许对sd卡进行读写操作 --> |
| 23 | - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 23 | + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> |
| 24 | <!-- 用于申请调用A-GPS模块 --> | 24 | <!-- 用于申请调用A-GPS模块 --> |
| 25 | - <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> | 25 | + <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/> |
| 26 | <!-- 网络库使用,当网络操作时需要确保事务完成不被杀掉 --> | 26 | <!-- 网络库使用,当网络操作时需要确保事务完成不被杀掉 --> |
| 27 | - <uses-permission android:name="android.permission.WAKE_LOCK" /> | 27 | + <uses-permission android:name="android.permission.WAKE_LOCK"/> |
| 28 | <!-- 用于读取手机硬件信息等,用于机型过滤 --> | 28 | <!-- 用于读取手机硬件信息等,用于机型过滤 --> |
| 29 | - <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 29 | + <uses-permission android:name="android.permission.READ_PHONE_STATE"/> |
| 30 | <!-- 选举使用,当应用有删除或者更新时需要重新选举,复用推送通道 --> | 30 | <!-- 选举使用,当应用有删除或者更新时需要重新选举,复用推送通道 --> |
| 31 | - <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" /> | ||
| 32 | - <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" /> | ||
| 33 | - <uses-permission android:name="android.permission.RESTART_PACKAGES" /> | 31 | + <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED"/> |
| 32 | + <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED"/> | ||
| 33 | + <uses-permission android:name="android.permission.RESTART_PACKAGES"/> | ||
| 34 | <!-- 补偿通道小米PUSH使用,不用可去除 --> | 34 | <!-- 补偿通道小米PUSH使用,不用可去除 --> |
| 35 | <!-- <uses-permission android:name="android.permission.GET_TASKS" /> --> | 35 | <!-- <uses-permission android:name="android.permission.GET_TASKS" /> --> |
| 36 | <!-- 补偿通道GCM使用,不使用可去除 --> | 36 | <!-- 补偿通道GCM使用,不使用可去除 --> |
| 37 | - <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | 37 | + <uses-permission android:name="android.permission.GET_ACCOUNTS"/> |
| 38 | <!-- 允许监听启动完成事件 --> | 38 | <!-- 允许监听启动完成事件 --> |
| 39 | - <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> | 39 | + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> |
| 40 | <!-- 允许访问震动器 --> | 40 | <!-- 允许访问震动器 --> |
| 41 | - <uses-permission android:name="android.permission.VIBRATE" /> | 41 | + <uses-permission android:name="android.permission.VIBRATE"/> |
| 42 | <!-- 允许task重排序 --> | 42 | <!-- 允许task重排序 --> |
| 43 | - <uses-permission android:name="android.permission.REORDER_TASKS" /> | 43 | + <uses-permission android:name="android.permission.REORDER_TASKS"/> |
| 44 | <!-- 用于申请获取蓝牙信息进行室内定位 --> | 44 | <!-- 用于申请获取蓝牙信息进行室内定位 --> |
| 45 | - <uses-permission android:name="android.permission.BLUETOOTH" /> | ||
| 46 | - <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> | 45 | + <uses-permission android:name="android.permission.BLUETOOTH"/> |
| 46 | + <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> | ||
| 47 | + | ||
| 48 | + <!-- 接收 SDK 消息广播权限, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 --> | ||
| 49 | + <uses-permission android:name="com.shunzhi.parent.permission.RECEIVE_MSG"/> | ||
| 50 | + <uses-permission android:name="android.permission.CALL_PHONE"/> | ||
| 47 | 51 | ||
| 48 | <application | 52 | <application |
| 49 | android:name=".AppContext" | 53 | android:name=".AppContext" |
| @@ -55,58 +59,103 @@ | @@ -55,58 +59,103 @@ | ||
| 55 | android:theme="@style/Theme.AppCompat.Light.NoActionBar"> | 59 | android:theme="@style/Theme.AppCompat.Light.NoActionBar"> |
| 56 | 60 | ||
| 57 | <!-- 高德地图服务 --> | 61 | <!-- 高德地图服务 --> |
| 58 | - <service android:name="com.amap.api.location.APSService" /> | 62 | + <service android:name="com.amap.api.location.APSService"/> |
| 59 | <!-- 高德地图密钥 --> | 63 | <!-- 高德地图密钥 --> |
| 60 | <!-- <meta-data --> | 64 | <!-- <meta-data --> |
| 61 | <!-- android:name="com.amap.api.v2.apikey" --> | 65 | <!-- android:name="com.amap.api.v2.apikey" --> |
| 62 | <!-- android:value="0da7965006ae0c8e4106c76c1867d976"/> --> | 66 | <!-- android:value="0da7965006ae0c8e4106c76c1867d976"/> --> |
| 67 | + | ||
| 68 | + <!--家长慧测试APPkey--> | ||
| 69 | + <meta-data | ||
| 70 | + android:name="com.netease.nim.appKey" | ||
| 71 | + android:value="330158c080acdf4dc1092d6a74576c2c"/> | ||
| 72 | + | ||
| 73 | + <meta-data | ||
| 74 | + android:name="android.max_aspect" | ||
| 75 | + android:value="2.1"/> | ||
| 76 | + | ||
| 77 | + <!-- 声明云信后台服务 --> | ||
| 78 | + <service | ||
| 79 | + android:name="com.netease.nimlib.service.NimService" | ||
| 80 | + android:process=":core"/> | ||
| 81 | + | ||
| 82 | + <!-- 运行后台辅助服务 --> | ||
| 83 | + <service | ||
| 84 | + android:name="com.netease.nimlib.service.NimService$Aux" | ||
| 85 | + android:process=":core"/> | ||
| 86 | + | ||
| 87 | + <!-- 声明云信后台辅助服务 --> | ||
| 88 | + <service | ||
| 89 | + android:name="com.netease.nimlib.job.NIMJobService" | ||
| 90 | + android:exported="true" | ||
| 91 | + android:permission="android.permission.BIND_JOB_SERVICE" | ||
| 92 | + android:process=":core"/> | ||
| 93 | + | ||
| 94 | + <!-- 云信SDK的监视系统启动和网络变化的广播接收器,用户开机自启动以及网络变化时候重新登录 --> | ||
| 95 | + <receiver | ||
| 96 | + android:name="com.netease.nimlib.service.NimReceiver" | ||
| 97 | + android:exported="false" | ||
| 98 | + android:process=":core"> | ||
| 99 | + <intent-filter> | ||
| 100 | + <action android:name="android.intent.action.BOOT_COMPLETED"/> | ||
| 101 | + <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> | ||
| 102 | + </intent-filter> | ||
| 103 | + </receiver> | ||
| 104 | + | ||
| 105 | + <!-- 云信进程间通信receiver --> | ||
| 106 | + <receiver android:name="com.netease.nimlib.service.ResponseReceiver"/> | ||
| 107 | + | ||
| 108 | + <!-- 云信进程间通信service --> | ||
| 109 | + <service android:name="com.netease.nimlib.service.ResponseService"/> | ||
| 110 | + | ||
| 63 | <meta-data | 111 | <meta-data |
| 64 | android:name="com.amap.api.v2.apikey" | 112 | android:name="com.amap.api.v2.apikey" |
| 65 | - android:value="1d130afb822d8a1019e6592cbaf10bcc" /> | 113 | + android:value="1d130afb822d8a1019e6592cbaf10bcc"/> |
| 66 | 114 | ||
| 67 | <activity android:name=".ui.activity.LoginAndRegistActivity"> | 115 | <activity android:name=".ui.activity.LoginAndRegistActivity"> |
| 68 | <intent-filter> | 116 | <intent-filter> |
| 69 | - <action android:name="android.intent.action.MAIN" /> | 117 | + <action android:name="android.intent.action.MAIN"/> |
| 70 | 118 | ||
| 71 | - <category android:name="android.intent.category.LAUNCHER" /> | 119 | + <category android:name="android.intent.category.LAUNCHER"/> |
| 72 | </intent-filter> | 120 | </intent-filter> |
| 73 | </activity> | 121 | </activity> |
| 74 | <activity | 122 | <activity |
| 75 | android:name=".ui.MainActivity" | 123 | android:name=".ui.MainActivity" |
| 76 | android:screenOrientation="portrait" | 124 | android:screenOrientation="portrait" |
| 77 | - android:windowSoftInputMode="adjustPan|stateAlwaysHidden" /> | 125 | + android:windowSoftInputMode="adjustPan|stateAlwaysHidden"/> |
| 78 | <activity | 126 | <activity |
| 79 | android:name=".ui.activity.MyChildActivity" | 127 | android:name=".ui.activity.MyChildActivity" |
| 80 | - android:screenOrientation="portrait" /> | ||
| 81 | - <activity android:name=".ui.activity.consult.ConsultOneLevelActivity" /> | 128 | + android:screenOrientation="portrait"/> |
| 129 | + <activity android:name=".ui.activity.consult.ConsultOneLevelActivity"/> | ||
| 82 | <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" /> --> | 130 | <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" /> --> |
| 83 | <activity | 131 | <activity |
| 84 | android:name=".ui.activity.StartActivity" | 132 | android:name=".ui.activity.StartActivity" |
| 85 | - android:screenOrientation="portrait" /> | 133 | + android:screenOrientation="portrait"/> |
| 86 | <activity | 134 | <activity |
| 87 | android:name=".ui.activity.ChildDetialActivity" | 135 | android:name=".ui.activity.ChildDetialActivity" |
| 88 | android:screenOrientation="portrait" /> | 136 | android:screenOrientation="portrait" /> |
| 89 | <activity | 137 | <activity |
| 90 | android:name=".ui.activity.binding.CreateChildInfoActivity" | 138 | android:name=".ui.activity.binding.CreateChildInfoActivity" |
| 91 | android:screenOrientation="portrait" | 139 | android:screenOrientation="portrait" |
| 92 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 140 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
| 93 | <activity | 141 | <activity |
| 94 | android:name=".ui.activity.binding.SelectSchoolActivity" | 142 | android:name=".ui.activity.binding.SelectSchoolActivity" |
| 95 | android:screenOrientation="portrait" | 143 | android:screenOrientation="portrait" |
| 96 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 144 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
| 97 | <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" --> | 145 | <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" --> |
| 98 | <!-- android:screenOrientation="portrait" --> | 146 | <!-- android:screenOrientation="portrait" --> |
| 99 | <!-- /> --> | 147 | <!-- /> --> |
| 100 | <activity | 148 | <activity |
| 101 | android:name=".ui.activity.PersonInfoActivity" | 149 | android:name=".ui.activity.PersonInfoActivity" |
| 102 | android:screenOrientation="portrait" | 150 | android:screenOrientation="portrait" |
| 103 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 151 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
| 104 | <activity | 152 | <activity |
| 105 | android:name=".ui.activity.binding.CheckInfoActivity" | 153 | android:name=".ui.activity.binding.CheckInfoActivity" |
| 106 | android:screenOrientation="portrait" | 154 | android:screenOrientation="portrait" |
| 107 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 155 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
| 108 | <activity | 156 | <activity |
| 109 | android:name=".ui.activity.binding.InviteCodeActivity" | 157 | android:name=".ui.activity.binding.InviteCodeActivity" |
| 158 | + | ||
| 110 | android:screenOrientation="portrait" /> | 159 | android:screenOrientation="portrait" /> |
| 111 | <activity | 160 | <activity |
| 112 | android:name=".ui.activity.mywebview.WebViewActivity" | 161 | android:name=".ui.activity.mywebview.WebViewActivity" |
app/src/main/java/com/shunzhi/parent/manager/MessageManager.java
0 → 100644
| @@ -0,0 +1,65 @@ | @@ -0,0 +1,65 @@ | ||
| 1 | +package com.shunzhi.parent.manager; | ||
| 2 | + | ||
| 3 | +import com.netease.nimlib.sdk.NIMClient; | ||
| 4 | +import com.netease.nimlib.sdk.Observer; | ||
| 5 | +import com.netease.nimlib.sdk.auth.AuthService; | ||
| 6 | +import com.netease.nimlib.sdk.auth.LoginInfo; | ||
| 7 | +import com.netease.nimlib.sdk.msg.MsgServiceObserve; | ||
| 8 | +import com.netease.nimlib.sdk.msg.model.CustomNotification; | ||
| 9 | +import com.netease.nimlib.sdk.msg.model.IMMessage; | ||
| 10 | + | ||
| 11 | +import java.util.List; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * Created by 10501 on 2018/3/17. | ||
| 15 | + */ | ||
| 16 | + | ||
| 17 | +public class MessageManager { | ||
| 18 | + | ||
| 19 | + private static class InstanceHolder { | ||
| 20 | + static final MessageManager instance = new MessageManager(); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public MessageManager getInstance() { | ||
| 24 | + return InstanceHolder.instance; | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + private Observer<List<IMMessage>> messageObserver = new Observer<List<IMMessage>>() { | ||
| 28 | + @Override | ||
| 29 | + public void onEvent(List<IMMessage> imMessages) { | ||
| 30 | + onMessageReceive(imMessages); | ||
| 31 | + } | ||
| 32 | + }; | ||
| 33 | + private Observer<CustomNotification> customNotificationObserver = new Observer<CustomNotification>() { | ||
| 34 | + @Override | ||
| 35 | + public void onEvent(CustomNotification customNotification) { | ||
| 36 | + onCustomNotificationReceive(customNotification); | ||
| 37 | + } | ||
| 38 | + }; | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + private MessageManager() { | ||
| 42 | + NIMClient.getService(MsgServiceObserve.class).observeReceiveMessage(messageObserver, true); | ||
| 43 | + NIMClient.getService(MsgServiceObserve.class).observeCustomNotification(customNotificationObserver, true); | ||
| 44 | + | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + private void onMessageReceive(List<IMMessage> messageList) { | ||
| 48 | + | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + private void onCustomNotificationReceive(CustomNotification customnotification) { | ||
| 52 | + | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + public void login(String account, String password) { | ||
| 56 | + NIMClient.getService(AuthService.class).login(new LoginInfo(account, password)); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + public void logout() { | ||
| 61 | + NIMClient.getService(MsgServiceObserve.class).observeReceiveMessage(messageObserver, false); | ||
| 62 | + NIMClient.getService(MsgServiceObserve.class).observeCustomNotification(customNotificationObserver, false); | ||
| 63 | + NIMClient.getService(AuthService.class).logout(); | ||
| 64 | + } | ||
| 65 | +} |
app/src/main/res/layout/fragment_consult_two_level.xml