InviteMemberInputActivity.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package kr.co.icontrols.iotplatform;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. import org.json.JSONException;
  10. import org.json.JSONObject;
  11. import java.io.IOException;
  12. import kr.co.icontrols.iotplatform.utils.HttpApi;
  13. import kr.co.icontrols.iotplatform.utils.SharedPrefUtil;
  14. import okhttp3.Call;
  15. import okhttp3.Callback;
  16. import okhttp3.Response;
  17. import static kr.co.icontrols.iotplatform.PopupActivity.DEFAULT_POPUP_TIMEOUT;
  18. import static kr.co.icontrols.iotplatform.utils.CommonUtils.DismissConnectDialog;
  19. import static kr.co.icontrols.iotplatform.utils.CommonUtils.ErrorLogOutput;
  20. import static kr.co.icontrols.iotplatform.utils.CommonUtils.ForceDismissConnectDialog;
  21. import static kr.co.icontrols.iotplatform.utils.CommonUtils.WarnLogOutput;
  22. import static kr.co.icontrols.iotplatform.utils.CommonUtils.displayProgress;
  23. import static kr.co.icontrols.iotplatform.utils.CommonUtils.showNotiMsg;
  24. import static kr.co.icontrols.iotplatform.utils.Constants.RESULT_CONFIRM_SEND_INVITE_MSG;
  25. import static kr.co.icontrols.iotplatform.utils.Constants.RESULT_INIT_APP_CONFIRM;
  26. import static kr.co.icontrols.iotplatform.utils.Constants.RESULT_LOGOUT_SUCCESS;
  27. import static kr.co.icontrols.iotplatform.utils.HttpApi.HTTP_NO_CONTENT;
  28. public class InviteMemberInputActivity extends AppCompatActivity implements View.OnClickListener {
  29. private final String TAG = "InviteMemberInputActivity";
  30. private String mMode;
  31. private String mValue = "";
  32. @Override
  33. protected void onCreate(Bundle savedInstanceState) {
  34. super.onCreate(savedInstanceState);
  35. setContentView(R.layout.activity_invite_member_input);
  36. Intent intent = getIntent();
  37. mMode = intent.getStringExtra("MODE");
  38. if(mMode.equals("email")) {
  39. ((TextView) findViewById(R.id.txtSubscription1)).setText(getString(R.string.activity_invite_member_input_text_email));
  40. ((EditText)findViewById(R.id.txtInput)).setHint("abcde@abcde.com");
  41. } else if(mMode.equals("phone")) {
  42. ((TextView) findViewById(R.id.txtSubscription1)).setText(getString(R.string.activity_invite_member_input_text_phone));
  43. ((EditText)findViewById(R.id.txtInput)).setHint("01012341234");
  44. } else {
  45. finish();
  46. }
  47. }
  48. @Override
  49. protected void onPause() {
  50. ForceDismissConnectDialog();
  51. super.onPause();
  52. }
  53. @Override
  54. public void onClick(View v) {
  55. /*
  56. final View fv = v;
  57. fv.setEnabled(false);
  58. Timer buttonTimer = new Timer();
  59. buttonTimer.schedule(new TimerTask() {
  60. @Override
  61. public void run() {
  62. runOnUiThread(new Runnable() {
  63. @Override
  64. public void run() {
  65. try {
  66. fv.setEnabled(true);
  67. } catch (Exception e) {
  68. e.printStackTrace();
  69. } finally {
  70. }
  71. }
  72. });
  73. }
  74. }, 500);
  75. */
  76. switch (v.getId()) {
  77. case R.id.btnBack:
  78. onBackPressed();
  79. break;
  80. case R.id.btnRight:
  81. mValue = ((EditText)findViewById(R.id.txtInput)).getText().toString();
  82. //TODO - 유효성 검사 필요함.
  83. if(mValue.length()==0) {
  84. Intent intent = new Intent(this, PopupActivity.class);
  85. intent.putExtra(PopupActivity.POPUP_MODE, PopupActivity.MODE_NORMAL);
  86. if(mMode.equals("email")) {
  87. intent.putExtra(PopupActivity.POPUP_TITLE_TEXT, getString(R.string.popup_input_email));
  88. } else {
  89. intent.putExtra(PopupActivity.POPUP_TITLE_TEXT, getString(R.string.popup_input_phone_number));
  90. }
  91. startActivity(intent);
  92. } else {
  93. Intent intent = new Intent(this, PopupActivity.class);
  94. intent.putExtra(PopupActivity.POPUP_MODE, PopupActivity.MODE_YESNO);
  95. if(mMode.equals("email")) {
  96. intent.putExtra(PopupActivity.POPUP_TITLE_TEXT, getString(R.string.popup_confirm_send_invite_email));
  97. } else {
  98. intent.putExtra(PopupActivity.POPUP_TITLE_TEXT, getString(R.string.popup_confirm_send_invite_sms));
  99. }
  100. startActivityForResult(intent, RESULT_CONFIRM_SEND_INVITE_MSG);
  101. }
  102. break;
  103. }
  104. }
  105. @Override
  106. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  107. super.onActivityResult(requestCode, resultCode, data);
  108. switch (requestCode) {
  109. case RESULT_CONFIRM_SEND_INVITE_MSG:
  110. if (resultCode == Activity.RESULT_OK) {
  111. try {
  112. displayProgress(this,"","");
  113. if(mMode.equals("email")) {
  114. HttpApi.inviteGuestForMaster(true, mValue, mInviteGuestCallback);
  115. } else {
  116. HttpApi.inviteGuestForMaster(false, mValue, mInviteGuestCallback);
  117. }
  118. } catch (Exception e) {
  119. e.printStackTrace();
  120. ErrorLogOutput(TAG, "HttpApi.inviteGuestForMaster(Exception)\n" + e.toString());
  121. showNotiMsg(InviteMemberInputActivity.this, "맴버 초대를 실패하였습니다.");
  122. DismissConnectDialog();
  123. }
  124. }
  125. break;
  126. }
  127. }
  128. Callback mInviteGuestCallback = new Callback() {
  129. @Override
  130. public void onFailure(Call call, IOException e) {
  131. e.printStackTrace();
  132. ErrorLogOutput(TAG, "HttpApi.inviteGuestForMaster(onFailure)\n" + e.toString());
  133. DismissConnectDialog();
  134. }
  135. @Override
  136. public void onResponse(Call call, Response response) throws IOException {
  137. if(response.code() == HTTP_NO_CONTENT) {
  138. WarnLogOutput(TAG, "HttpApi.inviteGuestForMaster(onResponse) Status code : " + response.code());
  139. String msg = "";
  140. if(mMode.equals("email")) {
  141. msg = "초대 이메일이 발송되었습니다";
  142. } else {
  143. msg = "초대 문자가 발송되었습니다";
  144. }
  145. showNotiMsg(InviteMemberInputActivity.this,msg,AdminMemberActivity.class,Intent.FLAG_ACTIVITY_CLEAR_TOP);
  146. DismissConnectDialog();
  147. } else {
  148. ErrorLogOutput(TAG, "HttpApi.inviteGuestForMaster(onResponse) Error code : " + response.code() + "\nresponse : " + response.toString());
  149. showNotiMsg(InviteMemberInputActivity.this, "맴버 초대를 실패하였습니다.");
  150. DismissConnectDialog();
  151. try {
  152. JSONObject json_data = new JSONObject(response.body().string());
  153. ErrorLogOutput(TAG, "HttpApi.inviteGuestForMaster(onResponse) body : " + json_data.toString());
  154. } catch (JSONException e) {
  155. ErrorLogOutput(TAG, "HttpApi.inviteGuestForMaster(onResponse) JSONException : " + e.toString());
  156. }
  157. }
  158. }
  159. };
  160. }