From dbf9c538db6fcd04f03e1b8f28458723c5173ab5 Mon Sep 17 00:00:00 2001 From: staccatomamba Date: Mon, 8 Aug 2016 09:00:44 +0200 Subject: [PATCH] Dieses Feld darf nicht leer sein. --- .../bewomitarbeiterapp/ChatActivity.java | 50 ++++++++++++------ .../bewomitarbeiterapp/DatabaseHandler.java | 35 ++++++++++-- .../KontaktChatActivity.java | 8 ++- .../java/soapConnection/DataIdentifier.java | 4 +- BeWoChatServer/Server.cs | 4 +- BeWoOhneReports.v12.suo | Bin 707584 -> 702976 bytes Shared/BeWoEntityEnums.cs | 3 +- 7 files changed, 79 insertions(+), 25 deletions(-) diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java index ea837955e..98611c8c5 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java @@ -141,23 +141,31 @@ public class ChatActivity extends ActionBarActivity { @Override public void updateUserInterface(final Packet chatPacket) { try { - if(!chatPacket.ChatDataIdentifier.equals(DataIdentifier.MESSAGE)) { - return; + switch(chatPacket.ChatDataIdentifier) { + case MESSAGE: + listView.post(new Runnable() { + @Override + public void run() { + chatPacket.writeToLog(); + + ChatMessage message = new ChatMessage(chatPacket.SenderPersonOid, chatPacket.RecipientPersonOid, chatPacket.MessageTimeStamp, chatPacket.ChatMessage, false, chatPacket.ServerseitigeOid); + + databaseHandler.addChatMessage(message); + + chatMessages.add(message); + adapter.notifyDataSetChanged(); + } + }); + break; + case MESSAGE_RESPONSE: + ChatMessage cm = databaseHandler.getChatMessageById(chatPacket.ClientseitigeOid); + + cm.ServerseitigeOid = chatPacket.ServerseitigeOid; + + databaseHandler.updateChatMessage(cm); + + break; } - - listView.post(new Runnable() { - @Override - public void run() { - chatPacket.writeToLog(); - - ChatMessage message = new ChatMessage(chatPacket.SenderPersonOid, chatPacket.RecipientPersonOid, chatPacket.MessageTimeStamp, chatPacket.ChatMessage, false, chatPacket.ServerseitigeOid); - - databaseHandler.addChatMessage(message); - - chatMessages.add(message); - adapter.notifyDataSetChanged(); - } - }); } catch(Exception pe) { pe.printStackTrace(); } @@ -191,7 +199,7 @@ public class ChatActivity extends ActionBarActivity { e.printStackTrace(); } - packet.writeToLog(); + final ChatMessage message = new ChatMessage(packet.SenderPersonOid, packet.RecipientPersonOid, packet.MessageTimeStamp, packet.ChatMessage, false, 0); @@ -199,6 +207,8 @@ public class ChatActivity extends ActionBarActivity { packet.ClientseitigeOid = Long.valueOf(coid).intValue(); + packet.writeToLog(); + SocketManager.sendMessage(packet); listView.post(new Runnable() { @@ -215,6 +225,12 @@ public class ChatActivity extends ActionBarActivity { } } }); + + ArrayList test = databaseHandler.getExistingChatMessageIds(); + + for(int id : test) { + Log.i("CHATMESSAGE-ID", "" + id); + } } @Override diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java index fcd26b6c3..b511a95b0 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java @@ -79,8 +79,6 @@ public class DatabaseHandler extends SQLiteOpenHelper { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); - Log.i("ZEIT_CHECK_DB", getDateTimeString(message.InsTs)); - values.put(KEY_SENDER_PERSON_OID_CHATMESSAGE, message.SenderPersonOid); values.put(KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, message.RecipientPersonOid); values.put(KEY_INSTS_CHATMESSAGE, getDateTimeString(message.InsTs)); @@ -89,12 +87,43 @@ public class DatabaseHandler extends SQLiteOpenHelper { values.put(KEY_SERVERSEITIGE_OID_CHATMESSAGE, message.ServerseitigeOid); long rowId = db.insert(TABLE_CHATMESSAGE, null, values); - Log.i("CHAT_MESSAGE_INSERT", "RowID: " + rowId); db.close(); return rowId; } + void updateChatMessage(ChatMessage message) { + SQLiteDatabase db = this.getWritableDatabase(); + ContentValues values = new ContentValues(); + + values.put(KEY_SENDER_PERSON_OID_CHATMESSAGE, message.SenderPersonOid); + values.put(KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, message.RecipientPersonOid); + values.put(KEY_INSTS_CHATMESSAGE, getDateTimeString(message.InsTs)); + values.put(KEY_CHAT_TEXT_CHATMESSAGE, message.ChatText); + values.put(KEY_IS_DELIVERED_CHATMESSAGE, (message.IsDelivered ? 1 : 0)); + values.put(KEY_SERVERSEITIGE_OID_CHATMESSAGE, message.ServerseitigeOid); + + db.update(TABLE_CHATMESSAGE, values, KEY_ID_CHATMESSAGE + " = ?", new String[] { String.valueOf(message.Id)}); + } + + ArrayList getExistingChatMessageIds() { + ArrayList result = new ArrayList(); + + SQLiteDatabase db = this.getWritableDatabase(); + + String selectQuery = "SELECT "+ KEY_SERVERSEITIGE_OID_CHATMESSAGE + " FROM " + TABLE_CHATMESSAGE + " WHERE " + KEY_SERVERSEITIGE_OID_CHATMESSAGE + " <> 0"; + + Cursor cursor = db.rawQuery(selectQuery, null); + + if(cursor.moveToFirst()) { + do { + result.add(cursor.getInt(0)); + } while(cursor.moveToNext()); + } + + return result; + } + private String getDateTimeString(Date date) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.GERMAN); return dateFormat.format(date); diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java index cfe698f8d..c2f73569c 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java @@ -52,11 +52,11 @@ public class KontaktChatActivity extends ListActivity { private SpiceManager spiceManager = new SpiceManager(UncachedSpiceService.class); private DatabaseHandler databaseHandler; - private ArrayList onlinePersonOids = new ArrayList<>(); + private static ArrayList onlinePersonOids = new ArrayList<>(); private UIHandler kontaktChatUIHandler; - public ListView listView; + public static ListView listView; ArrayList contactList = new ArrayList<>(); @@ -195,6 +195,10 @@ public class KontaktChatActivity extends ListActivity { @Override public void onResume() { SocketManager.uiHandler = kontaktChatUIHandler; + + // Update der Kontaktliste + + super.onResume(); } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java index 11b58b192..0911ddad3 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java @@ -12,7 +12,9 @@ public enum DataIdentifier { STATUS_NOTIFICATION_LOGOUT(5), OLD_MESSAGE(6), DELIVERING_STATUS_CHANGE(7), - STATUS_NOTIFICATION_LOGIN_BROADCAST(8); + STATUS_NOTIFICATION_LOGIN_BROADCAST(8), + TEAM(9), + MESSAGE_RESPONSE(10); private final int value; DataIdentifier(int value) { diff --git a/BeWoChatServer/Server.cs b/BeWoChatServer/Server.cs index 19969c8b9..4065e43eb 100644 --- a/BeWoChatServer/Server.cs +++ b/BeWoChatServer/Server.cs @@ -202,7 +202,9 @@ namespace BeWoChatServer recipient.Key.Send(dataPacket.GetDataStream()); } - // Oid zurückschicken + var packet = new Packet {ClientseitigeOid = dataPacket.ClientseitigeOid, ServerseitigeOid = dataPacket.ServerseitigeOid, DataIdentifier = DataIdentifier.MessageResponse}; + + dataPacket.Socket.Send(packet.GetDataStream()); } } finally diff --git a/BeWoOhneReports.v12.suo b/BeWoOhneReports.v12.suo index 47e63d77944b6edd3e89632bb76dbe9d6cf92cd5..c719c9647da3abbe5bfcc3d6a4789aa06799c161 100644 GIT binary patch delta 2562 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 diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index 59fbb22e2..11c57bfbd 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -833,6 +833,7 @@ namespace BS.Shared OldMessage, DeliveringStatusChange, StatusNotificationLoginBroadcast, - Team + Team, + MessageResponse } } \ No newline at end of file