Guest User

Untitled

a guest
Jan 16th, 2016
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.65 KB | None | 0 0
  1. package com.scala.meet;
  2.  
  3. import android.os.AsyncTask;
  4. import android.os.Bundle;
  5. import android.support.v4.app.Fragment;
  6. import android.support.v7.widget.AppCompatButton;
  7. import android.support.v7.widget.AppCompatTextView;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.View.OnClickListener;
  11. import android.view.ViewGroup;
  12. import android.widget.AdapterView;
  13. import android.widget.BaseAdapter;
  14. import android.widget.ImageView;
  15. import android.widget.ListView;
  16.  
  17. import com.bumptech.glide.Glide;
  18. import com.parse.FindCallback;
  19. import com.parse.ParseException;
  20. import com.parse.ParseFile;
  21. import com.parse.ParseQuery;
  22. import com.parse.ParseRelation;
  23. import com.parse.ParseUser;
  24. import com.scala.helper.Tag;
  25. import com.scala.helper.ViewHolder;
  26.  
  27. import java.util.ArrayList;
  28. import java.util.Arrays;
  29. import java.util.List;
  30.  
  31. import jp.wasabeef.glide.transformations.CropCircleTransformation;
  32.  
  33. /**
  34. * A placeholder fragment containing a simple view.
  35. */
  36. public class FragmentConnect extends Fragment implements OnClickListener {
  37.  
  38. private ListView mListViewData;
  39. private ArrayList<ParseUser> mArrayListParseUsers;
  40. private ConnectionBaseAdapter mDashboardBaseAdapter;
  41. private boolean isForBookMark;
  42. private MeetActivity meetActivity;
  43. private String title;
  44.  
  45.  
  46. public FragmentConnect() {
  47. }
  48.  
  49. @Override
  50. public void onCreate(Bundle savedInstanceState) {
  51. super.onCreate(savedInstanceState);
  52. meetActivity = (MeetActivity) getActivity();
  53. }
  54.  
  55. public void setIsForBookMark(boolean isForBookMark) {
  56. this.isForBookMark = isForBookMark;
  57. }
  58.  
  59. @Override
  60. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  61. Bundle savedInstanceState) {
  62. headerSetting();
  63. return inflater.inflate(R.layout.fragment_connect, container, false);
  64. }
  65.  
  66. private void headerSetting() {
  67. meetActivity.changeToolBarVisibility(true);
  68. meetActivity.setTitle(getString(R.string.lbl_connect));
  69. meetActivity.setBackButtonVisibility(true);
  70. meetActivity.setSettingButtonVisibility(false);
  71. meetActivity.showImageViewScalaMeet();
  72. meetActivity.hideDoneButton();
  73. }
  74.  
  75. @Override
  76. public void onViewCreated(View view, Bundle savedInstanceState) {
  77. super.onViewCreated(view, savedInstanceState);
  78.  
  79. mListViewData = (ListView) view.findViewById(R.id.fragment_connect_listview);
  80. mListViewData.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  81. @Override
  82. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  83. ConnectionBaseAdapter mConnectionBaseAdapter = ((ConnectionBaseAdapter) parent.getAdapter());
  84. ParseUser mParseUser = (ParseUser) mConnectionBaseAdapter.getItem(position);
  85. FragmentBookmark mFragmentBookmark = new FragmentBookmark();
  86. mFragmentBookmark.setParseUser(mParseUser);
  87. mFragmentBookmark.setIsBookMarked(isForBookMark);
  88. meetActivity.replaceFragment(mFragmentBookmark, true);
  89. }
  90. });
  91. mArrayListParseUsers = new ArrayList<ParseUser>();
  92. new FetchData().execute();
  93. }
  94.  
  95.  
  96. @Override
  97. public void onClick(View v) {
  98. switch (v.getId()) {
  99. case R.id.activity_main_img_ic_scalameet:
  100. if(!meetActivity.isAppBarProgress()) {
  101. meetActivity.setIsAppBarProgress(true);
  102. isForBookMark = !isForBookMark;
  103. new FetchData().execute();
  104. }
  105. break;
  106. }
  107. }
  108.  
  109. public void setTitle(String title) {
  110. this.title = title;
  111. }
  112.  
  113. class FetchData extends AsyncTask<Void,Void,Void>{
  114. //ProgressDialog progressDialog;
  115. @Override
  116. protected void onPreExecute() {
  117. super.onPreExecute();
  118. // progressDialog = ProgressDialog.show(meetActivity, "", getString(R.string.progress_dialog_message));
  119. }
  120.  
  121. @Override
  122. protected Void doInBackground(Void... params) {
  123. meetActivity.showAppBarProgress();
  124. if(isForBookMark){
  125. meetActivity.runOnUiThread(new Runnable() {
  126. @Override
  127. public void run() {
  128. meetActivity.setTitle(getString(R.string.lbl_saved_contacts));
  129.  
  130. }
  131. });
  132. ParseRelation relation = ParseUser.getCurrentUser().getRelation("bookmarkuser");
  133.  
  134. relation.getQuery().findInBackground(new FindCallback<ParseUser>() {
  135. public void done(List<ParseUser> objects, ParseException e) {
  136. if (isAdded())
  137. meetActivity.hideAppBarProgress();
  138.  
  139. if (e == null) {
  140. // The query was successful.
  141. if (objects.size() > 0) {
  142. mArrayListParseUsers.clear();
  143. for (int i = 0; i < objects.size(); i++) {
  144.  
  145. // ParseUser p = objects.get(i);
  146. mArrayListParseUsers.add(objects.get(i));
  147. // mCommonHelper.Log("Database records" + p.toString());
  148. // String email = p.getString("email");
  149. // String password = p.getString("password");
  150. // mCommonHelper.Log("Database email : " + email);
  151. // mCommonHelper.Log("Database password : " + password);
  152. }
  153.  
  154. mDashboardBaseAdapter = new ConnectionBaseAdapter();
  155. mListViewData.setAdapter(mDashboardBaseAdapter);
  156. }
  157. } else {
  158. // progressDialog.dismiss();
  159.  
  160. }
  161. meetActivity.hideAppBarProgress();
  162. }
  163. });
  164. }else{
  165. meetActivity.runOnUiThread(new Runnable() {
  166. @Override
  167. public void run() {
  168. meetActivity.setTitle(getString(R.string.lbl_connect));
  169.  
  170. }
  171. });
  172. ParseQuery parseQuery = ParseQuery.getQuery("_User");
  173. parseQuery.whereNotEqualTo("objectId", ParseUser.getCurrentUser().getObjectId());
  174. boolean role = ParseUser.getCurrentUser().getBoolean("role");
  175. if(!role){// customer
  176. parseQuery.whereEqualTo("role", true);
  177. parseQuery.whereEqualTo("events_attending", meetActivity.getEventIdInt());
  178. }else{
  179. parseQuery.whereEqualTo("event", meetActivity.getEventIdInt());
  180. }
  181.  
  182. parseQuery.findInBackground(new FindCallback<ParseUser>() {
  183. public void done(List<ParseUser> objects, ParseException e) {
  184. if (isAdded())
  185. meetActivity.hideAppBarProgress();
  186.  
  187. if (e == null) {
  188. // The query was successful.
  189. if (objects.size() > 0) {
  190. mArrayListParseUsers.clear();
  191. for (int i = 0; i < objects.size(); i++) {
  192.  
  193. mArrayListParseUsers.add(objects.get(i));
  194. }
  195.  
  196. meetActivity.runOnUiThread(new Runnable() {
  197. @Override
  198. public void run() {
  199. mDashboardBaseAdapter = new ConnectionBaseAdapter();
  200. mListViewData.setAdapter(mDashboardBaseAdapter);
  201. }
  202. });
  203. }
  204. } else {
  205. // progressDialog.dismiss();
  206.  
  207. }
  208. meetActivity.hideAppBarProgress();
  209. }
  210. });
  211.  
  212. }
  213.  
  214. return null;
  215. }
  216.  
  217. @Override
  218. protected void onPostExecute(Void aVoid) {
  219. super.onPostExecute(aVoid);
  220. /*if(progressDialog != null && progressDialog.isShowing()){
  221. progressDialog.dismiss();
  222. }*/
  223.  
  224. }
  225. }
  226.  
  227. public class ConnectionBaseAdapter extends BaseAdapter {
  228.  
  229. ViewHolder mViewHolder;
  230.  
  231. @Override
  232. public int getCount() {
  233. return mArrayListParseUsers.size();
  234. }
  235.  
  236. @Override
  237. public Object getItem(int position) {
  238.  
  239. return mArrayListParseUsers.get(position);
  240. }
  241.  
  242. @Override
  243. public long getItemId(int position) {
  244. return position;
  245. }
  246.  
  247. @Override
  248. public View getView(final int position, View convertView, ViewGroup parent) {
  249.  
  250. if (convertView == null) {
  251. mViewHolder = new ViewHolder();
  252. convertView = meetActivity.getLayoutInflater().inflate(R.layout.row_fragment_connect, null);
  253. mViewHolder.mTextViewName = (AppCompatTextView) convertView.findViewById(R.id.row_fragment_connect_textview_name);
  254. mViewHolder.mImageViewProfile = (ImageView) convertView.findViewById(R.id.row_fragment_connect_img_profile_pic);
  255. mViewHolder.mImageViewScalaStatus = (ImageView) convertView.findViewById(R.id.row_fragment_connect_img_scala_status);
  256. mViewHolder.mButtonNotInRange = (AppCompatTextView) convertView.findViewById(R.id.row_fragment_connect_button_not_in_range);
  257. convertView.setTag(mViewHolder);
  258. } else {
  259.  
  260. mViewHolder = (ViewHolder) convertView.getTag();
  261. }
  262. ParseUser mParseUser = mArrayListParseUsers.get(position);
  263. mViewHolder.mTextViewName.setText(mParseUser.getString(Tag.mParseFieldName));
  264.  
  265.  
  266. if(mParseUser.getBoolean(Tag.mParseFieldRole)) {
  267.  
  268. mViewHolder.mImageViewScalaStatus.setVisibility(View.VISIBLE);
  269. mViewHolder.mButtonNotInRange.setVisibility(View.INVISIBLE);
  270. }else{
  271. mViewHolder.mImageViewScalaStatus.setVisibility(View.INVISIBLE);
  272. mViewHolder.mButtonNotInRange.setVisibility(View.VISIBLE);
  273. }
  274.  
  275.  
  276. ParseFile postImage = mParseUser.getParseFile(Tag.mParseFieldImage);
  277. if(meetActivity.isNotNull(postImage)){
  278.  
  279. String imageUrl = postImage.getUrl() ;//live url
  280. // Uri imageUri = Uri.parse(imageUrl);
  281.  
  282. Glide.with(meetActivity)
  283. .load(imageUrl)
  284. .override(600, 200)
  285. .crossFade(400)
  286. .bitmapTransform(new CropCircleTransformation(meetActivity))
  287. //.placeholder(R.drawable.loading_spinner)
  288. .into(mViewHolder.mImageViewProfile);
  289. }
  290.  
  291.  
  292.  
  293. return convertView;
  294. }
  295. }
  296.  
  297. @Override
  298. public void onResume() {
  299. super.onResume();
  300. meetActivity.setOnClickImageViewScalaMeet(this);
  301. }
  302.  
  303. @Override
  304. public void onPause() {
  305. meetActivity.hideKeyboard();
  306. super.onPause();
  307. meetActivity.setOnClickImageViewScalaMeet(null);
  308. }
  309.  
  310.  
  311. }
Add Comment
Please, Sign In to add comment