导航菜单

页面标题

页面副标题

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

正在查看: St.John's v1.0.9 应用的 DayWiseAttendanceActivity.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.graphics.Color;
import android.graphics.Typeface;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Spinner;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.mcb.stjohnsemschool.model.AttendanceMainModel;
import com.mcb.stjohnsemschool.model.DayWiseAttendanceModel;
import com.mcb.stjohnsemschool.model.PeriodSubjectModel;
import com.mcb.stjohnsemschool.model.PeriodWiseAttendanceModel;
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 java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class DayWiseAttendanceActivity extends AppCompatActivity {
    private Activity activity;
    private ConnectivityManager conMgr;
    private Context context;
    private TableLayout mAttendanceTl;
    private Spinner mMonthsSp;
    private Typeface mMuseoSlab500;
    private TransparentProgressDialog mProgressbar;
    private SharedPreferences mSharedPref;
    private TextView mShowNodataText;
    private AttendanceMainModel mainAttendanceModel;
    private TextView monthNameTv;
    private int monthNo;
    private int yearNo;
    private String mUserId = "0";
    private String mStudentEnrollmentID = "0";
    private String mClassId = "0";
    private String mAcadamicYearId = "0";
    private String mBranchSectionId = "0";
    private String mOrgId = "0";
    private int selPos = 0;

    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_day_wise_attendance);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        init();
    }

    private void init() {
        this.activity = this;
        this.context = getApplicationContext();
        Intent intent = getIntent();
        String stringExtra = intent.getStringExtra("title");
        this.monthNo = intent.getIntExtra("month", 0);
        this.yearNo = intent.getIntExtra("year", 0);
        setTitle("" + stringExtra);
        SharedPreferences sharedPreferences = this.context.getSharedPreferences("", 0);
        this.mSharedPref = sharedPreferences;
        this.mUserId = sharedPreferences.getString("UseridKey", this.mUserId);
        this.mClassId = this.mSharedPref.getString("ClassidKey", this.mClassId);
        this.mStudentEnrollmentID = this.mSharedPref.getString("studentEnrollmentIdKey", this.mStudentEnrollmentID);
        this.mAcadamicYearId = this.mSharedPref.getString("academicyearIdKey", this.mAcadamicYearId);
        this.mBranchSectionId = this.mSharedPref.getString("BranchSectionIDKey", this.mBranchSectionId);
        this.mMuseoSlab500 = Typeface.createFromAsset(this.context.getAssets(), "Roboto-Regular.ttf");
        this.mOrgId = this.mSharedPref.getString("orgnizationIdKey", "25");
        this.mProgressbar = new TransparentProgressDialog(this.activity, R.drawable.spinner_loading_imag);
        this.mAttendanceTl = (TableLayout) findViewById(R.id.tl_attendance);
        TextView textView = (TextView) findViewById(R.id.alert_message_text);
        this.mShowNodataText = textView;
        textView.setText("Attendance not Available");
        this.mShowNodataText.setTypeface(this.mMuseoSlab500);
        loadAttendanceDetails();
    }

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

    private void getAttendance() {
        TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
        if (transparentProgressDialog != null && !transparentProgressDialog.isShowing()) {
            this.mProgressbar.show();
        }
        ((ApiInterface) ApiClient.getClient1(this.context).create(ApiInterface.class)).getDayWiseAttendanceReport(Integer.parseInt(this.mStudentEnrollmentID), Integer.parseInt(this.mAcadamicYearId), Integer.parseInt(this.mOrgId), this.monthNo, this.yearNo, Utility.getSchoolApiKey(this.context)).enqueue(new Callback<AttendanceMainModel>() {
            public void onResponse(Call<AttendanceMainModel> call, Response<AttendanceMainModel> response) {
                if (DayWiseAttendanceActivity.this.mProgressbar != null && DayWiseAttendanceActivity.this.mProgressbar.isShowing()) {
                    DayWiseAttendanceActivity.this.mProgressbar.dismiss();
                }
                if (response == null || response.body() == null) {
                    Utility.showAlertDialog(DayWiseAttendanceActivity.this.activity);
                    return;
                }
                DayWiseAttendanceActivity.this.mainAttendanceModel = (AttendanceMainModel) response.body();
                DayWiseAttendanceActivity.this.mAttendanceTl.removeAllViews();
                if (DayWiseAttendanceActivity.this.mainAttendanceModel != null) {
                    List data = DayWiseAttendanceActivity.this.mainAttendanceModel.getData();
                    if (data == null || data.isEmpty()) {
                        DayWiseAttendanceActivity.this.mShowNodataText.setVisibility(0);
                        DayWiseAttendanceActivity.this.mAttendanceTl.setVisibility(4);
                        return;
                    } else {
                        DayWiseAttendanceActivity dayWiseAttendanceActivity = DayWiseAttendanceActivity.this;
                        dayWiseAttendanceActivity.createTableUI(dayWiseAttendanceActivity.mainAttendanceModel);
                        DayWiseAttendanceActivity.this.mShowNodataText.setVisibility(8);
                        DayWiseAttendanceActivity.this.mAttendanceTl.setVisibility(0);
                        return;
                    }
                }
                DayWiseAttendanceActivity.this.mShowNodataText.setVisibility(0);
                DayWiseAttendanceActivity.this.mAttendanceTl.setVisibility(4);
            }

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

    public void createTableUI(AttendanceMainModel attendanceMainModel) {
        String str;
        this.mAttendanceTl.removeAllViews();
        TableRow tableRow = new TableRow(this.activity);
        TableRow.LayoutParams layoutParams = new TableRow.LayoutParams(-2, -2);
        tableRow.addView(getHeaderElementTextView("Date", 1.5f), layoutParams);
        List periods = attendanceMainModel.getPeriods();
        if (periods != null && !periods.isEmpty()) {
            for (int i = 0; i < periods.size(); i++) {
                tableRow.addView(getHeaderElementTextView("" + ((String) periods.get(i)), 1.5f), layoutParams);
            }
        }
        TextView headerElementTextView = getHeaderElementTextView("Total", 1.0f);
        TextView headerElementTextView2 = getHeaderElementTextView("Present", 1.0f);
        TextView headerElementTextView3 = getHeaderElementTextView("Absent", 1.0f);
        TextView headerElementTextView4 = getHeaderElementTextView("Present(%)", 1.0f);
        TextView headerElementTextView5 = getHeaderElementTextView("Absent(%)", 1.0f);
        tableRow.addView(headerElementTextView, layoutParams);
        tableRow.addView(headerElementTextView2, layoutParams);
        tableRow.addView(headerElementTextView3, layoutParams);
        tableRow.addView(headerElementTextView4, layoutParams);
        tableRow.addView(headerElementTextView5, layoutParams);
        tableRow.setBackgroundColor(getResources().getColor(R.color.ColorPrimary));
        this.mAttendanceTl.addView(tableRow);
        List data = attendanceMainModel.getData();
        for (int i2 = 0; i2 < data.size(); i2++) {
            DayWiseAttendanceModel dayWiseAttendanceModel = (DayWiseAttendanceModel) data.get(i2);
            TableRow tableRow2 = new TableRow(this.activity);
            tableRow2.addView(getElementTextView("" + dayWiseAttendanceModel.getAttendanceDateDisp(), 1.5f), layoutParams);
            List periods2 = attendanceMainModel.getPeriods();
            ArrayList arrayList = new ArrayList();
            arrayList.clear();
            List data2 = dayWiseAttendanceModel.getData();
            for (int i3 = 0; i3 < periods2.size(); i3++) {
                PeriodSubjectModel periodSubjectModel = new PeriodSubjectModel();
                String str2 = (String) periods2.get(i3);
                periodSubjectModel.setPeriodName(str2);
                int i4 = 0;
                while (true) {
                    if (i4 < data2.size()) {
                        if (str2.equalsIgnoreCase(((PeriodWiseAttendanceModel) data2.get(i4)).getPeriods())) {
                            str = ((PeriodWiseAttendanceModel) data2.get(i4)).getSubjectName();
                            break;
                        }
                        i4++;
                    } else {
                        str = "---";
                        break;
                    }
                }
                periodSubjectModel.setSubjectName(str);
                arrayList.add(periodSubjectModel);
            }
            for (int i5 = 0; i5 < arrayList.size(); i5++) {
                tableRow2.addView(getElementTextView("" + ((PeriodSubjectModel) arrayList.get(i5)).getSubjectName(), 1.5f), layoutParams);
            }
            DecimalFormat decimalFormat = new DecimalFormat("##.##");
            TextView elementTextView = getElementTextView(String.valueOf(dayWiseAttendanceModel.getToatalClasses()), 1.0f);
            TextView elementTextView2 = getElementTextView(String.valueOf(dayWiseAttendanceModel.getToatalPresent()), 1.0f);
            TextView elementAbsentTextView = getElementAbsentTextView(String.valueOf(dayWiseAttendanceModel.getToatalAbsent()), 1.0f);
            TextView elementTextView3 = getElementTextView(decimalFormat.format(dayWiseAttendanceModel.getPresentPercentage()), 1.0f);
            TextView elementTextView4 = getElementTextView(decimalFormat.format(dayWiseAttendanceModel.getAbsentPercentage()), 1.0f);
            tableRow2.addView(elementTextView, layoutParams);
            tableRow2.addView(elementTextView2, layoutParams);
            tableRow2.addView(elementAbsentTextView, layoutParams);
            tableRow2.addView(elementTextView3, layoutParams);
            tableRow2.addView(elementTextView4, layoutParams);
            if (i2 % 2 == 0) {
                tableRow2.setBackgroundColor(-1);
            } else {
                tableRow2.setBackgroundColor(Color.parseColor("#D8D8D8"));
            }
            this.mAttendanceTl.addView(tableRow2);
        }
    }

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

    TextView getElementTextView(String str, float f) {
        TextView textView = new TextView(this.activity);
        textView.setLayoutParams(new TableRow.LayoutParams(0, -1, f));
        textView.setText(str);
        textView.setTextSize(16.0f);
        textView.setTextColor(-16777216);
        textView.setTypeface(this.mMuseoSlab500);
        textView.setGravity(17);
        textView.setPadding(5, 10, 5, 20);
        textView.setBackgroundResource(R.drawable.border);
        return textView;
    }

    TextView getElementAbsentTextView(String str, float f) {
        TextView textView = new TextView(this.activity);
        int i = 0;
        textView.setLayoutParams(new TableRow.LayoutParams(0, -1, f));
        textView.setText(str);
        textView.setTextSize(16.0f);
        if (str != null) {
            try {
                i = Integer.parseInt(str.toString());
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }
            if (i > 0) {
                textView.setTextColor(-65536);
            } else {
                textView.setTextColor(-16777216);
            }
        } else {
            textView.setTextColor(-16777216);
        }
        textView.setTypeface(this.mMuseoSlab500);
        textView.setGravity(17);
        textView.setPadding(5, 10, 5, 20);
        textView.setBackgroundResource(R.drawable.border);
        return textView;
    }

    TextView getHeaderElementTextView(String str, float f) {
        TextView textView = new TextView(this.activity);
        textView.setLayoutParams(new TableRow.LayoutParams(-2, -1, f));
        textView.setText(str);
        textView.setTextSize(16.0f);
        textView.setTextColor(-1);
        textView.setTypeface(Typeface.SERIF);
        textView.setGravity(17);
        textView.setBackgroundResource(R.drawable.border);
        textView.setPadding(5, 7, 5, 7);
        return textView;
    }
}