diff --git a/src/android/org/linphone/assistant/AssistantActivity.java b/src/android/org/linphone/assistant/AssistantActivity.java index c2fbeccb6..5ea955f1d 100644 --- a/src/android/org/linphone/assistant/AssistantActivity.java +++ b/src/android/org/linphone/assistant/AssistantActivity.java @@ -193,16 +193,6 @@ private static AssistantActivity instance; } } } - - @Override - public void onQrcodeFound(Core lc, String result) { - AlertDialog.Builder builder = new AlertDialog.Builder(AssistantActivity.instance()); - builder.setMessage("QRCODE found: " + result); - builder.setCancelable(false); - builder.setNeutralButton(getString(R.string.ok), null); - builder.show(); - } - }; instance = this; } @@ -322,7 +312,7 @@ private static AssistantActivity instance; displayCreateAccount(); } } else if (currentFragment == AssistantFragmentsEnum.QRCODE_READER) { - displayRemoteProvisioning(); + displayRemoteProvisioning(""); } } @@ -515,8 +505,11 @@ private static AssistantActivity instance; back.setVisibility(View.VISIBLE); } - public void displayRemoteProvisioning() { + public void displayRemoteProvisioning(String url) { fragment = new RemoteProvisioningFragment(); + Bundle extra = new Bundle(); + extra.putString("RemoteUrl", url); + fragment.setArguments(extra); changeFragment(fragment); currentFragment = AssistantFragmentsEnum.REMOTE_PROVISIONING; back.setVisibility(View.VISIBLE); diff --git a/src/android/org/linphone/assistant/QrcodeFragment.java b/src/android/org/linphone/assistant/QrcodeFragment.java index 766eb023e..140287d05 100644 --- a/src/android/org/linphone/assistant/QrcodeFragment.java +++ b/src/android/org/linphone/assistant/QrcodeFragment.java @@ -20,19 +20,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import android.app.Fragment; -import android.opengl.GLSurfaceView; import android.os.Bundle; import android.view.LayoutInflater; import android.view.SurfaceView; import android.view.View; import android.view.ViewGroup; + import org.linphone.LinphoneManager; import org.linphone.R; +import org.linphone.core.Core; +import org.linphone.core.CoreListenerStub; import org.linphone.mediastream.video.AndroidVideoWindowImpl; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; public class QrcodeFragment extends Fragment { private SurfaceView mQrcodeView; + private CoreListenerStub mListener; private AndroidVideoWindowImpl androidVideoWindowImpl; @Override @@ -42,12 +45,26 @@ public class QrcodeFragment extends Fragment { mQrcodeView = (SurfaceView) view.findViewById(R.id.qrcodeCaptureSurface); + mListener = new CoreListenerStub() { + @Override + public void onQrcodeFound(Core lc, String result) { + enableQrcodeReader(false); + AssistantActivity.instance().displayRemoteProvisioning(result); + } + + }; + return view; } private void enableQrcodeReader(boolean enable) { LinphoneManager.getLc().enableQrcodeVideoPreview(enable); LinphoneManager.getLc().enableVideoPreview(enable); + if (enable) { + LinphoneManager.getLc().addListener(mListener); + } else { + LinphoneManager.getLc().removeListener(mListener); + } } private void setBackCamera(boolean useBackCamera) { @@ -84,7 +101,6 @@ public class QrcodeFragment extends Fragment { }); enableQrcodeReader(true); - //LinphoneManager.getLc().setQrcodeDecodeRect(500,220,280,280); } @Override diff --git a/src/android/org/linphone/assistant/RemoteProvisioningFragment.java b/src/android/org/linphone/assistant/RemoteProvisioningFragment.java index db8288155..9f8e012ef 100644 --- a/src/android/org/linphone/assistant/RemoteProvisioningFragment.java +++ b/src/android/org/linphone/assistant/RemoteProvisioningFragment.java @@ -53,6 +53,10 @@ public class RemoteProvisioningFragment extends Fragment implements OnClickListe apply.setEnabled(false); apply.setOnClickListener(this); + if (!getArguments().getString("RemoteUrl").isEmpty()) { + remoteProvisioningUrl.setText(getArguments().getString("RemoteUrl")); + } + return view; } diff --git a/src/android/org/linphone/assistant/WelcomeFragment.java b/src/android/org/linphone/assistant/WelcomeFragment.java index 2dc7ca5cc..d95598285 100644 --- a/src/android/org/linphone/assistant/WelcomeFragment.java +++ b/src/android/org/linphone/assistant/WelcomeFragment.java @@ -72,7 +72,7 @@ public class WelcomeFragment extends Fragment implements OnClickListener { } else if (id == R.id.create_account) { AssistantActivity.instance().displayCreateAccount(); } else if (id == R.id.remote_provisioning) { - AssistantActivity.instance().displayRemoteProvisioning(); + AssistantActivity.instance().displayRemoteProvisioning(""); } } }