导航菜单

页面标题

页面副标题

St.John's v1.0.9 - UploadSummativeExamAnswersActivity.java 源代码

正在查看: St.John's v1.0.9 应用的 UploadSummativeExamAnswersActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.mcb.stjohnsemschool.activity;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.exoplayer2.extractor.ts.TsExtractor;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.mcb.stjohnsemschool.fragment.FileUploadFragmentDialog;
import com.mcb.stjohnsemschool.interfaces.OnImageCapturedInterface;
import com.mcb.stjohnsemschool.model.AssignmentAttachmentModel;
import com.mcb.stjohnsemschool.services.ApiClient;
import com.mcb.stjohnsemschool.services.ApiInterface;
import com.mcb.stjohnsemschool.utils.FileUtils;
import com.mcb.stjohnsemschool.utils.TransparentProgressDialog;
import com.mcb.stjohnsemschool.utils.Utility;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class UploadSummativeExamAnswersActivity extends AppCompatActivity implements OnImageCapturedInterface {
    private String academicYearId;
    private Activity activity;
    private Context context;
    private int examId;
    private TextView mAttachFile;
    private LinearLayout mAttachmentsLL;
    private TextView mDuration;
    private TextView mExamDate;
    private TextView mExamName;
    private TextView mMaxMarks;
    private TransparentProgressDialog mProgressbar;
    private ScrollView mScroll;
    private String mStudentEnrollmentID;
    private TextView mTime;
    private OnImageCapturedInterface onImageCaptured;
    private String orgId;
    private ArrayList<AssignmentAttachmentModel> pathList = new ArrayList<>();
    private boolean isFromBrowse = false;
    String mUserId = "0";

    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_upload_summative_exam_answers);
        this.onImageCaptured = this;
        this.context = getApplicationContext();
        this.activity = this;
        getWindow().addFlags(128);
        getSupportActionBar().setTitle("Submit Answer");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowTitleEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        SharedPreferences sharedPreferences = getSharedPreferences("", 0);
        this.mStudentEnrollmentID = sharedPreferences.getString("studentEnrollmentIdKey", "0");
        this.orgId = sharedPreferences.getString("orgnizationIdKey", "0");
        this.academicYearId = sharedPreferences.getString("academicyearIdKey", "0");
        this.mUserId = sharedPreferences.getString("UseridKey", "0");
        setUpIds();
    }

    private void setUpIds() {
        this.mProgressbar = new TransparentProgressDialog(this, R.drawable.spinner_loading_imag);
        this.mAttachFile = (TextView) findViewById(R.id.txv_attach_file);
        this.mAttachmentsLL = (LinearLayout) findViewById(R.id.ll_attached_files);
        this.mScroll = (ScrollView) findViewById(R.id.scroll_view);
        this.mExamName = (TextView) findViewById(R.id.txv_exam_name);
        this.mExamDate = (TextView) findViewById(R.id.txv_date);
        this.mTime = (TextView) findViewById(R.id.txv_time);
        this.mDuration = (TextView) findViewById(R.id.txv_duration);
        this.mMaxMarks = (TextView) findViewById(R.id.max_marks_tv);
        this.mAttachmentsLL.setVisibility(8);
        this.mAttachFile.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (UploadSummativeExamAnswersActivity.this.pathList.size() >= 20) {
                    Utility.showInfoDialog(UploadSummativeExamAnswersActivity.this.activity, "You can't upload more than 20 files");
                    return;
                }
                ArrayList arrayList = new ArrayList();
                UploadSummativeExamAnswersActivity.this.isFromBrowse = false;
                FileUploadFragmentDialog fileUploadFragmentDialog = new FileUploadFragmentDialog(arrayList, false, UploadSummativeExamAnswersActivity.this.onImageCaptured);
                fileUploadFragmentDialog.show(UploadSummativeExamAnswersActivity.this.getSupportFragmentManager(), fileUploadFragmentDialog.getTag());
            }
        });
        Bundle extras = getIntent().getExtras();
        this.examId = extras.getInt("ExamId", 0);
        String string = extras.getString("ExamName", "");
        String string2 = extras.getString("ExamDate", "");
        String string3 = extras.getString("ExamTime", "");
        String string4 = extras.getString("ExamDuration", "");
        String string5 = extras.getString("MaxMarks", "");
        this.mExamName.setText(string);
        this.mExamDate.setText(string2);
        this.mTime.setText("Time: " + string3);
        this.mDuration.setText("Duration: " + string4);
        this.mMaxMarks.setText("Max Marks : " + string5);
    }

    public void onActivityResult(int i, int i2, Intent intent) {
        super.onActivityResult(i, i2, intent);
        if (i2 != 100 || intent == null) {
            return;
        }
        ArrayList<String> stringArrayListExtra = intent.getStringArrayListExtra("FilePaths");
        if (intent.hasExtra("IsFromBrowse")) {
            this.isFromBrowse = intent.getBooleanExtra("IsFromBrowse", false);
        }
        if (stringArrayListExtra == null || stringArrayListExtra.size() <= 0) {
            return;
        }
        uploadFileToCDN(stringArrayListExtra.get(0));
    }

    public void onFileCaptured(ArrayList<String> arrayList) {
        if (arrayList == null || arrayList.size() <= 0) {
            return;
        }
        uploadFileToCDN(arrayList.get(0));
    }

    private void uploadFileToCDN(String str) {
        if (Integer.parseInt(String.valueOf(new File(str).length() / 1024)) > 10240) {
            if (this.isFromBrowse && str != null && str.length() > 0) {
                FileUtils.deleteFile(getApplicationContext(), str);
            }
            Utility.showInfoDialog(this.activity, "File size should not exceed 10 MB");
            return;
        }
        ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService("connectivity");
        if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable() && connectivityManager.getActiveNetworkInfo().isConnected()) {
            uploadFilesToCDNAndGetPath(str);
        } else {
            Toast.makeText(getApplicationContext(), "Check your Network Connection", 0).show();
        }
    }

    private void uploadFilesToCDNAndGetPath(final String str) {
        TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
        if (transparentProgressDialog != null && !transparentProgressDialog.isShowing()) {
            this.mProgressbar.show();
        }
        if (str != null) {
            try {
                if (str.length() > 0) {
                    RequestBody create = RequestBody.create(MediaType.parse("text/plain"), "Summative");
                    RequestBody create2 = RequestBody.create(MediaType.parse("text/plain"), String.valueOf(this.orgId));
                    RequestBody create3 = RequestBody.create(MediaType.parse("text/plain"), Utility.getSchoolApiKey(this.context));
                    RequestBody create4 = RequestBody.create(MediaType.parse("text/plain"), String.valueOf(this.mUserId));
                    ArrayList arrayList = new ArrayList();
                    final String substring = str.substring(str.lastIndexOf("/") + 1);
                    File file = new File(str);
                    arrayList.add(MultipartBody.Part.createFormData("file1", file.getName(), RequestBody.create(MediaType.parse("*/*"), file)));
                    ((ApiInterface) ApiClient.getClient1(this.context).create(ApiInterface.class)).SaveFilesToCDNNew(arrayList, create, create2, create4, create3).enqueue(new Callback<String>() {
                        public void onResponse(Call<String> call, Response<String> response) {
                            String str2;
                            if (UploadSummativeExamAnswersActivity.this.mProgressbar != null && UploadSummativeExamAnswersActivity.this.mProgressbar.isShowing()) {
                                UploadSummativeExamAnswersActivity.this.mProgressbar.dismiss();
                            }
                            if (response != null) {
                                try {
                                    if (response.code() == 200) {
                                        if (response.body() != null) {
                                            if (UploadSummativeExamAnswersActivity.this.isFromBrowse && (str2 = str) != null && str2.length() > 0) {
                                                FileUtils.deleteFile(UploadSummativeExamAnswersActivity.this.getApplicationContext(), str);
                                            }
                                            String[] split = ((String) response.body()).split(",");
                                            if (split != null) {
                                                for (String str3 : split) {
                                                    AssignmentAttachmentModel assignmentAttachmentModel = new AssignmentAttachmentModel();
                                                    assignmentAttachmentModel.setFileName(substring);
                                                    assignmentAttachmentModel.setFilePath(str3);
                                                    UploadSummativeExamAnswersActivity.this.pathList.add(assignmentAttachmentModel);
                                                }
                                            }
                                            UploadSummativeExamAnswersActivity.this.showAttachedFiles();
                                            return;
                                        }
                                        return;
                                    }
                                } catch (Exception e) {
                                    Toast.makeText(UploadSummativeExamAnswersActivity.this.getApplicationContext(), "Unable to get Server Response,Retry!", 0).show();
                                    e.printStackTrace();
                                    return;
                                }
                            }
                            Toast.makeText(UploadSummativeExamAnswersActivity.this.getApplicationContext(), response.message(), 0).show();
                        }

                        public void onFailure(Call<String> call, Throwable th) {
                            Toast.makeText(UploadSummativeExamAnswersActivity.this.getApplicationContext(), th.getMessage(), 0).show();
                            if (UploadSummativeExamAnswersActivity.this.mProgressbar != null && UploadSummativeExamAnswersActivity.this.mProgressbar.isShowing()) {
                                UploadSummativeExamAnswersActivity.this.mProgressbar.dismiss();
                            }
                            UploadSummativeExamAnswersActivity.this.finish();
                        }
                    });
                }
            } catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), "Unable to get Server Response", 0).show();
                TransparentProgressDialog transparentProgressDialog2 = this.mProgressbar;
                if (transparentProgressDialog2 == null || !transparentProgressDialog2.isShowing()) {
                    return;
                }
                this.mProgressbar.dismiss();
            }
        }
    }

    public void showAttachedFiles() {
        this.mAttachmentsLL.removeAllViews();
        if (this.pathList.size() > 0) {
            int i = 0;
            this.mAttachmentsLL.setVisibility(0);
            while (i < this.pathList.size()) {
                View inflate = LayoutInflater.from(getApplicationContext()).inflate(R.layout.file_attachment_view, (ViewGroup) null);
                TextView textView = (TextView) inflate.findViewById(R.id.txv_filename);
                ImageView imageView = (ImageView) inflate.findViewById(R.id.img_cancel_file);
                imageView.setTag(Integer.valueOf(i));
                imageView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        UploadSummativeExamAnswersActivity.this.pathList.remove(Integer.parseInt(view.getTag().toString()));
                        UploadSummativeExamAnswersActivity.this.showAttachedFiles();
                    }
                });
                String fileName = this.pathList.get(i).getFileName();
                StringBuilder sb = new StringBuilder();
                i++;
                sb.append(i);
                sb.append(". ");
                sb.append(fileName);
                textView.setText(sb.toString());
                this.mAttachmentsLL.addView(inflate);
            }
        } else {
            this.mAttachmentsLL.setVisibility(8);
        }
        this.mScroll.postDelayed(new Runnable() {
            @Override
            public void run() {
                UploadSummativeExamAnswersActivity.this.mScroll.fullScroll(TsExtractor.TS_STREAM_TYPE_HDMV_DTS);
            }
        }, 100L);
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.save_icon_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }

    public boolean onOptionsItemSelected(MenuItem menuItem) {
        int itemId = menuItem.getItemId();
        if (itemId == 16908332) {
            finish();
            return true;
        }
        if (itemId == 2131361885) {
            ArrayList<AssignmentAttachmentModel> arrayList = this.pathList;
            if (arrayList != null && arrayList.size() > 0) {
                saveUploadedAnsers();
            } else {
                Utility.showInfoDialog(this.activity, "Please upload answer files");
            }
            return true;
        }
        return super.onOptionsItemSelected(menuItem);
    }

    private void saveUploadedAnsers() {
        ConnectivityManager connectivityManager = (ConnectivityManager) this.context.getSystemService("connectivity");
        if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable() && connectivityManager.getActiveNetworkInfo().isConnected()) {
            saveStudentOnlineSummativeExamAnswerFiles();
        } else {
            Toast.makeText(this.context, "Check your Network Connection", 0).show();
        }
    }

    private void saveStudentOnlineSummativeExamAnswerFiles() {
        TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
        if (transparentProgressDialog != null && !transparentProgressDialog.isShowing()) {
            this.mProgressbar.show();
        }
        ArrayList<AssignmentAttachmentModel> arrayList = this.pathList;
        String str = "";
        if (arrayList != null && arrayList.size() > 0) {
            Iterator<AssignmentAttachmentModel> it = this.pathList.iterator();
            while (it.hasNext()) {
                AssignmentAttachmentModel next = it.next();
                str = str + "," + next.getFileName() + '~' + next.getFilePath();
            }
            if (str.startsWith(",")) {
                str = str.substring(1);
            }
        }
        HashMap hashMap = new HashMap();
        hashMap.put("OnlineSummativeExaminationID", String.valueOf(this.examId));
        hashMap.put("AcademicYearID", this.academicYearId);
        hashMap.put("StudentEnrollmentID", this.mStudentEnrollmentID);
        hashMap.put("resultstr", str);
        hashMap.put("apikey", Utility.getSchoolApiKey(this.context));
        ((ApiInterface) ApiClient.getClient1(this.context).create(ApiInterface.class)).SaveStudentOnlineSummativeExamAnswerFiles(hashMap).enqueue(new Callback<String>() {
            public void onResponse(Call<String> call, Response<String> response) {
                if (UploadSummativeExamAnswersActivity.this.mProgressbar != null && UploadSummativeExamAnswersActivity.this.mProgressbar.isShowing()) {
                    UploadSummativeExamAnswersActivity.this.mProgressbar.dismiss();
                }
                if (response == null || response.body() == null) {
                    Utility.showAlertDialog(UploadSummativeExamAnswersActivity.this.activity);
                    return;
                }
                Toast.makeText(UploadSummativeExamAnswersActivity.this.getApplicationContext(), (String) response.body(), 1).show();
                UploadSummativeExamAnswersActivity.this.finish();
            }

            public void onFailure(Call<String> call, Throwable th) {
                if (UploadSummativeExamAnswersActivity.this.mProgressbar != null && UploadSummativeExamAnswersActivity.this.mProgressbar.isShowing()) {
                    UploadSummativeExamAnswersActivity.this.mProgressbar.dismiss();
                }
                Utility.showAlertDialog(UploadSummativeExamAnswersActivity.this.activity);
            }
        });
    }

    protected void onResume() {
        super.onResume();
        String string = getSharedPreferences("", 0).getString("usernamekey", "");
        Bundle bundle = new Bundle();
        bundle.putString("user_name", string);
        FirebaseAnalytics.getInstance(this).logEvent("PAGE_SUMMATIVE_EXAM_UPLOAD_ANSWERS", bundle);
    }
}