CallFragment: add MVP model
Refactor CallFragment by adding MVP model, moving video management from
RingApplication to HardwareServiceImpl and removing use of
VideoCallbackManager
Change-Id: Ie75a0d33fa138590911d19d113df362ade29b9f4
Reviewed-by: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Tuleap: #1360
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java
index 2d299f8..48b2878 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java
@@ -47,6 +47,7 @@
import cx.ring.model.Phone;
import cx.ring.model.Uri;
import cx.ring.mvp.BaseFragment;
+import cx.ring.services.NotificationService;
import cx.ring.utils.ActionHelper;
import cx.ring.utils.BitmapUtils;
import cx.ring.utils.ClipboardHelper;
@@ -64,12 +65,13 @@
ContactDetailsTask.DetailsLoadedCallback,
ConversationView {
+ public static final int REQ_ADD_CONTACT = 42;
+ public static final String KEY_CONVERSATION_ID = "CONVERSATION_ID";
+
private static final String TAG = ConversationFragment.class.getSimpleName();
private static final String CONVERSATION_DELETE = "CONVERSATION_DELETE";
private static final int MIN_SIZE_TABLET = 960;
- public static final int REQ_ADD_CONTACT = 42;
-
@Inject
protected ConversationPresenter conversationPresenter;
@@ -77,7 +79,7 @@
protected EditText mMsgEditTxt;
@BindView(R.id.ongoingcall_pane)
- protected ViewGroup mBottomPane;
+ protected ViewGroup mTopPane;
@BindView(R.id.hist_list)
protected RecyclerView mHistList;
@@ -140,8 +142,8 @@
// Dependency injection
((RingApplication) getActivity().getApplication()).getRingInjectionComponent().inject(this);
- if (mBottomPane != null) {
- mBottomPane.setVisibility(View.GONE);
+ if (mTopPane != null) {
+ mTopPane.setVisibility(View.GONE);
}
LinearLayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
@@ -341,8 +343,8 @@
@Override
protected void initPresenter(ConversationPresenter presenter) {
super.initPresenter(presenter);
- String conversationId = getArguments().getString("conversationID");
- Uri number = new Uri(getArguments().getString("number"));
+ String conversationId = getArguments().getString(KEY_CONVERSATION_ID);
+ Uri number = new Uri(getArguments().getString(CallFragment.KEY_NUMBER));
conversationPresenter.init(conversationId, number);
}
@@ -386,7 +388,7 @@
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
- mBottomPane.setVisibility(display ? View.GONE : View.VISIBLE);
+ mTopPane.setVisibility(display ? View.GONE : View.VISIBLE);
}
});
}
@@ -478,7 +480,7 @@
public void goToCallActivity(String conferenceId) {
startActivity(new Intent(Intent.ACTION_VIEW)
.setClass(getActivity().getApplicationContext(), CallActivity.class)
- .setData(android.net.Uri.withAppendedPath(ContentUriHandler.CONFERENCE_CONTENT_URI, conferenceId)));
+ .putExtra(NotificationService.KEY_CALL_ID, conferenceId));
}
@Override