导航菜单

页面标题

页面副标题

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

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

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


package com.mcb.stjohnsemschool.activity;

import android.content.Context;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.formatter.PercentFormatter;
import com.github.mikephil.charting.utils.ColorTemplate;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.gson.Gson;
import com.mcb.stjohnsemschool.adapter.OnlineExamSubjectWiseResultAdapter;
import com.mcb.stjohnsemschool.model.OnlineExamQuestionWiseResultModelClass;
import com.mcb.stjohnsemschool.model.OnlineExamResultModelClass;
import com.mcb.stjohnsemschool.utils.ExpandedListViewCustom;
import com.mcb.stjohnsemschool.utils.TransparentProgressDialog;
import com.mcb.stjohnsemschool.utils.Utility;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import org.ksoap2.serialization.SoapObject;

public class OnlineExamResultActivity extends AppCompatActivity {
    private static final String TAG = "com.mcb.stjohnsemschool.activity.OnlineExamResultActivity";
    String academicYearId;
    Context context;
    String examDate;
    int examId;
    String examName;
    TableLayout mAnswersTL;
    PieChart mChart;
    TextView mExamDate;
    TextView mExamName;
    LinearLayout mMainLL;
    TextView mNoData;
    TextView mPercentage;
    private TransparentProgressDialog mProgressbar;
    TextView mRank;
    TextView mScore;
    ExpandedListViewCustom mSubjectWiseResult;
    String studentEnrollmentId;
    String userId;

    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_online_exam_result);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        getSupportActionBar().setHomeButtonEnabled(true);
        this.context = getApplicationContext();
        this.mProgressbar = new TransparentProgressDialog(this, R.drawable.spinner_loading_imag);
        SharedPreferences sharedPreferences = this.context.getSharedPreferences("", 0);
        this.studentEnrollmentId = sharedPreferences.getString("studentEnrollmentIdKey", this.studentEnrollmentId);
        this.userId = sharedPreferences.getString("UseridKey", this.userId);
        this.academicYearId = sharedPreferences.getString("academicyearIdKey", this.academicYearId);
        Bundle extras = getIntent().getExtras();
        this.examId = extras.getInt("OnlineExaminationId", 0);
        this.examName = extras.getString("ExamName", "");
        this.examDate = extras.getString("ExamDate", "");
        initializations();
    }

    private void initializations() {
        this.mMainLL = (LinearLayout) findViewById(R.id.ll_main);
        this.mNoData = (TextView) findViewById(R.id.txv_no_data);
        this.mExamName = (TextView) findViewById(R.id.txv_exam_name);
        this.mExamDate = (TextView) findViewById(R.id.txv_date);
        this.mScore = (TextView) findViewById(R.id.txv_score);
        this.mPercentage = (TextView) findViewById(R.id.txv_percentage);
        this.mRank = (TextView) findViewById(R.id.txv_rank);
        this.mSubjectWiseResult = findViewById(R.id.lst_subject_wise);
        this.mAnswersTL = (TableLayout) findViewById(R.id.tl_answers);
        this.mChart = (PieChart) findViewById(R.id.chart);
        this.mMainLL.setVisibility(8);
        this.mNoData.setVisibility(8);
        this.mExamName.setText(this.examName);
        this.mExamDate.setText(this.examDate);
        this.mChart.setUsePercentValues(true);
        this.mChart.setDescription("");
        this.mChart.setExtraOffsets(5.0f, 10.0f, 5.0f, 5.0f);
        this.mChart.setDragDecelerationFrictionCoef(0.95f);
        this.mChart.setDrawHoleEnabled(true);
        this.mChart.setHoleColor(-1);
        this.mChart.setTransparentCircleColor(-1);
        this.mChart.setTransparentCircleAlpha(110);
        this.mChart.setHoleRadius(58.0f);
        this.mChart.setTransparentCircleRadius(61.0f);
        this.mChart.setDrawCenterText(true);
        this.mChart.setRotationAngle(BitmapDescriptorFactory.HUE_RED);
        this.mChart.setRotationEnabled(false);
        this.mChart.setHighlightPerTapEnabled(false);
        this.mChart.getLegend().setEnabled(false);
        getStudentOnlineExaminationsAnswers();
    }

    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() == 16908332) {
            finish();
        }
        return super.onOptionsItemSelected(menuItem);
    }

    private void getStudentOnlineExaminationsAnswers() {
        ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService("connectivity");
        if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable() && connectivityManager.getActiveNetworkInfo().isConnected()) {
            new GetStudentOnlineExaminationsAnswers().execute(new String[0]);
        } else {
            Toast.makeText(this.context, "Check your Network Connection", 0).show();
        }
    }

    public class GetStudentOnlineExaminationsAnswers extends AsyncTask<String, String, String> {
        SoapObject soapObject;

        public GetStudentOnlineExaminationsAnswers() {
        }

        @Override
        protected void onPreExecute() {
            OnlineExamResultActivity.this.mProgressbar.show();
        }

        @Override
        public String doInBackground(String... strArr) {
            try {
                this.soapObject = SoapObjectProvider.GetStudentOnlineExaminationsAnswers(OnlineExamResultActivity.this.context, Integer.parseInt(OnlineExamResultActivity.this.studentEnrollmentId), OnlineExamResultActivity.this.examId);
                return null;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }

        @Override
        public void onPostExecute(String str) {
            if (OnlineExamResultActivity.this.mProgressbar != null && OnlineExamResultActivity.this.mProgressbar.isShowing()) {
                OnlineExamResultActivity.this.mProgressbar.dismiss();
            }
            SoapObject soapObject = this.soapObject;
            if (soapObject == null) {
                Utility.showAlertDialog(OnlineExamResultActivity.this);
                return;
            }
            try {
                if (soapObject.getProperty("GET_StudentOnlineExaminations_AnswersResult") == null) {
                    Utility.showAlertDialog(OnlineExamResultActivity.this);
                    return;
                }
                OnlineExamResultModelClass onlineExamResultModelClass = (OnlineExamResultModelClass) new Gson().fromJson(this.soapObject.getProperty("GET_StudentOnlineExaminations_AnswersResult").toString(), OnlineExamResultModelClass.class);
                String[] strArr = {"Correct(" + new DecimalFormat("##.##").format(onlineExamResultModelClass.getTotalMarks()) + ")", "Incorrect(" + new DecimalFormat("##.##").format(onlineExamResultModelClass.getToalMax() - onlineExamResultModelClass.getTotalMarks()) + ")"};
                ArrayList arrayList = new ArrayList();
                arrayList.add(new Entry((float) onlineExamResultModelClass.getTotalMarks(), 0));
                arrayList.add(new Entry((float) (onlineExamResultModelClass.getToalMax() - onlineExamResultModelClass.getTotalMarks()), 1));
                PieDataSet pieDataSet = new PieDataSet(arrayList, "");
                PieData pieData = new PieData(new ArrayList(Arrays.asList(strArr)), pieDataSet);
                pieData.setValueFormatter(new PercentFormatter());
                OnlineExamResultActivity.this.mChart.setData(pieData);
                OnlineExamResultActivity.this.mChart.setDescription("");
                OnlineExamResultActivity.this.mChart.setDrawHoleEnabled(true);
                OnlineExamResultActivity.this.mChart.setTransparentCircleRadius(58.0f);
                OnlineExamResultActivity.this.mChart.setHoleRadius(58.0f);
                pieDataSet.setColors(ColorTemplate.VORDIPLOM_COLORS);
                pieData.setValueTextSize(13.0f);
                pieData.setValueTextColor(-12303292);
                ArrayList arrayList2 = new ArrayList();
                arrayList2.add(-16711936);
                arrayList2.add(-65536);
                pieDataSet.setColors(arrayList2);
                OnlineExamResultActivity.this.mScore.setText("Your Score: (" + new DecimalFormat("##.##").format(onlineExamResultModelClass.getTotalMarks()) + "/" + new DecimalFormat("##.##").format(onlineExamResultModelClass.getToalMax()) + ")");
                TextView textView = OnlineExamResultActivity.this.mPercentage;
                StringBuilder sb = new StringBuilder("Percentage: ");
                sb.append(new DecimalFormat("##.##").format(onlineExamResultModelClass.getTotalPercentage()));
                sb.append("%");
                textView.setText(sb.toString());
                OnlineExamResultActivity.this.mRank.setText("Rank: " + onlineExamResultModelClass.getRank());
                OnlineExamResultActivity.this.mSubjectWiseResult.setAdapter(new OnlineExamSubjectWiseResultAdapter(OnlineExamResultActivity.this.context, onlineExamResultModelClass.getOnlineSubjectResults()));
                OnlineExamResultActivity.this.mAnswersTL.removeAllViews();
                ArrayList onlineQuestionResults = onlineExamResultModelClass.getOnlineQuestionResults();
                int size = onlineQuestionResults.size();
                int i = (size % 2) + (size / 2);
                int i2 = 0;
                for (int i3 = 0; i3 < i; i3++) {
                    TableRow tableRow = new TableRow(OnlineExamResultActivity.this.context);
                    tableRow.addView(OnlineExamResultActivity.this.getElementTextView((OnlineExamQuestionWiseResultModelClass) onlineQuestionResults.get(i2), i2));
                    if (i2 < size - 1) {
                        i2++;
                        tableRow.addView(OnlineExamResultActivity.this.getElementTextView((OnlineExamQuestionWiseResultModelClass) onlineQuestionResults.get(i2), i2));
                    }
                    OnlineExamResultActivity.this.mAnswersTL.addView(tableRow);
                    i2++;
                }
                OnlineExamResultActivity.this.mMainLL.setVisibility(0);
                OnlineExamResultActivity.this.mNoData.setVisibility(8);
            } catch (Exception e) {
                OnlineExamResultActivity.this.mMainLL.setVisibility(8);
                OnlineExamResultActivity.this.mNoData.setVisibility(0);
                e.printStackTrace();
            }
        }
    }

    TextView getElementTextView(OnlineExamQuestionWiseResultModelClass onlineExamQuestionWiseResultModelClass, int i) {
        TextView textView = new TextView(this);
        textView.setLayoutParams(new TableRow.LayoutParams(0, -1, 1.0f));
        textView.setText("Q" + (i + 1) + ". (" + onlineExamQuestionWiseResultModelClass.getGivenAnswer() + "/" + onlineExamQuestionWiseResultModelClass.getAnswerNo() + ")");
        textView.setTextSize(20.0f);
        textView.setTextColor(-16777216);
        textView.setGravity(3);
        textView.setCompoundDrawablesWithIntrinsicBounds(onlineExamQuestionWiseResultModelClass.getIsCurrecrAnswer() == 1 ? R.drawable.ic_action_right : R.drawable.ic_action_wrong, 0, 0, 0);
        return textView;
    }

    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_ONLINE_EXAM_RESULT", bundle);
    }

    protected void onStop() {
        TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
        if (transparentProgressDialog != null && transparentProgressDialog.isShowing()) {
            this.mProgressbar.dismiss();
        }
        super.onStop();
    }
}