From 7bc1207581037a56be75d4f5438bec25463f2fd0 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Tue, 13 Feb 2018 21:02:46 +0100 Subject: [PATCH] Add Contact Details --- mobile/src/main/AndroidManifest.xml | 1 + .../de/vanitasvitae/slam/mvp/DummyStore.java | 17 ++ .../mvp/contracts/ContactDetailContract.java | 8 +- .../mvp/contracts/ContactListContract.java | 4 +- .../contracts/ConversationListContract.java | 1 + .../dummy/DummyContactDetailPresenter.java | 17 ++ .../dummy/DummyContactListPresenter.java | 3 + .../slam/mvp/view/ContactDetailActivity.java | 174 ++++++++++++++++++ ...nt.java => ContactDetailInfoFragment.java} | 47 +---- .../view/ContactDetailResourcesFragment.java | 97 ++++++++++ .../view/ContactDetailSecurityFragment.java | 42 +++++ .../slam/mvp/view/ContactListFragment.java | 88 ++++++++- .../slam/mvp/view/ConversationFragment.java | 28 ++- .../mvp/view/ConversationListFragment.java | 86 +++++---- .../slam/mvp/view/LoginActivity.java | 10 +- .../slam/mvp/view/MainActivity.java | 37 +++- .../slam/mvp/view/SearchFragment.java | 2 +- .../slam/ui/ChatMessageEntry.java | 15 +- .../slam/ui/ContactListEntry.java | 48 +++++ .../slam/ui/ConversationEntry.java | 20 +- .../de/vanitasvitae/slam/xmpp/Contact.java | 17 ++ .../vanitasvitae/slam/xmpp/Conversation.java | 17 ++ .../de/vanitasvitae/slam/xmpp/Resource.java | 49 +++++ .../res/drawable-hdpi/ic_chat_black_48dp.png | Bin 0 -> 248 bytes .../res/drawable-hdpi/ic_chat_white_48dp.png | Bin 0 -> 270 bytes .../drawable-hdpi/ic_public_black_48dp.png | Bin 0 -> 962 bytes .../drawable-hdpi/ic_public_white_48dp.png | Bin 0 -> 982 bytes .../res/drawable-mdpi/ic_chat_black_48dp.png | Bin 0 -> 193 bytes .../res/drawable-mdpi/ic_chat_white_48dp.png | Bin 0 -> 205 bytes .../drawable-mdpi/ic_public_black_48dp.png | Bin 0 -> 648 bytes .../drawable-mdpi/ic_public_white_48dp.png | Bin 0 -> 661 bytes .../res/drawable-xhdpi/ic_chat_black_48dp.png | Bin 0 -> 316 bytes .../res/drawable-xhdpi/ic_chat_white_48dp.png | Bin 0 -> 344 bytes .../drawable-xhdpi/ic_public_black_48dp.png | Bin 0 -> 1253 bytes .../drawable-xhdpi/ic_public_white_48dp.png | Bin 0 -> 1288 bytes .../drawable-xxhdpi/ic_chat_black_48dp.png | Bin 0 -> 487 bytes .../drawable-xxhdpi/ic_chat_white_48dp.png | Bin 0 -> 513 bytes .../drawable-xxhdpi/ic_public_black_48dp.png | Bin 0 -> 1890 bytes .../drawable-xxhdpi/ic_public_white_48dp.png | Bin 0 -> 1977 bytes .../drawable-xxxhdpi/ic_chat_black_48dp.png | Bin 0 -> 689 bytes .../drawable-xxxhdpi/ic_chat_white_48dp.png | Bin 0 -> 709 bytes .../drawable-xxxhdpi/ic_public_black_48dp.png | Bin 0 -> 2493 bytes .../drawable-xxxhdpi/ic_public_white_48dp.png | Bin 0 -> 2637 bytes .../main/res/drawable/background_image.png | Bin 0 -> 102524 bytes mobile/src/main/res/drawable/face.png | Bin 0 -> 57680 bytes .../res/layout/activity_contact_detail.xml | 111 +++++++++++ mobile/src/main/res/layout/activity_login.xml | 6 +- .../res/layout/fragment_contact_detail.xml | 57 ------ .../layout/fragment_contact_detail__info.xml | 48 +++++ .../fragment_contact_detail__resources.xml | 14 ++ .../fragment_contact_detail__security.xml | 22 +++ ...ent_chat.xml => fragment_conversation.xml} | 0 ...=> fragment_conversation_contact_list.xml} | 2 +- mobile/src/main/res/layout/item_contact.xml | 37 ++++ ...glechat.xml => item_conversation_list.xml} | 2 +- ...sage.xml => item_conversation_message.xml} | 1 + mobile/src/main/res/layout/item_resource.xml | 151 +++++++++++++++ mobile/src/main/res/layout/toolbar_main.xml | 5 +- mobile/src/main/res/menu/drawer_main.xml | 20 +- mobile/src/main/res/menu/menu_login.xml | 2 +- mobile/src/main/res/menu/menu_main.xml | 4 +- mobile/src/main/res/values/attrs.xml | 2 + mobile/src/main/res/values/strings.xml | 47 +++-- mobile/src/main/res/values/styles.xml | 6 +- 64 files changed, 1144 insertions(+), 221 deletions(-) create mode 100644 mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailActivity.java rename mobile/src/main/java/de/vanitasvitae/slam/mvp/view/{ContactDetailFragment.java => ContactDetailInfoFragment.java} (58%) create mode 100644 mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailResourcesFragment.java create mode 100644 mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailSecurityFragment.java create mode 100644 mobile/src/main/java/de/vanitasvitae/slam/ui/ContactListEntry.java create mode 100644 mobile/src/main/java/de/vanitasvitae/slam/xmpp/Resource.java create mode 100644 mobile/src/main/res/drawable-hdpi/ic_chat_black_48dp.png create mode 100644 mobile/src/main/res/drawable-hdpi/ic_chat_white_48dp.png create mode 100644 mobile/src/main/res/drawable-hdpi/ic_public_black_48dp.png create mode 100644 mobile/src/main/res/drawable-hdpi/ic_public_white_48dp.png create mode 100644 mobile/src/main/res/drawable-mdpi/ic_chat_black_48dp.png create mode 100644 mobile/src/main/res/drawable-mdpi/ic_chat_white_48dp.png create mode 100644 mobile/src/main/res/drawable-mdpi/ic_public_black_48dp.png create mode 100644 mobile/src/main/res/drawable-mdpi/ic_public_white_48dp.png create mode 100644 mobile/src/main/res/drawable-xhdpi/ic_chat_black_48dp.png create mode 100644 mobile/src/main/res/drawable-xhdpi/ic_chat_white_48dp.png create mode 100644 mobile/src/main/res/drawable-xhdpi/ic_public_black_48dp.png create mode 100644 mobile/src/main/res/drawable-xhdpi/ic_public_white_48dp.png create mode 100644 mobile/src/main/res/drawable-xxhdpi/ic_chat_black_48dp.png create mode 100644 mobile/src/main/res/drawable-xxhdpi/ic_chat_white_48dp.png create mode 100644 mobile/src/main/res/drawable-xxhdpi/ic_public_black_48dp.png create mode 100644 mobile/src/main/res/drawable-xxhdpi/ic_public_white_48dp.png create mode 100644 mobile/src/main/res/drawable-xxxhdpi/ic_chat_black_48dp.png create mode 100644 mobile/src/main/res/drawable-xxxhdpi/ic_chat_white_48dp.png create mode 100644 mobile/src/main/res/drawable-xxxhdpi/ic_public_black_48dp.png create mode 100644 mobile/src/main/res/drawable-xxxhdpi/ic_public_white_48dp.png create mode 100644 mobile/src/main/res/drawable/background_image.png create mode 100644 mobile/src/main/res/drawable/face.png create mode 100644 mobile/src/main/res/layout/activity_contact_detail.xml delete mode 100644 mobile/src/main/res/layout/fragment_contact_detail.xml create mode 100644 mobile/src/main/res/layout/fragment_contact_detail__info.xml create mode 100644 mobile/src/main/res/layout/fragment_contact_detail__resources.xml create mode 100644 mobile/src/main/res/layout/fragment_contact_detail__security.xml rename mobile/src/main/res/layout/{fragment_chat.xml => fragment_conversation.xml} (100%) rename mobile/src/main/res/layout/{fragment_chatlist.xml => fragment_conversation_contact_list.xml} (75%) create mode 100644 mobile/src/main/res/layout/item_contact.xml rename mobile/src/main/res/layout/{chatlist_singlechat.xml => item_conversation_list.xml} (97%) rename mobile/src/main/res/layout/{item_chatmessage.xml => item_conversation_message.xml} (98%) create mode 100644 mobile/src/main/res/layout/item_resource.xml diff --git a/mobile/src/main/AndroidManifest.xml b/mobile/src/main/AndroidManifest.xml index bb76a3c..26a700f 100644 --- a/mobile/src/main/AndroidManifest.xml +++ b/mobile/src/main/AndroidManifest.xml @@ -27,6 +27,7 @@ + presences); void clearFingerprints(); void addFingerprints(List fingerprints); } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ContactListContract.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ContactListContract.java index 8537c85..74be62f 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ContactListContract.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ContactListContract.java @@ -22,6 +22,7 @@ import org.jxmpp.jid.BareJid; import java.util.List; import de.vanitasvitae.slam.mvp.view.ConversationListFragment; +import de.vanitasvitae.slam.xmpp.Contact; /** * Model-View-Presenter contract for the {@link ConversationListFragment}. @@ -31,12 +32,13 @@ import de.vanitasvitae.slam.mvp.view.ConversationListFragment; public interface ContactListContract { interface View { - void addContactListItems(List contacts); + void addContactListItems(List contacts); void clearContactListItems(); void onUpdateContactPresence(); void showContactListLoadingIndicator(); void hideContactListLoadingIndicator(); void navigateToConversation(BareJid contact); + void navigateToContactDetail(BareJid contact); } interface Presenter { diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ConversationListContract.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ConversationListContract.java index f108449..33abf0b 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ConversationListContract.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/contracts/ConversationListContract.java @@ -32,6 +32,7 @@ public interface ConversationListContract { interface View { void populateConversationList(List conversations); void navigateToConversation(BareJid contact); + void navigateToContactDetail(BareJid contact); } interface Presenter { diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactDetailPresenter.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactDetailPresenter.java index be0da86..86108e4 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactDetailPresenter.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactDetailPresenter.java @@ -17,9 +17,15 @@ */ package de.vanitasvitae.slam.mvp.presenter.dummy; +import android.util.Log; + import org.jxmpp.jid.BareJid; +import java.util.ArrayList; +import java.util.List; + import de.vanitasvitae.slam.mvp.contracts.ContactDetailContract; +import de.vanitasvitae.slam.xmpp.Resource; public class DummyContactDetailPresenter implements ContactDetailContract.Presenter { @@ -28,6 +34,17 @@ public class DummyContactDetailPresenter implements ContactDetailContract.Presen public DummyContactDetailPresenter(ContactDetailContract.View view) { this.view = view; + + Log.d("SLAM", "Set dummy resources"); + view.setResources(dummyResources()); + } + + private List dummyResources() { + List r = new ArrayList<>(); + r.add(new Resource("Mobile", "Away since 15min", "Conversations 1.23.4", "Android")); + r.add(new Resource("Laptop", "online", "Gajim 16.0.6", "Arch Linux")); + r.add(new Resource("Desktop", "I like coffee!", "Dino", "Debian Stable")); + return r; } @Override diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactListPresenter.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactListPresenter.java index e3a3d1d..b42533d 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactListPresenter.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/presenter/dummy/DummyContactListPresenter.java @@ -17,6 +17,8 @@ */ package de.vanitasvitae.slam.mvp.presenter.dummy; +import de.vanitasvitae.slam.mvp.DummyPresenterFactory; +import de.vanitasvitae.slam.mvp.DummyStore; import de.vanitasvitae.slam.mvp.contracts.ContactListContract; public class DummyContactListPresenter implements ContactListContract.Presenter { @@ -25,6 +27,7 @@ public class DummyContactListPresenter implements ContactListContract.Presenter public DummyContactListPresenter(ContactListContract.View view) { this.view = view; + view.addContactListItems(DummyPresenterFactory.STORE.contacts); } @Override diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailActivity.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailActivity.java new file mode 100644 index 0000000..212995c --- /dev/null +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailActivity.java @@ -0,0 +1,174 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package de.vanitasvitae.slam.mvp.view; + +import android.os.Bundle; +import android.support.design.widget.AppBarLayout; +import android.support.design.widget.TabLayout; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.view.ViewPager; +import android.support.v7.widget.Toolbar; + +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; +import de.hdodenhof.circleimageview.CircleImageView; +import de.vanitasvitae.slam.R; +import de.vanitasvitae.slam.mvp.PresenterFactory; +import de.vanitasvitae.slam.mvp.contracts.ContactDetailContract; +import de.vanitasvitae.slam.mvp.view.abstr.ThemedAppCompatActivity; +import de.vanitasvitae.slam.xmpp.Resource; + +/** + * Main activity that hosts some fragments. + */ +public class ContactDetailActivity extends ThemedAppCompatActivity implements ContactDetailContract.View, AppBarLayout.OnOffsetChangedListener { + + public static final String TAG = "Slam!"; + + private final ContactDetailContract.Presenter presenter; + + private final ContactDetailResourcesFragment resourcesFragment = new ContactDetailResourcesFragment(); + private final ContactDetailInfoFragment infoFragment = new ContactDetailInfoFragment(); + private final ContactDetailSecurityFragment securityFragment = new ContactDetailSecurityFragment(); + + @BindView(R.id.contact_detail_toolbar) + Toolbar toolbar; + + @BindView(R.id.contact_detail_appbar_layout) + AppBarLayout appBarLayout; + + @BindView(R.id.contact_detail_tab_layout) + TabLayout tabLayout; + + @BindView(R.id.contact_detail_viewpager) + ViewPager pager; + + @BindView(R.id.contact_detail_profile_circle) + CircleImageView profileCircle; + + private int mMaxScrollSize; + private boolean isProfileCircleShown; + private int animateProfileCirclePercent = 20; + + public ContactDetailActivity() { + this.presenter = PresenterFactory.getInstance().createContactDetailPresenter(this); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_contact_detail); + ButterKnife.bind(this); + + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + appBarLayout.addOnOffsetChangedListener(this); + pager.setAdapter(new DetailFragmentPagerAdapter(getSupportFragmentManager())); + tabLayout.setupWithViewPager(pager); + } + + @Override + public void onOffsetChanged(AppBarLayout appBarLayout, int i) { + if (mMaxScrollSize == 0) + mMaxScrollSize = appBarLayout.getTotalScrollRange(); + + int percentage = (Math.abs(i)) * 100 / mMaxScrollSize; + + if (percentage >= animateProfileCirclePercent && isProfileCircleShown) { + isProfileCircleShown = false; + + profileCircle.animate() + .scaleY(0).scaleX(0) + .setDuration(200) + .start(); + } + + if (percentage <= animateProfileCirclePercent && !isProfileCircleShown) { + isProfileCircleShown = true; + + profileCircle.animate() + .scaleY(1).scaleX(1) + .start(); + } + } + + + @Override + public void setContactAvatar() { + + } + + @Override + public void setNickname(String nickname) { + + } + + @Override + public void setResources(List resources) { + resourcesFragment.setResources(resources); + } + + @Override + public void clearFingerprints() { + + } + + @Override + public void addFingerprints(List fingerprints) { + + } + + class DetailFragmentPagerAdapter extends FragmentPagerAdapter { + + public DetailFragmentPagerAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public android.support.v4.app.Fragment getItem(int position) { + switch (position) { + case 0: return infoFragment; + case 1: return resourcesFragment; + case 2: return securityFragment; + default: return infoFragment; + } + } + + @Override + public int getCount() { + return 3; + } + + @Override + public CharSequence getPageTitle(int position) { + //TODO + switch (position) { + case 0: + return "Info"; + case 1: + return "Devices"; + case 2: + return "Security"; + } + return null; + } + } +} diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailInfoFragment.java similarity index 58% rename from mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailFragment.java rename to mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailInfoFragment.java index 6ee2b7b..4fa60d8 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailFragment.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailInfoFragment.java @@ -17,60 +17,25 @@ */ package de.vanitasvitae.slam.mvp.view; -import android.app.Fragment; import android.os.Bundle; +import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import org.jivesoftware.smack.packet.Presence; -import org.jxmpp.jid.BareJid; - -import java.util.List; - import butterknife.ButterKnife; import de.vanitasvitae.slam.R; -import de.vanitasvitae.slam.mvp.PresenterFactory; -import de.vanitasvitae.slam.mvp.contracts.ContactDetailContract; -public class ContactDetailFragment extends Fragment implements ContactDetailContract.View { - - private final ContactDetailContract.Presenter presenter; - - public ContactDetailFragment() { - this.presenter = PresenterFactory.getInstance().createContactDetailPresenter(this); - } +/** + * Created by Paul Schaub on 13.02.18. + */ +public class ContactDetailInfoFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_contact_detail, container, false); + View view = inflater.inflate(R.layout.fragment_contact_detail__info, container, false); ButterKnife.bind(this, view); return view; } - - @Override - public void setContactAvatar() { - - } - - @Override - public void setNickname(String nickname) { - - } - - @Override - public void setPresence(Presence presence) { - - } - - @Override - public void clearFingerprints() { - - } - - @Override - public void addFingerprints(List fingerprints) { - - } } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailResourcesFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailResourcesFragment.java new file mode 100644 index 0000000..420d0b2 --- /dev/null +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailResourcesFragment.java @@ -0,0 +1,97 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package de.vanitasvitae.slam.mvp.view; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; +import de.vanitasvitae.slam.R; +import de.vanitasvitae.slam.xmpp.Resource; + +/** + * Created by Paul Schaub on 13.02.18. + */ +public class ContactDetailResourcesFragment extends Fragment { + + @BindView(R.id.contact_detail_resources_recycler_view) + RecyclerView resourcesRecyclerView; + + private final List resources = new ArrayList<>(); + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_contact_detail__resources, container, false); + ButterKnife.bind(this, view); + resourcesRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); + resourcesRecyclerView.setAdapter(resourcesAdapter); + resourcesAdapter.notifyDataSetChanged(); + return view; + } + + public void setResources(List resources) { + this.resources.clear(); + this.resources.addAll(resources); + resourcesAdapter.notifyDataSetChanged(); + } + + private final RecyclerView.Adapter resourcesAdapter = new RecyclerView.Adapter() { + @Override + public ResourceView onCreateViewHolder(ViewGroup parent, int viewType) { + View resourceView = LayoutInflater.from(getActivity()).inflate(R.layout.item_resource, parent, false); + return new ResourceView(resourceView); + } + + @Override + public void onBindViewHolder(final ResourceView holder, final int position) { + Resource resource = resources.get(holder.getAdapterPosition()); + holder.bind(resource); + } + + @Override + public int getItemCount() { + return resources.size(); + } + }; + + + static class ResourceView extends RecyclerView.ViewHolder { + + public ResourceView(View itemView) { + super(itemView); + } + + public void bind(Resource resource) { + ((TextView)itemView.findViewById(R.id.resource__resource_value)).setText(resource.getResource()); + ((TextView)itemView.findViewById(R.id.resource__status_value)).setText(resource.getStatus()); + ((TextView)itemView.findViewById(R.id.resource__client_value)).setText(resource.getClient()); + ((TextView)itemView.findViewById(R.id.resource__system_value)).setText(resource.getSystem()); + } + } +} diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailSecurityFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailSecurityFragment.java new file mode 100644 index 0000000..3494d60 --- /dev/null +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactDetailSecurityFragment.java @@ -0,0 +1,42 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package de.vanitasvitae.slam.mvp.view; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentPagerAdapter; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import butterknife.ButterKnife; +import de.vanitasvitae.slam.R; + +/** + * Created by Paul Schaub on 13.02.18. + */ +public class ContactDetailSecurityFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_contact_detail__security, container, false); + ButterKnife.bind(this, view); + return view; + } +} diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactListFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactListFragment.java index 2c33760..4ea4089 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactListFragment.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ContactListFragment.java @@ -1,36 +1,86 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ package de.vanitasvitae.slam.mvp.view; -import android.app.Fragment; +import android.content.Intent; import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; import org.jxmpp.jid.BareJid; +import java.util.ArrayList; import java.util.List; +import butterknife.BindView; +import butterknife.ButterKnife; import de.vanitasvitae.slam.R; import de.vanitasvitae.slam.mvp.PresenterFactory; import de.vanitasvitae.slam.mvp.contracts.ContactListContract; +import de.vanitasvitae.slam.ui.ContactListEntry; +import de.vanitasvitae.slam.xmpp.Contact; /** * Created by Paul Schaub on 11.02.18. */ public class ContactListFragment extends Fragment implements ContactListContract.View { + @BindView(R.id.recycler_list) + RecyclerView recyclerView; + private final ContactListContract.Presenter presenter; + private final List contacts = new ArrayList<>(); + public ContactListFragment() { super(); this.presenter = PresenterFactory.getInstance().createContactListPresenter(this); } @Override - public void addContactListItems(List contacts) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_conversation_contact_list, container, false); + ButterKnife.bind(this, view); + return view; + } + @Override + public void onViewCreated(final View view, Bundle savedInstanceState) { + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + recyclerView.setAdapter(contactsAdapter); + contactsAdapter.notifyDataSetChanged(); + } + + @Override + public void addContactListItems(List contacts) { + this.contacts.addAll(contacts); + contactsAdapter.notifyDataSetChanged(); } @Override public void clearContactListItems() { - + this.contacts.clear(); + contactsAdapter.notifyDataSetChanged(); } @Override @@ -48,6 +98,31 @@ public class ContactListFragment extends Fragment implements ContactListContract } + private final RecyclerView.Adapter contactsAdapter = new RecyclerView.Adapter() { + @Override + public ContactListEntry onCreateViewHolder(ViewGroup parent, int viewType) { + View contactView = LayoutInflater.from(getActivity()).inflate(R.layout.item_contact, parent, false); + return new ContactListEntry(contactView); + } + + @Override + public void onBindViewHolder(ContactListEntry holder, int position) { + final Contact contact = contacts.get(holder.getAdapterPosition()); + holder.bind(contact); + holder.setOnAvatarClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + navigateToContactDetail(contact.getJid()); + } + }); + } + + @Override + public int getItemCount() { + return contacts.size(); + } + }; + @Override public void navigateToConversation(BareJid contact) { ConversationFragment fragment = new ConversationFragment(); @@ -60,4 +135,11 @@ public class ContactListFragment extends Fragment implements ContactListContract .addToBackStack("conversation") .commit(); } + + @Override + public void navigateToContactDetail(BareJid contact) { + startActivity(new Intent(getContext(), ContactDetailActivity.class)); + } + + } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationFragment.java index e1e6420..c51f30b 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationFragment.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationFragment.java @@ -17,8 +17,9 @@ */ package de.vanitasvitae.slam.mvp.view; -import android.app.Fragment; +import android.content.Intent; import android.os.Bundle; +import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -61,15 +62,7 @@ public class ConversationFragment extends Fragment implements ConversationContra private final RecyclerView.Adapter chatMessageAdapter = new RecyclerView.Adapter() { @Override public ChatMessageEntry onCreateViewHolder(ViewGroup parent, int viewType) { - View messageView = LayoutInflater.from(getActivity()).inflate(R.layout.item_chatmessage, parent, false); - messageView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getFragmentManager().beginTransaction() - .replace(R.id.fragment_container, new ContactDetailFragment()) - .commit(); - } - }); + View messageView = LayoutInflater.from(getActivity()).inflate(R.layout.item_conversation_message, parent, false); return new ChatMessageEntry(messageView); } @@ -83,6 +76,13 @@ public class ConversationFragment extends Fragment implements ConversationContra ((TextView)content).setText(message.getBody()); holder.bind(sender, role, content, "now"); + + holder.setOnAvatarClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + navigateToContactProfile(); + } + }); } @Override @@ -99,7 +99,7 @@ public class ConversationFragment extends Fragment implements ConversationContra @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_chat, container, false); + View view = inflater.inflate(R.layout.fragment_conversation, container, false); ButterKnife.bind(this, view); Bundle arguments = getArguments(); @@ -145,10 +145,6 @@ public class ConversationFragment extends Fragment implements ConversationContra @Override public void navigateToContactProfile() { - getFragmentManager().beginTransaction() - .setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out) - .add(R.id.fragment_container, new ContactDetailFragment()) - .addToBackStack("detail") - .commit(); + startActivity(new Intent(getContext(), ContactDetailActivity.class)); } } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationListFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationListFragment.java index 01534a1..4867017 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationListFragment.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/ConversationListFragment.java @@ -17,8 +17,9 @@ */ package de.vanitasvitae.slam.mvp.view; -import android.app.Fragment; +import android.content.Intent; import android.os.Bundle; +import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -45,45 +46,12 @@ import de.vanitasvitae.slam.xmpp.Conversation; */ public class ConversationListFragment extends Fragment implements ConversationListContract.View { - @BindView(R.id.recycler_chatlist) + @BindView(R.id.recycler_list) RecyclerView recyclerView; private final ConversationListContract.Presenter presenter; private final List conversations = new ArrayList<>(); - private final RecyclerView.Adapter conversationEntryAdapter = new RecyclerView.Adapter() { - @Override - public ConversationEntry onCreateViewHolder(ViewGroup parent, int viewType) { - View conversationView = LayoutInflater.from(getActivity()).inflate(R.layout.chatlist_singlechat, parent, false); - return new ConversationEntry(conversationView); - } - - @Override - public void onBindViewHolder(final ConversationEntry holder, final int position) { - Conversation conversation = conversations.get(holder.getAdapterPosition()); - String name = conversation.getContact().getNickname(); - - holder.bind( - name != null ? name : conversation.getContact().getJid().toString(), - conversation.getLastMessage(), - conversation.getDate(), - true); - - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - int pos = holder.getAdapterPosition(); - navigateToConversation(conversations.get(pos).getContact().getJid()); - } - }); - } - - @Override - public int getItemCount() { - return conversations.size(); - } - }; - public ConversationListFragment() { super(); this.presenter = PresenterFactory.getInstance().createConversationListPresenter(this); @@ -92,7 +60,7 @@ public class ConversationListFragment extends Fragment implements ConversationLi @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_chatlist, container, false); + View view = inflater.inflate(R.layout.fragment_conversation_contact_list, container, false); ButterKnife.bind(this, view); return view; } @@ -120,8 +88,52 @@ public class ConversationListFragment extends Fragment implements ConversationLi fragment.setArguments(bundle); getFragmentManager().beginTransaction() - .add(R.id.fragment_container, fragment) + .replace(R.id.fragment_container, fragment) .addToBackStack("conversation") .commit(); } + + @Override + public void navigateToContactDetail(BareJid contact) { + startActivity(new Intent(getContext(), ContactDetailActivity.class)); + } + + private final RecyclerView.Adapter conversationEntryAdapter = new RecyclerView.Adapter() { + @Override + public ConversationEntry onCreateViewHolder(ViewGroup parent, int viewType) { + View conversationView = LayoutInflater.from(getActivity()).inflate(R.layout.item_conversation_list, parent, false); + return new ConversationEntry(conversationView); + } + + @Override + public void onBindViewHolder(final ConversationEntry holder, final int position) { + final Conversation conversation = conversations.get(holder.getAdapterPosition()); + String name = conversation.getContact().getNickname(); + + holder.bind( + name != null ? name : conversation.getContact().getJid().toString(), + conversation.getLastMessage(), + conversation.getDate(), + true); + + holder.setOnEntryClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + navigateToConversation(conversation.getContact().getJid()); + } + }); + + holder.setOnAvatarClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + navigateToContactDetail(conversation.getContact().getJid()); + } + }); + } + + @Override + public int getItemCount() { + return conversations.size(); + } + }; } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/LoginActivity.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/LoginActivity.java index 81912f6..f93a13f 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/LoginActivity.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/LoginActivity.java @@ -37,10 +37,8 @@ import butterknife.OnClick; import de.vanitasvitae.slam.AbstractTextWatcher; import de.vanitasvitae.slam.EditorActionDoneListener; import de.vanitasvitae.slam.R; -import de.vanitasvitae.slam.mvp.DummyPresenterFactory; import de.vanitasvitae.slam.mvp.PresenterFactory; import de.vanitasvitae.slam.mvp.view.abstr.ThemedAppCompatActivity; -import de.vanitasvitae.slam.mvp.presenter.dummy.DummyLoginPresenter; import de.vanitasvitae.slam.mvp.contracts.LoginContract; public class LoginActivity extends ThemedAppCompatActivity implements LoginContract.View { @@ -118,17 +116,17 @@ public class LoginActivity extends ThemedAppCompatActivity implements LoginContr @Override public void showInvalidJidError() { - inputUsernameLayout.setError(getResources().getText(R.string.error_invalid_jid)); + inputUsernameLayout.setError(getResources().getText(R.string.login__error_invalid_jid)); } @Override public void showInvalidPasswordError() { - inputPasswordLayout.setError(getResources().getText(R.string.error_invalid_password)); + inputPasswordLayout.setError(getResources().getText(R.string.login__error_invalid_password)); } @Override public void showIncorrectPasswordError() { - inputPasswordLayout.setError(getResources().getText(R.string.error_incorrect_password)); + inputPasswordLayout.setError(getResources().getText(R.string.login__error_incorrect_password)); } @Override @@ -143,7 +141,7 @@ public class LoginActivity extends ThemedAppCompatActivity implements LoginContr @Override public void showServerNotFoundError() { - Toast.makeText(this, R.string.error_server_not_found, Toast.LENGTH_LONG).show(); + Toast.makeText(this, R.string.login__error_server_not_found, Toast.LENGTH_LONG).show(); } @Override diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/MainActivity.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/MainActivity.java index a89fa86..c4858d5 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/MainActivity.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/MainActivity.java @@ -17,15 +17,17 @@ */ package de.vanitasvitae.slam.mvp.view; -import android.app.Fragment; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; +import android.support.v4.app.Fragment; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.widget.Toolbar; -import android.util.Log; import android.view.Menu; +import android.view.MenuItem; import android.widget.FrameLayout; +import android.widget.Toast; import butterknife.BindView; import butterknife.ButterKnife; @@ -35,7 +37,7 @@ import de.vanitasvitae.slam.mvp.view.abstr.ThemedAppCompatActivity; /** * Main activity that hosts some fragments. */ -public class MainActivity extends ThemedAppCompatActivity { +public class MainActivity extends ThemedAppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { public static final String TAG = "Slam!"; @@ -62,11 +64,12 @@ public class MainActivity extends ThemedAppCompatActivity { setSupportActionBar(toolbar); drawerToggle = new ActionBarDrawerToggle( - this, drawerLayout, toolbar, R.string.error_incorrect_password, R.string.error_invalid_jid); + this, drawerLayout, toolbar, R.string.login__error_incorrect_password, R.string.login__error_invalid_jid); drawerLayout.addDrawerListener(drawerToggle); + navigationView.setNavigationItemSelectedListener(this); Fragment chatListFragment = new ConversationListFragment(); - getFragmentManager().beginTransaction() + getSupportFragmentManager().beginTransaction() .add(R.id.fragment_container, chatListFragment) .addToBackStack("conversation_list") .commit(); @@ -83,4 +86,28 @@ public class MainActivity extends ThemedAppCompatActivity { super.onPostCreate(savedInstanceState); drawerToggle.syncState(); } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + drawerLayout.closeDrawers(); + switch (item.getItemId()) { + case R.id.navdrawer__item_conversations: + getSupportFragmentManager().beginTransaction() + .replace(R.id.fragment_container, new ConversationListFragment()) + .commit(); + return true; + + case R.id.navdrawer__item_contacts: + getSupportFragmentManager().beginTransaction() + .replace(R.id.fragment_container, new ContactListFragment()) + .commit(); + return true; + case R.id.navdrawer__item_bookmarks: + case R.id.navdrawer__item_blogging: + case R.id.navdrawer__item_settings: + Toast.makeText(this, R.string.feature_not_implemented, Toast.LENGTH_SHORT).show(); + return true; + } + return false; + } } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/SearchFragment.java b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/SearchFragment.java index fe62168..71ff94a 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/SearchFragment.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/mvp/view/SearchFragment.java @@ -17,7 +17,7 @@ */ package de.vanitasvitae.slam.mvp.view; -import android.app.Fragment; +import android.support.v4.app.Fragment; import java.util.List; diff --git a/mobile/src/main/java/de/vanitasvitae/slam/ui/ChatMessageEntry.java b/mobile/src/main/java/de/vanitasvitae/slam/ui/ChatMessageEntry.java index 300c548..d3f02c0 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/ui/ChatMessageEntry.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/ui/ChatMessageEntry.java @@ -29,17 +29,18 @@ import de.vanitasvitae.slam.R; */ public class ChatMessageEntry extends RecyclerView.ViewHolder { - private View view; - public ChatMessageEntry(View itemView) { super(itemView); - this.view = itemView; } public void bind(String sender, String role, View content, String date) { - ((TextView)view.findViewById(R.id.message_sender)).setText(sender); - ((TextView)view.findViewById(R.id.message_sender_role)).setText(role); - ((RelativeLayout)view.findViewById(R.id.message_content)).addView(content); - ((TextView)view.findViewById(R.id.message_date)).setText(date); + ((TextView)itemView.findViewById(R.id.message_sender)).setText(sender); + ((TextView)itemView.findViewById(R.id.message_sender_role)).setText(role); + ((RelativeLayout)itemView.findViewById(R.id.message_content)).addView(content); + ((TextView)itemView.findViewById(R.id.message_date)).setText(date); + } + + public void setOnAvatarClickListener(View.OnClickListener listener) { + itemView.findViewById(R.id.contact_image).setOnClickListener(listener); } } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/ui/ContactListEntry.java b/mobile/src/main/java/de/vanitasvitae/slam/ui/ContactListEntry.java new file mode 100644 index 0000000..3fb6530 --- /dev/null +++ b/mobile/src/main/java/de/vanitasvitae/slam/ui/ContactListEntry.java @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package de.vanitasvitae.slam.ui; + +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.TextView; + +import de.vanitasvitae.slam.R; +import de.vanitasvitae.slam.xmpp.Contact; + +/** + * Created by Paul Schaub on 13.02.18. + */ +public class ContactListEntry extends RecyclerView.ViewHolder { + + public ContactListEntry(View itemView) { + super(itemView); + } + + public void bind(Contact contact) { + ((TextView)itemView.findViewById(R.id.contact_name)).setText(contact.getNickname()); + ((TextView)itemView.findViewById(R.id.contact_jid)).setText(contact.getJid()); + } + + public void setOnAvatarClickListener(View.OnClickListener listener) { + itemView.findViewById(R.id.contact_image).setOnClickListener(listener); + } + + public void setOnEntryClickListener(View.OnClickListener listener) { + itemView.setOnClickListener(listener); + } +} diff --git a/mobile/src/main/java/de/vanitasvitae/slam/ui/ConversationEntry.java b/mobile/src/main/java/de/vanitasvitae/slam/ui/ConversationEntry.java index 6f29456..621cc0e 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/ui/ConversationEntry.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/ui/ConversationEntry.java @@ -28,18 +28,22 @@ import de.vanitasvitae.slam.R; */ public class ConversationEntry extends RecyclerView.ViewHolder { - private View view; - public ConversationEntry(View itemView) { super(itemView); - this.view = itemView; } public void bind(String username, String message, String date, boolean read) { - View v = view; - ((TextView)v.findViewById(R.id.contact_name)).setText(username); - ((TextView)v.findViewById(R.id.contact_textcontent)).setText(message); - ((TextView)v.findViewById(R.id.contact_date)).setText(date); - v.findViewById(R.id.send_indicator).setVisibility(read ? View.VISIBLE : View.GONE); + ((TextView)itemView.findViewById(R.id.contact_name)).setText(username); + ((TextView)itemView.findViewById(R.id.contact_jid)).setText(message); + ((TextView)itemView.findViewById(R.id.contact_date)).setText(date); + itemView.findViewById(R.id.send_indicator).setVisibility(read ? View.VISIBLE : View.GONE); + } + + public void setOnAvatarClickListener(View.OnClickListener listener) { + itemView.findViewById(R.id.contact_image).setOnClickListener(listener); + } + + public void setOnEntryClickListener(View.OnClickListener listener) { + itemView.setOnClickListener(listener); } } diff --git a/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Contact.java b/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Contact.java index e9fb661..7e0727c 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Contact.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Contact.java @@ -1,3 +1,20 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ package de.vanitasvitae.slam.xmpp; import org.jxmpp.jid.BareJid; diff --git a/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Conversation.java b/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Conversation.java index 8fb66be..295d1da 100644 --- a/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Conversation.java +++ b/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Conversation.java @@ -1,3 +1,20 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ package de.vanitasvitae.slam.xmpp; /** diff --git a/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Resource.java b/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Resource.java new file mode 100644 index 0000000..b6e4535 --- /dev/null +++ b/mobile/src/main/java/de/vanitasvitae/slam/xmpp/Resource.java @@ -0,0 +1,49 @@ +/* + * Copyright 2018 Paul Schaub + * + * This code is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package de.vanitasvitae.slam.xmpp; + +/** + * Created by Paul Schaub on 13.02.18. + */ +public class Resource { + + private final String resource, status, client, system; + + public Resource(String resource, String status, String client, String system) { + this.resource = resource; + this.status = status; + this.client = client; + this.system = system; + } + + public String getClient() { + return client; + } + + public String getResource() { + return resource; + } + + public String getStatus() { + return status; + } + + public String getSystem() { + return system; + } +} diff --git a/mobile/src/main/res/drawable-hdpi/ic_chat_black_48dp.png b/mobile/src/main/res/drawable-hdpi/ic_chat_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..9102f25dfd0e35c97a5c19c8988c02b364007fd1 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhaw_ItWGhEy=Vy>gKAkb^+$!~a{p z33yLgpt{8Bpa$Do7l9`B(zOX3PLpb9ec%82K)F=fdCTc5EDO~A_pqy%t&v!uu0Y{H?S=IdQwvf_WR%cb+&D=glaYav?%8WrE{BXXgdq*EbwH zrO<4Uv9SI`f8kDr<~DwwS#@lZDFKaNvlfK$hGaKdO%htMn29&Q-`lt8y(8~Yp~nl3 wIrcV7v77Q`$y~8mQ5XOeXk>eS=l*xb9SQ35SK7Hw0eXeO)78&qol`;+0JGy`h5!Hn literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-hdpi/ic_chat_white_48dp.png b/mobile/src/main/res/drawable-hdpi/ic_chat_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..424509055121817e606155f423cb866fb2501373 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawu6nvShEy=Vy>ig=Sb%`*!`)Ti zK145K(M?<>+>>;{i$!rqK>urFL}dbbYg+L%+7hL|HY17 Q0D6$Y)78&qol`;+0Qv1`lK=n! literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-hdpi/ic_public_black_48dp.png b/mobile/src/main/res/drawable-hdpi/ic_public_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..757729c634a82198c874af1a7d21f3fd454c3bcc GIT binary patch literal 962 zcmV;z13mnSP)nnh<}flc z^4Q9Aka?C_WrH?7dbHVKm1X9cW;>5ig(EcRAtC8pn*;;2L&iI`2q8?I8oL7AVC$SE+#--su- zDHBo2sm=ocikx8JtwfOsa?}xrtN{S1;`hQIg(czT+MHi?1LKZE} zm!64turSVj$2#M9r9727R513f!%<$NN)|t9&jZVO{4R?445U zuM;9q&$`e_?CnzPx7bFYg9Zf#DlJZs!Cne|u%`$#ug3Heop^ksc05j?Wi>X-M+p|v zm**^jR@K;k@U0Y&18T<=0&S?V7s0nuJYG>dHVM>LV|nnc6pyFXjx7S|OAq)~deR`n zWz>#cvqBkfC5!ya=i~^JHY=n*vS+}$lKHE-q(3sVL;VssRoW!X%VvjKU;AlrtQ2O- z?Aq%u#wxf~GJb+Anf-KJ0LMyUE~vR<1e#W3e}H49U@7jYxdQ~+j=uQ294iHT-SqhZ zH`V9@I8_R^sHWW(v`5K3k?vJHf1c#An2SX zjaQEM`H2Teq#VN1X9zkqr>_8SKE+y=s|Y%GcrB(vSI7`S5%1;hbCQyCp*8YERK{CL zxW`e7Xts66a8Tr$?|bv zdB{1+#BP!sk?Pc$ATbkMqHkQK$3=FNxH5;iPB*m57ImtO@d#~WisPJRg(fY!bZOCK kg(Z%$pQjiZ8F@_o59!clQN>{%@Bjb+07*qoM6N<$g6NODBme*a literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-hdpi/ic_public_white_48dp.png b/mobile/src/main/res/drawable-hdpi/ic_public_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..123f22336cf974ac298b9d4b944b19612b3de0a5 GIT binary patch literal 982 zcmV;{11bE8P)Nkl63V*@$>34(-A&|tVXsFE-!$0pjfUZ4`~gh9dtnny7hGzE!+ax~D62ZI&}+e0Mu z%%a^60%d6twzCmHd(pPpVFn$ccWoVNoFN?nG{7d>s2Mbkwn_ISmiY$llo>RSHo@rx zK~rcK&7ftpLkOo6106E2@j zN~1OHKxq@nqQCi^!9Y;T4pc{b4sjsCY#^wBR@aSfS-6ww2p@T==mA`DiMAH%zcW41!cI2zk9q96X*u%@E{@2D*imqQg8;X zkd3@r=pey;PLOv1t+2~w`I6@roo#WRcSuD5-5~3_p2{#s_Zoc9N4$%DGo<5L;EmJ3 zwK_-RTyd88n&>^@62zrFTayoS4G-H|TxDPKeFi*XQ(R<;b!s$eQe&MZE^v}VJcC3VA=&AJ`k+4OUo(ft>!!kRa{vGU07*qoM6N<$ Ef_Tfqj{pDw literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-mdpi/ic_chat_black_48dp.png b/mobile/src/main/res/drawable-mdpi/ic_chat_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e92e5f809cd0a62b9a5867d57319d1a86fe31e GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0D4o?@ykP61Pmo9QL849>wjP~7f zM%N=^>jsTu{-rtzEdq0ncg?i^|K5SaK6KmT6TH7ay_<9M@#2DmP49knS|l`<9}0DD zY;^O`?wA3iBP*~4L(UtOThSE{#-;qG@Op!*m+UHx3vIVCg! E0A!#`GtA_|vQ3%VPIUdf69xn?0 zSL~4`kY&r@ZVd5Px|V`pZ99elp6I7{o?}@+#S-{@lfHRO@YsndfC=f_B7wn}b^H%( zq&Se?5e#Om<8NW-t#nUgP?pkX%dvFlf$S<_P?gd(W@8A3Wmg4*hLkeEY-GVX*;U7& zEhP^`5k-*HZy`{S1g+?nU2bFI2MY8NWx-MLGu#nXrE~*a72!T|SxWc8Sz+=p_?i}^ z^ah+2Chw#&g~6zl4oEpGIyu9kRE9C|*p}i19XJanWxYlMOkPNNgJdK@FPpMH$FU6P zx9}7}_=5_}5vvRW@Jv>k^bZ+kp~$m`a?CE{L?Fu&E$i?mi)4t*1?Jfb9A0CNeq!S>!Zal+)M?S8 iPK6Rv43prL6TpAO%t^MZVGT3Tq2^p+}r;UtuExkMPMZ@i||JqS6Xfj8L+kmNh2mg z&_B?s#W0(jpePEZj)i79v-z}nnT2ofoHOq(xX-gZob!S2%rNJKr};lb#Ul$ETH3n0 z+FBasJya25jV!xo#j&Cs`P|*|z_@i?v2@gpl>w%lOHJG4U_i~+22EWx6}aO^X?f2R z0PMJv0@RX^zZ6t`?1~;yjRRjv&1SaazFh$I7%(L@=Ux`Fj`;<^yZwN1eOggpBB)6Yt0a)ncFx7!?wU-v=8}3-G3pObqlPHvsPoaiS3Tu=r~_ z5BNri6NSKcfZ06o5O85QP80yoxCBh(fr=x*bZ%oRFatO+lm~(@0K00XfZO%~OM*P$ zt}fuy8(aTUoGV+|-{)t5YtQF^taZRYUKRA}2mN#IC2!~eR)r#9OdGIgTMVb9;6R)F z)<=DA`dg0auKxL5{srrIi|GZ<`nwt>=UzU=Bqgo3dy)7()5*3|*=&q&dS@Ouk)pi! zi<&i;fP%w;Nx~aSnBuq@SU3a}790p-WV-jyI^iXV=WrmC@%@)w!T||PbvG|DFfy^! z=x_@tB;4c#$~g#sILp%WvZ2;0VK#5Zn$3*X9&C4tr*UVzd3JaCov#yZqpva4GwxVY z^YFXpe*a&!m)=jVoB!qalKbj^?Ovh?soXU;HvY|GknLt);3PQ@7%B{&u6{1-oD!M< DBXoja literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xhdpi/ic_chat_white_48dp.png b/mobile/src/main/res/drawable-xhdpi/ic_chat_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..d708e15803ad3d231842aeacffdcad7310a930fd GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z$owO;uuoF`1bNy-@^d{t`Bb> z-K!wtHAgIf$xVd$$^j*f)D6WyD%(Y^xuaeD&xn4%!)2GLHmCU9&Ye4wo}B31|L(}d ziModS6Y`k9n`m9#ksQG-QL!Y+pXW8h_K@5d<{b+Hw;n5#Ebx7rH;wUp$h%a@4_;4~ zr5_DmU%ZC>WmLCF!TIaP{1Z~qQRmV zB%6L^CNji9s{uLOqT1UtrSl$ RR0M_?gQu&X%Q~loCIB}(eb)d0 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xhdpi/ic_public_black_48dp.png b/mobile/src/main/res/drawable-xhdpi/ic_public_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..fccc1a057dbb1c8fd36dc38dbd9a727c1e4b1a8d GIT binary patch literal 1253 zcmVqimy@$&5%ftl==-h(Wq&WfeI_h!oA7K<%$Gbt0@BS}I5v-e5T}7Ub_ABV$6Oqm<^0bd z0stm(fKot(CLEbU58^o2_|IZ)1T3U_9LRXNb@wV;!S50Dbdbi{w}|tUn2+isN{E&t zSlWPi$UZ=~n&*g?^;nqU<*j>>as0m(=oOyQNNg88ES`OgBiL&6h15<=Esh_Y*VxN^ z!W0lKd1A;}ZkXe1L*Hy?iEIZ_r2@6+?}e>IRL8@r6@bOsop7HTA}Ju2u~S5pY$Afu z^i;XP1Z|sllN8395f24y@4=-QJ4y8m)N0?saSYY)jOrJFJ<2Bzkj2Ov#5(=hn~5k{ ziIKyIbxz|#hw`aKjC3QGdB{v$*sOf+bqq9EFP_uP#Ep4~l1b4Yp)ZlL@k`y0EhE%6 zW#kl}RXRzh7;Mpi@F3Vx}N^z(%3R7Ms;*$RHWt6c3W zq571ODNwe8UvDZ`>m}5XGLnX}75sWlJ6Q|$N*MvlR`6?#a<$>;1;*$VtTMpQ%*NE{ z=mpdzG#(sR5FQy<$f-*x`b|6)JXAP?nW^ec9Q`r62s~8i$IPPWkI{?D$cNygLd+N0 zIYJ%Pw-R0|nAxRF9g4G=!%GD-rzL7|3d7vGTzDGINEstOKGY$ZNC5VzfazwNpQPNEf!44vpX=f||j;wO7sN7G5G`kk zZ8}d7B`;Z3rb3Yt;xvz$hJ_YH%L~>KYytcElOe=W@>n{8XeqIaFybWNU@c7tqK6+D z@4dif#^OMIz^U17-uGIdi-|bW#JzxvwDE?g0(WV|p}Bz-`uUtm&I|m-92{%nCK8Zm z>}R3F0$nuX!DKp+GWmlYyhF;mz-1=lNt&YuhumlRg7rwu6d8+G>v@WJ%472QM^id!~Rn)MFn}|ia*+`D6O0ksV48%C2X=4ea7$LH( zq{t1#Ae|gw1sO)9dX}+;R?c&kUIrOvm_d5E$~g{EU@4PuCXq-a5{Z8Sb{Z`Ll_2(r P00000NkvXXu0mjf?9WZ8 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xhdpi/ic_public_white_48dp.png b/mobile/src/main/res/drawable-xhdpi/ic_public_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..eb1097d41f2d637a8e9242d5d81b250b9f16fe88 GIT binary patch literal 1288 zcmV+j1^4=iP)s0LSr9M&)_5(rk;!W~W625!*#K+eNdG2uflJ2K@sO&6-V%2L`(ti?L2FJJ7(z zT8HhX3p?#9=GNV?nTTahm)J>v8dmyyFCt>!=XZFX-|zc8>c#K%k}@(fGBPp(LkShs za*FG;(a#8Dj4?t#ZCv9dwNx-ilM(q;a-2^5=%A5JU zUD&wGE($ae$fKUe1mPij$<_FxnjV7GO_jzA3%N=dnpvRmv7HEE8K7EWB8MLc+i|iL z4obMmc=(-S1&_sa5u|SzAdybqQ?OXheF7y>NF4*j*UK^mhsE3{SR;CcSsWosJiU}D z7|f-Mpxx3Ntf8HFIw_Vta=1zG4(fl%=SSjcAzQXMP4J?ukPDv?CDsYqVLM?sq&V2j zGh%I1`dCPW;9X;e;$j2Oa2upl>EbFui*kq=N{G!wacfq3s3u4w+~OcB$yKVT!-~>I0qwZ$QEDjU5msb@HAFEzAYZAV21~L+18zIzA5-bVlB_U` z0Zezul3!F{O_r#`tz3R_4r{VR0Rx!M$RF}~iZxl|0Hz^w7fDO7xjsa0O+$23>3 z;Sh&H#k-jLlmh+kPEpO}hi zR9+atG*d1(*m}$o`9dD1VR@k+(>%q%!PZ6j!aPiU@9+i!5!0XYfJ4gU1AkyTB0t!KTbVrI zkRo|vDQ+9&2YC!*`c|Gukv#DorU*ImhqIUlDU=6NBoDkz1XGjzVm)s4@<58@fiH3U zM1GOQT}*=%D=AW>q$ptsQzuj8AG>gCP*OZ2J)G;TYT3JQ3LDauDmg4@`L za+n! zbG9lWR&toX86hZDvcm~tMcF401mkAUg2OU;i7&!e6e$LF{$Z(tMHzQU`4LO)1^r yS7@b=VMZBcm_Ay$%rR;xr$`wY85tQFf%y-Y0z|JHf``EX0000#th=)=vt zf^A1!Ih%K}ItnP=+9AB#am$AO9fH3vo;%d}f6|^9Z|<|TdsL1+-+ll6n+MScI#oO; zsbp?B``IM_v*PP1|7&j7oY`%2dhVPxk#S4CXWrPg=bVlDi?}dN;k#P=MJfG3YWrOK zUgVW&PQL$F=EmC^zs!WyXNm&!gQRYrmbtJtXBOitqw^2smYHl(m%KB3S;I8RJHMAT ztTW!>@5`8Lv?J6jSo)5*LjwaN6AOocf+hJ?zOvY7jwWc!MeZmxwJAEa~i^6YgFVv=6?znrTa97Mz zrTwfKb6@LhKB41zj{S?x*{#--*aPMwkifhLFS-5q+R0t5ymEZ8RsXMwkmrH&{jY3Z wJr11fUTd@J^NN1=Qn|m{a=>8roK(le892}H#*^3cff2~y>FVdQ&MBb@0DH5>_5c6? literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxhdpi/ic_chat_white_48dp.png b/mobile/src/main/res/drawable-xxhdpi/ic_chat_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..3b1434c01a1ab6d19e700cd17ce943956afd501a GIT binary patch literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q1xWh(YZ)^zFrM&qaSW+oe0$ZtD>zW%*u&kt zf+~f9O%{2M0xcb8?~ddN=)O_TJ7RY$(&A&hQF)xX!OuCfXDH75{O8`cF#hSEc_*oO zPFfPI`+3ia_L_5Q|Es6}oYY@A^S5N)rr9+nr*HRUt~Gpb^k3Yef0N(pwV!_kELfho z_o$)+f6>%$*0;r9Ua@ja86eKZ2_+@M_)Iq|GSqv*C zGB7fgL^IrCe*v|-NFgx@DwJf;IbnA&3Gs}yXb7it%jZ7>V++d?` zF;Xx?q)|u|w!{Nrt!Yl)f{B+MZ#^C_i8J zm|@q7|MR3?Xyuwe`?G61`vtYtI-5_dNw8$Pu$m`#9m}C$=7%dAKl~Bp@aJt=&IaZB zu&=6QxN6goCFfwuzhD-7z**)M&lp2KGeCsBLle<_Q6{r9gZGau<)lg2iw7 Y&qlPC_j+@#1x77{r>mdKI;Vst0PhCHrvLx| literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxhdpi/ic_public_black_48dp.png b/mobile/src/main/res/drawable-xxhdpi/ic_public_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..d08da580e7adbd054e436807ea1db0f5b4e32284 GIT binary patch literal 1890 zcmV-o2c7tdP)>!i@E_pS?Q+O$s7p+lK}w*8iB^e zXWN9*7;#PiQVRF_-J`|0?Av?Jxxe%K{m$jSKF<$_Pjb%r{ps%>VSr1FGDU#`Q;c$n z0p6j97g*1|+`oP9jS*C;cy*vL@|h@liX z!UpOo3wQG>SCAMo$u3$+urwXKi^QChJVctrNzuuNh^2f$2PqQdKF%YS^FAv`ghjlG zILclc@mhxGm_!_AoGqmB)NQy z(89-vrx~Id$J(8IwcbVoW`dPC)X8p~|7N--61N^VqydL0n-HatU#~=3R`F}PQ zeQ6KTfCY7qhlP1{#{M1tfy|hGYKWcdNktF3Ih-mw0g2fY&ZnUZ0bLz`LS{@CF}jTj z#A!MyCc~a06*m!+wDa|zX9*%hZ;|z)G_iQr@x#?gP?;hR+Gb*~$l=&0PY(@*Q8(l3 zdYnd#d(+9J;vxrlo<_o(%Rdn{uVL7INQ{Zcoih#{@4=uH=Mz{E{1{QwPYPo?kysO- zy@;CC7?S40#1?cbmk}icq%fibi8*oVLexBn5$`6tAkdf8j$^>xNWu%c1AXmtDJ6Rq zi8~HgAa+usSzIZDf^zDJXo8z5$wtIN;HmpLFtS7QRBNlQR8>-davp0w+YiWUXGj_bF{QIL+6UlPKLe7%K4*mbrN+jJ@ z>Y0x%Rg5Tiv6V>n#r$eM&1SOL)Ti7_ACX)_48$i-Dfjph5quR<(wo?VZby{V6WR*( zj7^4LCbXc8I9Ex}vdy(t1U)<|_R>Lk*?Lm@7zo#A?At zMM?%(Kq+q09x-z->92s(iq4Zo6MYIkZ0|W(kBcz;H6jet3b%q&3i^insu<@>lxP>CWP4%?dJR#sgOar(O7h&Eh=P_PYFaSh zq_J}j*AU~m#t;YTCZ`@KJ%cDYh7k`VYSu*GDKVS^JuKA5a!T4UBFzVgl25ob`r%09 z8R22RsF5*5$vILG|FPaag8LZ~b3S7OpG)&sM9nIUN%1~n;Izyl3&*PpwDVs-N7S6c zs1=BsDVhoDk4WtKlsN!=kL!q~|hd)q7 zFpcz5KpbR*oRyynQL>+#2r5T6Z*!4p#A4PEvmHf`=*}Z7v6h#JT`m2{j2WcG(}GTs z#exQgkQp=077q&=WC4~m2N>?{XP#FDjj;raRt8wx`8VrGc~a0c_hZ>3T`3pbgE^1;e=oAa^L@hfaZrPk;55I_MQjx_gU5p`~WP~+% zsEHGZ2RTL#Po>$yIN~s)Y$Ao%8hIUYlwKB+2=~yBSk7sdksv8nGk{piIaZNCDIVmw zg;#PrDH3ccJDEgc$OJoRp)B0YlN=^*aDIM}b$ppJGne(e!Dxv?z`d+vHf5}uR<_c| z1tdg1qK~aCrHUKKEZSJhHgu;od5s; literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxhdpi/ic_public_white_48dp.png b/mobile/src/main/res/drawable-xxhdpi/ic_public_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..e20513e50d57c3e4d606e97e5b6a7b43bb961cb3 GIT binary patch literal 1977 zcmV;q2S)gbP)$LDF z^AJ}f*q$=h(8^H;FwxIZT3JomOb)b|?R-F*Vx&0AHoiX70?lPRXUO4~9H-ez#morw zFmE$P5HcL3KFWcTH1IJ&yTDTlgms0E^8P-7eagi`MPfZvDy+Dev80E*|3N(j9gv~x?hb2%oy@b(aD#H+{mYamt zAS+!5T2BW1KBQ1-*0~JS$Q@h|9^e2I6k>`7SAm+y;f5dxRU9J6^s+qfB2c5VJd?=3 z=R2G%C{cs$KwevPMVdr0#$PpmtI8_vx5op z8>G@kpgHv7Qdawm{k!~){Cb!je4s|1Kmd& zw;BsrlWLzPaZONxl3c{CmkV6B>mZ-=B!da`GA@nMXt1(*gnV`e5oj41T*=Z#rQv67 zH+m_m{15a#_Dynw}KY`hgJkp|hp9Kxbx1pl_pds+d5F$<2^J z!g18HEbty^J2s423A6#77Vm-nhz*yl1e(Qd)ZX(NsEjl=>_n{0o2ZR2%Uhr|*wAZj z|HT?~>b(VOwUTEsVrfblMs2sZKt~DE7?;>-dG}5iYF*v}4d4d}(QHHQnwLQLpwkiA zK=-3lVIF8LY8gs+Euw)+7(;Efd7u{5E+B|OA_>)8L~XNqpf^x^3(+PDf1tgn?J*D3 zj@m1THc|KkwW4;|JkV*>oV3K&w&fH4ij^+A>6&DExuG zf!cNRKqIKlMYM^+A7~M3L*{|TQ7c8XiNYVK0=0~Jpq$Y^__c@xnuS`{zd%WSqCid1 z!%Ic)0W0w@&^T)4h@(UReJm*|&|Ut$#YRy38saq3)uNV2?m=zHzmNGE#Brh*iwLyb zzmNGo)M^pOi7porsNTOXiXZ8JYIsiM{xQ)rsGT$q)P~wii1S3=1O3#$AFHpU_9o&v zk^4Zu^>4YO1+_DX=S1!UUGQ(g>`~N)NjOjB{cBVU=ArW~#8V>ofmZmrXfO1m zwgvH&$bFz4s9p2-!C^b%DUtg?M^NkX_tEp`B;6+R`b*yLN6)L#S%VlSav$gi=+t=& zR7MK5Um?bc+y{CKwP8xV1=9a7bdwVEM2-W^W(c)T#A~2!===~dPvkVvkI-rM9%vCc z)Q%zM<22A2)UwR?9!UTAFvs#p1zLg538a`nThaMVqylxI(_CDj3NoloP#Kv(-z0}x zimwzGNH~bjzQ_c62c7*$v4QH*$#Q=r0@a~cTYMnlg5f>~{Y>G%DF!(~E7jT!rI*n; zi}(@fY4kQ31sWhYIoeoi^j!|t`?aa}Q*=J(UZc&C!5ZdiQr@y7WDdfomWO|cfeaf9R2{y^|ON6TN@1u;AUJX@d7_glcY~*MayQsEQPN7ny?;G|v&daccN0dLu0LKalVu z`FudB!PCv4-6EeIK^@U`o_yL1UPgPC6z-fQ5lkSVhEekQJ*5S|VLQm-!Z6iA9uwF^ ze#f}WV7q@SA9909Y}yp`L6iH*?-Gj;!?9;C5_F()ddRPz+K>k7rY!hCLM4ObH_5IL z2I^;tt>cncl4d%`SQM&2qpYxb;PyJEn9e_GCJ~ZAlRR$w$o6N*GQD$rF9d<^u+hb# z|IZhc=nL9d?le%AXI)(z(ZCdi$nrZLbQEZkjV>=9d4e>B`U}rdZaL5>kGsCQW+j6Z zZkU6tquf%UepZCx@}o+6Fq7d={EUZ~9cZ9#mW1W{taA3_#S~X)=a&RwFJ0HBg7L2iUY-gY)>304ipE91I2;jKyjcrP(1$vNBdwa)E^Am00000 LNkvXXu0mjfUG%m3 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxxhdpi/ic_chat_black_48dp.png b/mobile/src/main/res/drawable-xxxhdpi/ic_chat_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..025c1e77a4b1772330eecaad2a1ebad402105ad2 GIT binary patch literal 689 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE1xWt5x}=AJfvLjN#WAFU@$DsFuc?I+#~xNM zY1-MO@F7|3icwT!;OtJfNsh&?-!BTWs6Si7n z>%yLsRKRFS{kBQVZ=O!{Gd}xt&V3X4q8WQ_PI|FrD*v`T|8#0``pxrhd0Us}{Qv&^ zu8IEUDbZP``93wh*5|777XG$0d}o?JrTyj3>dN#R(t>N29~UdixFUV8aN4El^E|g6 zZo3>@UYvN2&-`pv)yt`d*7xG7G8C6DdsFfFj%RT{&&`7V%Xheq&F=Wks?I&uX6;d& zfA&VfVw3WuV{NmS>b>)Z=}Z+v7ju9V1H*kr z1_?WeS_Xy&Lk5Paj9?ynLLB3{o*NGt7z!8|fM&0nUD;3!QwO5Y$R1#Y@eh0evi_V{ z3UMI=Pb~w3PY=|^68{(&W=L&(40O8MR))L~?gxBXjCcHW8*cj)+n>Gh^H}6MmV(`$ zvJJCS)(RcSRV`(Br_l{0YQuyXN3>=f;8Pu2$Mbn|Rari2r- zQ>HY(NijaXGsyP9=M}OG>gpK2er7hP_uc>cIeUP;eZ#Mxj91R{gTz}w;*RyNu!}!i zfA-JOnfon1i>Lp4bS8ez&u-)T!e{#D;DWEt=))4ql`HX*^Tn;@XGI!-eDCS%=d#Wz Gp$Pz9ln>qj literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxxhdpi/ic_chat_white_48dp.png b/mobile/src/main/res/drawable-xxxhdpi/ic_chat_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9906d8da72a8a53716b29cec67b7796082a0e5 GIT binary patch literal 709 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 Hu0mjf;9+$7 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxxhdpi/ic_public_white_48dp.png b/mobile/src/main/res/drawable-xxxhdpi/ic_public_white_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..29145a01aee42264cd0543f7fcbb51379716ed2c GIT binary patch literal 2637 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 d90Pq9kvnO^6ggWn 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 gK>K#+y>4s$AB+*l@~ literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/layout/activity_contact_detail.xml b/mobile/src/main/res/layout/activity_contact_detail.xml new file mode 100644 index 0000000..2573a54 --- /dev/null +++ b/mobile/src/main/res/layout/activity_contact_detail.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/activity_login.xml b/mobile/src/main/res/layout/activity_login.xml index aede9b6..942288e 100644 --- a/mobile/src/main/res/layout/activity_login.xml +++ b/mobile/src/main/res/layout/activity_login.xml @@ -61,7 +61,7 @@ android:id="@+id/login_username" android:layout_width="match_parent" android:layout_height="wrap_content" - android:hint="@string/hint_jid" + android:hint="@string/login__hint_jid" android:inputType="textEmailAddress" android:nextFocusForward="@+id/login_password" /> @@ -79,7 +79,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" - android:hint="@string/hint_password" /> + android:hint="@string/login__hint_password" /> @@ -94,7 +94,7 @@ android:layout_alignParentEnd="true" android:background="@android:color/transparent" android:textColor="@color/secondaryColor" - android:text="@string/button_login_account" /> + android:text="@string/login__button_login" /> diff --git a/mobile/src/main/res/layout/fragment_contact_detail.xml b/mobile/src/main/res/layout/fragment_contact_detail.xml deleted file mode 100644 index 549c71e..0000000 --- a/mobile/src/main/res/layout/fragment_contact_detail.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_contact_detail__info.xml b/mobile/src/main/res/layout/fragment_contact_detail__info.xml new file mode 100644 index 0000000..3d4c920 --- /dev/null +++ b/mobile/src/main/res/layout/fragment_contact_detail__info.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_contact_detail__resources.xml b/mobile/src/main/res/layout/fragment_contact_detail__resources.xml new file mode 100644 index 0000000..f3800ba --- /dev/null +++ b/mobile/src/main/res/layout/fragment_contact_detail__resources.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_contact_detail__security.xml b/mobile/src/main/res/layout/fragment_contact_detail__security.xml new file mode 100644 index 0000000..6fe4e6a --- /dev/null +++ b/mobile/src/main/res/layout/fragment_contact_detail__security.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_chat.xml b/mobile/src/main/res/layout/fragment_conversation.xml similarity index 100% rename from mobile/src/main/res/layout/fragment_chat.xml rename to mobile/src/main/res/layout/fragment_conversation.xml diff --git a/mobile/src/main/res/layout/fragment_chatlist.xml b/mobile/src/main/res/layout/fragment_conversation_contact_list.xml similarity index 75% rename from mobile/src/main/res/layout/fragment_chatlist.xml rename to mobile/src/main/res/layout/fragment_conversation_contact_list.xml index 768fe7b..afcea00 100644 --- a/mobile/src/main/res/layout/fragment_chatlist.xml +++ b/mobile/src/main/res/layout/fragment_conversation_contact_list.xml @@ -1,6 +1,6 @@ diff --git a/mobile/src/main/res/layout/item_contact.xml b/mobile/src/main/res/layout/item_contact.xml new file mode 100644 index 0000000..fc5d25b --- /dev/null +++ b/mobile/src/main/res/layout/item_contact.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/chatlist_singlechat.xml b/mobile/src/main/res/layout/item_conversation_list.xml similarity index 97% rename from mobile/src/main/res/layout/chatlist_singlechat.xml rename to mobile/src/main/res/layout/item_conversation_list.xml index 40cba53..575d73e 100644 --- a/mobile/src/main/res/layout/chatlist_singlechat.xml +++ b/mobile/src/main/res/layout/item_conversation_list.xml @@ -64,7 +64,7 @@ android:layout_toStartOf="@+id/lower_meta"> diff --git a/mobile/src/main/res/layout/item_chatmessage.xml b/mobile/src/main/res/layout/item_conversation_message.xml similarity index 98% rename from mobile/src/main/res/layout/item_chatmessage.xml rename to mobile/src/main/res/layout/item_conversation_message.xml index f148878..481dccb 100644 --- a/mobile/src/main/res/layout/item_chatmessage.xml +++ b/mobile/src/main/res/layout/item_conversation_message.xml @@ -16,6 +16,7 @@ android:layout_height="match_parent"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/toolbar_main.xml b/mobile/src/main/res/layout/toolbar_main.xml index 7c7b563..b307667 100644 --- a/mobile/src/main/res/layout/toolbar_main.xml +++ b/mobile/src/main/res/layout/toolbar_main.xml @@ -1,11 +1,8 @@ - \ No newline at end of file diff --git a/mobile/src/main/res/menu/drawer_main.xml b/mobile/src/main/res/menu/drawer_main.xml index 898a867..e841b6b 100644 --- a/mobile/src/main/res/menu/drawer_main.xml +++ b/mobile/src/main/res/menu/drawer_main.xml @@ -1,15 +1,23 @@ - + + - - + + \ No newline at end of file diff --git a/mobile/src/main/res/menu/menu_login.xml b/mobile/src/main/res/menu/menu_login.xml index 2fb1b9c..12cbcf9 100644 --- a/mobile/src/main/res/menu/menu_login.xml +++ b/mobile/src/main/res/menu/menu_login.xml @@ -3,6 +3,6 @@ + android:title="@string/login__advanced_options" /> \ No newline at end of file diff --git a/mobile/src/main/res/menu/menu_main.xml b/mobile/src/main/res/menu/menu_main.xml index 7789886..b89e2bb 100644 --- a/mobile/src/main/res/menu/menu_main.xml +++ b/mobile/src/main/res/menu/menu_main.xml @@ -5,8 +5,8 @@ + + \ No newline at end of file diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml index 349d211..17f1a8f 100644 --- a/mobile/src/main/res/values/strings.xml +++ b/mobile/src/main/res/values/strings.xml @@ -8,25 +8,40 @@ &appname; - Advanced Options + Advanced Options - Jabber ID - Password - Login - Register - Invalid Jabber ID - Password is too short - Password is incorrect - This field is required + Jabber ID + Password + Login + Register + Invalid Jabber ID + Password is too short + Password is incorrect + This field is required + Server not found - - Search - Settings + + Search + Settings - Contacts - Bookmarks - Settings - Server not found + Conversations + Contacts + Groups + Blogging + Settings + + + Info + Security + + Devices + + OMEMO Fingerprints + + + Confabulate + Keep a History + Feature not implemented. diff --git a/mobile/src/main/res/values/styles.xml b/mobile/src/main/res/values/styles.xml index 84e8ecc..6cb5d15 100644 --- a/mobile/src/main/res/values/styles.xml +++ b/mobile/src/main/res/values/styles.xml @@ -15,11 +15,13 @@ @drawable/ic_group_add_black_48dp @drawable/ic_settings_black_48dp @drawable/ic_search_black_48dp + @drawable/ic_chat_black_48dp + @drawable/ic_public_black_48dp