导航菜单

页面标题

页面副标题

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

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

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


package com.mcb.stjohnsemschool.activity;

import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.text.format.DateUtils;
import android.view.ContextThemeWrapper;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import com.google.android.exoplayer2.DefaultRenderersFactory;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.mcb.stjohnsemschool.adapter.ReplyMessageAdapter;
import com.mcb.stjohnsemschool.model.InboxMessagesModelClass;
import com.mcb.stjohnsemschool.model.ReplyModelClass;
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.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Timer;
import java.util.TimerTask;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class DetailReplyMessageActivity extends BaseActivity implements View.OnClickListener {
    private String Message;
    private String Subject;
    private String academicYearId;
    private String branchId;
    private int branchSection;
    private String classId;
    private ConnectivityManager conMgr;
    private String locId;
    private ReplyMessageAdapter mAdapter;
    private ImageButton mCompose;
    private ListView mListView;
    private EditText mMessageEdit;
    private TransparentProgressDialog mProgressbar;
    private PullToRefreshListView mPullRefreshListView;
    private TextView mShowNodataText;
    private String mUserID;
    private Activity myActivity;
    private String orgId;
    private String sectionid;
    private String staffCode;
    private String staffCode1;
    private String staffName;
    private String staffSubject;
    private int staffUserId;
    private Timer timer;
    private TimerTask timerTask;
    private String type;
    private final String TAG = DetailReplyMessageActivity.class.getName();
    private ArrayList<ReplyModelClass> mReplyList = new ArrayList<>();
    private ArrayList<ReplyModelClass> mReplyListDup = new ArrayList<>();
    private int isRead = 1;
    private boolean isFirstTime = true;
    private final Handler handler = new Handler();

    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_reply_messages);
        getWindow().setSoftInputMode(3);
        this.myActivity = this;
        SharedPreferences sharedPreferences = getSharedPreferences("", 0);
        this.orgId = sharedPreferences.getString("orgnizationIdKey", this.orgId);
        this.mUserID = sharedPreferences.getString("UseridKey", this.mUserID);
        this.academicYearId = sharedPreferences.getString("academicyearIdKey", this.academicYearId);
        this.locId = sharedPreferences.getString("LocIdKey", this.locId);
        this.branchId = sharedPreferences.getString("BranchIdKey", this.branchId);
        this.classId = sharedPreferences.getString("ClassidKey", this.classId);
        this.sectionid = sharedPreferences.getString("BranchSectionIDKey", this.sectionid);
        Bundle extras = getIntent().getExtras();
        this.staffName = extras.getString("StaffName", this.staffName);
        this.staffCode = extras.getString("StaffCode", this.staffCode);
        this.staffCode1 = extras.getString("StaffCode1", this.staffCode1);
        this.staffSubject = extras.getString("SubjectName", this.staffSubject);
        this.branchSection = extras.getInt("BranchSectionID", this.branchSection);
        this.staffUserId = extras.getInt("UserID", this.staffUserId);
        this.type = extras.getString("Type", this.type);
        getSupportActionBar().setTitle(this.staffName);
        getSupportActionBar().setSubtitle(this.type + "-" + this.staffSubject);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        setUps();
        if (Build.VERSION.SDK_INT >= 23) {
            getMultiplePermissions();
        }
    }

    private void setUps() {
        this.mCompose = (ImageButton) findViewById(R.id.enter_chat);
        this.mMessageEdit = (EditText) findViewById(R.id.chat_edit_text);
        TextView textView = (TextView) findViewById(R.id.alert_message_text);
        this.mShowNodataText = textView;
        textView.setVisibility(8);
        this.mProgressbar = new TransparentProgressDialog(this, R.drawable.spinner_loading_imag);
        PullToRefreshListView pullToRefreshListView = (PullToRefreshListView) findViewById(R.id.listview_messages);
        this.mPullRefreshListView = pullToRefreshListView;
        pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
            }

            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                pullToRefreshBase.getLoadingLayoutProxy().setLastUpdatedLabel(DateUtils.formatDateTime(DetailReplyMessageActivity.this.getApplicationContext(), System.currentTimeMillis(), 524305));
                DetailReplyMessageActivity.this.GetInBoxMessages();
            }
        });
        this.mPullRefreshListView.setMode(PullToRefreshBase.Mode.DISABLED);
        this.mListView = (ListView) this.mPullRefreshListView.getRefreshableView();
        this.mPullRefreshListView.setVisibility(0);
        this.mCompose.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        if (view == this.mCompose) {
            this.Subject = this.staffName;
            this.Message = this.mMessageEdit.getText().toString().trim();
            if (this.Subject.length() > 0 && this.Message.length() > 0) {
                sendMessage();
            } else if (this.Subject.length() == 0) {
                Toast.makeText(getApplicationContext(), "Enter Subject", 0).show();
            } else if (this.Message.length() == 0) {
                Toast.makeText(getApplicationContext(), "Enter Message", 0).show();
            }
        }
    }

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

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

    private void composeMessage() {
        TransparentProgressDialog transparentProgressDialog = this.mProgressbar;
        if (transparentProgressDialog != null && !transparentProgressDialog.isShowing()) {
            this.mProgressbar.show();
        }
        HashMap hashMap = new HashMap();
        hashMap.put("To", this.staffCode1);
        hashMap.put("OrganisationID", this.orgId);
        hashMap.put("UserId", this.mUserID);
        hashMap.put("Subject", this.Subject);
        hashMap.put("Message", this.Message);
        hashMap.put("apikey", Utility.getSchoolApiKey(this));
        ((ApiInterface) ApiClient.getClient1(getApplicationContext()).create(ApiInterface.class)).ComposeMessage(hashMap).enqueue(new Callback<String>() {
            public void onResponse(Call<String> call, Response<String> response) {
                if (DetailReplyMessageActivity.this.mProgressbar != null && DetailReplyMessageActivity.this.mProgressbar.isShowing()) {
                    DetailReplyMessageActivity.this.mProgressbar.dismiss();
                }
                if (response == null || response.body() == null) {
                    Utility.showAlertDialog(DetailReplyMessageActivity.this.myActivity);
                    return;
                }
                if (((String) response.body()).equals("1")) {
                    DetailReplyMessageActivity.this.mMessageEdit.setText("");
                    DetailReplyMessageActivity.this.GetInBoxMessages();
                } else {
                    AlertDialog.Builder builder = new AlertDialog.Builder(DetailReplyMessageActivity.this);
                    builder.setTitle("ERROR");
                    builder.setMessage("Message sending error.Try again !!").setCancelable(false).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            DetailReplyMessageActivity.this.GetInBoxMessages();
                        }
                    });
                    builder.create().show();
                }
            }

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

    private void getMessages() {
        ((ApiInterface) ApiClient.getClient1(getApplicationContext()).create(ApiInterface.class)).GetInBoxMessages(Integer.parseInt(this.mUserID), this.staffUserId, Integer.parseInt(this.branchId), Integer.parseInt(this.orgId), Integer.parseInt(this.classId), Integer.parseInt(this.sectionid), Utility.getSchoolApiKey(this)).enqueue(new Callback<ArrayList<InboxMessagesModelClass>>() {
            public void onResponse(Call<ArrayList<InboxMessagesModelClass>> call, Response<ArrayList<InboxMessagesModelClass>> response) {
                if (response == null || response.body() == null) {
                    Utility.showAlertDialog(DetailReplyMessageActivity.this.myActivity);
                    return;
                }
                ArrayList arrayList = (ArrayList) response.body();
                if (arrayList == null || arrayList.size() == 0) {
                    DetailReplyMessageActivity.this.mShowNodataText.setVisibility(0);
                    DetailReplyMessageActivity.this.mPullRefreshListView.setVisibility(8);
                } else if (arrayList.size() > 0) {
                    DetailReplyMessageActivity.this.mReplyList.clear();
                    DetailReplyMessageActivity.this.mReplyListDup.clear();
                    DetailReplyMessageActivity.this.mReplyList = null;
                    DetailReplyMessageActivity.this.mReplyList = new ArrayList();
                    Iterator it = arrayList.iterator();
                    while (it.hasNext()) {
                        InboxMessagesModelClass inboxMessagesModelClass = (InboxMessagesModelClass) it.next();
                        String fileName = inboxMessagesModelClass.getFileName();
                        String filePath = inboxMessagesModelClass.getFilePath();
                        if (filePath != null && filePath.length() > 0) {
                            String[] split = filePath.split(",");
                            if (split.length >= 2) {
                                fileName = split[0];
                                filePath = split[1];
                            }
                        }
                        ReplyModelClass replyModelClass = new ReplyModelClass();
                        replyModelClass.setFrom(inboxMessagesModelClass.getFrom());
                        replyModelClass.setIsReply(inboxMessagesModelClass.getIsReply());
                        replyModelClass.setMessage(inboxMessagesModelClass.getMessage());
                        replyModelClass.setMessageFrom(inboxMessagesModelClass.getMessageFrom());
                        replyModelClass.setMessageID(inboxMessagesModelClass.getMessageID());
                        replyModelClass.setReplyOrForwardedMessageID(inboxMessagesModelClass.getReplyOrForwardedMessageID());
                        replyModelClass.setSubject(inboxMessagesModelClass.getSubject());
                        replyModelClass.setTo(inboxMessagesModelClass.getTo());
                        replyModelClass.setCreatedDate(inboxMessagesModelClass.getCreatedDate());
                        replyModelClass.setFromId(inboxMessagesModelClass.getFromId());
                        replyModelClass.setReplyMessage(inboxMessagesModelClass.getReplyMessage());
                        replyModelClass.setStaffUserId(DetailReplyMessageActivity.this.staffUserId);
                        replyModelClass.setFileName(fileName);
                        replyModelClass.setFilePath(filePath);
                        DetailReplyMessageActivity.this.mReplyList.add(replyModelClass);
                    }
                }
                int firstVisiblePosition = DetailReplyMessageActivity.this.mListView.getFirstVisiblePosition();
                View childAt = DetailReplyMessageActivity.this.mListView.getChildAt(0);
                int top = childAt == null ? 0 : childAt.getTop();
                Collections.sort(DetailReplyMessageActivity.this.mReplyList, new Comparator<ReplyModelClass>() {
                    SimpleDateFormat f = new SimpleDateFormat("dd MMM yyyy HH:mm", Locale.US);

                    @Override
                    public int compare(ReplyModelClass replyModelClass2, ReplyModelClass replyModelClass3) {
                        try {
                            return this.f.parse(replyModelClass2.getCreatedDate()).compareTo(this.f.parse(replyModelClass3.getCreatedDate()));
                        } catch (ParseException e) {
                            throw new IllegalArgumentException(e);
                        }
                    }
                });
                DetailReplyMessageActivity detailReplyMessageActivity = DetailReplyMessageActivity.this;
                detailReplyMessageActivity.mReplyListDup = detailReplyMessageActivity.mReplyList;
                DetailReplyMessageActivity.this.mAdapter = new ReplyMessageAdapter(DetailReplyMessageActivity.this.getApplicationContext(), DetailReplyMessageActivity.this.myActivity, DetailReplyMessageActivity.this.mReplyList, DetailReplyMessageActivity.this.mPullRefreshListView);
                DetailReplyMessageActivity.this.mPullRefreshListView.setAdapter(DetailReplyMessageActivity.this.mAdapter);
                DetailReplyMessageActivity.this.mAdapter.notifyDataSetChanged();
                if (DetailReplyMessageActivity.this.mReplyList == null || DetailReplyMessageActivity.this.mReplyList.size() <= 0) {
                    DetailReplyMessageActivity.this.mShowNodataText.setVisibility(0);
                    DetailReplyMessageActivity.this.mPullRefreshListView.setVisibility(8);
                    return;
                }
                if (DetailReplyMessageActivity.this.isFirstTime) {
                    if (arrayList != null) {
                        DetailReplyMessageActivity.this.mListView.setSelection(DetailReplyMessageActivity.this.mReplyList.size() - arrayList.size());
                    }
                    DetailReplyMessageActivity.this.mListView.setSelection(DetailReplyMessageActivity.this.mListView.getAdapter().getCount() - 1);
                } else {
                    DetailReplyMessageActivity.this.mListView.setSelectionFromTop(firstVisiblePosition, top);
                }
                DetailReplyMessageActivity.this.isFirstTime = false;
                DetailReplyMessageActivity.this.mShowNodataText.setVisibility(8);
                DetailReplyMessageActivity.this.mPullRefreshListView.setVisibility(0);
            }

            public void onFailure(Call<ArrayList<InboxMessagesModelClass>> call, Throwable th) {
                Utility.showAlertDialog(DetailReplyMessageActivity.this.myActivity);
            }
        });
    }

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

    private void showAlertDialog(String str) {
        new AlertDialog.Builder(new ContextThemeWrapper((Context) this, R.style.MyDialogTheme)).setMessage(str).setCancelable(false).setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                dialogInterface.cancel();
            }
        }).show();
    }

    public void startTimer() {
        this.timer = new Timer();
        initializeTimerTask();
        this.timer.schedule(this.timerTask, 1000L, DefaultRenderersFactory.DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS);
    }

    private void initializeTimerTask() {
        this.timerTask = new TimerTask() {
            @Override
            public void run() {
                DetailReplyMessageActivity.this.handler.post(new Runnable() {
                    @Override
                    public void run() {
                        DetailReplyMessageActivity.this.GetInBoxMessages();
                    }
                });
            }
        };
    }

    public void stopTimerTask() {
        Timer timer = this.timer;
        if (timer != null) {
            timer.cancel();
            this.timer = null;
        }
    }

    protected void onDestroy() {
        stopTimerTask();
        super.onDestroy();
    }

    public void onBackPressed() {
        super.onBackPressed();
        if (this.mProgressbar.isShowing()) {
            this.mProgressbar.dismiss();
        }
        Timer timer = this.timer;
        if (timer != null) {
            timer.cancel();
            this.timer = null;
            this.mReplyList.clear();
            this.mReplyListDup.clear();
        }
    }

    protected void onPause() {
        super.onPause();
        if (this.mProgressbar.isShowing()) {
            this.mProgressbar.dismiss();
        }
    }

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

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