diff --git a/.gitignore b/.gitignore index fa45aab..fdf3fbe 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /PrototypChat/obj/Debug /PrototypChat/obj/Release /publish +/BeWoPlanerChat/MyTestApplication diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/app-release.apk b/BeWoPlanerChat/bewoplaner-chat-android/app/app-release.apk index a2b02dd..4a47a7f 100644 Binary files a/BeWoPlanerChat/bewoplaner-chat-android/app/app-release.apk and b/BeWoPlanerChat/bewoplaner-chat-android/app/app-release.apk differ diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/AndroidManifest.xml b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/AndroidManifest.xml index e5fc617..5e09e17 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/AndroidManifest.xml +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/AndroidManifest.xml @@ -96,7 +96,6 @@ android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorDefault" /> - diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/BaseChatActivity.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/BaseChatActivity.java index d67c957..cc0a265 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/BaseChatActivity.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/BaseChatActivity.java @@ -10,8 +10,10 @@ import com.p3.bewoplaner.di.InjectionHelper; import com.p3.bewoplaner.model.Group; import com.p3.bewoplaner.model.Message; import com.p3.bewoplaner.page.common.RuntimePermissionActivity; +import com.p3.bewoplaner.page.fileconfirmation.FileConfirmationActivity; import com.p3.bewoplaner.page.login.LoginPresenter; import com.p3.bewoplaner.page.main.LogoutNavigation; +import com.p3.bewoplaner.utils.Constants; import com.p3.bewoplaner.utils.EndlessScrollListener; import com.p3.bewoplaner.utils.FileUtils; import com.p3.bewoplaner.utils.SystemUtils; @@ -320,6 +322,14 @@ abstract class BaseChatActivity extends RuntimePermissionActivity implements Cha // TODO: Show preview for images/gifs and maybe videos + /*Bundle bundle = new Bundle(); + bundle.putString(Constants.FILENAME, uri.toString()); + + Intent intent = new Intent(this, FileConfirmationActivity.class); + intent.putExtras(bundle); + + startActivityForResult(intent, 666);*/ + mCallback.sendFile(uri); } } @@ -364,6 +374,7 @@ abstract class BaseChatActivity extends RuntimePermissionActivity implements Cha if (!mChatPresenter.isAttached()) { mChatPresenter.attachView(this); } + mCallback.resendMessage(message); } diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/ChatPresenter.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/ChatPresenter.java index 279175c..173f5cc 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/ChatPresenter.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/chat/ChatPresenter.java @@ -382,10 +382,12 @@ public class ChatPresenter extends MVPAbstractPresenter implements Cha @Override public void sendFile(Uri fileUri) { File file = getView().getFile(fileUri); + if (file == null || !file.exists()) { getView().showToastMessage(R.string.error_file_not_found); return; } + String[] split = file.getAbsolutePath().split("/"); Message message = new Message(findUniqueRandomId(mRealmProvider, mUserIdPreference.get()), @@ -404,8 +406,7 @@ public class ChatPresenter extends MVPAbstractPresenter implements Cha mUserIdPreference.get(), false); - storeMessageLocally(message) - .subscribe(new Subscriber() { + storeMessageLocally(message).subscribe(new Subscriber() { @Override public void onCompleted() { if (mSystemUtils.isNetworkUnavailable()) { diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/fileconfirmation/FileConfirmationActivity.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/fileconfirmation/FileConfirmationActivity.java index aa81000..804356a 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/fileconfirmation/FileConfirmationActivity.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/page/fileconfirmation/FileConfirmationActivity.java @@ -1,5 +1,8 @@ package com.p3.bewoplaner.page.fileconfirmation; +import android.database.Cursor; +import android.net.Uri; +import android.provider.MediaStore; import android.support.annotation.Nullable; import android.support.annotation.StringRes; import android.support.v7.app.AppCompatActivity; @@ -9,10 +12,15 @@ import android.widget.ImageView; import com.p3.bewoplaner.R; import com.p3.bewoplaner.di.InjectionHelper; +import com.p3.bewoplaner.utils.Constants; +import com.p3.bewoplaner.utils.FileUtils; + +import java.io.File; import javax.inject.Inject; import butterknife.BindView; +import butterknife.ButterKnife; import hani.momanii.supernova_emoji_library.Helper.EmojiconEditText; public class FileConfirmationActivity extends AppCompatActivity implements FileConfirmationView { @@ -39,6 +47,38 @@ public class FileConfirmationActivity extends AppCompatActivity implements FileC protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_file_confirmation); + + InjectionHelper.getFileConfirmationComponent(this).inject(this); + ButterKnife.bind(this); + mFileConfirmationPresenter.attachView(this); + + String fileUri = getIntent().getStringExtra(Constants.FILENAME); + + File file = getFile(Uri.parse(fileUri)); + String absolutePath = file.getAbsolutePath(); + + String html = ""; + try { + mFileWebView.loadDataWithBaseURL("", html, "text/html", "utf-8", null); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private String getPath(Uri uri) { + String[] projection = {MediaStore.Images.Media.DATA}; + Cursor cursor = getContentResolver().query(uri, projection, null, null, null); + + if(cursor == null) { + return null; + } + + int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); + cursor.moveToFirst(); + String path = cursor.getString(columnIndex); + cursor.close(); + + return path; } @Override @@ -77,4 +117,8 @@ public class FileConfirmationActivity extends AppCompatActivity implements FileC public void showError(String message) { } + + public File getFile(Uri fileUri) { + return FileUtils.getFile(this, fileUri); + } } diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/Constants.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/Constants.java index 4d94864..6fa0ad5 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/Constants.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/Constants.java @@ -5,7 +5,6 @@ package com.p3.bewoplaner.utils; */ public interface Constants { String BEWOPLANER_ENDPOINT = "https://www.p3ds.net/bewoplaner/public/"; - String VOUCHER_ENDPOINT = "https://bewoplaner.beyondsoft.de/"; int DISK_CACHE_SIZE = 10 * 1024; String GROUP_NR_USERS = "group_nb_users"; String GROUP_ID = "groupid"; diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/FileUtils.java b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/FileUtils.java index 8df4df1..4638c7a 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/FileUtils.java +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/java/com/p3/bewoplaner/utils/FileUtils.java @@ -560,7 +560,7 @@ public class FileUtils { } else { extension = "*/*"; } + return extension; } - } \ No newline at end of file diff --git a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/res/layout/activity_file_confirmation.xml b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/res/layout/activity_file_confirmation.xml index 91fc697..85ebafb 100644 --- a/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/res/layout/activity_file_confirmation.xml +++ b/BeWoPlanerChat/bewoplaner-chat-android/app/src/main/res/layout/activity_file_confirmation.xml @@ -10,7 +10,7 @@ + android:layout_height="match_parent"> @@ -18,6 +18,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" + android:background="@color/colorPrimary" app:layout_behavior="com.p3.bewoplaner.utils.ui.LinearLayoutBehavior"> - - - - - #FFFFFF + #ffffff #E0E0E0 #FFFFFF #F3F3F3