ShowQrCodeClass.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.cygnusa.hyperm;
  2. import android.annotation.SuppressLint;
  3. import android.graphics.PorterDuff;
  4. import android.graphics.drawable.Drawable;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.MenuItem;
  8. import android.widget.ImageView;
  9. import android.widget.TextView;
  10. import android.widget.Toast;
  11. import androidx.appcompat.app.AppCompatActivity;
  12. import androidx.appcompat.widget.Toolbar;
  13. import com.bumptech.glide.Glide;
  14. import com.bumptech.glide.load.engine.DiskCacheStrategy;
  15. import com.bumptech.glide.request.RequestOptions;
  16. import com.google.gson.Gson;
  17. import com.cygnusa.hyperm.util.ApiService;
  18. import com.cygnusa.hyperm.util.GlobalData;
  19. import com.cygnusa.hyperm.util.MainApplication;
  20. import com.cygnusa.hyperm.wrappers.ErrorResponse;
  21. import com.cygnusa.hyperm.wrappers.QrCodeResponse;
  22. import java.util.Objects;
  23. import retrofit2.Call;
  24. import retrofit2.Callback;
  25. import retrofit2.Response;
  26. public class ShowQrCodeClass extends AppCompatActivity {
  27. TextView txtTrainingDate, txtTrainingTitle, txtTrainingDuration;
  28. ImageView imgScan;
  29. private ApiService apiService;
  30. @Override
  31. protected void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.activity_show_qr_code);
  34. Toolbar toolbar = findViewById(R.id.toolbar);
  35. setSupportActionBar(toolbar);
  36. toolbar.setContentInsetStartWithNavigation(0);
  37. toolbar.setTitle("");
  38. Objects.requireNonNull(getSupportActionBar()).setTitle("");
  39. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  40. getSupportActionBar().setDisplayShowHomeEnabled(true);
  41. @SuppressLint("PrivateResource")
  42. Drawable backArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_material);
  43. backArrow.setColorFilter(getResources().getColor(R.color.btn_bg_color), PorterDuff.Mode.SRC_ATOP);
  44. getSupportActionBar().setHomeAsUpIndicator(backArrow);
  45. initViews();
  46. }
  47. @Override
  48. public void onBackPressed() {
  49. super.onBackPressed();
  50. this.overridePendingTransition(R.anim.animation_f_enter,
  51. R.anim.animation_f_leave);
  52. }
  53. @Override
  54. public boolean onOptionsItemSelected(MenuItem item) {
  55. if (item.getItemId() == android.R.id.home) {
  56. finish();
  57. onBackPressed();
  58. }
  59. return super.onOptionsItemSelected(item);
  60. }
  61. private void initViews() {
  62. txtTrainingDate = findViewById(R.id.txtTrainingDate);
  63. txtTrainingTitle = findViewById(R.id.txtTrainingTitle);
  64. txtTrainingDuration = findViewById(R.id.txtTrainingDuration);
  65. apiService = ((MainApplication) getApplication()).getClient();
  66. imgScan = findViewById(R.id.imgQR);
  67. getQrCodeData();
  68. //GlobalData.mSingleDataLists.getScheduleId()
  69. }
  70. private void getQrCodeData() {
  71. apiService.getQrCodeImage(GlobalData.user.getData().getSmpin()).enqueue(new Callback<QrCodeResponse>() {
  72. @Override
  73. public void onResponse(Call<QrCodeResponse> call, Response<QrCodeResponse> response) {
  74. if (response.body() != null) {
  75. if (response.body().getMessage().equalsIgnoreCase("Success")) {
  76. if (response.body().getData() != null) {
  77. Glide.with(ShowQrCodeClass.this).load(response.body().getData().getLink())
  78. .thumbnail(Glide.with(ShowQrCodeClass.this).load(R.drawable.placeholder))
  79. .apply(new RequestOptions().fitCenter().diskCacheStrategy(DiskCacheStrategy.ALL)
  80. .placeholder(R.drawable.placeholder)).into(imgScan);
  81. txtTrainingDate.setText(response.body().getData().getStartDate());
  82. txtTrainingTitle.setText(response.body().getData().getTitle());
  83. txtTrainingDuration.setText(String.valueOf(response.body().getData().getDuration()));
  84. }
  85. } else {
  86. GlobalData.toast(ShowQrCodeClass.this, response.body().getResponseText());
  87. }
  88. } else if (response.body() != null && response.body().getStatus() == 401) {
  89. GlobalData.canLogout = true;
  90. finish();
  91. } else if (response.errorBody() != null) {
  92. Gson gson = new Gson();
  93. ErrorResponse message = gson.fromJson(response.errorBody().charStream(), ErrorResponse.class);
  94. GlobalData.showToast(getBaseContext(), message.getMessage(), Toast.LENGTH_SHORT).show();
  95. if (message.getStatus() == 401) {
  96. GlobalData.canLogout = true;
  97. finish();
  98. }
  99. }
  100. }
  101. @Override
  102. public void onFailure(Call<QrCodeResponse> call, Throwable t) {
  103. if (t.getMessage() != null) {
  104. Log.e("Tmeaasge", t.getMessage());
  105. }
  106. }
  107. });
  108. }
  109. }