From a3f8cb4c0fb5a629c97bc9885fd347bf48787699 Mon Sep 17 00:00:00 2001 From: staccatomamba Date: Sun, 5 Nov 2017 01:27:38 +0100 Subject: [PATCH] Sharing is now fully implemented --- .../ownchat/page/chat/BaseChatActivity.java | 3 - .../page/contacts/ContactsFragment.java | 18 +++++- .../ownchat/page/sharing/SharingActivity.java | 55 ++++--------------- .../page/sharing/SharingPresenter.java | 5 -- .../ownchat/page/sharing/SharingView.java | 8 --- 5 files changed, 28 insertions(+), 61 deletions(-) diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/chat/BaseChatActivity.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/chat/BaseChatActivity.java index 13d57ee..fe9c141 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/chat/BaseChatActivity.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/chat/BaseChatActivity.java @@ -171,8 +171,6 @@ abstract class BaseChatActivity extends RuntimePermissionActivity implements Cha showLoading(); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(mKeyboardListener); - - } private void setupRecyclerView() { @@ -238,7 +236,6 @@ abstract class BaseChatActivity extends RuntimePermissionActivity implements Cha String filePath = file.getPath(); mSelectedFilePath.delete(); - String test = mSelectedFilePath.get(); if (Build.VERSION.SDK_INT >= 19) { final int takeFlags = (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/contacts/ContactsFragment.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/contacts/ContactsFragment.java index 2edad7b..dcd9d38 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/contacts/ContactsFragment.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/contacts/ContactsFragment.java @@ -3,13 +3,16 @@ package de.beyondsoft.ownchat.page.contacts; import de.beyondsoft.ownchat.R; import de.beyondsoft.ownchat.data.AppPrefsConstants; import de.beyondsoft.ownchat.data.events.GroupUpdatedEvent; +import de.beyondsoft.ownchat.data.prefs.BooleanPreference; import de.beyondsoft.ownchat.data.prefs.LongPreference; +import de.beyondsoft.ownchat.data.prefs.StringPreference; import de.beyondsoft.ownchat.di.InjectionHelper; import de.beyondsoft.ownchat.model.Group; import de.beyondsoft.ownchat.model.Message; import de.beyondsoft.ownchat.page.chat.GroupChatActivity; import de.beyondsoft.ownchat.page.chat.SingleChatActivity; import de.beyondsoft.ownchat.page.common.BaseFragment; +import de.beyondsoft.ownchat.page.sharing.SharingActivity; import de.beyondsoft.ownchat.utils.Constants; import de.beyondsoft.ownchat.utils.ui.EmptyLayout; import de.beyondsoft.ownchat.utils.ui.HorizontalDividerItemDecoration; @@ -73,6 +76,14 @@ public class ContactsFragment extends BaseFragment @Named(AppPrefsConstants.USER_ID) LongPreference mUserIdPreference; + @Inject + @Named(AppPrefsConstants.IS_COMING_FROM_SHARING_ACTIVITY) + BooleanPreference mIsComingFromSharingActivity; + + @Inject + @Named(AppPrefsConstants.PATH_TO_FILE_TO_SHARE) + StringPreference mSelectedFilePath; + private Callback mCallback; private ContactsAdapter mContactsAdapter; private RecyclerView.ItemDecoration mHorizontalDividerItemDecoration; @@ -83,6 +94,10 @@ public class ContactsFragment extends BaseFragment public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); + + if(mIsComingFromSharingActivity.get() && mSelectedFilePath.get() != null) { + startActivity(new Intent(getActivity(), SharingActivity.class)); + } } @Override @@ -107,8 +122,7 @@ public class ContactsFragment extends BaseFragment IntentFilter filter = new IntentFilter(Constants.NOTIFICATION_BROADCAST); getActivity().registerReceiver(mReceiver, filter); - mHorizontalDividerItemDecoration = new HorizontalDividerItemDecoration.Builder(getActivity()) - .colorResId(R.color.colorFill).build(); + mHorizontalDividerItemDecoration = new HorizontalDividerItemDecoration.Builder(getActivity()).colorResId(R.color.colorFill).build(); mContactsRecyclerView.addItemDecoration(mHorizontalDividerItemDecoration); mContactsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingActivity.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingActivity.java index d337bc0..b2eab7c 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingActivity.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingActivity.java @@ -1,6 +1,5 @@ package de.beyondsoft.ownchat.page.sharing; -import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; @@ -13,11 +12,8 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; -import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; -import java.io.File; import java.util.ArrayList; import javax.inject.Inject; @@ -34,9 +30,7 @@ import de.beyondsoft.ownchat.di.InjectionHelper; import de.beyondsoft.ownchat.model.Group; import de.beyondsoft.ownchat.page.chat.GroupChatActivity; import de.beyondsoft.ownchat.page.chat.SingleChatActivity; -import de.beyondsoft.ownchat.page.fileconfirmation.FileConfirmationActivity; -import de.beyondsoft.ownchat.utils.Constants; -import de.beyondsoft.ownchat.utils.FileUtils; +import de.beyondsoft.ownchat.page.login.LoginActivity; import de.beyondsoft.ownchat.utils.ui.EmptyLayout; import de.beyondsoft.ownchat.utils.ui.HorizontalDividerItemDecoration; @@ -45,11 +39,13 @@ import de.beyondsoft.ownchat.utils.ui.HorizontalDividerItemDecoration; */ public class SharingActivity extends AppCompatActivity implements SharingView, SharingContactsAdapter.OnOpenClickListener { - private final static int CONFIRM_FILE = 666; - @Inject SharingPresenter mSharingPresenter; + @Inject + @Named(AppPrefsConstants.LOGIN_TOKEN) + StringPreference mLoginTokenPreference; + @Inject @Named(AppPrefsConstants.USER_ID) LongPreference mUserIdPreference; @@ -117,6 +113,11 @@ public class SharingActivity extends AppCompatActivity implements SharingView, S if (fileUri != null) { mSelectedFilePath.set(fileUri.toString()); mIsComingFromSharingActivity.set(true); + + if (!mLoginTokenPreference.isSet()) { + startActivity(new Intent(this, LoginActivity.class)); + finishAffinity(); + } } } @@ -141,35 +142,13 @@ public class SharingActivity extends AppCompatActivity implements SharingView, S @Override public void onOpenGroupMessage(Group group) { startActivity(GroupChatActivity.createIntent(this, group)); + finishAffinity(); } @Override public void onOpenPrivateMessage(Group contact) { startActivity(SingleChatActivity.createIntent(this, contact)); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - if (resultCode != Activity.RESULT_OK) { - return; - } - - if (null == data) { - return; - } - - if(requestCode == CONFIRM_FILE) { - String filePath = data.getStringExtra(Constants.FILE_PATH); - String fileMessageText = data.getStringExtra(Constants.FILE_MESSAGE_TEXT); - - if (!mSharingPresenter.isAttached()) { - mSharingPresenter.attachView(this); - } - - mCallback.sendFile(Uri.fromFile(new File(filePath)), fileMessageText); - } + finishAffinity(); } @Override @@ -191,14 +170,4 @@ public class SharingActivity extends AppCompatActivity implements SharingView, S public void setGroups(ArrayList groups) { mContactsAdapter.setGroups(groups); } - - @Override - public File getFile(Uri fileUri) { - return FileUtils.getFile(this, fileUri); - } - - @Override - public void showToastMessage(@StringRes int message) { - Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); - } } diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingPresenter.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingPresenter.java index 376eb2e..835bb57 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingPresenter.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingPresenter.java @@ -165,11 +165,6 @@ public class SharingPresenter extends MVPAbstractPresenter implemen .subscribe(this::loadGroupsFromDBSuccessful, this::loadGroupsError); } - @Override - public void sendFile(Uri fileUri, String messageText) { - - } - private void loadGroupsFromDBSuccessful(ArrayList groups) { if (!isAttached()) { return; diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingView.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingView.java index 0964019..960d5e1 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingView.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/de/beyondsoft/ownchat/page/sharing/SharingView.java @@ -1,9 +1,7 @@ package de.beyondsoft.ownchat.page.sharing; -import android.net.Uri; import android.support.annotation.StringRes; -import java.io.File; import java.util.ArrayList; import de.beyondsoft.ownchat.model.Group; @@ -24,15 +22,9 @@ public interface SharingView extends MVPView { void showError(@StringRes int message); - File getFile(Uri fileUri); - - void showToastMessage(@StringRes int message); - interface Callback { void loadGroups(); void loadGroupsFromDB(); - - void sendFile(Uri fileUri, String messageText); } }