Sharing is now fully implemented
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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()));
|
||||
|
||||
|
||||
@@ -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<Group> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,11 +165,6 @@ public class SharingPresenter extends MVPAbstractPresenter<SharingView> implemen
|
||||
.subscribe(this::loadGroupsFromDBSuccessful, this::loadGroupsError);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendFile(Uri fileUri, String messageText) {
|
||||
|
||||
}
|
||||
|
||||
private void loadGroupsFromDBSuccessful(ArrayList<Group> groups) {
|
||||
if (!isAttached()) {
|
||||
return;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user