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