正在查看: St.John's v1.0.9 应用的 DetailReplyMessageActivity.java JAVA 源代码文件
本页面展示 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);
}
}