Przeglądaj źródła

1:首页消息提示修正4-26;

LiuJie 10 lat temu
rodzic
commit
93b3f396b8

+ 1 - 1
WeiChat/build.gradle

@@ -6,7 +6,7 @@ android {
 
     defaultConfig {
         applicationId "com.sk.weichat"
-        minSdkVersion 8
+        minSdkVersion 14
         targetSdkVersion 22
         compileOptions {
             sourceCompatibility JavaVersion.VERSION_1_7

+ 3 - 5
WeiChat/src/main/AndroidManifest.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.sk.weichat"
-    android:versionCode="2"
-    android:versionName="1.2" >
+    android:versionCode="1"
+    android:versionName="1.0" >
 
     <uses-sdk
-        android:minSdkVersion="8"
+        android:minSdkVersion="14"
         android:targetSdkVersion="22" />
 
     <!-- 拨打电话 -->
@@ -52,7 +52,6 @@
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
     <uses-permission android:name="android.permission.VIBRATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
     <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
@@ -63,7 +62,6 @@
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
     <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.GET_TASKS"/>
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

+ 40 - 26
WeiChat/src/main/java/com/sk/weichat/MyApplication.java

@@ -5,6 +5,7 @@ import android.graphics.Bitmap;
 import android.graphics.Bitmap.Config;
 import android.os.Build;
 import android.os.Environment;
+import android.os.Handler;
 import android.os.StrictMode;
 import android.util.Log;
 
@@ -50,7 +51,20 @@ public class MyApplication extends Application {
 		super.onCreate();
 		INSTANCE = this;
 		PreferenceUtils.putBoolean(this, Constants.IS_NOTIFICATION, false);//不进行通知
-		SDKInitializer.initialize(getApplicationContext());
+		new Handler().postDelayed(new Runnable() {
+			@Override
+			public void run() {
+				SDKInitializer.initialize(getApplicationContext());
+				// 初始化数据库
+				SQLiteHelper.copyDatabaseFile(getApplicationContext());
+				// 初始化定位
+				getBdLocationHelper();
+				// 初始化App目录
+				initAppDir();
+				// 初始化图片加载
+				initImageLoader();
+			}
+		},1);
 		if (AppConfig.DEBUG) {
 			Log.d(AppConfig.TAG, "MyApplication onCreate");
 		}
@@ -60,14 +74,6 @@ public class MyApplication extends Application {
 		}
 		// 初始化网络监听
 		mNetWorkObservable = new NetWorkObservable(this);
-		// 初始化数据库
-		SQLiteHelper.copyDatabaseFile(this);
-		// 初始化定位
-		getBdLocationHelper();
-		// 初始化App目录
-		initAppDir();
-		// 初始化图片加载
-		initImageLoader();
 	}
 
 	/**
@@ -135,34 +141,42 @@ public class MyApplication extends Application {
 
 	private void initAppDir() {
 		File file = getExternalFilesDir(null);
-		if (!file.exists()) {
-			file.mkdirs();
+		if(file!=null) {
+			if (!file.exists()) {
+				file.mkdirs();
+			}
+			mAppDir = file.getAbsolutePath();
 		}
-		mAppDir = file.getAbsolutePath();
 
 		file = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
-		if (!file.exists()) {
-			file.mkdirs();
+		if(file!=null) {
+			if (!file.exists()) {
+				file.mkdirs();
+			}
+			mPicturesDir = file.getAbsolutePath();
 		}
-		mPicturesDir = file.getAbsolutePath();
 
 		file = getExternalFilesDir(Environment.DIRECTORY_MUSIC);
-		if (!file.exists()) {
-			file.mkdirs();
+		if(file!=null) {
+			if (!file.exists()) {
+				file.mkdirs();
+			}
+			mVoicesDir = file.getAbsolutePath();
 		}
-		mVoicesDir = file.getAbsolutePath();
-
 		file = getExternalFilesDir(Environment.DIRECTORY_MOVIES);
-		if (!file.exists()) {
-			file.mkdirs();
+		if(file!=null) {
+			if (!file.exists()) {
+				file.mkdirs();
+			}
+			mVideosDir = file.getAbsolutePath();
 		}
-		mVideosDir = file.getAbsolutePath();
-		
 		file = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
-		if (!file.exists()) {
-			file.mkdirs();
-		}		
+		if(file!=null) {
+			if (!file.exists()) {
+				file.mkdirs();
+			}
 		mFilesDir = file.getAbsolutePath();
+		}
 	}
 
 	/******************* 初始化图片加载 **********************/

+ 1 - 1
WeiChat/src/main/java/com/sk/weichat/ui/cardcast/CardcastActivity.java

@@ -124,7 +124,7 @@ public class CardcastActivity extends BaseActivity implements View.OnClickListen
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
-        outState.putInt("index", getSupportActionBar().getSelectedNavigationIndex());
+        //outState.putInt("index", getSupportActionBar().getSelectedNavigationIndex());
     }
 
     private ServiceConnection mServiceConnection = new ServiceConnection() {

+ 1 - 1
WeiChat/src/main/java/com/sk/weichat/ui/erp/activity/CompanyContactsActivity.java

@@ -361,7 +361,7 @@ public class CompanyContactsActivity extends BaseActivity {
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     String exception = msg.getData().getString("result");
-                    com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(mContext,exception);
+                    com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(ct,exception);
                     com.sk.weichat.ui.erp.net.ViewUtil.AutoLoginErp(ct);
                     reScrollView.onRefreshComplete();
                     break;

+ 66 - 0
WeiChat/src/main/java/com/sk/weichat/ui/erp/activity/NoticeMenuActivity.java

@@ -18,6 +18,7 @@ import com.roamer.slidelistview.SlideListView;
 import com.sk.weichat.MyApplication;
 import com.sk.weichat.R;
 import com.sk.weichat.bean.Friend;
+import com.sk.weichat.bean.message.ChatMessage;
 import com.sk.weichat.bean.message.XmppMessage;
 import com.sk.weichat.broadcast.MsgBroadcast;
 import com.sk.weichat.db.dao.ChatMessageDao;
@@ -32,9 +33,11 @@ import com.sk.weichat.util.TimeUtils;
 import com.sk.weichat.util.ViewHolder;
 import com.sk.weichat.view.ClearEditText;
 import com.sk.weichat.view.PullToRefreshSlideListView;
+import com.sk.weichat.xmpp.listener.ChatMessageListener;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 
 public class NoticeMenuActivity extends BaseActivity {
 
@@ -120,6 +123,23 @@ public class NoticeMenuActivity extends BaseActivity {
                 news.setTimeSend(sendtime);
                 notic.setTimeSend(sendtime);
                 gonggao.setTimeSend(sendtime);
+                if (news.getUnReadNum()>0){
+                    updateNewsMsg("收到"+news.getUnReadNum()+"条新闻");
+                }else{
+                    updateNewsMsg("暂无未读新闻");
+                }
+
+                if (notic.getUnReadNum()>0){
+                    updateNoticeMsg("收到"+notic.getUnReadNum()+"条通知");
+                }else{
+                    updateNoticeMsg("暂无未读通知");
+                }
+
+                if(gonggao.getUnReadNum()>0){
+                    updateGonggaoMsg("收到"+gonggao.getUnReadNum()+"条公告");
+                }else{
+                    updateGonggaoMsg("暂无未读公告");
+                }
                 friends.add(news);
                 friends.add(notic);
                 friends.add(gonggao);
@@ -329,4 +349,50 @@ public class NoticeMenuActivity extends BaseActivity {
         }
     }
 
+
+
+
+
+    public void updateNewsMsg(String msg) {
+        String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
+        ChatMessage chatMessage = new ChatMessage();
+        chatMessage.setType(XmppMessage.TYPE_TIP);
+        chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
+        chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
+        // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
+        chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
+        chatMessage.setMySend(false);// 表示不是自己发的
+        chatMessage.setFromUserId(Friend.ID_ERP_NEWS);
+        chatMessage.setContent(msg);
+        ChatMessageDao.getInstance().saveNewSingleChatMessage(Friend.ID_ERP_ZHIHUI, Friend.ID_ERP_NEWS, chatMessage);
+    }
+
+
+    public void updateNoticeMsg(String msg) {
+        String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
+        ChatMessage chatMessage = new ChatMessage();
+        chatMessage.setType(XmppMessage.TYPE_TIP);
+        chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
+        chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
+        // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
+        chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
+        chatMessage.setMySend(false);// 表示不是自己发的
+        chatMessage.setFromUserId(Friend.ID_ERP_NOTICE);
+        chatMessage.setContent(msg);
+        ChatMessageDao.getInstance().saveNewSingleChatMessage(Friend.ID_ERP_ZHIHUI, Friend.ID_ERP_NOTICE, chatMessage);
+    }
+
+    public void updateGonggaoMsg(String msg) {
+        String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
+        ChatMessage chatMessage = new ChatMessage();
+        chatMessage.setType(XmppMessage.TYPE_TIP);
+        chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
+        chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
+        // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
+        chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
+        chatMessage.setMySend(false);// 表示不是自己发的
+        chatMessage.setFromUserId(Friend.ID_ERP_GONGGAO);
+        chatMessage.setContent(msg);
+        ChatMessageDao.getInstance().saveNewSingleChatMessage(Friend.ID_ERP_ZHIHUI, Friend.ID_ERP_GONGGAO, chatMessage);
+    }
 }

+ 44 - 24
WeiChat/src/main/java/com/sk/weichat/ui/message/MessageFragment.java

@@ -211,12 +211,10 @@ public class MessageFragment extends EasyFragment {
         mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<SlideListView>() {
             @Override
             public void onRefresh(PullToRefreshBase<SlideListView> refreshView) {
-                Log.i("gongpengming", "进入刷新页面");
-                //TODO 刷新信息
-                updateMessageState();
                 refreshUI();
             }
         });
+
         mPullToRefreshListView.getRefreshableView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
@@ -650,8 +648,17 @@ public class MessageFragment extends EasyFragment {
                 Log.i("MessageFragment", "知会:" + pagin_num);
                 FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_PROCESS, daiban_num);
                 FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_TASK, task_num);
+                if (daiban_num>0){
+                    updateProcessMsg("您有"+daiban_num+"条新的待审批流程");
+                }else{
+                    updateProcessMsg("暂无待审批流程");
+                }
+                if (task_num>0){
+                    updateTaskMsg("您有"+task_num+"条新的任务");
+                }else{
+                    updateTaskMsg("暂无任务");
+                }
                 //FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, pagin_num);
-
                 //MsgBroadcast.broadcastMsgUiUpdate(MyApplication.getInstance());//刷新界面
                 //MsgBroadcast.broadcastMsgNumUpdate(MyApplication.getInstance(), true, 1);
                 return numMap;
@@ -764,7 +771,9 @@ public class MessageFragment extends EasyFragment {
 
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_GONGGAO, count);
+                        updateZhihuMsg("您有新的消息");
                     } else {
+                        updateZhihuMsg("暂无消息");
                         String owerId = MyApplication.getInstance().mLoginUser.getUserId();
                         FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
                     }
@@ -805,7 +814,9 @@ public class MessageFragment extends EasyFragment {
 
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NOTICE, count);
+                        updateZhihuMsg("您有新的消息");
                     } else {
+                        updateZhihuMsg("暂无消息");
                         String owerId = MyApplication.getInstance().mLoginUser.getUserId();
                         FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
                     }
@@ -833,7 +844,9 @@ public class MessageFragment extends EasyFragment {
 
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NEWS, count);
+                        updateZhihuMsg("您有新的消息");
                     } else {
+                        updateZhihuMsg("暂无消息");
                         String owerId = MyApplication.getInstance().mLoginUser.getUserId();
                         FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
                     }
