package com.ijoomer.components.jomsocial; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.OnScanCompletedListener; import android.net.Uri; import android.provider.MediaStore; import android.text.Html; import android.text.method.LinkMovementMethod; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.ProgressBar; import android.widget.RadioGroup; import android.widget.RelativeLayout; import android.widget.SeekBar; import android.widget.TextView.BufferType; import com.androidquery.AQuery; import com.androidquery.callback.AjaxCallback; import com.androidquery.callback.AjaxStatus; import com.ijoomer.common.classes.IjoomerFileChooserActivity; import com.ijoomer.common.classes.IjoomerShareActivity; import com.ijoomer.common.classes.IjoomerUtilities; import com.ijoomer.common.classes.ViewHolder; import com.ijoomer.common.configuration.IjoomerApplicationConfiguration; import com.ijoomer.custom.interfaces.AnnouncementAndDiscussionListner; import com.ijoomer.custom.interfaces.ReportListner; import com.ijoomer.custom.interfaces.SelectImageDialogListner; import com.ijoomer.customviews.IjoomerAudioPlayer.AudioListener; import com.ijoomer.customviews.IjoomerButton; import com.ijoomer.customviews.IjoomerEditText; import com.ijoomer.customviews.IjoomerTextView; import com.ijoomer.customviews.IjoomerVoiceAndTextMessager; import com.ijoomer.customviews.IjoomerVoiceAndTextMessager.MessageHandler; import com.ijoomer.customviews.IjoomerVoiceButton; import com.ijoomer.library.jomsocial.JomGroupDataProvider; import com.ijoomer.library.jomsocial.JomWallDataProvider; import com.ijoomer.media.player.IjoomerMediaPlayer; import com.ijoomer.src.R; import com.ijoomer.weservice.WebCallListener; import com.ijoomer.weservice.WebCallListenerWithCacheInfo; import com.smart.framework.CustomAlertMagnatic; import com.smart.framework.CustomAlertNeutral; import com.smart.framework.ItemView; import com.smart.framework.SmartListAdapterWithHolder; import com.smart.framework.SmartListItem; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.File; import java.util.ArrayList; import java.util.HashMap; /** * This Class Contains All Method Related To JomGroupDetailsActivity. * * @author tasol * */ public class JomGroupDetailsActivity extends JomMasterActivity { private LinearLayout lnrGroupCreateDiscussion; private LinearLayout lnrGroupHeader; private LinearLayout lnrGroupActivitiesAnnouncementDiscussionList; private LinearLayout lnrGroupOptionsList; private LinearLayout lnrGroupWriteComment; private LinearLayout lnrGroupCreateAnnouncement; private LinearLayout listFooter; private LinearLayout lnrInvitation; private LinearLayout lnrPlayRecordComment; private ListView lstGroupDetails; private ListView lstGroupMember; private ListView lstGroupFiles; private IjoomerTextView txtGroupTitle; private IjoomerTextView txtGroupCreatedBy; private IjoomerTextView txtGroupCreatedOn; private IjoomerTextView txtGroupNoRecentActivities; private IjoomerTextView txtGroupNoDiscussion; private IjoomerTextView txtGroupNoAnnouncement; private IjoomerTextView txtGroupCategory; private IjoomerTextView txtGroupDetails; private IjoomerTextView txtGroupLikeCount; private IjoomerTextView txtGroupDislikeCount; private IjoomerTextView txtGroupFileCount; private IjoomerTextView txtGroupShare; private IjoomerTextView txtGroupReport; private IjoomerTextView txtGroupActivities; private IjoomerTextView txtGroupAnnouncement; private IjoomerTextView txtGroupDiscussion; private IjoomerTextView txtGroupMember; private IjoomerTextView txtGroupPhoto; private IjoomerTextView txtGroupVideo; private IjoomerTextView txtGroupEvent; private IjoomerTextView txtGroupEdit; private IjoomerTextView txtGroupSendEmail; private IjoomerTextView txtGroupRemove; private IjoomerTextView txtGroupUnpublish; private IjoomerTextView txtGroupAllMember; private IjoomerTextView txtGroupBanMember; private IjoomerTextView txtInvitationMessage; private IjoomerTextView txtInvitationAccept; private IjoomerTextView txtInvitationReject; private IjoomerTextView txtPrivateGroupApprovalRequestList; private IjoomerTextView txtPrivateGroupAwiting; private IjoomerTextView txtPrivateGroup; private IjoomerTextView txtTotalRecordComment; private IjoomerTextView txtRecordUser; private IjoomerButton btnGroupJoin; private IjoomerButton btnGroupLeave; private IjoomerButton btnGroupInviteFriend; private IjoomerButton btnGroupCreateAnnouncement; private IjoomerButton btnGroupCreateDiscussion; private IjoomerVoiceButton btnPlayAll; private IjoomerVoiceAndTextMessager voiceMessager; private ImageView imgGroupAvatar; private ImageView imgTagClose; private ImageView imgGroupEditAvatar; private ImageView imgInvitationIcon; private FrameLayout framGroupEditAvatar; private PopupWindow dialog; private ProgressBar pbrGroupMember; private ProgressBar pbrGroupFiles; private Dialog dialogAnnouncementOrDiscussion = null; private ViewGroup groupDetailsHeaderLayout; private AQuery androidQuery; private ArrayList<SmartListItem> listData = new ArrayList<SmartListItem>(); private ArrayList<SmartListItem> guestListData = new ArrayList<SmartListItem>(); private ArrayList<SmartListItem> fileListData = new ArrayList<SmartListItem>(); private ArrayList<HashMap<String, String>> fileList; private ArrayList<HashMap<String, String>> activitiesList; private ArrayList<HashMap<String, String>> announcementList; private ArrayList<HashMap<String, String>> discussionList; private ArrayList<HashMap<String, String>> groupAllMemberList; private ArrayList<HashMap<String, String>> groupBanMemberList; private ArrayList<HashMap<String, String>> groupWaitingApprovalMemberList; private HashMap<String, String> IN_GROUP_DETAILS; private HashMap<String, String> GROUP_DETAILS; private JSONObject adminMenu; private JSONObject menu; private JSONObject option; private SmartListAdapterWithHolder wallListAdapterWithHolder; private SmartListAdapterWithHolder announcementListAdapterWithHolder; private SmartListAdapterWithHolder discussionListAdapterWithHolder; private SmartListAdapterWithHolder guestAdapter; private SmartListAdapterWithHolder fileListAdapter; private JomGroupDataProvider provider; private JomGroupDataProvider providerAnnoucement; private JomGroupDataProvider providerDiscussion; private JomWallDataProvider wallDataProvider; private JomGroupDataProvider providerGroupAllMember; private JomGroupDataProvider providerGroupBanMember; private JomGroupDataProvider providerGroupWaitingApprovalMember; private JomGroupDataProvider fileDataProvider; final private int PICK_IMAGE = 1; final private int CAPTURE_IMAGE = 2; final private String ACTIVITES_LIST = "activites_list"; final private String ANNOUNCEMENT_LIST = "announcement_list"; final private String DISCUSSION_LIST = "discussion_list"; final private int DOWNLOAD_FILE_LOCATION = 5; private String IN_USERID; private String MEMEBERLIST = "memberList"; private String BANMEMBERLIST = "banmemberList"; private String currentList = MEMEBERLIST; private String CURRENT_LIST = ACTIVITES_LIST; private String selectedImagePath; private String createEvent = "0"; private String uploadPhoto = "0"; private String addAlbum = "0"; private String addVideo = "0"; private boolean isCreateAnnouncement; private boolean isCreateDiscussion; private boolean isActivityResuming = false; private boolean isGuestListResuming = false; private int downlodIndex = 0; private int recordCommentCounter; private int recordCommentTotal; private int recordCommentLast; /** * Overrides methods */ @Override public int setLayoutId() { return R.layout.jom_group_details; } @Override public void initComponents() { lstGroupDetails = (ListView) findViewById(R.id.lstGroupDetails); groupDetailsHeaderLayout = (ViewGroup) LayoutInflater.from(this).inflate(R.layout.jom_group_details_header, null); listFooter = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.ijoomer_list_footer, null); lnrGroupHeader = (LinearLayout) findViewById(R.id.lnrGroupHeader); lnrGroupWriteComment = (LinearLayout) findViewById(R.id.lnrGroupWriteComment); lstGroupDetails.addHeaderView(groupDetailsHeaderLayout, null, false); lstGroupDetails.addFooterView(listFooter, null, false); lstGroupDetails.setAdapter(null); lnrPlayRecordComment = (LinearLayout) groupDetailsHeaderLayout.findViewById(R.id.lnrPlayRecordComment); lnrGroupActivitiesAnnouncementDiscussionList = (LinearLayout) groupDetailsHeaderLayout.findViewById(R.id.lnrGroupActivitiesAnnouncementDiscussionList); lnrGroupOptionsList = (LinearLayout) groupDetailsHeaderLayout.findViewById(R.id.lnrGroupOptionsList); lnrGroupCreateAnnouncement = (LinearLayout) groupDetailsHeaderLayout.findViewById(R.id.lnrGroupCreateAnnouncement); lnrGroupCreateDiscussion = (LinearLayout) groupDetailsHeaderLayout.findViewById(R.id.lnrGroupCreateDiscussion); lnrInvitation = (LinearLayout) groupDetailsHeaderLayout.findViewById(R.id.lnrInvitation); framGroupEditAvatar = (FrameLayout) groupDetailsHeaderLayout.findViewById(R.id.framGroupEditAvatar); txtGroupEdit = (IjoomerTextView) findViewById(R.id.txtGroupEdit); txtGroupSendEmail = (IjoomerTextView) findViewById(R.id.txtGroupSendEmail); txtGroupRemove = (IjoomerTextView) findViewById(R.id.txtGroupRemove); txtGroupTitle = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupTitle); txtGroupCreatedBy = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupCreatedBy); txtGroupCreatedOn = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupCreatedOn); txtGroupCategory = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupCategory); txtGroupUnpublish = (IjoomerTextView) findViewById(R.id.txtGroupUnpublish); txtGroupDetails = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupDetails); txtGroupLikeCount = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupLikeCount); txtGroupDislikeCount = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupDislikeCount); txtGroupFileCount = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupFileCount); txtGroupShare = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupShare); txtGroupReport = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupReport); txtGroupActivities = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupActivities); txtGroupAnnouncement = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupAnnouncement); txtGroupDiscussion = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupDiscussion); txtGroupMember = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupMember); txtGroupPhoto = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupPhoto); txtGroupVideo = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupVideo); txtGroupEvent = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupEvent); txtGroupNoAnnouncement = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupNoAnnouncement); txtGroupNoRecentActivities = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupNoRecentActivities); txtGroupNoDiscussion = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtGroupNoDiscussion); txtPrivateGroupApprovalRequestList = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtPrivateGroupApprovalRequestList); txtPrivateGroupAwiting = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtPrivateGroupAwiting); txtPrivateGroup = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtPrivateGroup); txtInvitationMessage = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtInvitationMessage); txtInvitationAccept = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtInvitationAccept); txtInvitationReject = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtInvitationReject); txtTotalRecordComment = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtTotalRecordComment); txtRecordUser = (IjoomerTextView) groupDetailsHeaderLayout.findViewById(R.id.txtRecordUser); voiceMessager = (IjoomerVoiceAndTextMessager) findViewById(R.id.voiceMessager); imgGroupAvatar = (ImageView) groupDetailsHeaderLayout.findViewById(R.id.imgGroupAvatar); imgGroupEditAvatar = (ImageView) groupDetailsHeaderLayout.findViewById(R.id.imgGroupEditAvatar); imgInvitationIcon = (ImageView) groupDetailsHeaderLayout.findViewById(R.id.imgInvitationIcon); btnGroupJoin = (IjoomerButton) groupDetailsHeaderLayout.findViewById(R.id.btnGroupJoin); btnGroupLeave = (IjoomerButton) groupDetailsHeaderLayout.findViewById(R.id.btnGroupLeave); btnGroupInviteFriend = (IjoomerButton) groupDetailsHeaderLayout.findViewById(R.id.btnGroupInviteFriend); btnGroupCreateAnnouncement = (IjoomerButton) groupDetailsHeaderLayout.findViewById(R.id.btnGroupCreateAnnouncement); btnGroupCreateDiscussion = (IjoomerButton) groupDetailsHeaderLayout.findViewById(R.id.btnGroupCreateDiscussion); btnPlayAll = (IjoomerVoiceButton) groupDetailsHeaderLayout.findViewById(R.id.btnPlayAll); btnPlayAll.setReportVoice(false); androidQuery = new AQuery(this); provider = new JomGroupDataProvider(this); wallDataProvider = new JomWallDataProvider(this); fileDataProvider = new JomGroupDataProvider(this); providerAnnoucement = new JomGroupDataProvider(this); providerDiscussion = new JomGroupDataProvider(this); getIntentData(); setGroupDetails(); } @Override public void prepareViews() { } @Override protected void onResume() { super.onResume(); isActivityResuming = true; if (IjoomerApplicationConfiguration.isReloadRequired()) { IjoomerApplicationConfiguration.setReloadRequired(false); announcementList = null; discussionList = null; activitiesList = null; if (CURRENT_LIST.equals(ANNOUNCEMENT_LIST)) { getAnnouncementList(); } else if (CURRENT_LIST.equals(DISCUSSION_LIST)) { getDiscussionList(); } else { try { if (option.getString(WALLLIST).equals("1")) { getGroupWall(); } } catch (Throwable e) { e.printStackTrace(); } } } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { if (requestCode == DOWNLOAD_FILE_LOCATION) { final String path = data.getStringExtra("IN_PATH"); final String fileName = fileList.get(downlodIndex).get(NAME); androidQuery.download(fileList.get(downlodIndex).get(URL), new File(path + fileName), new AjaxCallback<File>() { @Override public void callback(String url, File object, AjaxStatus status) { super.callback(url, object, status); if (status.getCode() == 200) { fileList.get(downlodIndex).put(HITS, "" + (Integer.parseInt(fileList.get(downlodIndex).get(HITS)) + 1)); fileListAdapter.notifyDataSetChanged(); provider.downloadFile(fileList.get(downlodIndex).get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.download)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { IjoomerUtilities.getCustomOkDialog(getString(R.string.download), getString(R.string.alert_message_file_downloaded), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { MediaScannerConnection.scanFile(JomGroupDetailsActivity.this, new String[] { path + fileName }, null, new OnScanCompletedListener() { @Override public void onScanCompleted(String path, Uri uri) { } }); } }); } else { responseErrorMessageHandler(responseCode, false); } } }); } else { IjoomerUtilities.getCustomOkDialog(getString(R.string.download), status.getMessage(), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } } }); } else if (requestCode == PICK_IMAGE) { selectedImagePath = getAbsolutePath(data.getData()); provider.editGroupAvatar(selectedImagePath, IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); imgGroupAvatar.setImageBitmap(decodeFile(selectedImagePath)); selectedImagePath = null; } else { responseErrorMessageHandler(responseCode, false); } } }); } else if (requestCode == CAPTURE_IMAGE) { selectedImagePath = getImagePath(); provider.editGroupAvatar(selectedImagePath, IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); imgGroupAvatar.setImageBitmap(decodeFile(selectedImagePath)); selectedImagePath = null; } else { responseErrorMessageHandler(responseCode, false); } } }); } else { super.onActivityResult(requestCode, resultCode, data); } } } @Override public void setActionListeners() { btnPlayAll.setAudioListener(new AudioListener() { @Override public void onReportClicked() { } @Override public void onPrepared() { } @SuppressWarnings("unchecked") @Override public void onPlayClicked(boolean isplaying) { if (!isplaying) { txtRecordUser.setVisibility(View.VISIBLE); recordCommentCounter = 0; recordCommentLast = 0; recordCommentCounter += 1; txtTotalRecordComment.setText("(" + recordCommentCounter + "/" + recordCommentTotal + ")"); for (int i = 0; i < listData.size(); i++) { if (getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(TITLETAG)) != null) { btnPlayAll.setText(getAudioLength(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(TITLETAG))); txtRecordUser.setText(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(USER_NAME)); recordCommentLast = i; btnPlayAll.setAudioPath(getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(TITLETAG)), false); break; } if (getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(CONTENT)) != null) { btnPlayAll.setText(getAudioLength(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(CONTENT))); txtRecordUser.setText(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(USER_NAME)); recordCommentLast = i; btnPlayAll.setAudioPath(getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(CONTENT)), false); break; } } } else { btnPlayAll.setCustomText(getString(R.string.play_all)); txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); txtRecordUser.setVisibility(View.GONE); recordCommentCounter = recordCommentTotal; } } @SuppressWarnings("unchecked") @Override public void onComplete() { if (recordCommentCounter == recordCommentTotal) { btnPlayAll.setCustomText(getString(R.string.play_all)); txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); txtRecordUser.setVisibility(View.GONE); } else { recordCommentCounter += 1; txtTotalRecordComment.setText("(" + recordCommentCounter + "/" + recordCommentTotal + ")"); for (int i = recordCommentLast + 1; i < listData.size(); i++) { if (getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(TITLETAG)) != null) { btnPlayAll.setText(getAudioLength(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(TITLETAG))); txtRecordUser.setText(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(USER_NAME)); recordCommentLast = i; btnPlayAll.setAudioPath(getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(TITLETAG)), true); break; } if (getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(CONTENT)) != null) { btnPlayAll.setText(getAudioLength(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(CONTENT))); txtRecordUser.setText(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(USER_NAME)); recordCommentLast = i; btnPlayAll.setAudioPath(getAudio(((HashMap<String, String>) listData.get(i).getValues().get(0)).get(CONTENT)), true); break; } } } } }); txtInvitationAccept.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { provider.groupInvitation(IN_GROUP_DETAILS.get(ID), "1", new WebCallListener() { final ProgressBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); finish(); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); txtInvitationReject.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.groupInvitation(IN_GROUP_DETAILS.get(ID), "0", new WebCallListener() { final ProgressBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); finish(); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); txtPrivateGroupApprovalRequestList.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { showWaitingApprovalMemberDialog(); } }); lstGroupDetails.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (!isActivityResuming) { if ((firstVisibleItem + visibleItemCount) >= totalItemCount && totalItemCount > 2) { isActivityResuming = true; if (CURRENT_LIST.equals(ACTIVITES_LIST)) { if (!wallDataProvider.isCalling() && wallDataProvider.hasNextPage()) { listFooterVisible(); wallDataProvider.getWallList(IN_GROUP_DETAILS.get(ID), "group", new WebCallListenerWithCacheInfo() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2, int pageNo, int pageLimit, boolean fromCache) { listFooterInvisible(); if (responseCode == 200) { if(!fromCache){ updateHeader(wallDataProvider.getNotificationData()); } prepareList(data1, true, fromCache, pageNo, pageLimit); isActivityResuming = false; } else { responseErrorMessageHandler(responseCode, false); } } }); } } else if (CURRENT_LIST.equals(DISCUSSION_LIST)) { if (!providerDiscussion.isCalling() && providerDiscussion.hasNextPage()) { listFooterVisible(); providerDiscussion.getDiscussionList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); if (responseCode == 200) { updateHeader(providerDiscussion.getNotificationData()); prepareListDiscussion(data1, true); isActivityResuming = false; } else { responseErrorMessageHandler(responseCode, false); } } }); } } else if (CURRENT_LIST.equals(ANNOUNCEMENT_LIST)) { if (!providerAnnoucement.isCalling() && providerAnnoucement.hasNextPage()) { listFooterVisible(); providerAnnoucement.getAnnouncementList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); if (responseCode == 200) { updateHeader(providerAnnoucement.getNotificationData()); prepareListAnnouncement(data1, true); isActivityResuming = false; } else { responseErrorMessageHandler(responseCode, false); } } }); } } } } } }); txtGroupFileCount.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!GROUP_DETAILS.get(FILES).equals("0")) { showFileDialog(); } } }); txtGroupEvent.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { try { loadNew(JomEventActivity.class, JomGroupDetailsActivity.this, false, "IN_USERID", IN_USERID, "IN_GROUP_ID", IN_GROUP_DETAILS.get(ID), "IN_GROUP_CREATE_EVENT", createEvent); } catch (Throwable e) { e.printStackTrace(); } } }); txtGroupPhoto.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { try { loadNew(JomAlbumsActivity.class, JomGroupDetailsActivity.this, false, "IN_USERID", IN_USERID, "IN_GROUP_ID", IN_GROUP_DETAILS.get(ID), "IN_GROUP_ADD_ALBUM", addAlbum, "IN_GROUP_UPLOAD_PHOTO", uploadPhoto); } catch (Throwable e) { e.printStackTrace(); } } }); txtGroupVideo.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { try { loadNew(JomVideoActivity.class, JomGroupDetailsActivity.this, false, "IN_USERID", IN_USERID, "IN_PROFILE", "1", "IN_GROUP_ID", IN_GROUP_DETAILS.get(ID), "IN_GROUP_ADD_VIDEO", addVideo); } catch (Throwable e) { e.printStackTrace(); } } }); txtGroupMember.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { showMemberDialog(); } }); btnGroupInviteFriend.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { try { loadNew(JomInviteFriendActivity.class, JomGroupDetailsActivity.this, false, "IN_GROUP_ID", IN_GROUP_DETAILS.get(ID)); } catch (Throwable e) { e.printStackTrace(); } } }); btnGroupCreateAnnouncement.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { dialogAnnouncementOrDiscussion = getAnnouncementOrDiscussionCreateDialog(getString(R.string.group_announcement), "", "", "", new AnnouncementAndDiscussionListner() { @Override public void onClick(String title, String message, String allowMemberToUploadFile) { provider.addOrEditGroupAnnouncement(IN_GROUP_DETAILS.get(ID), "0", title, message, allowMemberToUploadFile, new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.group_announcement_added_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { dialogAnnouncementOrDiscussion.dismiss(); } }); getAnnouncementList(); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); } }); btnGroupCreateDiscussion.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { dialogAnnouncementOrDiscussion = getAnnouncementOrDiscussionCreateDialog(getString(R.string.group_discussion), "", "", "", new AnnouncementAndDiscussionListner() { @Override public void onClick(String title, String message, String allowMemberToUploadFile) { provider.addOrEditGroupDiscussion(IN_GROUP_DETAILS.get(ID), "0", title, message, allowMemberToUploadFile, new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.group_discussion_added_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { dialogAnnouncementOrDiscussion.dismiss(); } }); getDiscussionList(); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); } }); txtGroupActivities.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!(CURRENT_LIST.equals(ACTIVITES_LIST) || providerAnnoucement.isCalling() || providerDiscussion.isCalling())) { lstGroupDetails.setAdapter(null); try { if (GROUP_DETAILS.get(WALLPERMISSION).equals("1")) { lnrGroupWriteComment.setVisibility(View.VISIBLE); } } catch (Exception e) { } if (recordCommentTotal > 0) { lnrPlayRecordComment.setVisibility(View.VISIBLE); btnPlayAll.setCustomText(getString(R.string.play_all)); txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); } lnrGroupCreateAnnouncement.setVisibility(View.GONE); lnrGroupCreateDiscussion.setVisibility(View.GONE); txtGroupNoAnnouncement.setVisibility(View.GONE); txtGroupNoDiscussion.setVisibility(View.GONE); txtGroupActivities.setTextColor(getResources().getColor(R.color.jom_blue)); txtGroupAnnouncement.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtGroupDiscussion.setTextColor(getResources().getColor(R.color.jom_txt_color)); CURRENT_LIST = ACTIVITES_LIST; isActivityResuming = true; if (activitiesList != null) { txtGroupAnnouncement.setClickable(false); txtGroupDiscussion.setClickable(false); prepareList(activitiesList, false, false, 0, 0); wallListAdapterWithHolder = getListAdapter(); lstGroupDetails.setAdapter(wallListAdapterWithHolder); lstGroupDetails.setSelection(0); txtGroupAnnouncement.setClickable(true); txtGroupDiscussion.setClickable(true); isActivityResuming = false; } else { getGroupWall(); } } } }); txtGroupAnnouncement.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!(CURRENT_LIST.equals(ANNOUNCEMENT_LIST) || wallDataProvider.isCalling() || providerDiscussion.isCalling())) { lstGroupDetails.setAdapter(null); if (isCreateAnnouncement) { lnrGroupCreateAnnouncement.setVisibility(View.VISIBLE); } lnrGroupCreateDiscussion.setVisibility(View.GONE); lnrGroupWriteComment.setVisibility(View.GONE); txtGroupNoRecentActivities.setVisibility(View.GONE); txtGroupNoDiscussion.setVisibility(View.GONE); lnrPlayRecordComment.setVisibility(View.GONE); txtGroupAnnouncement.setTextColor(getResources().getColor(R.color.jom_blue)); txtGroupActivities.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtGroupDiscussion.setTextColor(getResources().getColor(R.color.jom_txt_color)); CURRENT_LIST = ANNOUNCEMENT_LIST; isActivityResuming = true; if (announcementList != null) { txtGroupActivities.setClickable(false); txtGroupDiscussion.setClickable(false); prepareListAnnouncement(announcementList, false); announcementListAdapterWithHolder = getAnnouncementListAdapter(); lstGroupDetails.setAdapter(announcementListAdapterWithHolder); lstGroupDetails.setSelection(0); txtGroupActivities.setClickable(true); txtGroupDiscussion.setClickable(true); isActivityResuming = false; } else { getAnnouncementList(); } } } }); txtGroupDiscussion.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!(CURRENT_LIST.equals(DISCUSSION_LIST) || wallDataProvider.isCalling() || providerAnnoucement.isCalling())) { lstGroupDetails.setAdapter(null); if (isCreateDiscussion) { lnrGroupCreateDiscussion.setVisibility(View.VISIBLE); } txtGroupNoRecentActivities.setVisibility(View.GONE); txtGroupNoAnnouncement.setVisibility(View.GONE); lnrGroupCreateAnnouncement.setVisibility(View.GONE); lnrGroupWriteComment.setVisibility(View.GONE); lnrPlayRecordComment.setVisibility(View.GONE); txtGroupDiscussion.setTextColor(getResources().getColor(R.color.jom_blue)); txtGroupActivities.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtGroupAnnouncement.setTextColor(getResources().getColor(R.color.jom_txt_color)); CURRENT_LIST = DISCUSSION_LIST; isActivityResuming = true; if (discussionList != null) { txtGroupActivities.setClickable(false); txtGroupAnnouncement.setClickable(false); prepareListDiscussion(discussionList, false); lstGroupDetails.setAdapter(getDiscussionListAdapter()); lstGroupDetails.setSelection(0); txtGroupActivities.setClickable(true); txtGroupAnnouncement.setClickable(true); isActivityResuming = false; } else { getDiscussionList(); } } } }); btnGroupJoin.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { provider.joinGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200 || responseCode == 708) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); if (GROUP_DETAILS.get(ISPRIVATE).equals("1")) { if (responseCode == 708) { responseErrorMessageHandler(responseCode, false); } GROUP_DETAILS.put(ISWAITINGAPPROVAL, "1"); txtPrivateGroupAwiting.setVisibility(View.VISIBLE); btnGroupJoin.setVisibility(View.GONE); } else { IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.group_joined_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { finish(); } }); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); btnGroupLeave.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { provider.leaveGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.group_leaveded_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { finish(); } }); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); voiceMessager.setMessageHandler(new MessageHandler() { @Override public void onVoiceMessageRecordingComplete(String message, String voiceMessagePath) { provider.addWallPost(IN_GROUP_DETAILS.get(ID), message, voiceMessagePath, new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); getGroupWall(); } else { responseErrorMessageHandler(responseCode, false); } } }); } @Override public void onButtonSend(String message) { provider.addWallPost(IN_GROUP_DETAILS.get(ID), message, null, new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); getGroupWall(); } else { responseErrorMessageHandler(responseCode, false); } } }); } @Override public void onToggle(int messager) { } }); txtGroupUnpublish.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.unpublishGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.group_unpublish_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { finish(); } }); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); txtGroupReport.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { IjoomerUtilities.getReportDialog(new ReportListner() { @Override public void onClick(String repotType, String message) { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); provider.reportGroupOrDiscussion(IN_GROUP_DETAILS.get(ID), "0", repotType + " " + message, new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.report_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); } }); txtGroupSendEmail.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { getSendMailDialog(new ReportListner() { @Override public void onClick(String title, String message) { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); provider.sendMailToAllMember(IN_GROUP_DETAILS.get(ID), title, message, new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(R.string.event_send_mail_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); } }); imgGroupEditAvatar.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { IjoomerUtilities.selectImageDialog(new SelectImageDialogListner() { @Override public void onPhoneGallery() { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, ""), PICK_IMAGE); } @Override public void onCapture() { final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, setImageUri()); startActivityForResult(intent, CAPTURE_IMAGE); } }); } }); txtGroupEdit.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { provider.addOrEditGroupFieldList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); try { loadNew(JomGroupCreateActivity.class, JomGroupDetailsActivity.this, true, "IN_FIELD_LIST", data1, "IN_GROUP_ID", IN_GROUP_DETAILS.get(ID)); } catch (Throwable e) { e.printStackTrace(); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); txtGroupRemove.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { IjoomerUtilities.getCustomConfirmDialog(getString(R.string.group_title_remove), getString(R.string.are_you_sure), getString(R.string.yes), getString(R.string.no), new CustomAlertMagnatic() { @Override public void PositiveMethod() { provider.removeGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); finish(); } else { responseErrorMessageHandler(responseCode, false); } } }); } @Override public void NegativeMethod() { } }); } }); txtGroupShare.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { loadNew(IjoomerShareActivity.class, JomGroupDetailsActivity.this, false, "IN_SHARE_CAPTION", IN_GROUP_DETAILS.get(TITLE), "IN_SHARE_DESCRIPTION", IN_GROUP_DETAILS.get(DESCRIPTION), "IN_SHARE_THUMB", GROUP_DETAILS.get(AVATAR), "IN_SHARE_SHARELINK", GROUP_DETAILS.get(SHARELINK)); } catch (Throwable e) { e.printStackTrace(); } } }); txtGroupLikeCount.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (GROUP_DETAILS.get(LIKED).equals("1")) { txtGroupLikeCount.setClickable(false); provider.unlikeGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); GROUP_DETAILS.put(LIKED, "0"); GROUP_DETAILS.put(LIKES, String.valueOf(Integer.parseInt(GROUP_DETAILS.get(LIKES)) - 1)); txtGroupLikeCount.setText(GROUP_DETAILS.get(LIKES)); } else { responseErrorMessageHandler(responseCode, false); } txtGroupLikeCount.setClickable(true); } }); } else { txtGroupLikeCount.setClickable(false); provider.likeGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); GROUP_DETAILS.put(LIKED, "1"); GROUP_DETAILS.put(LIKES, String.valueOf(Integer.parseInt(GROUP_DETAILS.get(LIKES)) + 1)); txtGroupLikeCount.setText(GROUP_DETAILS.get(LIKES)); if (GROUP_DETAILS.get(DISLIKED).equals("1")) { GROUP_DETAILS.put(DISLIKES, String.valueOf(Integer.parseInt(GROUP_DETAILS.get(DISLIKES)) - 1)); GROUP_DETAILS.put(DISLIKED, "0"); txtGroupDislikeCount.setText(GROUP_DETAILS.get(DISLIKES)); } } else { responseErrorMessageHandler(responseCode, false); } txtGroupLikeCount.setClickable(true); } }); } } }); txtGroupDislikeCount.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (GROUP_DETAILS.get(DISLIKED).equals("1")) { txtGroupDislikeCount.setClickable(false); provider.unlikeGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); GROUP_DETAILS.put(DISLIKED, "0"); GROUP_DETAILS.put(DISLIKES, String.valueOf(Integer.parseInt(GROUP_DETAILS.get(DISLIKES)) - 1)); txtGroupDislikeCount.setText(GROUP_DETAILS.get(DISLIKES)); } else { responseErrorMessageHandler(responseCode, false); } txtGroupDislikeCount.setClickable(true); } }); } else { txtGroupDislikeCount.setClickable(false); provider.dislikeGroup(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); GROUP_DETAILS.put(DISLIKED, "1"); GROUP_DETAILS.put(DISLIKES, String.valueOf(Integer.parseInt(GROUP_DETAILS.get(DISLIKES)) + 1)); txtGroupDislikeCount.setText(GROUP_DETAILS.get(DISLIKES)); if (GROUP_DETAILS.get(LIKED).equals("1")) { GROUP_DETAILS.put(LIKES, String.valueOf(Integer.parseInt(GROUP_DETAILS.get(LIKES)) - 1)); GROUP_DETAILS.put(LIKED, "0"); txtGroupLikeCount.setText(GROUP_DETAILS.get(LIKES)); } } else { responseErrorMessageHandler(responseCode, false); } txtGroupDislikeCount.setClickable(true); } }); } } }); } @Override public void onCheckedChanged(RadioGroup arg0, int arg1) { } /** * Class methods */ /** * This method used to get intent data. */ @SuppressWarnings("unchecked") private void getIntentData() { IN_GROUP_DETAILS = (HashMap<String, String>) getIntent().getSerializableExtra("IN_GROUP_DETAILS") == null ? new HashMap<String, String>() : (HashMap<String, String>) getIntent().getSerializableExtra("IN_GROUP_DETAILS"); IN_USERID = getIntent().getStringExtra("IN_USERID") == null ? "0" : getIntent().getStringExtra("IN_USERID"); } /** * This method used to shown response message. * * @param responseCode * represented response code * @param finishActivityOnConnectionProblem * represented finish activity on connection problem */ private void responseErrorMessageHandler(final int responseCode, final boolean finishActivityOnConnectionProblem) { IjoomerUtilities.getCustomOkDialog(getString(R.string.group), getString(getResources().getIdentifier("code" + responseCode, "string", getPackageName())), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } /** * This method used to visible list footer */ public void listFooterVisible() { listFooter.setVisibility(View.VISIBLE); } /** * This method used to gone list footer */ public void listFooterInvisible() { listFooter.setVisibility(View.GONE); } /** * This method used to set group details. */ private void setGroupDetails() { provider.getGroupDetails(IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); GROUP_DETAILS = data1.get(0); if (GROUP_DETAILS.containsKey(ADMINMENU)) { try { adminMenu = new JSONObject(GROUP_DETAILS.get(ADMINMENU)); if (adminMenu.getString(EDIT).equals("1")) { txtGroupEdit.setVisibility(View.VISIBLE); } if (adminMenu.getString(DELETEGROUP).equals("1")) { txtGroupRemove.setVisibility(View.VISIBLE); } if (adminMenu.getString(SENDMAIL).equals("1")) { txtGroupSendEmail.setVisibility(View.VISIBLE); } if (adminMenu.getString(UNPUBLISHGROUP).equals("1")) { txtGroupUnpublish.setVisibility(View.VISIBLE); } if (adminMenu.getString(EDITAVATAR).equals("1")) { framGroupEditAvatar.setVisibility(View.VISIBLE); } if (adminMenu.getString(CREATEANNOUNCEMENT).equals("1")) { isCreateAnnouncement = true; } } catch (Exception e) { } } else { lnrGroupHeader.setVisibility(View.GONE); } if (GROUP_DETAILS.containsKey(OPTION)) { try { option = new JSONObject(GROUP_DETAILS.get(OPTION)); if (option.getString(MEMBERLIST).equals("1")) { txtGroupMember.setVisibility(View.VISIBLE); } if (option.getString(ALBUMLIST).equals("1")) { txtGroupPhoto.setVisibility(View.VISIBLE); } if (option.getString(VIDEOLIST).equals("1")) { txtGroupVideo.setVisibility(View.VISIBLE); } if (option.getString(EVENTLIST).equals("1")) { txtGroupEvent.setVisibility(View.VISIBLE); } if (option.getString(ANNOUNCEMENTLIST).equals("1")) { txtGroupAnnouncement.setVisibility(View.VISIBLE); } if (option.getString(DISCUSSIONLIST).equals("1")) { txtGroupDiscussion.setVisibility(View.VISIBLE); } if (option.getString(WALLLIST).equals("1")) { txtGroupActivities.setVisibility(View.VISIBLE); getGroupWall(); } } catch (Exception e) { } } else { lnrGroupOptionsList.setVisibility(View.GONE); } try { menu = new JSONObject(GROUP_DETAILS.get(MENU)); if (GROUP_DETAILS.get(ISWAITINGAPPROVAL).equals("1")) { txtPrivateGroupAwiting.setVisibility(View.VISIBLE); btnGroupJoin.setVisibility(View.GONE); btnGroupLeave.setVisibility(View.GONE); } else if (menu.getString(JOINGROUP).equals("1")) { btnGroupJoin.setVisibility(View.VISIBLE); btnGroupLeave.setVisibility(View.GONE); } else if (menu.getString(LEAVEGROUP).equals("1")) { btnGroupJoin.setVisibility(View.GONE); btnGroupLeave.setVisibility(View.VISIBLE); } else { btnGroupJoin.setVisibility(View.GONE); btnGroupLeave.setVisibility(View.GONE); } if (menu.getString(SHAREGROUP).equals("1")) { txtGroupShare.setVisibility(View.VISIBLE); } if (menu.getString(REPORTGROUP).equals("1")) { txtGroupReport.setVisibility(View.VISIBLE); } if (menu.getString(INVITEFRIEND).equals("1")) { btnGroupInviteFriend.setVisibility(View.VISIBLE); } if (menu.getString(CREATEDISCUSSION).equals("1")) { isCreateDiscussion = true; } if (menu.getString(CREATEEVENT).equals("1")) { createEvent = "1"; } if (menu.getString(UPLOADPHOTO).equals("1")) { uploadPhoto = "1"; } if (menu.getString(CREATEALBUM).equals("1")) { addAlbum = "1"; } if (menu.getString(ADDVIDEO).equals("1")) { addVideo = "1"; } } catch (Exception e) { } if (GROUP_DETAILS.get(ISPRIVATE).equals("1")) { txtPrivateGroup.setVisibility(View.VISIBLE); } if (GROUP_DETAILS.get(ISINVITATION).equals("1")) { lnrInvitation.setVisibility(View.VISIBLE); androidQuery.id(imgInvitationIcon).image(GROUP_DETAILS.get(INVITATIONICON), true, true, getDeviceWidth(), 0); txtInvitationMessage.setText(addClickablePart(Html.fromHtml(GROUP_DETAILS.get(INVITATIONMESSAGE)), GROUP_DETAILS), BufferType.SPANNABLE); txtInvitationMessage.setMovementMethod(LinkMovementMethod.getInstance()); } if (GROUP_DETAILS.get(LIKEALLOWED).equals("1")) { txtGroupLikeCount.setVisibility(View.VISIBLE); txtGroupDislikeCount.setVisibility(View.VISIBLE); } if (GROUP_DETAILS.containsKey(MEMBERWAITING) && Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) > 0) { txtPrivateGroupApprovalRequestList.setVisibility(View.VISIBLE); txtPrivateGroupApprovalRequestList.setText(String.format(getString(R.string.private_approval_request), Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)))); } if (GROUP_DETAILS.get(WALLPERMISSION).equals("1")) { lnrGroupWriteComment.setVisibility(View.VISIBLE); } if (txtGroupEdit.getVisibility() == View.GONE && txtGroupRemove.getVisibility() == View.GONE && txtGroupUnpublish.getVisibility() == View.GONE && txtGroupSendEmail.getVisibility() == View.GONE) { lnrGroupHeader.setVisibility(View.GONE); } if (txtGroupMember.getVisibility() == View.GONE && txtGroupPhoto.getVisibility() == View.GONE && txtGroupVideo.getVisibility() == View.GONE && txtGroupEvent.getVisibility() == View.GONE) { lnrGroupOptionsList.setVisibility(View.GONE); } if (txtGroupActivities.getVisibility() == View.GONE && txtGroupAnnouncement.getVisibility() == View.GONE && txtGroupDiscussion.getVisibility() == View.GONE) { lnrGroupActivitiesAnnouncementDiscussionList.setVisibility(View.GONE); } androidQuery.id(imgGroupAvatar).image(GROUP_DETAILS.get(AVATAR), true, true, getDeviceWidth(), 0); txtGroupTitle.setText(IN_GROUP_DETAILS.get(TITLE)); txtGroupCreatedBy.setText(String.format(getString(R.string.by), GROUP_DETAILS.get(USER_NAME))); txtGroupCreatedOn.setText(GROUP_DETAILS.get(DATE)); txtGroupCategory.setText(GROUP_DETAILS.get(CATEGORY_NAME)); IN_GROUP_DETAILS.put(DESCRIPTION, IN_GROUP_DETAILS.get(DESCRIPTION).replace("\n", " ")); IN_GROUP_DETAILS.put(DESCRIPTION, IN_GROUP_DETAILS.get(DESCRIPTION).replace("\t", " ")); IN_GROUP_DETAILS.put(DESCRIPTION, IN_GROUP_DETAILS.get(DESCRIPTION).replace("\r", " ")); txtGroupDetails.setText(Html.fromHtml(IN_GROUP_DETAILS.get(DESCRIPTION))); IjoomerUtilities.IjoomerTextViewResizable(txtGroupDetails, 3, getString(R.string.see_more)); txtGroupLikeCount.setText(GROUP_DETAILS.get(LIKES)); txtGroupDislikeCount.setText(GROUP_DETAILS.get(DISLIKES)); if (Integer.parseInt(GROUP_DETAILS.get(FILES)) > 0) { txtGroupFileCount.setText(Integer.parseInt(GROUP_DETAILS.get(FILES)) > 1 ? GROUP_DETAILS.get(FILES) + " " + getString(R.string.files) : GROUP_DETAILS .get(FILES) + " " + getString(R.string.file)); txtGroupFileCount.setVisibility(View.VISIBLE); } } else { responseErrorMessageHandler(responseCode, true); } } }); } /** * This method used to get group wall. */ private void getGroupWall() { txtGroupAnnouncement.setClickable(false); txtGroupDiscussion.setClickable(false); wallDataProvider.restorePagingSettings(); listFooterVisible(); wallDataProvider.getWallList(IN_GROUP_DETAILS.get(ID), "group", new WebCallListenerWithCacheInfo() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2, int pageNo, int pageLimit, boolean fromCache) { txtGroupNoAnnouncement.setVisibility(View.GONE); txtGroupNoDiscussion.setVisibility(View.GONE); txtGroupNoRecentActivities.setVisibility(View.GONE); listFooterInvisible(); if (responseCode == 200) { if(!fromCache){ updateHeader(wallDataProvider.getNotificationData()); } activitiesList = data1; prepareList(activitiesList, false, fromCache, pageNo, pageLimit); wallListAdapterWithHolder = getListAdapter(); lstGroupDetails.setAdapter(wallListAdapterWithHolder); isActivityResuming = false; } else { lstGroupDetails.setAdapter(null); if (responseCode != 204) { responseErrorMessageHandler(responseCode, false); } else { txtGroupNoRecentActivities.setVisibility(View.VISIBLE); } } txtGroupAnnouncement.setClickable(true); txtGroupDiscussion.setClickable(true); } }); } /** * This method used to get announcement list. */ private void getAnnouncementList() { txtGroupActivities.setClickable(false); txtGroupDiscussion.setClickable(false); providerAnnoucement.restorePagingSettings(); listFooterVisible(); providerAnnoucement.getAnnouncementList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); txtGroupNoRecentActivities.setVisibility(View.GONE); txtGroupNoDiscussion.setVisibility(View.GONE); if (responseCode == 200) { txtGroupNoAnnouncement.setVisibility(View.GONE); updateHeader(providerAnnoucement.getNotificationData()); announcementList = data1; prepareListAnnouncement(announcementList, false); announcementListAdapterWithHolder = getAnnouncementListAdapter(); lstGroupDetails.setAdapter(announcementListAdapterWithHolder); isActivityResuming = false; } else { lstGroupDetails.setAdapter(null); if (responseCode != 204) { responseErrorMessageHandler(responseCode, false); } else { txtGroupNoAnnouncement.setVisibility(View.VISIBLE); } } txtGroupActivities.setClickable(true); txtGroupDiscussion.setClickable(true); } }); } /** * This method used to get discussion list. */ private void getDiscussionList() { txtGroupActivities.setClickable(false); txtGroupAnnouncement.setClickable(false); providerDiscussion.restorePagingSettings(); listFooterVisible(); providerDiscussion.getDiscussionList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); txtGroupNoRecentActivities.setVisibility(View.GONE); txtGroupNoAnnouncement.setVisibility(View.GONE); if (responseCode == 200) { txtGroupNoDiscussion.setVisibility(View.GONE); updateHeader(providerDiscussion.getNotificationData()); discussionList = data1; prepareListDiscussion(discussionList, false); lstGroupDetails.setAdapter(getDiscussionListAdapter()); isActivityResuming = false; } else { lstGroupDetails.setAdapter(null); if (responseCode != 204) { responseErrorMessageHandler(responseCode, false); } else { txtGroupNoDiscussion.setVisibility(View.VISIBLE); } } txtGroupActivities.setClickable(true); txtGroupAnnouncement.setClickable(true); } }); } /** * This method used to get send mail dialog. * * @param target * represented {@link ReportListner} */ private void getSendMailDialog(final ReportListner target) { final Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar); dialog.setContentView(R.layout.jom_event_send_mail_dialog); final IjoomerEditText edtEventSendMailTitle = (IjoomerEditText) dialog.findViewById(R.id.edtEventSendMailTitle); final IjoomerEditText edtEventSendMailMessage = (IjoomerEditText) dialog.findViewById(R.id.edtEventSendMailMessage); IjoomerButton btnCancel = (IjoomerButton) dialog.findViewById(R.id.btnCancel); IjoomerButton btnSend = (IjoomerButton) dialog.findViewById(R.id.btnSend); btnSend.setOnClickListener(new OnClickListener() { @Override public void onClick(View paramView) { hideSoftKeyboard(); dialog.dismiss(); boolean validationFlag = true; if (edtEventSendMailTitle.getText().toString().trim().length() <= 0) { edtEventSendMailTitle.setError(getString(R.string.validation_value_required)); validationFlag = false; } if (edtEventSendMailMessage.getText().toString().trim().length() <= 0) { edtEventSendMailMessage.setError(getString(R.string.validation_value_required)); validationFlag = false; } if (validationFlag) { target.onClick(edtEventSendMailTitle.getText().toString().trim(), edtEventSendMailMessage.getText().toString().trim()); } } }); btnCancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View paramView) { hideSoftKeyboard(); dialog.dismiss(); } }); dialog.show(); } /** * This method used to show waiting approval member dialog. */ @SuppressWarnings("deprecation") private void showWaitingApprovalMemberDialog() { groupWaitingApprovalMemberList = null; providerGroupWaitingApprovalMember = new JomGroupDataProvider(this); isGuestListResuming = false; try { int popupWidth = getDeviceWidth() - convertSizeToDeviceDependent(50); int popupHeight = getDeviceHeight() - convertSizeToDeviceDependent(200); LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = layoutInflater.inflate(R.layout.jom_group_member_popup, null); dialog = new PopupWindow(this); dialog.setContentView(layout); dialog.setWidth(popupWidth); dialog.setHeight(popupHeight); dialog.setFocusable(true); dialog.setBackgroundDrawable(new BitmapDrawable(getResources())); dialog.showAtLocation(layout, Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0); imgTagClose = (ImageView) layout.findViewById(R.id.imgTagClose); lstGroupMember = (ListView) layout.findViewById(R.id.lstGroupMember); pbrGroupMember = (ProgressBar) layout.findViewById(R.id.pbrGroupMember); txtGroupAllMember = (IjoomerTextView) layout.findViewById(R.id.txtGroupAllMember); txtGroupBanMember = (IjoomerTextView) layout.findViewById(R.id.txtGroupBanMember); txtGroupBanMember.setVisibility(View.GONE); lstGroupMember.addFooterView(listFooter, null, false); lstGroupMember.setAdapter(null); listFooterInvisible(); groupWaitingApprovalMemberList(); imgTagClose.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); lstGroupMember.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (isGuestListResuming) { if ((firstVisibleItem + visibleItemCount) >= totalItemCount && totalItemCount > 1) { if (!providerGroupWaitingApprovalMember.isCalling() && providerGroupWaitingApprovalMember.hasNextPage()) { listFooterVisible(); isGuestListResuming = false; providerGroupWaitingApprovalMember.getGroupWaitingMemberList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { pbrGroupMember.setVisibility(View.GONE); if (responseCode == 200) { groupWaitingApprovalMemberList = data1; if (groupWaitingApprovalMemberList.size() > 0) { prepareGuestList(groupWaitingApprovalMemberList, true); guestAdapter = getGuestListAdapter(true); lstGroupMember.setAdapter(guestAdapter); isGuestListResuming = true; } else { lstGroupMember.setAdapter(null); } } else { lstGroupMember.setAdapter(null); responseErrorMessageHandler(responseCode, false); } } }); } } } } }); } catch (Throwable e) { e.printStackTrace(); } } /** * This method used to get waiting approval member list. */ private void groupWaitingApprovalMemberList() { pbrGroupMember.setVisibility(View.VISIBLE); providerGroupWaitingApprovalMember.getGroupWaitingMemberList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); pbrGroupMember.setVisibility(View.GONE); if (responseCode == 200) { groupWaitingApprovalMemberList = data1; if (groupWaitingApprovalMemberList.size() > 0) { prepareGuestList(groupWaitingApprovalMemberList, false); guestAdapter = getGuestListAdapter(true); lstGroupMember.setAdapter(guestAdapter); } else { lstGroupMember.setAdapter(null); } } else { lstGroupMember.setAdapter(null); responseErrorMessageHandler(responseCode, false); } isGuestListResuming = true; } }); } /** * This method used to show member dialog. */ @SuppressWarnings("deprecation") private void showMemberDialog() { groupAllMemberList = null; groupBanMemberList = null; currentList = MEMEBERLIST; providerGroupAllMember = new JomGroupDataProvider(this); providerGroupBanMember = new JomGroupDataProvider(this); isGuestListResuming = false; try { int popupWidth = getDeviceWidth() - convertSizeToDeviceDependent(50); int popupHeight = getDeviceHeight() - convertSizeToDeviceDependent(200); LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = layoutInflater.inflate(R.layout.jom_group_member_popup, null); dialog = new PopupWindow(this); dialog.setContentView(layout); dialog.setWidth(popupWidth); dialog.setHeight(popupHeight); dialog.setFocusable(true); dialog.setBackgroundDrawable(new BitmapDrawable(getResources())); dialog.showAtLocation(layout, Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0); imgTagClose = (ImageView) layout.findViewById(R.id.imgTagClose); lstGroupMember = (ListView) layout.findViewById(R.id.lstGroupMember); pbrGroupMember = (ProgressBar) layout.findViewById(R.id.pbrGroupMember); txtGroupAllMember = (IjoomerTextView) layout.findViewById(R.id.txtGroupAllMember); txtGroupBanMember = (IjoomerTextView) layout.findViewById(R.id.txtGroupBanMember); lstGroupMember.addFooterView(listFooter, null, false); lstGroupMember.setAdapter(null); listFooterInvisible(); if (adminMenu != null && adminMenu.getString(DELETEGROUP).equals("1")) { txtGroupBanMember.setVisibility(View.VISIBLE); } else { txtGroupBanMember.setVisibility(View.GONE); } groupAllMemberList(); imgTagClose.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); txtGroupBanMember.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (!currentList.equals(BANMEMBERLIST)) { currentList = BANMEMBERLIST; txtGroupBanMember.setTextColor(getResources().getColor(R.color.jom_blue)); txtGroupAllMember.setTextColor(getResources().getColor(R.color.jom_txt_color)); isGuestListResuming = false; if (groupBanMemberList != null && groupBanMemberList.size() > 0) { prepareGuestList(groupBanMemberList, false); guestAdapter = getGuestListAdapter(false); lstGroupMember.setAdapter(guestAdapter); isGuestListResuming = true; } else { groupAllBanMemberList(); } } } }); txtGroupAllMember.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (!currentList.equals(MEMEBERLIST)) { currentList = MEMEBERLIST; txtGroupBanMember.setTextColor(getResources().getColor(R.color.jom_txt_color)); txtGroupAllMember.setTextColor(getResources().getColor(R.color.jom_blue)); isGuestListResuming = false; if (groupAllMemberList != null && groupAllMemberList.size() > 0) { prepareGuestList(groupAllMemberList, false); guestAdapter = getGuestListAdapter(false); lstGroupMember.setAdapter(guestAdapter); isGuestListResuming = true; } else { groupAllMemberList(); } } } }); lstGroupMember.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (isGuestListResuming) { if ((firstVisibleItem + visibleItemCount) >= totalItemCount && totalItemCount > 1) { if (currentList.equals(MEMEBERLIST)) { if (!providerGroupAllMember.isCalling() && providerGroupAllMember.hasNextPage()) { listFooterVisible(); isGuestListResuming = false; providerGroupBanMember.getGroupBanMemberList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); if (responseCode == 200) { groupBanMemberList = data1; if (groupBanMemberList.size() > 0) { prepareGuestList(groupBanMemberList, true); guestAdapter = getGuestListAdapter(false); lstGroupMember.setAdapter(guestAdapter); isGuestListResuming = true; } else { lstGroupMember.setAdapter(null); } } else { lstGroupMember.setAdapter(null); responseErrorMessageHandler(responseCode, false); } } }); } } else if (currentList.equals(BANMEMBERLIST)) { if (!providerGroupBanMember.isCalling() && providerGroupBanMember.hasNextPage()) { listFooterVisible(); providerGroupBanMember.getGroupBanMemberList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); if (responseCode == 200) { groupBanMemberList = data1; if (groupBanMemberList.size() > 0) { prepareGuestList(groupBanMemberList, true); guestAdapter = getGuestListAdapter(false); lstGroupMember.setAdapter(guestAdapter); } else { lstGroupMember.setAdapter(null); } } else { lstGroupMember.setAdapter(null); responseErrorMessageHandler(responseCode, false); } } }); } } } } } }); } catch (Throwable e) { e.printStackTrace(); } } /** * This method used to get all member. */ private void groupAllMemberList() { pbrGroupMember.setVisibility(View.VISIBLE); providerGroupAllMember.getGroupMemberList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { pbrGroupMember.setVisibility(View.GONE); if (responseCode == 200) { groupAllMemberList = data1; if (groupAllMemberList.size() > 0) { prepareGuestList(groupAllMemberList, false); guestAdapter = getGuestListAdapter(false); lstGroupMember.setAdapter(guestAdapter); } else { lstGroupMember.setAdapter(null); } } else { lstGroupMember.setAdapter(null); responseErrorMessageHandler(responseCode, false); } isGuestListResuming = true; } }); } /** * This method used to get ban member. */ private void groupAllBanMemberList() { pbrGroupMember.setVisibility(View.VISIBLE); providerGroupBanMember.getGroupBanMemberList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { pbrGroupMember.setVisibility(View.GONE); if (responseCode == 200) { groupBanMemberList = data1; if (groupBanMemberList.size() > 0) { prepareGuestList(groupBanMemberList, false); guestAdapter = getGuestListAdapter(false); lstGroupMember.setAdapter(guestAdapter); } else { lstGroupMember.setAdapter(null); } } else { lstGroupMember.setAdapter(null); responseErrorMessageHandler(responseCode, false); } isGuestListResuming = true; } }); } /** * This method used to load file list. */ private void loadFileList() { fileDataProvider.restorePagingSettings(); pbrGroupFiles.setVisibility(View.VISIBLE); fileDataProvider.getGroupFileList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { pbrGroupFiles.setVisibility(View.GONE); if (responseCode == 200) { fileList = data1; prepareFileList(false); fileListAdapter = getFileListAdapter(); lstGroupFiles.setAdapter(fileListAdapter); isGuestListResuming = true; } else { IjoomerUtilities.getCustomOkDialog(getString(R.string.group_files), getString(getResources().getIdentifier("code" + responseCode, "string", getPackageName())), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { dialog.dismiss(); } }); } } }); } /** * This method used to show file dialog. */ @SuppressWarnings("deprecation") private void showFileDialog() { try { int popupWidth = getDeviceWidth() - convertSizeToDeviceDependent(50); int popupHeight = getDeviceHeight() - convertSizeToDeviceDependent(200); LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = layoutInflater.inflate(R.layout.jom_group_file_popup, null); isGuestListResuming = false; dialog = new PopupWindow(this); dialog.setContentView(layout); dialog.setWidth(popupWidth); dialog.setHeight(popupHeight); dialog.setFocusable(true); dialog.setBackgroundDrawable(new BitmapDrawable(getResources())); dialog.showAtLocation(layout, Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0); imgTagClose = (ImageView) layout.findViewById(R.id.imgTagClose); lstGroupFiles = (ListView) layout.findViewById(R.id.lstGroupFiles); lstGroupFiles.addFooterView(listFooter, null, false); lstGroupFiles.setAdapter(null); pbrGroupFiles = (ProgressBar) layout.findViewById(R.id.pbrGroupFiles); pbrGroupFiles.setVisibility(View.GONE); loadFileList(); imgTagClose.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); lstGroupFiles.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (isGuestListResuming) { if ((firstVisibleItem + visibleItemCount) >= totalItemCount && totalItemCount > 1) { if (!fileDataProvider.isCalling()) { listFooterVisible(); isGuestListResuming = false; fileDataProvider.getGroupFileList(IN_GROUP_DETAILS.get(ID), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { listFooterInvisible(); if (responseCode == 200) { fileList = data1; prepareFileList(true); isGuestListResuming = true; } else { IjoomerUtilities.getCustomOkDialog(getString(R.string.group_files), getString(getResources().getIdentifier("code" + responseCode, "string", getPackageName())), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { dialog.dismiss(); } }); } } }); } } } } }); } catch (Throwable e) { e.printStackTrace(); } } /** * This method used to prepare list for group wall. * * @param data * represented wall data * @param append * represented data append * @param fromCache * represented data from cache * @param pageno * represented page no * @param pagelimit * represented page limit */ public void prepareList(ArrayList<HashMap<String, String>> data, boolean append, boolean fromCache, int pageno, int pagelimit) { if (data != null && data.size() > 0) { if (!append) { listData.clear(); recordCommentTotal = 0; } else { if (!fromCache) { int startIndex = ((pageno - 1) * pagelimit); int endIndex = wallListAdapterWithHolder.getCount(); if (startIndex > 0) { for (int i = endIndex; i >= startIndex; i--) { try { wallListAdapterWithHolder.remove(wallListAdapterWithHolder.getItem(i)); listData.remove(i); } catch (Exception e) { } } } } } for (HashMap<String, String> hashMap : data) { if (!fromCache && getAudio(hashMap.get(TITLETAG)) != null || getAudio(hashMap.get(CONTENT)) != null) { recordCommentTotal += 1; } SmartListItem item = new SmartListItem(); item.setItemLayout(R.layout.jom_wall_activity_list_item); ArrayList<Object> obj = new ArrayList<Object>(); obj.add(hashMap); item.setValues(obj); if (append) { wallListAdapterWithHolder.add(item); } else { listData.add(item); } } if (recordCommentTotal > 1 && CURRENT_LIST.equals(ACTIVITES_LIST)) { lnrPlayRecordComment.setVisibility(View.VISIBLE); btnPlayAll.setCustomText(getString(R.string.play_all)); txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); } } } /** * This method used to prepare list for member. * * @param data * represented member data * @param append * represented data append */ private void prepareGuestList(ArrayList<HashMap<String, String>> data, boolean append) { if (data != null) { if (!append) { guestListData.clear(); } for (HashMap<String, String> hashMap : data) { SmartListItem item = new SmartListItem(); item.setItemLayout(R.layout.jom_group_member_popup_list_item); ArrayList<Object> obj = new ArrayList<Object>(); obj.add(hashMap); item.setValues(obj); if (append) { guestAdapter.add(item); } else { guestListData.add(item); } } } } /** * This method used to prepare list for announcement. * * @param data * represented announcement data * @param append * represented data append */ public void prepareListAnnouncement(ArrayList<HashMap<String, String>> data, boolean append) { if (data != null) { if (!append) { listData.clear(); } for (HashMap<String, String> hashMap : data) { SmartListItem item = new SmartListItem(); item.setItemLayout(R.layout.jom_group_announcement_list_item); ArrayList<Object> obj = new ArrayList<Object>(); obj.add(hashMap); item.setValues(obj); if (append) { announcementListAdapterWithHolder.add(item); } else { listData.add(item); } } } } /** * This method used to prepare list for discussion. * * @param data * represented discussion data * @param append * represented data append */ public void prepareListDiscussion(ArrayList<HashMap<String, String>> data, boolean append) { if (data != null) { if (!append) { listData.clear(); } for (HashMap<String, String> hashMap : data) { SmartListItem item = new SmartListItem(); item.setItemLayout(R.layout.jom_group_discussion_list_item); ArrayList<Object> obj = new ArrayList<Object>(); obj.add(hashMap); item.setValues(obj); if (append) { discussionListAdapterWithHolder.add(item); } else { listData.add(item); } } } } /** * This method used to prepare list for file. * * @param append * represented data append */ private void prepareFileList(boolean append) { if (fileList != null) { if (!append) { fileListData.clear(); } for (HashMap<String, String> hashMap : fileList) { SmartListItem item = new SmartListItem(); item.setItemLayout(R.layout.jom_group_upload_file_list_item); ArrayList<Object> obj = new ArrayList<Object>(); obj.add(hashMap); item.setValues(obj); if (append) { fileListAdapter.add(item); } else { fileListData.add(item); } } } } /** * This method used to prepare list for wall photo. * * @param lnrScrollable * represented scrollable view * @param data * represented photo data */ private void preparePhotoList(LinearLayout lnrScrollable, final HashMap<String, String> data) { JSONArray jsonArray; int length = 0; try { jsonArray = new JSONArray(data.get(IMAGE_DATA)); length = jsonArray.length() > 5 ? 5 : jsonArray.length(); } catch (Throwable e1) { e1.printStackTrace(); jsonArray = new JSONArray(); } lnrScrollable.removeAllViews(); for (int i = 0; i < length; i++) { LinearLayout lnrGuest = new LinearLayout(this); lnrGuest.setTag(i); lnrGuest.setOrientation(LinearLayout.VERTICAL); lnrGuest.setBackgroundColor(Color.parseColor(getString(R.color.jom_bg_color))); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT); params.setMargins(5, 5, 5, 5); lnrGuest.setPadding(2, 2, 2, 2); ImageView imgUser = new ImageView(this); imgUser.setScaleType(ScaleType.FIT_XY); imgUser.setClickable(false); LinearLayout.LayoutParams imgParams = new LinearLayout.LayoutParams(convertSizeToDeviceDependent(50), convertSizeToDeviceDependent(50)); imgParams.gravity = Gravity.CENTER; try { androidQuery.id(imgUser).image(jsonArray.getJSONObject(i).getString(THUMB), true, true, getDeviceWidth(), 0); } catch (JSONException e) { e.printStackTrace(); } lnrGuest.addView(imgUser, imgParams); lnrScrollable.addView(lnrGuest, params); lnrGuest.setTag(i); lnrGuest.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ArrayList<HashMap<String, String>> photoData = new ArrayList<HashMap<String, String>>(); JSONArray jsonArray = null; try { jsonArray = new JSONArray(data.get(IMAGE_DATA)); } catch (JSONException e1) { e1.printStackTrace(); } int size = jsonArray.length(); for (int j = 0; j < size; j++) { try { photoData.add(new HashMap<String, String>(jsonToMap(jsonArray.getJSONObject(j)))); } catch (JSONException e) { e.printStackTrace(); } } HashMap<String, String> IN_ALBUM = null; try { IN_ALBUM = (HashMap<String, String>) jsonToMap(new JSONObject(data.get(CONTENT_DATA))); } catch (JSONException e1) { e1.printStackTrace(); } HashMap<String, String> usrData = new HashMap<String, String>(data); usrData.remove(ID); IN_ALBUM.putAll(usrData); try { loadNew(JomPhotoDetailsActivity.class, JomGroupDetailsActivity.this, false, "IN_PHOTO_LIST", photoData, "IN_SELECTED_INDEX", ((Integer) v.getTag()).intValue(), "IN_TOTAL_COUNT", Integer.parseInt(IN_ALBUM.get(COUNT)), "IN_USERID", IN_USERID, "IN_ALBUM", IN_ALBUM); } catch (Throwable e) { e.printStackTrace(); } } }); } } /** * List adapter for member. */ private SmartListAdapterWithHolder getGuestListAdapter(final boolean isWaitingList) { SmartListAdapterWithHolder adapterWithHolder = new SmartListAdapterWithHolder(this, R.layout.jom_group_member_popup_list_item, guestListData, new ItemView() { @Override public View setItemView(final int position, View v, SmartListItem item, final ViewHolder holder) { holder.imgGroupMemberAvatar = (ImageView) v.findViewById(R.id.imgGroupMemberAvatar); holder.txtGroupMemberName = (IjoomerTextView) v.findViewById(R.id.txtGroupMemberName); holder.btnGroupMemberRemove = (IjoomerButton) v.findViewById(R.id.btnGroupMemberRemove); holder.imgGroupMemberOnlineStatus = (ImageView) v.findViewById(R.id.imgGroupMemberOnlineStatus); holder.txtGroupMemberSetAsAdmin = (IjoomerTextView) v.findViewById(R.id.txtGroupMemberSetAsAdmin); holder.txtGroupMemberSetAsUser = (IjoomerTextView) v.findViewById(R.id.txtGroupMemberSetAsUser); holder.txtGroupMemberSetAsBan = (IjoomerTextView) v.findViewById(R.id.txtGroupMemberSetAsBan); holder.txtGroupMemberSetAsUnban = (IjoomerTextView) v.findViewById(R.id.txtGroupMemberSetAsUnban); holder.txtGroupMemberApproval = (IjoomerTextView) v.findViewById(R.id.txtGroupMemberApproval); holder.txtGroupMemberSetAsBan.setVisibility(View.GONE); holder.txtGroupMemberSetAsUnban.setVisibility(View.GONE); if (isWaitingList) { holder.txtGroupMemberApproval.setVisibility(View.VISIBLE); } holder.imgGroupMemberOnlineStatus.setImageDrawable(getResources().getDrawable(R.drawable.jom_friend_member_offline)); @SuppressWarnings("unchecked") final HashMap<String, String> guest = (HashMap<String, String>) item.getValues().get(0); holder.txtGroupMemberName.setText(guest.get(USER_NAME)); androidQuery.id(holder.imgGroupMemberAvatar).image(guest.get(USER_AVATAR), true, true, getDeviceWidth(), 0); if (guest.get(USER_ONLINE).equalsIgnoreCase("1")) { holder.imgGroupMemberOnlineStatus.setImageDrawable(getResources().getDrawable(R.drawable.jom_friend_member_online)); } if (guest.get(CANREMOVE).equalsIgnoreCase("1")) { holder.btnGroupMemberRemove.setVisibility(View.VISIBLE); } else { holder.btnGroupMemberRemove.setVisibility(View.GONE); } if (guest.get(CANMEMBER).equalsIgnoreCase("1")) { holder.txtGroupMemberSetAsUser.setVisibility(View.VISIBLE); } else { holder.txtGroupMemberSetAsUser.setVisibility(View.GONE); } if (guest.get(CANADMIN).equalsIgnoreCase("1")) { holder.txtGroupMemberSetAsAdmin.setVisibility(View.VISIBLE); } else { holder.txtGroupMemberSetAsAdmin.setVisibility(View.GONE); } if (currentList.equals(MEMEBERLIST)) { if (guest.get(CANBAN).equalsIgnoreCase("1")) { holder.txtGroupMemberSetAsBan.setVisibility(View.VISIBLE); holder.txtGroupMemberSetAsUnban.setVisibility(View.GONE); } } else { if (guest.get(CANBAN).equalsIgnoreCase("1")) { holder.txtGroupMemberSetAsUnban.setVisibility(View.VISIBLE); holder.txtGroupMemberSetAsBan.setVisibility(View.GONE); } } holder.txtGroupMemberName.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (guest.get(USER_PROFILE).equalsIgnoreCase("1")) { gotoProfile(guest.get(USER_ID)); } } }); holder.txtGroupMemberApproval.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.approvWaitingUser(guest.get(USER_ID), IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); GROUP_DETAILS.put(MEMBERWAITING, "" + (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) - 1)); if (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) <= 0) { txtPrivateGroupApprovalRequestList.setVisibility(View.GONE); } else { txtPrivateGroupApprovalRequestList.setText(String.format(getString(R.string.private_group_approval_awaiting), Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)))); } guestAdapter.remove(guestAdapter.getItem(position)); if (guestAdapter.getCount() <= 0) { dialog.dismiss(); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); holder.btnGroupMemberRemove.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { provider.removeGroupMember(guest.get(USER_ID), IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); if (isWaitingList) { GROUP_DETAILS.put(MEMBERWAITING, "" + (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) - 1)); if (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) <= 0) { txtPrivateGroupApprovalRequestList.setVisibility(View.GONE); } else { txtPrivateGroupApprovalRequestList.setText(String.format(getString(R.string.private_group_approval_awaiting), Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)))); } } guestAdapter.remove(guestAdapter.getItem(position)); if (guestAdapter.getCount() <= 0) { dialog.dismiss(); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); holder.txtGroupMemberSetAsAdmin.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.setUserAsGroupAdmin(guest.get(USER_ID), IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); holder.txtGroupMemberSetAsAdmin.setVisibility(View.GONE); holder.txtGroupMemberSetAsUser.setVisibility(View.VISIBLE); if (isWaitingList) { GROUP_DETAILS.put(MEMBERWAITING, "" + (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) - 1)); if (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) <= 0) { txtPrivateGroupApprovalRequestList.setVisibility(View.GONE); } else { txtPrivateGroupApprovalRequestList.setText(String.format(getString(R.string.private_group_approval_awaiting), Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)))); } } else if (currentList.equals(MEMEBERLIST)) { holder.txtGroupMemberSetAsBan.setVisibility(View.GONE); holder.txtGroupMemberSetAsUnban.setVisibility(View.GONE); } else { providerGroupAllMember.restorePagingSettings(); providerGroupBanMember.restorePagingSettings(); groupAllMemberList = null; groupBanMemberList = null; IjoomerApplicationConfiguration.setReloadRequired(true); } guestAdapter.remove(guestAdapter.getItem(position)); } else { responseErrorMessageHandler(responseCode, false); } } }); } }); holder.txtGroupMemberSetAsUser.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.setUserAsGroupMember(guest.get(USER_ID), IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); holder.txtGroupMemberSetAsAdmin.setVisibility(View.VISIBLE); holder.txtGroupMemberSetAsUser.setVisibility(View.GONE); if (currentList.equals(MEMEBERLIST)) { holder.txtGroupMemberSetAsBan.setVisibility(View.VISIBLE); holder.txtGroupMemberSetAsUnban.setVisibility(View.GONE); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); holder.txtGroupMemberSetAsBan.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.setUserAsGroupBan(guest.get(USER_ID), IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); if (isWaitingList) { GROUP_DETAILS.put(MEMBERWAITING, "" + (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) - 1)); if (Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)) <= 0) { txtPrivateGroupApprovalRequestList.setVisibility(View.GONE); } else { txtPrivateGroupApprovalRequestList.setText(String.format(getString(R.string.private_group_approval_awaiting), Integer.parseInt(GROUP_DETAILS.get(MEMBERWAITING)))); } } groupBanMemberList = null; guestAdapter.remove(guestAdapter.getItem(position)); if (guestAdapter.getCount() <= 0) { dialog.dismiss(); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); holder.txtGroupMemberSetAsUnban.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.setUserAsGroupUnban(guest.get(USER_ID), IN_GROUP_DETAILS.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { updateHeader(provider.getNotificationData()); guestAdapter.remove(guestAdapter.getItem(position)); groupAllMemberList = null; if (guestAdapter.getCount() <= 0) { dialog.dismiss(); } } else { responseErrorMessageHandler(responseCode, false); } } }); } }); return v; } @Override public View setItemView(int position, View v, SmartListItem item) { return null; } }); return adapterWithHolder; } /** * List adapter for group wall. * * @return represented {@link SmartListAdapterWithHolder} */ private SmartListAdapterWithHolder getListAdapter() { SmartListAdapterWithHolder adapterWithHolder = new SmartListAdapterWithHolder(this, R.layout.jom_wall_activity_list_item, listData, new ItemView() { @Override public View setItemView(final int position, View v, final SmartListItem item, final ViewHolder holder) { holder.imgWallOrActvityUserAvatar = (ImageView) v.findViewById(R.id.imgWallOrActvityUserAvatar); holder.txtWallOrActvityUserName = (IjoomerTextView) v.findViewById(R.id.txtWallOrActvityUserName); holder.txtWallOrActvityDate = (IjoomerTextView) v.findViewById(R.id.txtWallOrActvityDate); holder.txtWallOrActvityTitle = (IjoomerTextView) v.findViewById(R.id.txtWallOrActvityTitle); holder.txtWallOrActivityLike = (IjoomerTextView) v.findViewById(R.id.txtWallOrActivityLike); holder.txtWallOrActvityContent = (IjoomerTextView) v.findViewById(R.id.txtWallOrActvityContent); holder.txtWallOrActivityComment = (IjoomerTextView) v.findViewById(R.id.txtWallOrActivityComment); holder.txtWallOrActivityLikeCount = (IjoomerTextView) v.findViewById(R.id.txtWallOrActivityLikeCount); holder.txtWallOrActivityCommentCount = (IjoomerTextView) v.findViewById(R.id.txtWallOrActivityCommentCount); holder.lnrWallOrActivityContentImage = (LinearLayout) v.findViewById(R.id.lnrWallOrActivityContentImage); holder.lnrWallOrActivityContentCoverPhoto = (RelativeLayout) v.findViewById(R.id.lnrWallOrActivityContentCoverPhoto); holder.imgWallOrActvityCoverPhoto = (ImageView) v.findViewById(R.id.imgWallOrActvityCoverPhoto); holder.lnrWallOrActivityContentVideo = (LinearLayout) v.findViewById(R.id.lnrWallOrActivityContentVideo); holder.lnrContentImageScrollable = (LinearLayout) v.findViewById(R.id.lnrContentImageScrollable); holder.lnrWallOrActivityLikeCommnet = (LinearLayout) v.findViewById(R.id.lnrWallOrActivityLikeCommnet); holder.btnWallOrActivityRemove = (IjoomerButton) v.findViewById(R.id.btnWallOrActivityRemove); holder.imgWallOrActvityContentVideoImage = (ImageView) v.findViewById(R.id.imgWallOrActvityContentVideoImage); holder.btnPlayStopVoice = (IjoomerVoiceButton) v.findViewById(R.id.btnPlayStopVoice); holder.btnPlayStopVoice.setVisibility(View.GONE); holder.btnWallOrActivityRemove.setVisibility(View.GONE); holder.lnrWallOrActivityContentImage.setVisibility(View.GONE); holder.lnrWallOrActivityContentCoverPhoto.setVisibility(View.GONE); holder.lnrWallOrActivityContentVideo.setVisibility(View.GONE); holder.txtWallOrActvityContent.setVisibility(View.GONE); @SuppressWarnings("unchecked") final HashMap<String, String> row = (HashMap<String, String>) item.getValues().get(0); androidQuery.id(holder.imgWallOrActvityUserAvatar).image(row.get(USER_AVATAR), true, true, getDeviceWidth(), 0); holder.txtWallOrActvityTitle.setMovementMethod(LinkMovementMethod.getInstance()); holder.txtWallOrActvityTitle.setText(addClickablePart(Html.fromHtml(getPlainText(row.get(TITLETAG)).replace("\u25ba", "\u25b6")), row, row.get(TYPE), IN_USERID), BufferType.SPANNABLE); holder.txtWallOrActvityUserName.setText(row.get(USER_NAME)); holder.txtWallOrActvityDate.setText(row.get(DATE)); if (row.get(CONTENT).toString().trim().length() > 0) { holder.txtWallOrActvityContent.setVisibility(View.VISIBLE); holder.txtWallOrActvityContent.setMovementMethod(LinkMovementMethod.getInstance()); row.put(CONTENT, row.get(CONTENT).replace("\n", " ")); row.put(CONTENT, row.get(CONTENT).replace("\t", " ")); row.put(CONTENT, row.get(CONTENT).replace("\r", " ")); holder.txtWallOrActvityContent.setText(addClickablePart(Html.fromHtml(getPlainText(row.get(CONTENT))), row, row.get(TYPE), IN_USERID), BufferType.SPANNABLE); } if (getAudio(row.get(TITLETAG)) != null) { holder.btnPlayStopVoice.setVisibility(View.VISIBLE); holder.btnPlayStopVoice.setText(getAudioLength(row.get(TITLETAG))); holder.btnPlayStopVoice.setAudioPath(getAudio(row.get(TITLETAG)), false); holder.btnPlayStopVoice.setAudioListener(new AudioListener() { @Override public void onReportClicked() { reportVoice(getAudio(row.get(TITLETAG))); } @Override public void onPrepared() { } @Override public void onPlayClicked(boolean isplaying) { btnPlayAll.setCustomText(getString(R.string.play_all)); txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); txtRecordUser.setVisibility(View.GONE); recordCommentCounter = recordCommentTotal; } @Override public void onComplete() { } }); } if (getAudio(row.get(CONTENT)) != null) { holder.btnPlayStopVoice.setVisibility(View.VISIBLE); holder.btnPlayStopVoice.setText(getAudioLength(row.get(CONTENT))); holder.btnPlayStopVoice.setAudioPath(getAudio(row.get(CONTENT)), false); holder.btnPlayStopVoice.setAudioListener(new AudioListener() { @Override public void onReportClicked() { reportVoice(getAudio(row.get(CONTENT))); } @Override public void onPrepared() { } @Override public void onPlayClicked(boolean isplaying) { btnPlayAll.setCustomText(getString(R.string.play_all)); txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); txtRecordUser.setVisibility(View.GONE); recordCommentCounter = recordCommentTotal; } @Override public void onComplete() { } }); } if (row.get(TYPE).toString().trim().equals(COVERUPLOAD) || row.get(TYPE).toString().trim().equals(AVATARUPLOAD)) { holder.lnrWallOrActivityContentCoverPhoto.setVisibility(View.VISIBLE); try{ JSONObject imageData = new JSONObject(row.get(IMAGE_DATA)); androidQuery.id(holder.imgWallOrActvityCoverPhoto).progress(R.id.coverimgprogress).image(imageData.getString(URL),true,true); }catch (JSONException e){ e.printStackTrace(); } }else if (row.get(TYPE).toString().trim().equals(PHOTOS)) { holder.lnrWallOrActivityContentImage.setVisibility(View.VISIBLE); preparePhotoList(holder.lnrContentImageScrollable, row); }else if (row.get(TYPE).toString().trim().equals(VIDEOS)) { holder.lnrWallOrActivityContentVideo.setVisibility(View.VISIBLE); try { androidQuery.id(holder.imgWallOrActvityContentVideoImage).image(new JSONObject(row.get(CONTENT_DATA)).getString(THUMB), true, true, getDeviceWidth(), 0); } catch (JSONException e) { e.printStackTrace(); } } if (row.containsKey(DELETEALLOWED) && row.get(DELETEALLOWED).toString().trim().equals("0")) { holder.btnWallOrActivityRemove.setVisibility(View.GONE); } else { holder.btnWallOrActivityRemove.setVisibility(View.VISIBLE); } if (row.containsKey(LIKECOUNT)) { holder.txtWallOrActivityLikeCount.setText(row.get(LIKECOUNT)); } else { holder.txtWallOrActivityLikeCount.setText("0"); } if (row.containsKey(COMMENTCOUNT)) { holder.txtWallOrActivityCommentCount.setText(row.get(COMMENTCOUNT)); } else { holder.txtWallOrActivityCommentCount.setText("0"); } if (row.get(LIKEALLOWED).toString().trim().equals("0")) { holder.txtWallOrActivityLike.setVisibility(View.GONE); holder.txtWallOrActivityLikeCount.setVisibility(View.GONE); } else { holder.txtWallOrActivityLike.setVisibility(View.VISIBLE); holder.txtWallOrActivityLikeCount.setVisibility(View.VISIBLE); } if (row.get(COMMENTALLOWED).toString().trim().equals("0")) { holder.txtWallOrActivityComment.setVisibility(View.GONE); holder.txtWallOrActivityCommentCount.setVisibility(View.GONE); } else { holder.txtWallOrActivityComment.setVisibility(View.VISIBLE); holder.txtWallOrActivityCommentCount.setVisibility(View.VISIBLE); } if (row.get(LIKED).toString().trim().equals("0")) { holder.txtWallOrActivityLike.setText(getString(R.string.like)); } else { holder.txtWallOrActivityLike.setText(getString(R.string.unlike)); } holder.txtWallOrActvityUserName.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { gotoProfile(row.get(USER_ID)); } }); holder.imgWallOrActvityUserAvatar.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { gotoProfile(row.get(USER_ID)); } }); holder.txtWallOrActivityLikeCount.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (!row.get(LIKECOUNT).toString().equals("0")) { try { ArrayList<HashMap<String, String>> IN_WALL_DETAILS = new ArrayList<HashMap<String, String>>(); IN_WALL_DETAILS.add(row); loadNew(JomWallOrActivityDetailActivity.class, JomGroupDetailsActivity.this, false, "IN_WALL_DETAILS", IN_WALL_DETAILS, "IN_WALL_DETAILS_LIST_TYPE", LIKES, "IN_USERID", IN_USERID); } catch (Throwable e) { e.printStackTrace(); } } } }); holder.txtWallOrActivityCommentCount.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (!row.get(COMMENTCOUNT).toString().equals("0")) { try { ArrayList<HashMap<String, String>> IN_WALL_DETAILS = new ArrayList<HashMap<String, String>>(); IN_WALL_DETAILS.add(row); loadNew(JomWallOrActivityDetailActivity.class, JomGroupDetailsActivity.this, false, "IN_WALL_DETAILS", IN_WALL_DETAILS, "IN_WALL_DETAILS_LIST_TYPE", COMMENTS, "IN_USERID", IN_USERID); } catch (Throwable e) { e.printStackTrace(); } } } }); holder.txtWallOrActivityLike.setOnClickListener(new OnClickListener() { @Override public void onClick(final View v) { String likeID = "0"; if (row.get(LIKETYPE).toString().trim().equals(VIDEOS)) { try { likeID = new JSONObject(row.get(CONTENT_DATA)).getString(ID); } catch (JSONException e) { e.printStackTrace(); likeID = "0"; } } else { likeID = row.get(ID); } if (row.get(LIKED).toString().trim().equals("1")) { holder.txtWallOrActivityLike.setClickable(false); wallDataProvider.unlikeWall(likeID, row.get(LIKETYPE).toString().trim(), new WebCallListener() { SeekBar skBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { skBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { try { if (row.get(LIKETYPE).equals(VIDEOS)) { JSONObject likes = new JSONObject(row.get(CONTENT_DATA)); likes.put(LIKES, "" + (Integer.parseInt(holder.txtWallOrActivityLikeCount.getText().toString()) - 1)); likes.put(LIKED, "0"); row.put(CONTENT_DATA, likes.toString()); holder.txtWallOrActvityTitle.setText( addClickablePart(Html.fromHtml(row.get(TITLETAG).replace("\u25ba", "\u25b6")), row, row.get(TYPE), IN_USERID), BufferType.SPANNABLE); holder.txtWallOrActvityContent.setText(addClickablePart(Html.fromHtml(row.get(CONTENT)), row, row.get(TYPE), IN_USERID), BufferType.SPANNABLE); } } catch (Exception e) { } ((IjoomerTextView) v).setText(getString(R.string.like)); holder.txtWallOrActivityLikeCount.setText("" + (Integer.parseInt(holder.txtWallOrActivityLikeCount.getText().toString()) - 1)); row.put(LIKED, "0"); row.put(LIKECOUNT, holder.txtWallOrActivityLikeCount.getText().toString()); } else { responseErrorMessageHandler(responseCode, false); } holder.txtWallOrActivityLike.setClickable(true); } }); } else { holder.txtWallOrActivityLike.setClickable(false); wallDataProvider.likeWall(likeID, row.get(LIKETYPE).toString().trim(), new WebCallListener() { SeekBar skBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { skBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { try { if (row.get(LIKETYPE).equals(VIDEOS)) { JSONObject likes = new JSONObject(row.get(CONTENT_DATA)); likes.put(LIKES, "" + (Integer.parseInt(holder.txtWallOrActivityLikeCount.getText().toString()) + 1)); likes.put(LIKED, "1"); row.put(CONTENT_DATA, likes.toString()); holder.txtWallOrActvityTitle.setText( addClickablePart(Html.fromHtml(row.get(TITLETAG).replace("\u25ba", "\u25b6")), row, row.get(TYPE), IN_USERID), BufferType.SPANNABLE); holder.txtWallOrActvityContent.setText(addClickablePart(Html.fromHtml(row.get(CONTENT)), row, row.get(TYPE), IN_USERID), BufferType.SPANNABLE); } } catch (Exception e) { } ((IjoomerTextView) v).setText(getString(R.string.unlike)); holder.txtWallOrActivityLikeCount.setText("" + (Integer.parseInt(holder.txtWallOrActivityLikeCount.getText().toString()) + 1)); row.put(LIKED, "1"); row.put(LIKECOUNT, holder.txtWallOrActivityLikeCount.getText().toString()); } else { responseErrorMessageHandler(responseCode, false); } holder.txtWallOrActivityLike.setClickable(true); } }); } } }); holder.btnWallOrActivityRemove.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { IjoomerUtilities.getCustomConfirmDialog(getString(R.string.wall_remove), getString(R.string.are_you_sure), getString(R.string.yes), getString(R.string.no), new CustomAlertMagnatic() { @Override public void PositiveMethod() { wallDataProvider.removeWall(row.get(ID), row.get(USER_ID), row.get(COMMENTTYPE), new WebCallListener() { @Override public void onProgressUpdate(int progressCount) { } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { wallListAdapterWithHolder.remove(wallListAdapterWithHolder.getItem(position)); if (getAudio(row.get(TITLETAG)) != null || getAudio(row.get(CONTENT)) != null) { recordCommentTotal -= 1; txtTotalRecordComment.setText("(" + recordCommentTotal + ")"); if (recordCommentTotal == 1) { lnrPlayRecordComment.setVisibility(View.GONE); } } } else { responseErrorMessageHandler(responseCode, false); } } }); } @Override public void NegativeMethod() { } }); } }); holder.txtWallOrActivityComment.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { ArrayList<HashMap<String, String>> IN_WALL_DETAILS = new ArrayList<HashMap<String, String>>(); IN_WALL_DETAILS.add(row); loadNew(JomWallOrActivityDetailActivity.class, JomGroupDetailsActivity.this, false, "IN_WALL_DETAILS", IN_WALL_DETAILS, "IN_WALL_DETAILS_LIST_TYPE", COMMENTS, "IN_USERID", IN_USERID); } catch (Throwable e) { e.printStackTrace(); } } }); holder.imgWallOrActvityContentVideoImage.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { String url = new JSONObject(row.get(CONTENT_DATA)).getString(URL); Intent lVideoIntent = new Intent(null,getVideoPlayURI(url), JomGroupDetailsActivity.this, IjoomerMediaPlayer.class); startActivity(lVideoIntent); } catch (Exception e) { e.printStackTrace(); } } }); return v; } @Override public View setItemView(int position, View v, SmartListItem item) { return null; } }); return adapterWithHolder; } /** * List adapter for announcement. * * @return represented {@link SmartListAdapterWithHolder} */ private SmartListAdapterWithHolder getAnnouncementListAdapter() { SmartListAdapterWithHolder adapterWithHolder = new SmartListAdapterWithHolder(JomGroupDetailsActivity.this, R.layout.jom_group_announcement_list_item, listData, new ItemView() { @Override public View setItemView(int position, View v, SmartListItem item, ViewHolder holder) { holder.txtAnnouncementTitle = (IjoomerTextView) v.findViewById(R.id.txtAnnouncementTitle); holder.txtAnnouncementStartedBy = (IjoomerTextView) v.findViewById(R.id.txtAnnouncementStartedBy); holder.txtAnnouncementStartedOn = (IjoomerTextView) v.findViewById(R.id.txtAnnouncementStartedOn); @SuppressWarnings("unchecked") final HashMap<String, String> row = (HashMap<String, String>) item.getValues().get(0); holder.txtAnnouncementTitle.setText(row.get(TITLE)); holder.txtAnnouncementStartedBy.setText(row.get(USER_NAME)); holder.txtAnnouncementStartedOn.setText(row.get(DATE)); v.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { IN_GROUP_DETAILS.putAll(GROUP_DETAILS); try { loadNew(JomGroupAnnouncementDetailsActivity.class, JomGroupDetailsActivity.this, false, "IN_ANNOUCEMENT_DETAILS", row, "IN_GROUP_DETAILS", IN_GROUP_DETAILS); } catch (Throwable e) { e.printStackTrace(); } } }); return v; } @Override public View setItemView(int position, View v, SmartListItem item) { return null; } }); return adapterWithHolder; } /** * List adapter for discussion. * * @return represented {@link SmartListAdapterWithHolder} */ private SmartListAdapterWithHolder getDiscussionListAdapter() { SmartListAdapterWithHolder adapterWithHolder = new SmartListAdapterWithHolder(JomGroupDetailsActivity.this, R.layout.jom_group_discussion_list_item, listData, new ItemView() { @Override public View setItemView(int position, View v, SmartListItem item, ViewHolder holder) { holder.txtDiscussionTitle = (IjoomerTextView) v.findViewById(R.id.txtDiscussionTitle); holder.txtDiscussionStartedBy = (IjoomerTextView) v.findViewById(R.id.txtDiscussionStartedBy); holder.txtDiscussionReplies = (IjoomerTextView) v.findViewById(R.id.txtDiscussionReplies); @SuppressWarnings("unchecked") final HashMap<String, String> row = (HashMap<String, String>) item.getValues().get(0); holder.txtDiscussionTitle.setText(row.get(TITLE)); holder.txtDiscussionStartedBy.setText(String.format(getString(R.string.group_discussion_startedby), row.get(USER_NAME))); holder.txtDiscussionReplies.setText(row.get(TOPICS) + " " + getString(R.string.replies)); v.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { IN_GROUP_DETAILS.putAll(GROUP_DETAILS); try { loadNew(JomGroupDiscussionDetailsActivity.class, JomGroupDetailsActivity.this, false, "IN_DISCUSSION_DETAILS", row, "IN_GROUP_DETAILS", IN_GROUP_DETAILS); } catch (Throwable e) { e.printStackTrace(); } } }); return v; } public View setItemView(int position, View v, SmartListItem item) { return null; } }); return adapterWithHolder; } /** * List adapter for file * * @return represented {@link SmartListAdapterWithHolder} */ private SmartListAdapterWithHolder getFileListAdapter() { SmartListAdapterWithHolder adapterWithHolder = new SmartListAdapterWithHolder(this, R.layout.jom_group_upload_file_list_item, fileListData, new ItemView() { @Override public View setItemView(final int position, View v, SmartListItem item, final ViewHolder holder) { holder.txtFileTitle = (IjoomerTextView) v.findViewById(R.id.txtFileTitle); holder.txtFileHit = (IjoomerTextView) v.findViewById(R.id.txtFileHit); holder.txtFileSize = (IjoomerTextView) v.findViewById(R.id.txtFileSize); holder.txtFileDesc = (IjoomerTextView) v.findViewById(R.id.txtFileDesc); holder.btnFileRemove = (IjoomerButton) v.findViewById(R.id.btnFileRemove); @SuppressWarnings("unchecked") final HashMap<String, String> row = (HashMap<String, String>) item.getValues().get(0); holder.txtFileTitle.setText(row.get(NAME)); holder.txtFileSize.setText(getString(R.string.size) + ":" + IjoomerUtilities.readableFileSize(Long.parseLong(row.get(SIZE)))); holder.txtFileHit.setText(getString(R.string.hits) + ":" + row.get(HITS)); holder.txtFileDesc.setText(String.format(getString(R.string.by), row.get(USER_NAME) + " " + row.get(DATE))); if (row.get(DELETEALLOWED).equals("1")) { holder.btnFileRemove.setVisibility(View.VISIBLE); } else { holder.btnFileRemove.setVisibility(View.GONE); } holder.txtFileTitle.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { downlodIndex = position; Intent intent = new Intent(JomGroupDetailsActivity.this, IjoomerFileChooserActivity.class); startActivityForResult(intent, DOWNLOAD_FILE_LOCATION); } }); holder.btnFileRemove.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { provider.removeFile(row.get(ID), new WebCallListener() { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); @Override public void onProgressUpdate(int progressCount) { proSeekBar.setProgress(progressCount); } @Override public void onCallComplete(int responseCode, String errorMessage, ArrayList<HashMap<String, String>> data1, Object data2) { if (responseCode == 200) { IjoomerUtilities.getCustomOkDialog(getString(R.string.group_files), getString(R.string.file_removed_successfully), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { fileListAdapter.remove(fileListAdapter.getItem(position)); if (fileListAdapter.getCount() <= 0) { dialog.dismiss(); } } }); } else { IjoomerUtilities.getCustomOkDialog(getString(R.string.group_files), getString(getResources().getIdentifier("code" + responseCode, "string", getPackageName())), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { } }); } } }); } }); return v; } @Override public View setItemView(int position, View v, SmartListItem item) { return null; } }); return adapterWithHolder; } }