正在查看: St.John's v1.0.9 应用的 OnlineExamQuestionsActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: St.John's v1.0.9 应用的 OnlineExamQuestionsActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.mcb.stjohnsemschool.activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.mcb.stjohnsemschool.adapter.OnlineExamQuestionsAdapter;
import com.mcb.stjohnsemschool.model.OnlineExamQuestionModelClass;
import com.mcb.stjohnsemschool.utils.Constants;
import com.mcb.stjohnsemschool.utils.TransparentProgressDialog;
import com.mcb.stjohnsemschool.utils.Utility;
import com.viewpagerindicator.PageIndicator;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Locale;
import org.ksoap2.serialization.SoapObject;
public class OnlineExamQuestionsActivity extends AppCompatActivity {
private static final String TAG = "com.mcb.stjohnsemschool.activity.OnlineExamQuestionsActivity";
public static OnlineExamQuestionsActivity questionsActivity;
private String academicYearId;
private Context context;
private CountDownTimer countDownTimer;
private String examDate;
private int examId;
private String examName;
private boolean isTimeBased;
private TransparentProgressDialog mProgressbar;
private PageIndicator pageIndicator;
private ArrayList<OnlineExamQuestionModelClass> questionsList;
private String studentEnrollmentId;
private TextView textViewCountDown;
private long timeLeftInMillis;
private LinearLayout timerLL;
private String userId;
private ViewPager viewPager;
private int examDurationInMin = 0;
boolean isAttemptAllQuestions = false;
public static OnlineExamQuestionsActivity getInstance() {
return questionsActivity;
}
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_online_exam_questions);
getSupportActionBar().setTitle("Questions");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.context = getApplicationContext();
questionsActivity = this;
this.questionsList = new ArrayList<>();
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", "");
this.examDurationInMin = extras.getInt("ExamDurationInMinutes", 0);
this.isTimeBased = extras.getBoolean("IsTimeBased", false);
this.viewPager = findViewById(R.id.pager);
this.pageIndicator = findViewById(R.id.pageIndicator);
this.timerLL = (LinearLayout) findViewById(R.id.timer_ll);
this.textViewCountDown = (TextView) findViewById(R.id.timer_tv);
this.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageScrollStateChanged(int i) {
}
public void onPageScrolled(int i, float f, int i2) {
}
public void onPageSelected(int i) {
if (i > 0) {
OnlineExamQuestionsActivity.this.saveAnswerPresentQuestion(i - 1, 0);
}
}
});
this.timeLeftInMillis = this.examDurationInMin * 60000;
getExamsQuestions();
}
public void startCountDown() {
this.countDownTimer = new CountDownTimer(this.timeLeftInMillis, 1000L) {
@Override
public void onTick(long j) {
OnlineExamQuestionsActivity.this.timeLeftInMillis = j;
OnlineExamQuestionsActivity.this.updateCountDownText();
}
@Override
public void onFinish() {
OnlineExamQuestionsActivity.this.timeLeftInMillis = 0L;
OnlineExamQuestionsActivity.this.updateCountDownText();
if (OnlineExamQuestionsActivity.this.questionsList == null || OnlineExamQuestionsActivity.this.questionsList.size() <= 0 || !OnlineExamQuestionsActivity.this.isTimeBased) {
return;
}
OnlineExamQuestionsActivity.this.saveAnswerPresentQuestion(OnlineExamQuestionsActivity.this.viewPager.getCurrentItem(), 1);
}
}.start();
}
public void updateCountDownText() {
long j = this.timeLeftInMillis;
String format = String.format(Locale.getDefault(), "%02d:%02d", Integer.valueOf(((int) (j / 1000)) / 60), Integer.valueOf(((int) (j / 1000)) % 60));
this.textViewCountDown.setText("Time Left : " + format);
this.textViewCountDown.setTextColor(-65536);
}
protected void onDestroy() {
super.onDestroy();
CountDownTimer countDownTimer = this.countDownTimer;
if (countDownTimer != null) {
countDownTimer.cancel();
}
}
private void getExamsQuestions() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService("connectivity");
if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable() && connectivityManager.getActiveNetworkInfo().isConnected()) {
new GetStudentOnlineExaminationsQuestions().execute(new String[0]);
} else {
Toast.makeText(this.context, "Check your Network Connection", 0).show();
}
}
public class GetStudentOnlineExaminationsQuestions extends AsyncTask<String, String, String> {
SoapObject soapObject;
public GetStudentOnlineExaminationsQuestions() {
}
@Override
protected void onPreExecute() {
OnlineExamQuestionsActivity.this.mProgressbar.show();
}
@Override
public String doInBackground(String... strArr) {
try {
this.soapObject = SoapObjectProvider.GetStudentOnlineExaminationsQuestions(OnlineExamQuestionsActivity.this.context, Integer.parseInt(OnlineExamQuestionsActivity.this.userId), Integer.parseInt(OnlineExamQuestionsActivity.this.studentEnrollmentId), OnlineExamQuestionsActivity.this.examId);
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public void onPostExecute(String str) {
if (OnlineExamQuestionsActivity.this.mProgressbar.isShowing()) {
OnlineExamQuestionsActivity.this.mProgressbar.dismiss();
}
SoapObject soapObject = this.soapObject;
if (soapObject != null) {
try {
if (soapObject.getProperty("GET_StudentOnlineExaminations_Questions_NewResult") != null) {
String obj = this.soapObject.getProperty("GET_StudentOnlineExaminations_Questions_NewResult").toString();
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<OnlineExamQuestionModelClass>>() {
}.getType();
OnlineExamQuestionsActivity.this.questionsList = (ArrayList) gson.fromJson(obj, type);
OnlineExamQuestionsActivity.this.viewPager.setAdapter(new OnlineExamQuestionsAdapter(OnlineExamQuestionsActivity.this.context, OnlineExamQuestionsActivity.this.questionsList));
OnlineExamQuestionsActivity.this.pageIndicator.setViewPager(OnlineExamQuestionsActivity.this.viewPager);
if (OnlineExamQuestionsActivity.this.questionsList.size() > 0) {
if (OnlineExamQuestionsActivity.this.isTimeBased) {
OnlineExamQuestionsActivity.this.timerLL.setVisibility(0);
OnlineExamQuestionsActivity.this.startCountDown();
} else {
OnlineExamQuestionsActivity.this.timerLL.setVisibility(8);
}
}
} else {
Utility.showAlertDialog(OnlineExamQuestionsActivity.this);
}
return;
} catch (Exception e) {
e.printStackTrace();
return;
}
}
Utility.showAlertDialog(OnlineExamQuestionsActivity.this);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.save_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem menuItem) {
int itemId = menuItem.getItemId();
if (itemId == 16908332) {
finish();
} else if (itemId == 2131361885) {
ArrayList questionsList = OnlineExamQuestionsAdapter.getQuestionsList();
if (questionsList != null && questionsList.size() > 0) {
this.isAttemptAllQuestions = ((OnlineExamQuestionModelClass) questionsList.get(0)).isAttemptAllQuestions();
}
if (this.isAttemptAllQuestions) {
Iterator it = questionsList.iterator();
while (true) {
if (it.hasNext()) {
if (getGivenAnswer((OnlineExamQuestionModelClass) it.next()).equals("")) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Please attempt all questions to finish the exam.").setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).setCancelable(false);
builder.create().show();
break;
}
} else {
showSubmitDialog(questionsList);
break;
}
}
} else {
showSubmitDialog(questionsList);
}
}
return super.onOptionsItemSelected(menuItem);
}
private String getGivenAnswer(OnlineExamQuestionModelClass onlineExamQuestionModelClass) {
HashSet selectedCheckboxPosList;
String addChar;
int questionType = onlineExamQuestionModelClass.getQuestionType();
String str = "";
if (questionType != 3) {
if (questionType == 5 || questionType == 1) {
if (onlineExamQuestionModelClass.getSelectedAnswerNo() == 0) {
return "";
}
return "" + onlineExamQuestionModelClass.getSelectedAnswerNo();
}
if (questionType != 2 || (selectedCheckboxPosList = onlineExamQuestionModelClass.getSelectedCheckboxPosList()) == null || selectedCheckboxPosList.size() <= 0) {
return "";
}
Iterator it = selectedCheckboxPosList.iterator();
String str2 = "";
while (it.hasNext()) {
str2 = str2 + ((Integer) it.next()).intValue() + ",";
}
if (str2.length() <= 0) {
return "";
}
return str2.substring(0, str2.length() - 1);
}
String answerNo = onlineExamQuestionModelClass.getAnswerNo();
ArrayList arrayList = new ArrayList();
arrayList.clear();
for (int i = 0; i < answerNo.length(); i++) {
if (("" + answerNo.charAt(i)).toString().equals(" ")) {
arrayList.add(Integer.valueOf(i));
}
}
String inputOtpText = onlineExamQuestionModelClass.getInputOtpText();
if (arrayList.size() <= 0) {
return (inputOtpText == null || inputOtpText.length() <= 0) ? "" : inputOtpText;
}
if (inputOtpText == null || inputOtpText.length() <= 0) {
return "";
}
for (int i2 = 0; i2 < arrayList.size(); i2++) {
int intValue = ((Integer) arrayList.get(i2)).intValue();
if (inputOtpText.length() > intValue) {
if (str.length() > 0) {
addChar = addChar(str, ' ', intValue);
} else {
addChar = addChar(inputOtpText, ' ', intValue);
}
str = addChar;
}
}
return str;
}
private void showSubmitDialog(ArrayList<OnlineExamQuestionModelClass> arrayList) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Please verify all answers before submitting the exam.").setPositiveButton("Submit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
OnlineExamQuestionsActivity.this.saveAnswerPresentQuestion(OnlineExamQuestionsActivity.this.viewPager.getCurrentItem(), 1);
}
}).setNegativeButton("Verify", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).setCancelable(false);
builder.create().show();
}
public void saveAnswerPresentQuestion(int i, int i2) {
HashSet selectedCheckboxPosList;
ArrayList<OnlineExamQuestionModelClass> arrayList = this.questionsList;
if (arrayList == null || arrayList.size() < i) {
return;
}
OnlineExamQuestionModelClass onlineExamQuestionModelClass = this.questionsList.get(i);
int questionType = onlineExamQuestionModelClass.getQuestionType();
String str = "";
if (questionType == 3) {
Constants.hideKeyboard(this);
String answerNo = onlineExamQuestionModelClass.getAnswerNo();
ArrayList arrayList2 = new ArrayList();
for (int i3 = 0; i3 < answerNo.length(); i3++) {
if (String.valueOf(answerNo.charAt(i3)).equalsIgnoreCase(" ")) {
arrayList2.add(Integer.valueOf(i3));
}
}
String inputOtpText = onlineExamQuestionModelClass.getInputOtpText();
if (arrayList2.size() > 0) {
if (inputOtpText != null && inputOtpText.length() > 0) {
for (int i4 = 0; i4 < arrayList2.size(); i4++) {
int intValue = ((Integer) arrayList2.get(i4)).intValue();
if (inputOtpText.length() > intValue) {
if (str.length() > 0) {
str = addChar(str, ' ', intValue);
} else {
str = addChar(inputOtpText, ' ', intValue);
}
}
}
}
} else if (inputOtpText != null && inputOtpText.length() > 0) {
str = inputOtpText;
}
} else if (questionType == 5 || questionType == 1) {
str = "" + onlineExamQuestionModelClass.getSelectedAnswerNo();
} else if (questionType == 2 && (selectedCheckboxPosList = onlineExamQuestionModelClass.getSelectedCheckboxPosList()) != null && selectedCheckboxPosList.size() > 0) {
Iterator it = selectedCheckboxPosList.iterator();
while (it.hasNext()) {
str = str + ((Integer) it.next()).intValue() + ",";
}
str = str.substring(0, str.length() - 1);
}
saveOnlineExaminationAnswers(onlineExamQuestionModelClass.getOnlineExaminationSegementId() + "~" + onlineExamQuestionModelClass.getOnlineExaminationQuestionId() + "~" + onlineExamQuestionModelClass.getQuestionBankQuestionId() + "~" + onlineExamQuestionModelClass.getWrongAnsCarries() + "~" + onlineExamQuestionModelClass.getCorrectAnsCarries() + "~" + onlineExamQuestionModelClass.getAnswerNo() + "~" + onlineExamQuestionModelClass.getDifficultyLevel() + "~" + str, i2);
}
public String addChar(String str, char c, int i) {
StringBuilder sb = new StringBuilder(str);
sb.insert(i, c);
return sb.toString();
}
private void saveOnlineExaminationAnswers(String str, int i) {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService("connectivity");
if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable() && connectivityManager.getActiveNetworkInfo().isConnected()) {
new SaveOnlineExaminationAnswers(str, i).execute(new String[0]);
} else {
Toast.makeText(this.context, "Check your Network Connection", 0).show();
}
}
public class SaveOnlineExaminationAnswers extends AsyncTask<String, String, String> {
int isFinished;
String json;
SoapObject soapObject;
SaveOnlineExaminationAnswers(String str, int i) {
this.json = str;
this.isFinished = i;
}
@Override
protected void onPreExecute() {
OnlineExamQuestionsActivity.this.mProgressbar.show();
}
@Override
public String doInBackground(String... strArr) {
try {
this.soapObject = SoapObjectProvider.SaveOnlineExaminationAnswers(OnlineExamQuestionsActivity.this.context, Integer.parseInt(OnlineExamQuestionsActivity.this.userId), this.json, OnlineExamQuestionsActivity.this.examId, Integer.parseInt(OnlineExamQuestionsActivity.this.studentEnrollmentId), this.isFinished);
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public void onPostExecute(String str) {
if (OnlineExamQuestionsActivity.this.mProgressbar.isShowing()) {
OnlineExamQuestionsActivity.this.mProgressbar.dismiss();
}
SoapObject soapObject = this.soapObject;
if (soapObject != null) {
try {
if (soapObject.getProperty("Save_OnlineExaminationAnswers_NewResult") != null) {
String obj = this.soapObject.getProperty("Save_OnlineExaminationAnswers_NewResult").toString();
if (this.isFinished == 1) {
AlertDialog.Builder builder = new AlertDialog.Builder(OnlineExamQuestionsActivity.this);
builder.setMessage(obj).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
Intent intent = new Intent(OnlineExamQuestionsActivity.this.context, (Class<?>) OnlineExamResultActivity.class);
intent.addFlags(268435456);
intent.putExtra("OnlineExaminationId", OnlineExamQuestionsActivity.this.examId);
intent.putExtra("ExamName", OnlineExamQuestionsActivity.this.examName);
intent.putExtra("ExamDate", OnlineExamQuestionsActivity.this.examDate);
OnlineExamQuestionsActivity.this.startActivity(intent);
OnlineExamQuestionsActivity.this.finish();
}
}).setCancelable(false);
builder.create().show();
}
} else {
Utility.showAlertDialog(OnlineExamQuestionsActivity.this);
}
return;
} catch (Exception e) {
e.printStackTrace();
return;
}
}
Utility.showAlertDialog(OnlineExamQuestionsActivity.this);
}
}
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_QUESTIONS", bundle);
}
protected void onStop() {
TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
if (transparentProgressDialog != null && transparentProgressDialog.isShowing()) {
this.mProgressbar.dismiss();
}
super.onStop();
}
}