@@ -847,11 +860,9 @@ public class MessageFragment extends EasyFragment {
     
     
     
-    /**
-     * @desc:刷新更新待审批流程,我的任务,通知和公告的信息列表状态
-     * @author:Administrator on 2016/4/21 14:03
-     */
-    public void updateMessageState(){
+
+
+    public void updateProcessMsg(String msg) {
         String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
         ChatMessage chatMessage = new ChatMessage();
         chatMessage.setType(XmppMessage.TYPE_TIP);
@@ -860,31 +871,40 @@ public class MessageFragment extends EasyFragment {
         chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
         // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
         chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
-        chatMessage.setContent("您有一条新的待处理流程...");
+        chatMessage.setContent(msg);
         chatMessage.setMySend(false);// 表示不是自己发的
         // 往消息表里插入一条记录
         ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_PROCESS, chatMessage);
+    }
 
+    public void updateTaskMsg(String msg) {
+        String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
+        ChatMessage chatMessage = new ChatMessage();
+        chatMessage.setType(XmppMessage.TYPE_TIP);
+        chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
+        chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
+        // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
+        chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
+        chatMessage.setContent(msg);
+        chatMessage.setMySend(false);// 表示不是自己发的
         chatMessage.setFromUserId(Friend.ID_ERP_TASK);
-        chatMessage.setContent("您有一条新的任务...");
         ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_TASK, chatMessage);
+    }
 
+    public void updateZhihuMsg(String msg) {
+        String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
+        ChatMessage chatMessage = new ChatMessage();
+        chatMessage.setType(XmppMessage.TYPE_TIP);
+        chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
+        chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
+        // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
+        chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
+        chatMessage.setContent(msg);
+        chatMessage.setMySend(false);// 表示不是自己发的
         chatMessage.setFromUserId(Friend.ID_ERP_ZHIHUI);
-        chatMessage.setContent("");
         ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_ZHIHUI, chatMessage);
 
-        chatMessage.setFromUserId(Friend.ID_ERP_NEWS);
-        chatMessage.setContent("");
-        ChatMessageDao.getInstance().saveNewSingleChatMessage(Friend.ID_ERP_ZHIHUI, Friend.ID_ERP_NEWS, chatMessage);
-
-        chatMessage.setFromUserId(Friend.ID_ERP_GONGGAO);
-        chatMessage.setContent("");
-        ChatMessageDao.getInstance().saveNewSingleChatMessage(Friend.ID_ERP_ZHIHUI, Friend.ID_ERP_GONGGAO, chatMessage);
-
-        chatMessage.setFromUserId(Friend.ID_ERP_NOTICE);
-        chatMessage.setContent("");
-        ChatMessageDao.getInstance().saveNewSingleChatMessage(Friend.ID_ERP_ZHIHUI, Friend.ID_ERP_NOTICE, chatMessage);
-
     }
 
+
 }

+ 2 - 1
WeiChat/src/main/res/layout/activity_splash.xml

@@ -29,7 +29,7 @@
         <Button
             android:id="@+id/select_login_btn"
             style="@style/IMButton.Green"
-            android:layout_alignParentLeft="true"
+            android:layout_centerInParent="true"
             android:layout_marginLeft="21dp"
             android:gravity="center"
             android:paddingLeft="30dp"
@@ -52,6 +52,7 @@
             android:shadowDx="1.2"
             android:shadowDy="1.2"
             android:shadowRadius="1.0"
+            android:visibility="gone"
             android:text="@string/register" />
     </RelativeLayout>