diff --git a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MyProfilePresenter.java b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MyProfilePresenter.java index a5508a5b03b1b213897db5264458ec556de63ce7..f5602edc58b31c6b0ebad940e4615c2533b73c16 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MyProfilePresenter.java +++ b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MyProfilePresenter.java @@ -16,6 +16,7 @@ import com.nynja.mobile.communicator.ui.fragments.chats.ScheduledMessagesFragmen import com.nynja.mobile.communicator.ui.fragments.chats.StarredMessagesFragment; import com.nynja.mobile.communicator.ui.fragments.contacts.HistoryFragment; import com.nynja.mobile.communicator.ui.fragments.profile.MyBalanceFragment; +import com.nynja.mobile.communicator.ui.fragments.profile.MyProfileFragment; import com.nynja.mobile.communicator.ui.fragments.profile.UserProfileFragment; import com.nynja.mobile.communicator.utils.StringUtils; @@ -240,6 +241,10 @@ public class MyProfilePresenter extends BasePresenter { mRouter.replaceScreen(ChatFragment.class.getSimpleName(), fto); } + public void navigateToProfile() { + mRouter.replaceScreen(MyProfileFragment.class.getSimpleName()); + } + private void openHistoryList() { mRouter.replaceScreen(HistoryFragment.class.getSimpleName()); } diff --git a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/QrCodeGeneratorPresenter.java b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/QrCodeGeneratorPresenter.java index 9b7e2ac4ae44dbf922dee36d21e917b40a65dc4a..45ae7bb83be00336ba680cf13c80da28e86acb1e 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/QrCodeGeneratorPresenter.java +++ b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/QrCodeGeneratorPresenter.java @@ -2,6 +2,7 @@ package com.nynja.mobile.communicator.mvp.presenters; import com.arellomobile.mvp.InjectViewState; import com.nynja.mobile.communicator.mvp.view.QrCodeGeneratorView; +import com.nynja.mobile.communicator.ui.fragments.profile.MyProfileFragment; /** * Created by dmitro.boiko on 09/08/2017. diff --git a/app/src/main/java/com/nynja/mobile/communicator/mvp/view/QrCodeGeneratorView.java b/app/src/main/java/com/nynja/mobile/communicator/mvp/view/QrCodeGeneratorView.java index 7527a933154972b2f2d8f40126139be802e09f90..1af9e2f7f7ff1c4730259e4b160e0665098f88ab 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/mvp/view/QrCodeGeneratorView.java +++ b/app/src/main/java/com/nynja/mobile/communicator/mvp/view/QrCodeGeneratorView.java @@ -9,4 +9,6 @@ import com.nynja.mobile.communicator.data.models.mqtt.Profile; public interface QrCodeGeneratorView extends BaseMvpView { void setProfile(Profile profile); + + void navigateToQRReader(); } diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeGeneratorActivity.java b/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeGeneratorActivity.java index 17c938add0270e9e588bc1ea0e8b88a339358b99..09adf8ba9caa37cfcb7f063388d378acecc387a0 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeGeneratorActivity.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeGeneratorActivity.java @@ -1,5 +1,6 @@ package com.nynja.mobile.communicator.ui.activities; +import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; @@ -8,11 +9,16 @@ import android.widget.ImageView; import com.arellomobile.mvp.presenter.InjectPresenter; import com.google.zxing.WriterException; +import com.nynja.mobile.communicator.NynjaApp; import com.nynja.mobile.communicator.R; +import com.nynja.mobile.communicator.data.FragmentTransferObject; +import com.nynja.mobile.communicator.data.models.mqtt.Contact; import com.nynja.mobile.communicator.data.models.mqtt.Profile; import com.nynja.mobile.communicator.mvp.presenters.QrCodeGeneratorPresenter; import com.nynja.mobile.communicator.mvp.view.QrCodeGeneratorView; import com.nynja.mobile.communicator.ui.base.BaseActivity; +import com.nynja.mobile.communicator.ui.fragments.profile.MyProfileFragment; +import com.nynja.mobile.communicator.ui.fragments.profile.UserProfileFragment; import com.nynja.mobile.communicator.utils.ZxingEncoder; import butterknife.BindView; @@ -25,6 +31,8 @@ import timber.log.Timber; public class QRCodeGeneratorActivity extends BaseActivity implements QrCodeGeneratorView { + private static final int QR_SCAN_REQUEST_CODE = 0x43; + @BindView(R.id.qr_code_qrcodegeneratoractivity) ImageView qrCode; @InjectPresenter QrCodeGeneratorPresenter mQrCodeGeneratorPresenter; @@ -39,11 +47,16 @@ public class QRCodeGeneratorActivity extends BaseActivity implements QrCodeGener mQrCodeGeneratorPresenter.getProfile(); } - @OnClick(android.R.id.content) - public void onContentClick() { + @OnClick(R.id.close_btn) + public void onCloseClick() { finish(); } + @OnClick(R.id.scan_qr_code_btn) + public void onScanClick() { + navigateToQRReader(); + } + @Override public void setProfile(Profile profile) { try { //// FIXME: 21/07/2017 implement logic for qr code @@ -54,4 +67,27 @@ public class QRCodeGeneratorActivity extends BaseActivity implements QrCodeGener Timber.e(e); } } + + @Override + public void navigateToQRReader() { + startActivityForResult(QRCodeReaderActivity. + getLaunchIntent(this), QR_SCAN_REQUEST_CODE); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == Activity.RESULT_OK) { + switch (requestCode) { + case QR_SCAN_REQUEST_CODE: + finish(); + break; + } + } + } + + @Override + public void onPointerCaptureChanged(boolean hasCapture) { + + } } diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeReaderActivity.java b/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeReaderActivity.java index 848358b3905cca95987134d94f6194371c17acaf..30cfe39f1b05050ec9b62b9ced674ee5a6432ecc 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeReaderActivity.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/activities/QRCodeReaderActivity.java @@ -13,8 +13,6 @@ import com.nynja.mobile.communicator.ui.base.BaseActivity; import com.nynja.mobile.communicator.utils.DialogFactory; import com.nynja.mobile.communicator.utils.ZXingScannerView; -import butterknife.OnClick; - /** * Created by dmitro.boiko on 27/06/2017. @@ -48,12 +46,6 @@ public class QRCodeReaderActivity extends BaseActivity implements ZXingScannerVi mScannerView.stopCamera(); } - - @OnClick(android.R.id.content) public void onContentClick() { - setResult(RESULT_CANCELED); - finish(); - } - @Override public void userNotFound() { DialogFactory.createDialog(this, getString(R.string.error_user_not_found), (dialog, which) -> { @@ -66,14 +58,10 @@ public class QRCodeReaderActivity extends BaseActivity implements ZXingScannerVi } @Override public void showInternetError() { - } @Override public void handleResult(Result rawResult) { + setResult(RESULT_OK, null); mQRCodeReaderPresenter.getContactByPhoneNumber(rawResult.getText()); } - - @Override public void onPointerCaptureChanged(boolean hasCapture) { - - } } diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/profile/MyProfileFragment.java b/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/profile/MyProfileFragment.java index 7467cee19288af12e8446461eab338f59ba9df7d..af875a6a5e5b2281ae919b3ed1a8057117d9a44c 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/profile/MyProfileFragment.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/profile/MyProfileFragment.java @@ -58,6 +58,7 @@ public class MyProfileFragment extends BaseFragment implements MyProfileView, private static final int IMAGE_REQUEST_CODE = 42; private static final int GALLERY_REQUEST_CODE = 43; + private static final int QR_CODE_REQUEST_CODE = 44; @BindView(R.id.f_my_profile_rv) RecyclerView mRecyclerView; @@ -107,7 +108,7 @@ public class MyProfileFragment extends BaseFragment implements MyProfileView, @Override public void navigateToQqCode(Profile profile) { - startActivity(QRCodeGeneratorActivity.getLaunchIntent(getContext())); + startActivityForResult(QRCodeGeneratorActivity.getLaunchIntent(getContext()), QR_CODE_REQUEST_CODE); } @Override @@ -157,6 +158,8 @@ public class MyProfileFragment extends BaseFragment implements MyProfileView, CropImage.ActivityResult result = CropImage.getActivityResult(data); Uri resultUri = result.getUri(); setUserAvatar(new File(resultUri.getPath())); + } else if (requestCode == QR_CODE_REQUEST_CODE && data != null) { + mPresenter.navigateToProfile(); } } diff --git a/app/src/main/res/layout/activity_qr_code_generator.xml b/app/src/main/res/layout/activity_qr_code_generator.xml index d9120ca701a8c8e681c4585bc73bcca13eabb19a..5f0f523d0146e24afaf5c8abfd3f8123b53d7a47 100644 --- a/app/src/main/res/layout/activity_qr_code_generator.xml +++ b/app/src/main/res/layout/activity_qr_code_generator.xml @@ -1,5 +1,5 @@ - + + + + + + - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 199d4af516b25c81429cdf119724ade3adbc873c..820d2024f59426c3bd1c16d72d502f252a5712fb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -34,6 +34,7 @@ "It is not working now :-(" + Scan QR Code Camera @@ -105,6 +106,7 @@ Name Username Phone \nNumber + my qr code