Diverse Bugs im Chat-Server und in der Android-App behoben.

This commit is contained in:
staccatomamba
2016-08-17 16:37:40 +02:00
parent 3aff723898
commit a6bc62d7d7
11 changed files with 30 additions and 27 deletions

View File

@@ -82,6 +82,7 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />

View File

@@ -168,9 +168,9 @@ public class DatabaseHandler extends SQLiteOpenHelper {
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_IS_DELIVERED_CHATMESSAGE, message.IsDelivered ? 1 : 0);
values.put(KEY_SERVERSEITIGE_OID_CHATMESSAGE, message.ServerseitigeOid);
values.put(KEY_IS_TEAM_CHATMESSAGE, message.IsTeam);
values.put(KEY_IS_TEAM_CHATMESSAGE, message.IsTeam ? 1 : 0);
db.insertOrThrow(TABLE_CHATMESSAGE, null, values);
@@ -203,9 +203,9 @@ public class DatabaseHandler extends SQLiteOpenHelper {
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_IS_DELIVERED_CHATMESSAGE, message.IsDelivered ? 1 : 0);
values.put(KEY_SERVERSEITIGE_OID_CHATMESSAGE, message.ServerseitigeOid);
values.put(KEY_IS_TEAM_CHATMESSAGE, message.IsTeam);
values.put(KEY_IS_TEAM_CHATMESSAGE, message.IsTeam ? 1 : 0);
return values;
}
@@ -218,9 +218,9 @@ public class DatabaseHandler extends SQLiteOpenHelper {
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_IS_DELIVERED_CHATMESSAGE, message.IsDelivered ? 1 : 0);
values.put(KEY_SERVERSEITIGE_OID_CHATMESSAGE, message.ServerseitigeOid);
values.put(KEY_IS_TEAM_CHATMESSAGE, message.IsTeam);
values.put(KEY_IS_TEAM_CHATMESSAGE, message.IsTeam ? 1 : 0);
int result = db.update(TABLE_CHATMESSAGE, values, KEY_ID_CHATMESSAGE + " = ?", new String[] { String.valueOf(message.Id)});
db.close();
@@ -330,9 +330,9 @@ public class DatabaseHandler extends SQLiteOpenHelper {
int recipientPersonOid = cursor.getInt(2);
Date insTs = getDateFromString(cursor.getString(3));
String chatText = cursor.getString(4);
boolean isDelivered = cursor.getInt(5) != 0;
boolean isDelivered = cursor.getInt(5) == 1;
int serverseitigeOid = cursor.getInt(6);
boolean isTeam = cursor.getInt(7) != 0;
boolean isTeam = cursor.getInt(7) == 1;
cursor.close();
db.close();
@@ -365,9 +365,9 @@ public class DatabaseHandler extends SQLiteOpenHelper {
cursor.getInt(2),
getDateFromString(cursor.getString(3)),
cursor.getString(4),
cursor.getInt(5) != 0,
cursor.getInt(5) == 1,
cursor.getInt(6),
cursor.getInt(7) != 0
cursor.getInt(7) == 1
);
messages.add(message);
@@ -400,9 +400,9 @@ public class DatabaseHandler extends SQLiteOpenHelper {
cursor.getInt(2),
getDateFromString(cursor.getString(3)),
cursor.getString(4),
cursor.getInt(5) != 0,
cursor.getInt(5) == 1,
cursor.getInt(6),
cursor.getInt(7) != 0
cursor.getInt(7) == 1
);
messages.add(message);
@@ -530,9 +530,13 @@ public class DatabaseHandler extends SQLiteOpenHelper {
public byte[] getUserImage(Integer personOid) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[] {KEY_PERSONOID}, KEY_PERSONOID + " = " + personOid, null, null, null, null);
Cursor cursor = db.query(TABLE_CONTACTS, new String[] {KEY_PICTURE_BLOB}, KEY_PERSONOID + " = " + personOid, null, null, null, null);
byte[] picture = cursor.getBlob(0);
byte[] picture = null;
if(cursor != null && cursor.moveToFirst()) {
cursor.getBlob(0);
}
cursor.close();
db.close();

View File

@@ -354,7 +354,6 @@ public class ChatActivity extends ActionBarActivity {
String tMemberOids = zielkorb.getString("TeamMemberOids");
String tMemberNames = zielkorb.getString("TeamMemberNames");
byte[] imageAsByteArray = databaseHandler.getUserImage(rpoid);
Log.i("CHAT_ON_NEW_INTENT", "Bild ist null: " + (imageAsByteArray == null));

View File

@@ -53,12 +53,15 @@ public class MessageAdapter extends ArrayAdapter<ChatMessage> {
holder.msg.setText(chatMessage.ChatText);
Log.i("MESSAGE_ADAPTER", "IsTeam: " + chatMessage.IsTeam + "; SenderPersonOid: " + chatMessage.SenderPersonOid + "; LoggedinUserPersonOid: " + SoapConnectionManager.User.getPersonOid());
if(chatMessage.IsTeam && chatMessage.SenderPersonOid != SoapConnectionManager.User.getPersonOid()) {
DatabaseHandler instance = DatabaseHandler.getInstance(this.getContext());
ContactListItem sender = instance.getContactByPersonOid(chatMessage.SenderPersonOid);
String name = sender != null ? sender.getChatName() : "";
Log.i("MESSAGE_ADAPTER", "Name <" + name + ">");
holder.teamMemberName.setText(name);
holder.teamMemberName.setVisibility(View.VISIBLE);
}

View File

@@ -1,7 +1,5 @@
package util;
import android.util.Log;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
@@ -33,12 +31,7 @@ public class ChatMessageDeserializer implements JsonDeserializer<ChatMessage> {
String chatText = json.get("ChatText").getAsString();
boolean isDelivered = json.get("istZugestellt").getAsBoolean();
boolean isTeam = json.get("TeamOid") == null;
if(isTeam)
{
Log.i("MESSAGE_DESERIALIZATION", "" + Long.valueOf(json.get("TeamOid").getAsString()));
}
boolean isTeam = !json.get("TeamOid").isJsonNull();
if(isTeam) {
recipientPersonOid = json.get("TeamOid").getAsInt();

View File

@@ -33,7 +33,7 @@
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:maxWidth="250dp"
android:minWidth="80dp"
android:minWidth="100dp"
android:textColor="@android:color/black" />
</LinearLayout>

View File

@@ -30,7 +30,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="250dp"
android:minWidth="80dp"
android:minWidth="100dp"
android:paddingBottom="5dp"
android:textColor="@android:color/black"/>

Binary file not shown.

View File

@@ -98,6 +98,8 @@ namespace BeWoPlanerAndroid
var messages = DAOFactory.SearchDAO.FindAllChatMessagesForAndroid(pSenderPersonOid, pRecipientPersonOid, exceptions, pIsForTeam);
messages.DoForEach(dfe => Debug.WriteLine(dfe.Oid.Value));
return JsonConvert.SerializeObject(messages);
}

File diff suppressed because one or more lines are too long

View File

@@ -1610,7 +1610,8 @@ namespace BeWo.Data.Access
Restrictions.And(
Restrictions.Eq(ChatMessage.PropertyName_SenderPersonOid, pRecipientOid),
Restrictions.Eq(ChatMessage.PropertyName_EmpfängerPersonOid, pSenderOid))))
.Add(Restrictions.Not(Restrictions.In(BeWoEntityBase.PropertyName_Oid, pExceptions)));
.Add(Restrictions.Not(Restrictions.In(BeWoEntityBase.PropertyName_Oid, pExceptions)))
.Add(Restrictions.IsNull(ChatMessage.PropertyName_TeamOid));
if(pForTeam)
{