Guest User

Untitled

a guest
Nov 11th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.95 KB | None | 0 0
  1. public class SignUpActivity extends AppCompatActivity implements View.OnClickListener {
  2. private EditText mPassword;
  3. private EditText mPassword2;
  4. private String password;
  5.  
  6.  
  7. private CountryCodePicker ccp;
  8.  
  9. private ProgressDialog pDialog;
  10. private ProgressBar progressBar;
  11.  
  12.  
  13. LoginServices loginService;
  14. @Override
  15. protected void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.sign_up_activity);
  18.  
  19.  
  20.  
  21.  
  22. findViewById(R.id.sign_up_button).setOnClickListener(this);
  23.  
  24. mPassword = findViewById(R.id.password);
  25. mPassword2 = findViewById(R.id.password2);
  26.  
  27. progressBar = findViewById(R.id.login_progress);
  28.  
  29. loginService = ServiceGenerator.createService(LoginServices.class,
  30. getApplication(), USER_BASE_URL);
  31.  
  32.  
  33. ccp = findViewById(R.id.ccp);
  34. EditText mUsername = findViewById(R.id.username);
  35. ccp.registerCarrierNumberEditText(mUsername);
  36.  
  37.  
  38. }
  39.  
  40. private boolean validateForm() {
  41.  
  42. boolean valid = true;
  43. View focusView = null;
  44.  
  45. password = mPassword.getText().toString();
  46. // String conPassword = mConfirmPasswordView.getText().toString();
  47. if (!TextUtils.isEmpty(password) && !isPasswordValid(password)) {
  48. mPassword.setError(getString(R.string.error_invalid_password));
  49. focusView = mPassword;
  50. valid = false;
  51. } else {
  52. mPassword.setError(null);
  53. }
  54.  
  55. if (!valid) {
  56. // There was an error; don't attempt login and focus the first
  57. // form field with an error.
  58. focusView.requestFocus();
  59. }
  60. return valid;
  61. }
  62.  
  63. private boolean isPasswordValid(String password) {
  64. String password2 = mPassword2.getText().toString();
  65. // Add regex for at least 8 characters including lower case, upper case, digit and special character
  66. return password.equals(password2) && password.length() >= 6;
  67. }
  68.  
  69.  
  70. private void submitUserDetails( String email, String password){
  71.  
  72. startUi();
  73.  
  74. Call<Message> call = loginService.createUser(email, password);
  75.  
  76. call.enqueue(new Callback<Message>() {
  77. @Override
  78. public void onResponse(Call<Message> call, Response<Message> response) {
  79. if (response.isSuccessful()){
  80. // hidepDialog();
  81. stopUi();
  82. if (response.body() != null){
  83. Message message = response.body();
  84. String regMessage = message.getEmail();
  85. Log.d("GET INFORMATION: ", call.toString());
  86. Log.d("GET MESSAGE: ", message.toString());
  87.  
  88. Toast.makeText(getApplicationContext(), regMessage + "registered successfully", Toast.LENGTH_SHORT)
  89. .show();
  90. Intent intent = new Intent(SignUpActivity.this, LoginActivity.class);
  91. startActivity(intent);
  92. finish();
  93.  
  94. }
  95. }else {
  96. // hidepDialog();
  97. stopUi();
  98. Toast.makeText(getApplicationContext(), "error signup user", Toast.LENGTH_SHORT)
  99. .show();
  100. }
  101. }
  102.  
  103. @Override
  104. public void onFailure(Call<Message> call, Throwable t) {
  105.  
  106. stopUi();
  107. Toast.makeText(getApplicationContext(), "error registering user "
  108. + t.getMessage(), Toast.LENGTH_SHORT)
  109. .show();
  110. }
  111. });
  112. }
  113.  
  114.  
  115.  
  116.  
  117. private void startUi(){
  118. progressBar.setVisibility(View.VISIBLE);
  119. }
  120. private void stopUi(){
  121. progressBar.setVisibility(View.INVISIBLE);
  122. }
  123.  
  124. @Override
  125. public void onClick(View view) {
  126. int id = view.getId();
  127. if (id == R.id.sign_up_button)
  128. if (validateForm()) {
  129. submitUserDetails(ccp.getDefaultCountryCodeWithPlus(), password);
  130. }
  131. }
  132. }
  133.  
  134. public interface LoginServices {
  135.  
  136. @FormUrlEncoded
  137. @POST(Routes.CREATE_USER)
  138. Call<Message> createUser(@Field("email") String email, @Field("password") String password);
  139.  
  140. @FormUrlEncoded
  141. @POST(Routes.USER_LOGIN)
  142. Call<LoginUser> userLogin(@Field("email") String email, @Field("password") String password);
  143.  
  144. public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
  145.  
  146. private ProgressDialog pDialog;
  147. private ProgressBar progressBar;
  148.  
  149. private EditText mEtUsername, mEtPassword;
  150. private String username, password;
  151.  
  152. LoginServices loginService;
  153. @Override
  154. protected void onCreate(Bundle savedInstanceState) {
  155. super.onCreate(savedInstanceState);
  156. setContentView(R.layout.login_activity);
  157.  
  158.  
  159. progressBar = findViewById(R.id.login_progress);
  160.  
  161. mEtUsername = findViewById(R.id.et_login_username);
  162. mEtPassword = findViewById(R.id.et_login_password);
  163.  
  164. findViewById(R.id.btn_login).setOnClickListener(this);
  165. findViewById(R.id.btn_login_register).setOnClickListener(this);
  166.  
  167. loginService = ServiceGenerator.createService(LoginServices.class, getApplication(), USER_BASE_URL);
  168.  
  169. }
  170.  
  171. private boolean validateForm() {
  172.  
  173. boolean valid = true;
  174. View focusView = null;
  175.  
  176. username = mEtUsername.getText().toString();
  177. password = mEtPassword.getText().toString();
  178. if (!TextUtils.isEmpty(password) && !isPasswordValid(password)) {
  179. mEtPassword.setError(getString(R.string.error_invalid_password));
  180. focusView = mEtPassword;
  181. valid = false;
  182. } else {
  183. mEtPassword.setError(null);
  184. }
  185.  
  186. // Check for a valid phone number
  187.  
  188. if (TextUtils.isEmpty(username)) {
  189. mEtUsername.setError("phone number is empty");
  190. focusView = mEtUsername;
  191. valid = false;
  192. } else {
  193. mEtUsername.setError(null);
  194. }
  195. if (!valid) {
  196. // There was an error; don't attempt login and focus the first
  197. // form field with an error.
  198. focusView.requestFocus();
  199. }
  200. return valid;
  201. }
  202.  
  203. private boolean isPasswordValid(String password) {
  204. // Add regex for at least 8 characters including lower case, upper case, digit and special character
  205. return password.length() >= 6;
  206. }
  207.  
  208. private void login(String email, final String password){
  209.  
  210. startUi();
  211.  
  212. Call<LoginUser> call = loginService.userLogin(email, password);
  213.  
  214. call.enqueue(new Callback<LoginUser>() {
  215. @Override
  216. public void onResponse(Call<LoginUser> call, Response<LoginUser> response) {
  217. if (response.isSuccessful()){
  218.  
  219. stopUi();
  220.  
  221. if (response.body() != null){
  222. LoginUser message = response.body();
  223.  
  224. String email = message.getEmail();
  225. String password1 = message.getPassword();
  226.  
  227. if (password.equals(password1)){
  228. PrefManager.saveEmail(email, getApplicationContext());
  229. PrefManager.saveUsername(username, getApplicationContext());
  230.  
  231. Toast.makeText(getApplicationContext(), "user authenticated successfully "
  232. + email, Toast.LENGTH_SHORT)
  233. .show();
  234. Intent intent = new Intent(LoginActivity.this, MainActivity.class);
  235. startActivity(intent);
  236. finish();
  237. }else{
  238. Toast.makeText(getApplicationContext(), "Invalid username or password "
  239. + email, Toast.LENGTH_SHORT)
  240. .show();
  241. }
  242.  
  243. }
  244. }else {
  245.  
  246. stopUi();
  247.  
  248. Toast.makeText(getApplicationContext(), "error login user", Toast.LENGTH_SHORT)
  249. .show();
  250. }
  251. }
  252.  
  253. @Override
  254. public void onFailure(Call<LoginUser> call, Throwable t) {
  255.  
  256. stopUi();
  257.  
  258. Toast.makeText(getApplicationContext(), "error registering user " + t.getMessage(), Toast.LENGTH_SHORT)
  259. .show();
  260. }
  261. });
  262. }
  263.  
  264. @Override
  265. public void onClick(View view) {
  266.  
  267. switch (view.getId()){
  268. case R.id.btn_login:
  269. if (validateForm()){
  270. login(username, password);
  271. }
  272. break;
  273. case R.id.btn_login_register:
  274. startActivity(new Intent(LoginActivity.this,
  275. SignUpActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
  276. break;
  277. }
  278. }
  279. private void startUi(){
  280. progressBar.setVisibility(View.VISIBLE);
  281. }
  282. private void stopUi(){
  283. progressBar.setVisibility(View.INVISIBLE);
  284. }
  285.  
  286. public class ServiceGenerator {
  287. public static <S> S createService(Class<S> serviceClass, Context context, String baseUrl) {
  288. baseUrl = baseUrl.endsWith("/") ? baseUrl : baseUrl + "/";
  289. String token = "";
  290. Gson gson = new GsonBuilder()
  291. .enableComplexMapKeySerialization()
  292. .serializeNulls()
  293. .setDateFormat(DateFormat.LONG)
  294. .setPrettyPrinting()
  295. .setVersion(1.0)
  296. .create();
  297.  
  298. Retrofit.Builder builder = new Retrofit.Builder()
  299. .addConverterFactory(GsonConverterFactory.create(gson))
  300. .baseUrl(baseUrl);
  301.  
  302. OkHttpClient.Builder httpClient = new OkHttpClient.Builder()
  303. .readTimeout(90, TimeUnit.SECONDS)
  304. .connectTimeout(90, TimeUnit.SECONDS)
  305. .writeTimeout(90, TimeUnit.SECONDS)
  306. .cache(null);
  307.  
  308. if (BuildConfig.DEBUG) {
  309. HttpLoggingInterceptor logging = new HttpLoggingInterceptor()
  310. .setLevel(HttpLoggingInterceptor.Level.BODY);
  311. httpClient.addInterceptor(logging);
  312. }
  313. /* if(context != null) {
  314. token = PreferenceUtils.getToken(context);
  315. }
  316. if (token != null) {
  317. AuthenticationInterceptor authenticationInterceptor =
  318. new AuthenticationInterceptor(token);
  319. httpClient.addInterceptor(authenticationInterceptor);
  320. }else {
  321. }*/
  322. builder.client(httpClient.build());
  323. Retrofit retrofit = builder.build();
  324. return retrofit.create(serviceClass);
  325. }
  326.  
  327. public interface Constant {
  328. String AUTHORIZATION = "AUTHORIZATION";
  329. String TOKEN = "token";
  330. String USER_BASE_URL = "https://app.joltmate.com/";
  331. String KEY_USERNAME = "username";
  332. String KEY_EMAIL = "email";
  333. String KEY_NAME = "name";
Add Comment
Please, Sign In to add comment