package com.ijoomer.components.jomsocial; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.location.Address; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.SeekBar; import android.widget.Spinner; import com.ijoomer.common.classes.IjoomerMapAddress; import com.ijoomer.common.classes.IjoomerSuperMaster; import com.ijoomer.common.classes.IjoomerUtilities; import com.ijoomer.common.configuration.IjoomerApplicationConfiguration; import com.ijoomer.customviews.IjoomerButton; import com.ijoomer.customviews.IjoomerEditText; import com.ijoomer.customviews.IjoomerTextView; import com.ijoomer.library.jomsocial.JomGalleryDataProvider; import com.ijoomer.src.R; import com.ijoomer.weservice.WebCallListener; import com.smart.framework.CustomAlertNeutral; import com.smart.framework.SmartFragment; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; /** * This Class Contains All Method Related To JomAlbumAddFragment. * * @author tasol * */ @SuppressLint("ValidFragment") public class JomAlbumAddFragment extends SmartFragment implements JomTagHolder { @SuppressWarnings("unused") private IjoomerTextView txtAlbumWhoCanSee; private IjoomerEditText edtAlbumName; private IjoomerEditText edtAlbumLocation; private IjoomerEditText edtAlbumDescription; private IjoomerButton btnCancle; private IjoomerButton btnCreate; private ImageView imgMap; private Spinner spnWhoCanSee; private JomGalleryDataProvider providerAlbum; private String IN_GROUP_ID; final private int GET_ADDRESS_FROM_MAP = 1; public JomAlbumAddFragment() { } /** * Overrides method */ @Override public int setLayoutId() { return R.layout.jom_album_add_fragment; } @Override public View setLayoutView() { return null; } @Override public void initComponents(View currentView) { txtAlbumWhoCanSee = (IjoomerTextView) currentView.findViewById(R.id.txtAlbumWhoCanSee); edtAlbumName = (IjoomerEditText) currentView.findViewById(R.id.edtAlbumName); edtAlbumLocation = (IjoomerEditText) currentView.findViewById(R.id.edtAlbumLocation); edtAlbumDescription = (IjoomerEditText) currentView.findViewById(R.id.edtAlbumDescription); btnCancle = (IjoomerButton) currentView.findViewById(R.id.btnCancle); btnCreate = (IjoomerButton) currentView.findViewById(R.id.btnCreate); imgMap = (ImageView) currentView.findViewById(R.id.imgMap); spnWhoCanSee = (Spinner) currentView.findViewById(R.id.spnWhoCanSee); providerAlbum = new JomGalleryDataProvider(getActivity()); getIntentData(); } @Override public void prepareViews(View currentView) { spnWhoCanSee.setAdapter(new IjoomerUtilities.MyCustomAdapter(getActivity(), new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.wall_post_type))))); new Thread(new Runnable() { @Override public void run() { try { final String address = IjoomerUtilities.getAddressFromLatLong(0, 0).getSubAdminArea(); getActivity().runOnUiThread(new Runnable() { @Override public void run() { edtAlbumLocation.setText(address); } }); } catch (Throwable e) { } } }).start(); } @Override public void setActionListeners(View currentView) { imgMap.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(getActivity(), IjoomerMapAddress.class); startActivityForResult(intent, GET_ADDRESS_FROM_MAP); } }); btnCreate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((IjoomerSuperMaster) getActivity()).hideSoftKeyboard(); if (edtAlbumName.getText().toString().trim().length() > 0) { final SeekBar proSeekBar = IjoomerUtilities.getLoadingDialog(getString(R.string.dialog_loading_sending_request)); Address address = IjoomerUtilities.getLatLongFromAddress(edtAlbumLocation.getText().toString().trim()); providerAlbum.addAlbum("0", IN_GROUP_ID, edtAlbumName.getText().toString().trim(), edtAlbumDescription.getText().toString().trim(), address != null ? address.getLatitude() : 0, address != null ? address.getLongitude() : 0, ((JomMasterActivity) getActivity()).getPrivacyCode(spnWhoCanSee.getSelectedItem().toString().trim()).toString(), 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) { try { if (responseCode == 200) { clearAlbumField(); ((JomMasterActivity) getActivity()).updateHeader(providerAlbum.getNotificationData()); IjoomerApplicationConfiguration.setReloadRequired(true); ((JomAlbumsActivity) getActivity()).onResume(); } else { IjoomerUtilities.getCustomOkDialog(getString(R.string.add_album), getString(getResources().getIdentifier("code" + responseCode, "string", getActivity().getPackageName())), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() { @Override public void NeutralMethod() { IjoomerApplicationConfiguration.setReloadRequired(true); ((JomAlbumsActivity) getActivity()).onResume(); } }); } } catch (Throwable e) { } } }); } else { edtAlbumName.setError(getString(R.string.validation_value_required)); } } }); btnCancle.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { IjoomerApplicationConfiguration.setReloadRequired(true); ((JomAlbumsActivity) getActivity()).onResume(); } }); } @SuppressWarnings("unchecked") @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { if (requestCode == GET_ADDRESS_FROM_MAP) { edtAlbumLocation.setText(((HashMap<String, String>) data.getSerializableExtra("MAP_ADDRESSS_DATA")).get("address")); } else { super.onActivityResult(requestCode, resultCode, data); } } } /** * Class method */ /** * This method used to get intent data. */ private void getIntentData() { IN_GROUP_ID = getActivity().getIntent().getStringExtra("IN_GROUP_ID") == null ? "0" : getActivity().getIntent().getStringExtra("IN_GROUP_ID"); } private void clearAlbumField(){ edtAlbumName.setText(""); edtAlbumDescription.setText(""); edtAlbumLocation.setText(""); } }