diff --git a/Android/BewoMitarbeiterApp/app/app.iml b/Android/BewoMitarbeiterApp/app/app.iml index 3d5797514..2b71d64e0 100644 --- a/Android/BewoMitarbeiterApp/app/app.iml +++ b/Android/BewoMitarbeiterApp/app/app.iml @@ -66,14 +66,6 @@ - - - - - - - - @@ -82,6 +74,14 @@ + + + + + + + + diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/Database/DatabaseHandler.java b/Android/BewoMitarbeiterApp/app/src/main/java/Database/DatabaseHandler.java index 628a5144b..b4e87f4d3 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/Database/DatabaseHandler.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/Database/DatabaseHandler.java @@ -303,7 +303,16 @@ public class DatabaseHandler extends SQLiteOpenHelper { Cursor cursor = readableDatabase.query( TABLE_CHATMESSAGE, - new String[] {KEY_ID_CHATMESSAGE, KEY_SENDER_PERSON_OID_CHATMESSAGE, KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, KEY_INSTS_CHATMESSAGE, KEY_CHAT_TEXT_CHATMESSAGE, KEY_IS_DELIVERED_CHATMESSAGE, KEY_SERVERSEITIGE_OID_CHATMESSAGE, KEY_IS_TEAM_CHATMESSAGE}, + new String[] { + KEY_ID_CHATMESSAGE, + KEY_SENDER_PERSON_OID_CHATMESSAGE, + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, + KEY_INSTS_CHATMESSAGE, + KEY_CHAT_TEXT_CHATMESSAGE, + KEY_IS_DELIVERED_CHATMESSAGE, + KEY_SERVERSEITIGE_OID_CHATMESSAGE, + KEY_IS_TEAM_CHATMESSAGE + }, KEY_ID_CHATMESSAGE + "=?", new String[]{String.valueOf(id)}, null, null, null, null); @@ -334,8 +343,22 @@ public class DatabaseHandler extends SQLiteOpenHelper { Cursor cursor = readableDatabase.query( TABLE_CHATMESSAGE, - new String[] {KEY_ID_CHATMESSAGE, KEY_SENDER_PERSON_OID_CHATMESSAGE, KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, KEY_INSTS_CHATMESSAGE, KEY_CHAT_TEXT_CHATMESSAGE, KEY_IS_DELIVERED_CHATMESSAGE, KEY_SERVERSEITIGE_OID_CHATMESSAGE, KEY_IS_TEAM_CHATMESSAGE}, - KEY_SENDER_PERSON_OID_CHATMESSAGE + "=? AND " + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE + "=? OR " + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE + "=? AND " + KEY_SENDER_PERSON_OID_CHATMESSAGE + "=?", + new String[] { + KEY_ID_CHATMESSAGE, + KEY_SENDER_PERSON_OID_CHATMESSAGE, + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, + KEY_INSTS_CHATMESSAGE, + KEY_CHAT_TEXT_CHATMESSAGE, + KEY_IS_DELIVERED_CHATMESSAGE, + KEY_SERVERSEITIGE_OID_CHATMESSAGE, + KEY_IS_TEAM_CHATMESSAGE + }, + KEY_IS_TEAM_CHATMESSAGE + " = 0 AND " + + KEY_SENDER_PERSON_OID_CHATMESSAGE + "=? AND " + + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE + "=? OR " + + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE + "=? AND " + + KEY_SENDER_PERSON_OID_CHATMESSAGE + "=?" + , new String[] {String.valueOf(SoapConnectionManager.User.getPersonOid()), String.valueOf(recipientOid), String.valueOf(SoapConnectionManager.User.getPersonOid()), String.valueOf(recipientOid)}, null, null, null, null); @@ -587,6 +610,28 @@ public class DatabaseHandler extends SQLiteOpenHelper { return null; } + public boolean GetIsMessageInDatabase(int pServerseitigeOid) { + + SQLiteDatabase readableDatabase = this.getReadableDatabase(); + + Cursor cursor = readableDatabase.query(TABLE_CHATMESSAGE, + new String[] { + KEY_ID_CHATMESSAGE, + KEY_SENDER_PERSON_OID_CHATMESSAGE, + KEY_RECIPIENT_PERSON_OID_CHATMESSAGE, + KEY_INSTS_CHATMESSAGE, + KEY_CHAT_TEXT_CHATMESSAGE, + KEY_IS_DELIVERED_CHATMESSAGE, + KEY_SERVERSEITIGE_OID_CHATMESSAGE, + KEY_IS_TEAM_CHATMESSAGE + }, + KEY_SERVERSEITIGE_OID_CHATMESSAGE + " =?", + new String[] {String.valueOf(pServerseitigeOid)}, + null, null, null, null); + + return cursor != null && cursor.moveToFirst(); + } + public ArrayList getUnsentChatMessages() { ArrayList messages = new ArrayList<>(); diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/BeWoChatApplication.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/BeWoChatApplication.java index 835c2da31..7e908ea52 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/BeWoChatApplication.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/BeWoChatApplication.java @@ -27,6 +27,20 @@ import util.ConnectivityReceiver; * Created by JettenM on 24.08.2016. */ public class BeWoChatApplication extends Application { + private static boolean activityVisible; + + public static boolean isActivityVisible() { + return activityVisible; + } + + public static void activityResumed() { + activityVisible = true; + } + + public static void activityPaused() { + activityVisible = false; + } + private Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler; private static final SpiceManager spiceManager = new SpiceManager(UncachedSpiceService.class); 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 e26e05879..d76af264c 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java @@ -20,6 +20,7 @@ import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.AbsListView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; @@ -46,12 +47,10 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; -import java.util.Map; import Database.DatabaseHandler; import entities.ChatEntity; import entities.ChatMessage; -import entities.NotificationLog; import soapConnection.DataIdentifier; import soapConnection.JsonSoapPrimitiveRequest; import soapConnection.Packet; @@ -119,6 +118,21 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei listView = (ListView)findViewById(R.id.list_msg); + listView.setOnScrollListener(new AbsListView.OnScrollListener() { + + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) { + if(scrollState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) { + Log.i("ON_SCROLL_STATE_CHANGED", "Berühre das Ende"); + } + } + + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + Log.i("ON_SCROLL", "Scrolle... firstVisibleItem: " + firstVisibleItem + "; visibleItemCount: " + visibleItemCount + "; totalItemCount" + totalItemCount); + } + }); + Bundle zielkorb = getIntent().getExtras(); recipientName = zielkorb.getString("Name"); recipientPersonOid = zielkorb.getInt("RecipientOid"); @@ -158,9 +172,8 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei chatMessages = isTeam ? databaseHandler.getMessagesForTeam(recipientPersonOid) : databaseHandler.getMessagesForRecipient(recipientPersonOid); - Collections.sort(chatMessages, DATE_COMPARATOR); - adapter = new MessageAdapter(this, R.layout.item_chat_left, chatMessages); + adapter.sort(DATE_COMPARATOR); listView.setAdapter(adapter); chatUIHandler = new UIHandler() { @@ -172,8 +185,9 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei listView.post(new Runnable() { @Override public void run() { - if(chatPacket.SenderPersonOid == recipientPersonOid) { + if(chatPacket.SenderPersonOid == recipientPersonOid && BeWoChatApplication.isActivityVisible()) { chatMessages.add(new ChatMessage(chatPacket.SenderPersonOid, chatPacket.RecipientPersonOid, chatPacket.MessageTimeStamp, chatPacket.ChatMessage, true, chatPacket.ServerseitigeOid, false)); + adapter.sort(DATE_COMPARATOR); adapter.notifyDataSetChanged(); } else { Util.SetNotify(chatPacket.ChatName, chatPacket.ChatMessage, chatPacket.SenderPersonOid, false, null, null, getApplicationContext()); @@ -210,8 +224,9 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei listView.post(new Runnable() { @Override public void run() { - if(isTeam && chatPacket.RecipientPersonOid == recipientPersonOid) { + if(isTeam && chatPacket.RecipientPersonOid == recipientPersonOid && BeWoChatApplication.isActivityVisible()) { chatMessages.add(new ChatMessage(chatPacket.SenderPersonOid, chatPacket.RecipientPersonOid, chatPacket.MessageTimeStamp, chatPacket.ChatMessage, true, chatPacket.ServerseitigeOid, true)); + adapter.sort(DATE_COMPARATOR); adapter.notifyDataSetChanged(); } else { Util.SetNotify(chatPacket.ChatName, chatPacket.ChatMessage, chatPacket.RecipientPersonOid, true, teamMemberOids, teamMemberNames, getApplicationContext()); @@ -250,7 +265,6 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei final ChatMessage message = new ChatMessage(packet.SenderPersonOid, packet.RecipientPersonOid, packet.MessageTimeStamp, packet.ChatMessage, false, 0, isTeam); - Log.i("MESSAGE_TRACER", "ChatActivity: Speichere Nachricht in der Datenbank " + message.ChatText); long coid = databaseHandler.addChatMessage(message); packet.ClientseitigeOid = Long.valueOf(coid).intValue(); @@ -261,7 +275,7 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei @Override public void run() { chatMessages.add(message); - + adapter.sort(DATE_COMPARATOR); adapter.notifyDataSetChanged(); text.setText(""); @@ -275,8 +289,6 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei ArrayList test = isTeam ? databaseHandler.getExistingTeamChatMessageIds() : databaseHandler.getExistingChatMessageIds(); - Log.i(LOGTAG, "Chat-Messages in der Datenbank: " + test.size()); - String pExceptions = ""; for(int i = 0; i < test.size(); i++) { pExceptions += test.get(i); @@ -292,6 +304,8 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei propertyInfos.add(SoapConnectionManager.BuildProperty("pExceptions", pExceptions, String.class)); propertyInfos.add(SoapConnectionManager.BuildProperty("pIsForTeam", isTeam, Boolean.class)); + Log.i(LOGTAG, "IsTeam: " + isTeam); + JsonSoapPrimitiveRequest request = new JsonSoapPrimitiveRequest(SoapCalls.GET_ALL_CHAT_MESSAGES, propertyInfos); spiceManager.execute(request, new JsonSoapPrimitiveRequestListener()); @@ -308,6 +322,8 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei @Override public void onResume() { + BeWoChatApplication.activityResumed(); + SocketManager.uiHandler = chatUIHandler; BeWoChatApplication.getInstance().setConnectivityListener(this); @@ -324,6 +340,7 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei @Override public void onPause() { super.onPause(); + BeWoChatApplication.activityPaused(); } @Override @@ -421,27 +438,13 @@ public class ChatActivity extends ActionBarActivity implements ConnectivityRecei final ArrayList result = gson.fromJson(soapPrimitive.toString(), listType); - Log.i(LOGTAG, "Chat-Messages aus der Serveranfrage: " + result.size()); - String abc = ""; - for(ChatMessage m : result) { - - abc += "\t" + m.ChatText; - - if(result.indexOf(m) < result.size() - 1) { - abc += "\n"; - } - } - - Log.i(LOGTAG, "Heruntergeladene Nachrichten:\n" + abc); - databaseHandler.addChatMessages(result); listView.post(new Runnable() { @Override public void run() { - Collections.sort(result, DATE_COMPARATOR); - chatMessages.addAll(result); + adapter.sort(DATE_COMPARATOR); adapter.notifyDataSetChanged(); } }); diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java index b1986e9e7..39300222a 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java @@ -17,6 +17,9 @@ public class ContactListItem { public String teamMemberOids; public String teamMemberNames; + private String messagePreview; + private boolean isNewMessage2Preview; + public ContactListItem(){} public ContactListItem(int id, String kontaktname, int personOid, byte[] picture, boolean isTeam, String teamMemberOids, String teamMemberNames, int version){ @@ -87,6 +90,22 @@ public class ContactListItem { this.mVersion = mVersion; } + public String getMessagePreview() { + return messagePreview; + } + + public void setMessagePreview(String message) { + messagePreview = message; + } + + public boolean getIsNewMessage2Preview() { + return isNewMessage2Preview; + } + + public void setIsNewMessage2Preview(boolean isNewMessage2Preview) { + this.isNewMessage2Preview = isNewMessage2Preview; + } + @Override public String toString() { String result = ""; diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java index e0dc7f8ad..e0d654aea 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java @@ -26,20 +26,18 @@ import java.util.ArrayList; public class KontaktAdapter extends ArrayAdapter { private final Context context; - public final ArrayList values; + final ArrayList values; private Bitmap bitmaping; - ImageView imageView; + private ImageView imageView; + private TextView messagePreview; + private TextView minitext; public void setMinitext(TextView minitext) { this.minitext = minitext; } - TextView minitext; - - Thread getPic; - - public KontaktAdapter(Context context, ArrayList values) { + KontaktAdapter(Context context, ArrayList values) { super(context, R.layout.kontakt_list_chat, values); this.context = context; this.values = values; @@ -52,16 +50,20 @@ public class KontaktAdapter extends ArrayAdapter { View rowView = inflater.inflate(R.layout.contact_listview_item, parent, false); TextView textView = (TextView) rowView.findViewById(R.id.label); minitext = (TextView) rowView.findViewById(R.id.subtitle); - - ImageView onlinestats = (ImageView)rowView.findViewById(R.id.status); + messagePreview = (TextView) rowView.findViewById(R.id.messagePreview); + ImageView onlinestats = (ImageView) rowView.findViewById(R.id.status); imageView = (ImageView) rowView.findViewById(R.id.logo); textView.setText(values.get(position).getChatName()); + messagePreview.setText(values.get(position).getMessagePreview()); + messagePreview.setTypeface(messagePreview.getTypeface(), values.get(position).getIsNewMessage2Preview() ? 1 : 0); + if(values.get(position).isTeam) { minitext.setText(values.get(position).teamMemberNames); } + Thread getPic; if(values.get(position).getPicture() != null) { byte[] imageAsByteArray = values.get(position).getPicture(); @@ -82,7 +84,7 @@ public class KontaktAdapter extends ArrayAdapter { return rowView; } - public class CircleBitmapCreator implements Runnable{ + private class CircleBitmapCreator implements Runnable{ Bitmap bitmap; CircleBitmapCreator(Bitmap _bitmap){ @@ -119,7 +121,7 @@ public class KontaktAdapter extends ArrayAdapter { } } - public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) { + private static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(res, resId, options); @@ -130,7 +132,7 @@ public class KontaktAdapter extends ArrayAdapter { return BitmapFactory.decodeResource(res, resId, options); } - public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { + private static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { final int height = options.outHeight; final int width = options.outWidth; 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 236e5291d..9bdb95d02 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java @@ -26,6 +26,7 @@ import org.ksoap2.serialization.PropertyInfo; import org.ksoap2.serialization.SoapPrimitive; import java.io.ByteArrayOutputStream; +import java.lang.reflect.Array; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.HashMap; @@ -34,6 +35,7 @@ import java.util.Map; import Database.DatabaseHandler; import entities.ChatEntity; +import entities.ChatMessage; import entities.ChatPerson; import soapConnection.JsonSoapPrimitiveRequest; import soapConnection.OnRequestSuccessCallback; @@ -42,6 +44,7 @@ import soapConnection.SoapCalls; import soapConnection.SoapConnectionManager; import tcpConnection.SocketManager; import tcpConnection.UIHandler; +import util.ChatMessageDeserializer; import util.ConnectivityReceiver; import util.Util; @@ -122,12 +125,6 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi if(SocketManager.uiHandler == null ||! SocketManager.uiHandler.equals(kontaktChatActivityUIHandler)) { SocketManager.uiHandler = kontaktChatActivityUIHandler; } - -// ArrayList propertyInfos = new ArrayList<>(); -// propertyInfos.add(SoapConnectionManager.BuildProperty("pPersonOid", SoapConnectionManager.User.getPersonOid(), Long.class)); -// -// JsonSoapPrimitiveRequest request = new JsonSoapPrimitiveRequest(SoapCalls.GET_CONTACTS_FOR_PERSON, propertyInfos); -// spiceManager.execute(request, new JsonSoapPrimitiveRequestListener()); } @Override @@ -148,6 +145,12 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi Util.sendStatusRequest(); swipeRefreshLayout.setRefreshing(false); + + ArrayList propertyInfos = new ArrayList<>(); + propertyInfos.add(SoapConnectionManager.BuildProperty("pRecipientPersonOid", SoapConnectionManager.User.getPersonOid(), Long.class)); + + JsonSoapPrimitiveRequest request = new JsonSoapPrimitiveRequest("GetNewestMessages", propertyInfos); + spiceManager.execute(request, new JsonSoapPrimitiveRequestListenerForNewestMessages()); } })); } @@ -158,15 +161,53 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi try { switch(chatPacket.ChatDataIdentifier) { case MESSAGE: - + //TODO: Statt Notification Nachricht fett in der Liste darstellen? Oder beides? Util.SetNotify(chatPacket.ChatName, chatPacket.ChatMessage, chatPacket.SenderPersonOid, false, null, null, getApplicationContext()); + runOnUiThread(new Runnable() { + @Override + public void run() { + KontaktAdapter ka =((KontaktAdapter) listView.getAdapter()); + + for(ContactListItem item : ka.values) { + if(item.getPersonOid() == chatPacket.SenderPersonOid && !item.isTeam) { + item.setMessagePreview(chatPacket.ChatMessage); + item.setIsNewMessage2Preview(true); + + break; + } + } + + ka.notifyDataSetChanged(); + } + }); + break; case TEAM: ContactListItem cli = DatabaseHandler.getInstance(getApplicationContext()).getContactByPersonOid(chatPacket.RecipientPersonOid, true); Util.SetNotify(chatPacket.ChatName, chatPacket.ChatMessage, chatPacket.RecipientPersonOid, true, cli.teamMemberOids, cli.teamMemberNames, getApplicationContext()); + + runOnUiThread(new Runnable() { + @Override + public void run() { + KontaktAdapter ka =((KontaktAdapter) listView.getAdapter()); + + for(ContactListItem item : ka.values) { + if(item.getPersonOid() == chatPacket.RecipientPersonOid && !item.isTeam) { + item.setMessagePreview(chatPacket.ChatMessage); + item.setIsNewMessage2Preview(true); + + break; + } + } + + ka.notifyDataSetChanged(); + } + }); + + break; case STATUS_NOTIFICATION_LOGIN: runOnUiThread(new Runnable() { @@ -223,9 +264,6 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi break; case STATUS_REQUEST: - - Log.i(LOGTAG, "Aktualisiere die Kontaktliste"); - runOnUiThread(new Runnable() { @Override public void run() { @@ -278,6 +316,8 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi @Override public void onResume() { + BeWoChatApplication.activityResumed(); + SocketManager.uiHandler = kontaktChatActivityUIHandler; BeWoChatApplication.getInstance().setConnectivityListener(this); @@ -305,6 +345,7 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi @Override public void onPause() { super.onPause(); + BeWoChatApplication.activityPaused(); } @Override @@ -324,9 +365,47 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi super.onBackPressed(); } + private final class JsonSoapPrimitiveRequestListenerForNewestMessages implements RequestListener { + + @Override + public void onRequestFailure(SpiceException spiceException) { + Toast.makeText(KontaktChatActivity.this, "Ein Fehler ist beim laden der neuesten Nachrichten aufgetreten.", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onRequestSuccess(SoapPrimitive soapPrimitive) { + if(soapPrimitive == null) { + Log.e("KONTAKT_CHAT_ACTIVITY", "Neueste Nachrichten ist NULL!"); + } + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(ChatMessage.class, new ChatMessageDeserializer()); + + Gson gson = builder.create(); + + Type listType = new TypeToken>(){}.getType(); + ArrayList result = gson.fromJson(soapPrimitive.toString(), listType); + + KontaktAdapter adapter = (KontaktAdapter) listView.getAdapter(); + + for(ChatMessage message : result) { + if(adapter != null) { + for(ContactListItem item : adapter.values) { + + if(item.getPersonOid() == message.SenderPersonOid && !item.isTeam && !message.IsTeam || item.isTeam && message.IsTeam && item.getPersonOid() == message.RecipientPersonOid) { + item.setMessagePreview(message.ChatText); + item.setIsNewMessage2Preview(!databaseHandler.GetIsMessageInDatabase(message.ServerseitigeOid)); + } + } + + adapter.notifyDataSetChanged(); + } + } + } + } + private final class JsonSoapPrimitiveRequestListener implements RequestListener { - //TODO: zusätzliches onRequestSuccess-Callback einbauen OnRequestSuccessCallback callback; JsonSoapPrimitiveRequestListener(OnRequestSuccessCallback callback) { @@ -344,8 +423,6 @@ public class KontaktChatActivity extends ActionBarActivity implements Connectivi Log.e("KONTAKT_CHAT_ACTIVITY", "soapPrimitive ist NULL!"); } - Log.i(LOGTAG, "Lade Kontakte vom Server herunter"); - Gson gson = new GsonBuilder().create(); Type listType = new TypeToken>(){}.getType(); diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java index bf30b91dc..673ce22ac 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java @@ -257,61 +257,83 @@ public class LoginActivity extends ActionBarActivity { String abc = soapPrimitive.toString(); if(abc != null) { - String[] blubb = abc.split(";"); - SoapConnectionManager.User = new ApplicationUser(blubb[1], blubb[2], Long.valueOf(blubb[0]), Long.valueOf(blubb[3])); - DatabaseHandler databaseHandler = DatabaseHandler.getInstance(getApplicationContext()); + Log.i("LOGIN", abc); - int owner = databaseHandler.getOwnerOid(); - if(owner == 0) { - databaseHandler.insertOwnerOid(SoapConnectionManager.User.getPersonOid().intValue()); - } else if(owner != SoapConnectionManager.User.getPersonOid().intValue()) { - databaseHandler.clearDatabase(); - databaseHandler.insertOwnerOid(SoapConnectionManager.User.getPersonOid().intValue()); - } + if(abc.contains(";")) { + String[] blubb = abc.split(";"); + SoapConnectionManager.User = new ApplicationUser(blubb[1], blubb[2], Long.valueOf(blubb[0]), Long.valueOf(blubb[3])); - SoapConnectionManager.User.setTenant(mTenantView.getText().toString()); + DatabaseHandler databaseHandler = DatabaseHandler.getInstance(getApplicationContext()); - if(mRememberMeCheckBoxView.isChecked()) { - ByteArrayOutputStream tokenOutputStream = new ByteArrayOutputStream(); - ByteArrayOutputStream tenantOutputStream = new ByteArrayOutputStream(); - ByteArrayOutputStream usernameOutputStream = new ByteArrayOutputStream(); - ByteArrayOutputStream passwordOutputStream = new ByteArrayOutputStream(); + int owner = databaseHandler.getOwnerOid(); + if(owner == 0) { + databaseHandler.insertOwnerOid(SoapConnectionManager.User.getPersonOid().intValue()); + } else if(owner != SoapConnectionManager.User.getPersonOid().intValue()) { + databaseHandler.clearDatabase(); + databaseHandler.insertOwnerOid(SoapConnectionManager.User.getPersonOid().intValue()); + } - try { - SecurityUtils.encrypt(mChatCodeView.getText().toString(), tokenOutputStream); - SecurityUtils.encrypt(mTenantView.getText().toString(), tenantOutputStream); - SecurityUtils.encrypt(mUsernameView.getText().toString(), usernameOutputStream); - SecurityUtils.encrypt(mPasswordView.getText().toString(), passwordOutputStream); + SoapConnectionManager.User.setTenant(mTenantView.getText().toString()); - SharedPreferences settings = getSharedPreferences(Util.PREFS_NAME, 0); - SharedPreferences.Editor editor = settings.edit(); + if(mRememberMeCheckBoxView.isChecked()) { + ByteArrayOutputStream tokenOutputStream = new ByteArrayOutputStream(); + ByteArrayOutputStream tenantOutputStream = new ByteArrayOutputStream(); + ByteArrayOutputStream usernameOutputStream = new ByteArrayOutputStream(); + ByteArrayOutputStream passwordOutputStream = new ByteArrayOutputStream(); - editor.putString(Util.PREFS_TOKEN_KEY, Base64.encodeToString(tokenOutputStream.toByteArray(), Base64.DEFAULT)); - editor.putString(Util.PREFS_TENANT_KEY, Base64.encodeToString(tenantOutputStream.toByteArray(), Base64.DEFAULT)); - editor.putString(Util.PREFS_USERNAME_KEY, Base64.encodeToString(usernameOutputStream.toByteArray(), Base64.DEFAULT)); - editor.putString(Util.PREFS_PASSWORD, Base64.encodeToString(passwordOutputStream.toByteArray(), Base64.DEFAULT)); + try { + SecurityUtils.encrypt(mChatCodeView.getText().toString(), tokenOutputStream); + SecurityUtils.encrypt(mTenantView.getText().toString(), tenantOutputStream); + SecurityUtils.encrypt(mUsernameView.getText().toString(), usernameOutputStream); + SecurityUtils.encrypt(mPasswordView.getText().toString(), passwordOutputStream); - editor.apply(); + SharedPreferences settings = getSharedPreferences(Util.PREFS_NAME, 0); + SharedPreferences.Editor editor = settings.edit(); - } catch (IOException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidAlgorithmParameterException | InvalidKeyException e) { - e.printStackTrace(); + editor.putString(Util.PREFS_TOKEN_KEY, Base64.encodeToString(tokenOutputStream.toByteArray(), Base64.DEFAULT)); + editor.putString(Util.PREFS_TENANT_KEY, Base64.encodeToString(tenantOutputStream.toByteArray(), Base64.DEFAULT)); + editor.putString(Util.PREFS_USERNAME_KEY, Base64.encodeToString(usernameOutputStream.toByteArray(), Base64.DEFAULT)); + editor.putString(Util.PREFS_PASSWORD, Base64.encodeToString(passwordOutputStream.toByteArray(), Base64.DEFAULT)); + + editor.apply(); + + } catch (IOException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidAlgorithmParameterException | InvalidKeyException e) { + e.printStackTrace(); + } + } + + SocketManager.tenant = mTenantView.getText().toString(); + + SocketManager.loginCallback = new LoginCallback() { + @Override + public void doCallback() { + Log.e("LOGIN_CALLBACK", "LoginCallback aufgerufen. Ist verbunden und ruft die ChatActivity nun auf."); + + Intent kontaktChatActivity = new Intent(LoginActivity.this, KontaktChatActivity.class); + LoginActivity.this.startActivity(kontaktChatActivity); + } + }; + + SocketManager.connectToServer(); + } else { + showProgress(false); + + switch(abc) { + case "WrongTenant": + showLoginUIErrors(false, true, false, false); + break; + case "WrongCredentials": + showLoginUIErrors(false, false, true, true); + break; + case "Unauthorized": + Toast.makeText(getApplicationContext(), "Sie sind nicht zum Chatten autorisiert. Bitte wenden Sie sich an Ihren Administrator.", Toast.LENGTH_LONG).show(); + break; + default: + Toast.makeText(getApplicationContext(), "Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.", Toast.LENGTH_LONG).show(); + break; } } - - SocketManager.tenant = mTenantView.getText().toString(); - - SocketManager.loginCallback = new LoginCallback() { - @Override - public void doCallback() { - Log.e("LOGIN_CALLBACK", "LoginCallback aufgerufen. Ist verbunden und ruft die ChatActivity nun auf."); - - Intent kontaktChatActivity = new Intent(LoginActivity.this, KontaktChatActivity.class); - LoginActivity.this.startActivity(kontaktChatActivity); - } - }; - - SocketManager.connectToServer(); } else { showProgress(false); diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatMessage.java b/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatMessage.java index 130ba942a..eb0cf3ece 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatMessage.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatMessage.java @@ -45,16 +45,14 @@ public class ChatMessage { @Override public String toString() { - String asString = ""; - - asString += "Id: " + Id; - asString += "\nSenderPersonOid: " + SenderPersonOid; - asString += "\nRecipientPersonOid: " + RecipientPersonOid; - asString += "\nInsTs: " + getInsTsAsString(); - asString += "\nChatText: " + ChatText; - asString += "\nIsDelivered: " + IsDelivered; - asString += "\nServerseitigeOid: " + ServerseitigeOid; - asString += "\nIsTeam: " + IsTeam; + String asString = "Id: " + Id; + asString += "\nSenderPersonOid: " + SenderPersonOid; + asString += "\nRecipientPersonOid: " + RecipientPersonOid; + asString += "\nInsTs: " + getInsTsAsString(); + asString += "\nChatText: " + ChatText; + asString += "\nIsDelivered: " + IsDelivered; + asString += "\nServerseitigeOid: " + ServerseitigeOid; + asString += "\nIsTeam: " + IsTeam; return asString; } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java index 2bc5ed252..8770df27f 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java @@ -12,24 +12,24 @@ public class SoapCalls { public static String KEEP_ALIVE = "KeepAlive"; //TODO: "app4.bewoplaner.de";// -// public static String DESTINATION_ADDRESS = "app4.bewoplaner.de"; -// public static int DESTINATION_PORT = 5000; -// -// public static String TOKEN_CHECK_URL = "https://" + DESTINATION_ADDRESS + "/mobil/main/checktoken?token="; -// -// public static String WEB_DOKU_URL = "https://" + DESTINATION_ADDRESS + "/mobil/login/demo"; -// -// public static String WSDL_TARGET_NAME = "bliblablubb.org/"; -// public static String SOAP_ADDRESS = "https://" + DESTINATION_ADDRESS + "/BeWoPlanerAndroid/AndroidSoapService.asmx"; - - - public static String DESTINATION_ADDRESS = "192.168.1.103"; + public static String DESTINATION_ADDRESS = "app4.bewoplaner.de"; public static int DESTINATION_PORT = 5000; - public static String TOKEN_CHECK_URL = "http://" + DESTINATION_ADDRESS + "/bewoplanermobil/main/checktoken?token="; + public static String TOKEN_CHECK_URL = "https://" + DESTINATION_ADDRESS + "/mobil/main/checktoken?token="; - public static String WEB_DOKU_URL = "http://" + DESTINATION_ADDRESS + "/bewoplanermobil/login/demo"; + public static String WEB_DOKU_URL = "https://" + DESTINATION_ADDRESS + "/mobil/login/demo"; public static String WSDL_TARGET_NAME = "bliblablubb.org/"; - public static String SOAP_ADDRESS = "http://" + DESTINATION_ADDRESS + "/BeWoPlanerAndroid/AndroidSoapService.asmx"; + public static String SOAP_ADDRESS = "https://" + DESTINATION_ADDRESS + "/BeWoPlanerAndroid/AndroidSoapService.asmx"; + + +// public static String DESTINATION_ADDRESS = "192.168.1.103"; +// public static int DESTINATION_PORT = 5000; +// +// public static String TOKEN_CHECK_URL = "http://" + DESTINATION_ADDRESS + "/bewoplanermobil/main/checktoken?token="; +// +// public static String WEB_DOKU_URL = "http://" + DESTINATION_ADDRESS + "/bewoplanermobil/login/demo"; +// +// static String WSDL_TARGET_NAME = "bliblablubb.org/"; +// static String SOAP_ADDRESS = "http://" + DESTINATION_ADDRESS + "/BeWoPlanerAndroid/AndroidSoapService.asmx"; } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/tcpConnection/SocketManager.java b/Android/BewoMitarbeiterApp/app/src/main/java/tcpConnection/SocketManager.java index e0c76f7d0..727b9a482 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/tcpConnection/SocketManager.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/tcpConnection/SocketManager.java @@ -1,7 +1,6 @@ package tcpConnection; import android.util.Log; -import android.widget.ImageView; import java.io.DataOutputStream; import java.io.IOException; @@ -25,7 +24,6 @@ import entities.NotificationLog; import soapConnection.DataIdentifier; import soapConnection.Packet; import soapConnection.SoapCalls; -import soapConnection.SoapConnectionManager; import util.Util; /** @@ -33,7 +31,7 @@ import util.Util; */ public class SocketManager { - private static final String TAG = "SOCKET_MANAGER"; + private static final String LOGTAG = "SOCKET_MANAGER"; private static DatabaseHandler databaseHandler = DatabaseHandler.getInstance(BeWoChatApplication.getInstance()); @@ -216,7 +214,7 @@ public class SocketManager { } if(chatPacket.ChatDataIdentifier.equals(DataIdentifier.LOGIN_SUCCESS) && loginCallback != null) { - Log.i(TAG, "Der Login war erfolgreich"); + Log.i(LOGTAG, "Der Login war erfolgreich"); loginCallback.doCallback(); } @@ -225,6 +223,8 @@ public class SocketManager { switch (chatPacket.ChatDataIdentifier) { case MESSAGE: + Log.i(LOGTAG, "Empfange Nacahricht"); + databaseHandler.addChatMessage(new ChatMessage(chatPacket.SenderPersonOid, chatPacket.RecipientPersonOid, chatPacket.MessageTimeStamp, chatPacket.ChatMessage, true, chatPacket.ServerseitigeOid, false)); break; @@ -249,17 +249,6 @@ public class SocketManager { SocketManager.onlinePersonOids.add(chatPacket.SenderPersonOid); } - //if(!SocketManager.onlineEntities.) - - /* - for(Map.Entry entry : SocketManager.notificationEntities.entrySet()) { - if(!(entry.getKey().equals(chatEntity) && entry.getValue().equals(notificationLog))) { - mNotifyMgr.cancel(entry.getValue().getNotificationId()); - entities2remove.add(entry.getKey()); - } - } - */ - boolean isAlreadyLoggedIn = false; for(ChatEntity entity : SocketManager.onlineEntities) { diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off.png new file mode 100644 index 000000000..6630b6028 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off_disabled.png new file mode 100644 index 000000000..d5d350ddd Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off_pressed.png new file mode 100644 index 000000000..366874575 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_on.png new file mode 100644 index 000000000..e5f0353ce Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_on_disabled.png new file mode 100644 index 000000000..31bdb8972 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v11/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off.png new file mode 100644 index 000000000..6630b6028 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off_disabled.png new file mode 100644 index 000000000..d5d350ddd Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off_pressed.png new file mode 100644 index 000000000..366874575 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_on.png new file mode 100644 index 000000000..e5f0353ce Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_on_disabled.png new file mode 100644 index 000000000..31bdb8972 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi-v9/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off.png new file mode 100644 index 000000000..6630b6028 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off_disabled.png new file mode 100644 index 000000000..d5d350ddd Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off_pressed.png new file mode 100644 index 000000000..366874575 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_on.png new file mode 100644 index 000000000..e5f0353ce Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_on_disabled.png new file mode 100644 index 000000000..31bdb8972 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-hdpi/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off.png new file mode 100644 index 000000000..8a7e53495 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off_disabled.png new file mode 100644 index 000000000..8e5177784 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off_pressed.png new file mode 100644 index 000000000..5687ff02b Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_on.png new file mode 100644 index 000000000..0e7527e19 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_on_disabled.png new file mode 100644 index 000000000..d137af153 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v11/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off.png new file mode 100644 index 000000000..8a7e53495 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off_disabled.png new file mode 100644 index 000000000..8e5177784 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off_pressed.png new file mode 100644 index 000000000..5687ff02b Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_on.png new file mode 100644 index 000000000..0e7527e19 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_on_disabled.png new file mode 100644 index 000000000..d137af153 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi-v9/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off.png new file mode 100644 index 000000000..8a7e53495 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off_disabled.png new file mode 100644 index 000000000..8e5177784 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off_pressed.png new file mode 100644 index 000000000..5687ff02b Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_on.png new file mode 100644 index 000000000..0e7527e19 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_on_disabled.png new file mode 100644 index 000000000..d137af153 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-mdpi/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off.png new file mode 100644 index 000000000..8bd174f44 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off_disabled.png new file mode 100644 index 000000000..319ff8a60 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off_pressed.png new file mode 100644 index 000000000..8974d130f Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_on.png new file mode 100644 index 000000000..b1c4d3c69 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_on_disabled.png new file mode 100644 index 000000000..33c2f2228 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v11/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off.png new file mode 100644 index 000000000..8bd174f44 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off_disabled.png new file mode 100644 index 000000000..319ff8a60 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off_pressed.png new file mode 100644 index 000000000..8974d130f Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_on.png new file mode 100644 index 000000000..b1c4d3c69 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_on_disabled.png new file mode 100644 index 000000000..33c2f2228 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi-v9/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off.png new file mode 100644 index 000000000..8bd174f44 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off_disabled.png new file mode 100644 index 000000000..319ff8a60 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off_pressed.png new file mode 100644 index 000000000..8974d130f Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_on.png new file mode 100644 index 000000000..b1c4d3c69 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_on_disabled.png new file mode 100644 index 000000000..33c2f2228 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xhdpi/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off.png new file mode 100644 index 000000000..9e71eafe1 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off_disabled.png new file mode 100644 index 000000000..3fbe09e77 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off_pressed.png new file mode 100644 index 000000000..08a64d491 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_on.png new file mode 100644 index 000000000..4438d87f6 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_on_disabled.png new file mode 100644 index 000000000..489a5e2b3 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v11/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off.png new file mode 100644 index 000000000..9e71eafe1 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off_disabled.png new file mode 100644 index 000000000..3fbe09e77 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off_pressed.png new file mode 100644 index 000000000..08a64d491 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_on.png new file mode 100644 index 000000000..4438d87f6 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_on_disabled.png new file mode 100644 index 000000000..489a5e2b3 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi-v9/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off.png new file mode 100644 index 000000000..9e71eafe1 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off_disabled.png new file mode 100644 index 000000000..3fbe09e77 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off_pressed.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off_pressed.png new file mode 100644 index 000000000..08a64d491 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_off_pressed.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_on.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_on.png new file mode 100644 index 000000000..4438d87f6 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_on.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_on_disabled.png b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_on_disabled.png new file mode 100644 index 000000000..489a5e2b3 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/main/res/drawable-xxhdpi/chk_on_disabled.png differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable/bewo_btn.xml b/Android/BewoMitarbeiterApp/app/src/main/res/drawable/bewo_checkbox.xml similarity index 61% rename from Android/BewoMitarbeiterApp/app/src/main/res/drawable/bewo_btn.xml rename to Android/BewoMitarbeiterApp/app/src/main/res/drawable/bewo_checkbox.xml index c607d28e2..97780be54 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/res/drawable/bewo_btn.xml +++ b/Android/BewoMitarbeiterApp/app/src/main/res/drawable/bewo_checkbox.xml @@ -2,44 +2,44 @@ + android:drawable="@drawable/chk_on" /> + android:drawable="@drawable/chk_off" /> + android:drawable="@drawable/chk_on" /> + android:drawable="@drawable/chk_off_pressed" /> + android:drawable="@drawable/chk_on" /> + android:drawable="@drawable/chk_off" /> + android:drawable="@drawable/chk_off" /> + android:drawable="@drawable/chk_on" /> - + + android:drawable="@drawable/chk_on_disabled" /> + android:drawable="@drawable/chk_off_disabled" /> + android:drawable="@drawable/chk_on_disabled" /> + android:drawable="@drawable/chk_off_disabled" /> - + \ No newline at end of file diff --git a/Android/BewoMitarbeiterApp/app/src/main/res/drawable/orange_button.xml b/Android/BewoMitarbeiterApp/app/src/main/res/drawable/orange_button.xml index b2530ba38..ccb979374 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/res/drawable/orange_button.xml +++ b/Android/BewoMitarbeiterApp/app/src/main/res/drawable/orange_button.xml @@ -3,12 +3,12 @@ + android:color="#FF9B60" /> + android:width="0dp" + android:color="#FF5E00" /> + android:radius="30dp" /> + android:color="#FF5E00" /> + android:onClick="rememberMeOnClick" + android:button="@drawable/bewo_checkbox" + />