导航菜单

页面标题

页面副标题

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

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

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


package com.mcb.stjohnsemschool.activity;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.util.Base64;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import com.mcb.stjohnsemschool.services.ApiClient;
import com.mcb.stjohnsemschool.services.ApiInterface;
import com.mcb.stjohnsemschool.utils.TransparentProgressDialog;
import com.mcb.stjohnsemschool.utils.Utility;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.RadialPickerLayout;
import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;
import java.io.ByteArrayOutputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class RequestNewGatePassActivity extends AppCompatActivity implements View.OnClickListener, TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener {
    private static final int CAMERA_CAPTURE = 1;
    public static Activity activity;
    int academicYearId;
    int branchId;
    private ConnectivityManager conMgr;
    Context context;
    boolean dateComp;
    DatePickerDialog dateDialog;
    boolean fromDate;
    Intent intent;
    TextView mCapturePhoto;
    TextView mClassAndSection;
    SharedPreferences.Editor mEditor;
    TextView mEnrollmentCode;
    EditText mFromDateEt;
    EditText mName;
    ImageView mPhoto;
    private TransparentProgressDialog mProgressbar;
    EditText mReason;
    EditText mRelation;
    TextView mRelationShipText;
    Spinner mRelationship;
    SharedPreferences mSharedPref;
    TextView mStudentName;
    ImageView mStudentPhoto;
    EditText mTime;
    EditText mToDateEt;
    LinearLayout mToDateLl;
    int orgId;
    LinearLayout relationLl;
    int studentEnrollmentId;
    TimePickerDialog timePickerDialog;
    boolean toDate;
    int userId;
    int goingWith = 1;
    String[] relationships = {"Father", "Mother", "Other"};
    String studentName = "";
    String studentPhoto = "";
    String classSection = "";
    String enrollmentCode = "";
    String userName = "";
    String selectedRelationship = "";
    String name = "";
    String reason = "";
    String permissionGivenBy = "";
    String date = "";
    String time = "";
    String imageDataString = "";
    Calendar calendar = Calendar.getInstance();
    boolean isSupportMultipleDates = false;
    String fromDateStr = "";
    String toDateStr = "";

    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_request_new_gate_pass);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        setTitle("Student Gate Pass Entry");
        activity = this;
        this.context = getApplicationContext();
        init();
    }

    private void init() {
        Intent intent = getIntent();
        this.intent = intent;
        if (intent.hasExtra("multiple_dates")) {
            this.isSupportMultipleDates = this.intent.getBooleanExtra("multiple_dates", false);
        }
        SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("", 0);
        this.mSharedPref = sharedPreferences;
        this.mEditor = sharedPreferences.edit();
        this.mProgressbar = new TransparentProgressDialog(activity, R.drawable.spinner_loading_imag);
        this.orgId = Integer.parseInt(this.mSharedPref.getString("orgnizationIdKey", "" + this.orgId));
        this.branchId = Integer.parseInt(this.mSharedPref.getString("BranchIdKey", "" + this.branchId));
        this.academicYearId = Integer.parseInt(this.mSharedPref.getString("academicyearIdKey", "" + this.academicYearId));
        this.userId = Integer.parseInt(this.mSharedPref.getString("UseridKey", "" + this.userId));
        this.userName = this.mSharedPref.getString("UserNameKey", "");
        this.enrollmentCode = this.mSharedPref.getString("EnrollmentCode", "");
        this.studentEnrollmentId = Integer.parseInt(this.mSharedPref.getString("studentEnrollmentIdKey", "0"));
        this.studentName = this.mSharedPref.getString("Name", "");
        this.studentPhoto = this.mSharedPref.getString("ProfilePicPath", "");
        this.classSection = this.mSharedPref.getString("SectionNameKey", "");
        this.mToDateLl = (LinearLayout) findViewById(R.id.to_date_ll);
        TextView textView = (TextView) findViewById(R.id.from_date_txv);
        LinearLayout linearLayout = (LinearLayout) findViewById(R.id.relation_ll);
        this.relationLl = linearLayout;
        linearLayout.setVisibility(8);
        this.mPhoto = (ImageView) findViewById(R.id.img_pic);
        this.mCapturePhoto = (TextView) findViewById(R.id.txv_capture_photo);
        this.mRelationship = (Spinner) findViewById(R.id.spn_relationship);
        this.mRelation = (EditText) findViewById(R.id.edt_relation);
        this.mName = (EditText) findViewById(R.id.edt_name);
        this.mReason = (EditText) findViewById(R.id.edt_reason);
        this.mFromDateEt = (EditText) findViewById(R.id.edt_from_date);
        this.mToDateEt = (EditText) findViewById(R.id.edt_to_date);
        this.mTime = (EditText) findViewById(R.id.edt_time);
        this.mFromDateEt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                RequestNewGatePassActivity.this.fromDate = true;
                RequestNewGatePassActivity.this.createDateDialog();
            }
        });
        this.mToDateEt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                RequestNewGatePassActivity.this.toDate = true;
                RequestNewGatePassActivity.this.createDateDialog();
            }
        });
        this.mTime.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                RequestNewGatePassActivity.this.createTimePickerDialog();
            }
        });
        if (this.isSupportMultipleDates) {
            this.mToDateLl.setVisibility(0);
            textView.setText("From Date :");
            this.mFromDateEt.setEnabled(true);
        } else {
            this.mToDateLl.setVisibility(8);
            textView.setText("Date :");
            this.mFromDateEt.setEnabled(false);
        }
        this.mRelationship.setAdapter((SpinnerAdapter) new ArrayAdapter((Context) this, R.layout.simple_spinner_dropdown_item, (Object[]) this.relationships));
        this.mRelationship.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }

            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long j) {
                RequestNewGatePassActivity requestNewGatePassActivity = RequestNewGatePassActivity.this;
                requestNewGatePassActivity.selectedRelationship = requestNewGatePassActivity.relationships[i];
                RequestNewGatePassActivity.this.imageDataString = "";
                if (RequestNewGatePassActivity.this.selectedRelationship.equalsIgnoreCase("Father")) {
                    RequestNewGatePassActivity.this.relationLl.setVisibility(8);
                    RequestNewGatePassActivity requestNewGatePassActivity2 = RequestNewGatePassActivity.this;
                    requestNewGatePassActivity2.name = requestNewGatePassActivity2.mSharedPref.getString("Father_name", "");
                    RequestNewGatePassActivity.this.goingWith = 1;
                } else if (RequestNewGatePassActivity.this.selectedRelationship.equalsIgnoreCase("Mother")) {
                    RequestNewGatePassActivity.this.relationLl.setVisibility(8);
                    RequestNewGatePassActivity requestNewGatePassActivity3 = RequestNewGatePassActivity.this;
                    requestNewGatePassActivity3.name = requestNewGatePassActivity3.mSharedPref.getString("Mother_name", "");
                    RequestNewGatePassActivity.this.goingWith = 2;
                } else {
                    RequestNewGatePassActivity.this.name = "";
                    RequestNewGatePassActivity.this.selectedRelationship = "";
                    RequestNewGatePassActivity.this.goingWith = 3;
                    RequestNewGatePassActivity.this.mRelation.requestFocus();
                    RequestNewGatePassActivity.this.relationLl.setVisibility(0);
                }
                RequestNewGatePassActivity.this.mRelation.setText(RequestNewGatePassActivity.this.selectedRelationship);
                RequestNewGatePassActivity.this.mName.setText(RequestNewGatePassActivity.this.name);
            }
        });
        this.calendar = Calendar.getInstance();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy", Locale.US);
        this.mFromDateEt.setText(simpleDateFormat.format(this.calendar.getTime()));
        this.mToDateEt.setText(simpleDateFormat.format(this.calendar.getTime()));
        this.mTime.setText(new SimpleDateFormat("hh:mm a", Locale.US).format(this.calendar.getTime()));
    }

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

    private void requestStudentNewGatePass() {
        int i;
        TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
        if (transparentProgressDialog != null && !transparentProgressDialog.isShowing()) {
            this.mProgressbar.show();
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
        if (this.isSupportMultipleDates) {
            i = !this.fromDateStr.equalsIgnoreCase(this.toDateStr) ? 1 : 0;
            this.toDateStr = simpleDateFormat.format(new Date(this.toDateStr));
        } else {
            this.toDateStr = "";
            i = 0;
        }
        HashMap hashMap = new HashMap();
        hashMap.put("StudentEnrollmentID", String.valueOf(this.studentEnrollmentId));
        hashMap.put("AcademicYearID", String.valueOf(this.academicYearId));
        hashMap.put("UserID", String.valueOf(this.userId));
        hashMap.put("UserName", this.enrollmentCode);
        hashMap.put("date", simpleDateFormat.format(new Date(this.fromDateStr)));
        hashMap.put("time", this.time);
        hashMap.put("Reason", this.reason);
        hashMap.put("Relation", this.selectedRelationship);
        hashMap.put("Name", this.name);
        hashMap.put("Goingwith", String.valueOf(this.goingWith));
        hashMap.put("IsIOS", String.valueOf(0));
        hashMap.put("IsBulk", String.valueOf(i));
        hashMap.put("EndDate", this.toDateStr);
        hashMap.put("apikey", Utility.getSchoolApiKey(this.context));
        ((ApiInterface) ApiClient.getClient1(getApplicationContext()).create(ApiInterface.class)).requestStudentGatePass(hashMap).enqueue(new Callback<String>() {
            public void onResponse(Call<String> call, Response<String> response) {
                if (RequestNewGatePassActivity.this.mProgressbar != null && RequestNewGatePassActivity.this.mProgressbar.isShowing()) {
                    RequestNewGatePassActivity.this.mProgressbar.dismiss();
                }
                if (response != null && response.body() != null) {
                    String str = (String) response.body();
                    AlertDialog.Builder builder = new AlertDialog.Builder(RequestNewGatePassActivity.this);
                    builder.setMessage(str).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i2) {
                            RequestNewGatePassActivity.this.finish();
                        }
                    }).setCancelable(false);
                    builder.create().show();
                    return;
                }
                Utility.showAlertDialog(RequestNewGatePassActivity.activity);
            }

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

    public void createDateDialog() {
        this.dateDialog = DatePickerDialog.newInstance(this, this.calendar.get(1), this.calendar.get(2), this.calendar.get(5));
        this.dateDialog.setMinDate(Calendar.getInstance());
        this.dateDialog.setThemeDark(false);
        this.dateDialog.setAccentColor(ContextCompat.getColor(this.context, R.color.ColorPrimary));
        this.dateDialog.show(activity.getFragmentManager(), "Datepickerdialog");
    }

    public void onDateSet(DatePickerDialog datePickerDialog, int i, int i2, int i3) {
        this.calendar.set(1, i);
        this.calendar.set(2, i2);
        this.calendar.set(5, i3);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy", Locale.US);
        if (this.isSupportMultipleDates) {
            if (this.fromDate) {
                this.mFromDateEt.setText(simpleDateFormat.format(this.calendar.getTime()));
                this.fromDate = false;
            } else {
                this.mToDateEt.setText(simpleDateFormat.format(this.calendar.getTime()));
                this.toDate = false;
            }
        } else {
            this.mFromDateEt.setText(simpleDateFormat.format(this.calendar.getTime()));
        }
        try {
            if (this.isSupportMultipleDates) {
                this.dateComp = false;
                SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("dd MMM yyyy", Locale.US);
                Date parse = simpleDateFormat2.parse(this.mFromDateEt.getText().toString().trim());
                Date parse2 = simpleDateFormat2.parse(this.mToDateEt.getText().toString().trim());
                parse.before(parse2);
                if (parse.after(parse2)) {
                    this.dateComp = true;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void createTimePickerDialog() {
        TimePickerDialog newInstance = TimePickerDialog.newInstance(this, this.calendar.get(11), this.calendar.get(12), this.calendar.get(13), true);
        this.timePickerDialog = newInstance;
        newInstance.show(getFragmentManager(), "TimePickerDialog");
    }

    public void onTimeSet(RadialPickerLayout radialPickerLayout, int i, int i2, int i3) {
        this.calendar.set(11, i);
        this.calendar.set(12, i2);
        this.calendar.set(13, i3);
        this.mTime.setText(new SimpleDateFormat("hh:mm a", Locale.US).format(this.calendar.getTime()));
    }

    public void onActivityResult(int i, int i2, Intent intent) {
        super.onActivityResult(i, i2, intent);
        if (i2 == -1 && i == 1) {
            try {
                Bitmap bitmap = (Bitmap) intent.getExtras().getParcelable("data");
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
                this.imageDataString = Base64.encodeToString(byteArrayOutputStream.toByteArray(), 0);
                this.mPhoto.setImageResource(android.R.color.transparent);
                this.mPhoto.setBackgroundResource(android.R.color.transparent);
                if (this.imageDataString.length() > 0 && !this.imageDataString.equalsIgnoreCase("null")) {
                    byte[] decode = Base64.decode(this.imageDataString, 0);
                    this.mPhoto.setImageBitmap(BitmapFactory.decodeByteArray(decode, 0, decode.length));
                    this.mCapturePhoto.setVisibility(8);
                } else {
                    this.mPhoto.setImageResource(R.drawable.nopicture);
                    this.mCapturePhoto.setVisibility(0);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public void onClick(View view) {
        try {
            startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE"), 1);
        } catch (ActivityNotFoundException unused) {
            Toast.makeText(this.context, "Whoops - your device doesn't support capturing images!", 0).show();
        }
    }

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

    public boolean onOptionsItemSelected(MenuItem menuItem) {
        int itemId = menuItem.getItemId();
        if (itemId == 16908332) {
            onBackPressed();
            return true;
        }
        if (itemId == 2131363540) {
            this.selectedRelationship = this.mRelation.getText().toString().trim();
            this.name = this.mName.getText().toString().trim();
            this.reason = this.mReason.getText().toString().trim();
            this.fromDateStr = this.mFromDateEt.getText().toString().trim();
            this.time = this.mTime.getText().toString().trim();
            this.toDateStr = this.mToDateEt.getText().toString().trim();
            if (this.selectedRelationship.length() > 0 && this.name.length() > 0 && this.reason.length() > 0 && this.fromDateStr.length() > 0 && this.time.length() > 0) {
                if (this.isSupportMultipleDates) {
                    if (!this.dateComp) {
                        requestStudentGatePass();
                    } else {
                        Toast.makeText(getApplicationContext(), "Invalid Date Range Selection!", 0).show();
                    }
                } else {
                    requestStudentGatePass();
                }
            } else if (this.selectedRelationship.length() == 0) {
                Toast.makeText(this.context, "Enter relation", 0).show();
            } else if (this.name.length() == 0) {
                Toast.makeText(this.context, "Enter name", 0).show();
            } else if (this.reason.length() == 0) {
                Toast.makeText(this.context, "Enter reason", 0).show();
            } else if (this.fromDateStr.length() == 0) {
                Toast.makeText(this.context, "Enter date", 0).show();
            } else if (this.time.length() == 0) {
                Toast.makeText(this.context, "Enter time", 0).show();
            }
            return true;
        }
        return super.onOptionsItemSelected(menuItem);
    }

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