//This is source code of favorite. Copyrightⓒ. Tarks. All Rights Reserved. package com.tarks.favorite; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import com.actionbarsherlock.app.SherlockFragment; import com.tarks.favorite.pulltorefresh.library.PullToRefreshBase; import com.tarks.favorite.pulltorefresh.library.PullToRefreshBase.OnRefreshListener; import com.tarks.favorite.pulltorefresh.library.PullToRefreshListView; import com.tarks.favorite.connect.AsyncHttpTask; import com.tarks.favorite.connect.ImageDownloader; import com.tarks.favorite.global.Global; import com.tarks.favorite.page.ProfileActivity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.HeaderViewListAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; import android.widget.TextView; public class mainfragment extends SherlockFragment { // Profile image local path String local_path; View rootView; // On déclare la HashMap qui contiendra les informations pour un item HashMap<String, String> map; // Like me or favorite String like_me_result; String favorite_result; //User content ArrayList<String> user_content_array = new ArrayList<String>(); ArrayList<String> user_name_array = new ArrayList<String>(); // ListView // ListView listView; private PullToRefreshListView listView; // List ArrayList<List> m_orders = new ArrayList<List>(); // Define ListAdapter ListAdapter m_adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.listview3, container, false); load(); // setfavorite(); return rootView; } public void load(){ // + "/member/"; try { local_path = getActivity().getCacheDir().toString() + "/member/"; } catch (Exception e) { } setListAdapter(); m_adapter = new ListAdapter(getActivity(), R.layout.profile_list, m_orders); listView.setAdapter(m_adapter); // loadFavorite(Global.getSetting("user_srl", "0")); // Set Favorite // Import ListView } public void refreshAct(){ //User content user_content_array.clear(); user_name_array.clear(); m_adapter.clear(); loadFavorite(Global.getSetting("user_srl", "0")); } public void setListAdapter() { listView = (PullToRefreshListView) rootView.findViewById(R.id.listView1); // Set a listener to be invoked when the list should be refreshed. listView.setOnRefreshListener(new OnRefreshListener<ListView>() { @Override public void onRefresh(PullToRefreshBase<ListView> refreshView) { // TODO Auto-generated method stub refreshAct(); } }); // listView = (ListView) rootView.findViewById(R.id.listView1); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub if (arg0.getAdapter() instanceof HeaderViewListAdapter) { if (((HeaderViewListAdapter) arg0.getAdapter()) .getWrappedAdapter() instanceof ListAdapter) { ListAdapter ca = (ListAdapter) ((HeaderViewListAdapter) arg0 .getAdapter()).getWrappedAdapter(); List ls = (List) ca.getItem(arg2 - 1); Intent intent = new Intent(getActivity(), ProfileActivity.class); intent.putExtra("member_srl", ls.getUserSrl()); startActivity(intent); } } } }); } // public void setfavorite() { // // 자신의 신분 설정값을 불러옵니다. // SharedPreferences prefs = getActivity().getSharedPreferences("setting", // getActivity().MODE_PRIVATE); // int like_me = Integer.parseInt(prefs.getString("like_me", "0")); // int favorite = Integer.parseInt(prefs.getString("favorite", "0")); // // // Import textview // TextView favorite_text = (TextView) rootView // .findViewById(R.id.textView4); // TextView like_me_text = (TextView) rootView // .findViewById(R.id.textView3); // // // number cut // NumberFormat nf = NumberFormat.getInstance(); // // nf.setMaximumIntegerDigits(5); //최대수 지정 // like_me_result = nf.format(like_me); // favorite_result = nf.format(favorite); // // if (like_me > 9999) // like_me_result = "9999+"; // if (favorite > 9999) // favorite_result = "9999+"; // // // loadFavorite(Global.getSetting("user_srl", "0")); // // } // public void setheader() { // like_card header = (new like_card(like_me_result, favorite_result, // false)); // // mCardView.addCard(header); // } public void setList(String user_srl, String title, String des) { List p1 = new List(user_srl, title, des, 0); m_orders.add(p1); } public void loadFavorite(String user_srl) { ArrayList<String> Paramname = new ArrayList<String>(); Paramname.add("authcode"); Paramname.add("kind"); Paramname.add("category"); Paramname.add("user_srl"); Paramname.add("user_srl_auth"); Paramname.add("value"); ArrayList<String> Paramvalue = new ArrayList<String>(); Paramvalue.add("642979"); Paramvalue.add("favorite_read"); Paramvalue.add("3"); Paramvalue.add(Global.getSetting("user_srl", Global.getSetting("user_srl", "0"))); Paramvalue.add(Global.getSetting("user_srl_auth", Global.getSetting("user_srl_auth", "null"))); Paramvalue.add(user_srl); new AsyncHttpTask(getActivity(), getString(R.string.server_path) + "favorite/favorite_app.php", mHandler, Paramname, Paramvalue, null, 1, Integer.parseInt(user_srl)); } public void loadUsers(ArrayList<String> users_srl) { ArrayList<String> Paramname = new ArrayList<String>(); Paramname.add("authcode"); Paramname.add("kind"); Paramname.add("user_srl"); Paramname.add("user_srl_auth"); Paramname.add("users_srl"); ArrayList<String> Paramvalue = new ArrayList<String>(); Paramvalue.add("642979"); Paramvalue.add("4"); Paramvalue.add(Global.getSetting("user_srl", Global.getSetting("user_srl", "0"))); Paramvalue.add(Global.getSetting("user_srl_auth", Global.getSetting("user_srl_auth", "null"))); Paramvalue.add(Global.arraylistToString(users_srl, "//")); new AsyncHttpTask(getActivity(), getString(R.string.server_path) + "board/documents_app_read.php", mHandler, Paramname, Paramvalue, null, 2, 0); } public void getMemberInfo(String user_srl) { if (Global.getUpdatePossible(user_srl)) { ArrayList<String> Paramname = new ArrayList<String>(); Paramname.add("authcode"); Paramname.add("user_srl"); Paramname.add("user_srl_auth"); Paramname.add("profile_user_srl"); Paramname.add("member_info"); ArrayList<String> Paramvalue = new ArrayList<String>(); Paramvalue.add("642979"); Paramvalue.add(Global.getSetting("user_srl", Global.getSetting("user_srl", "0"))); Paramvalue.add(Global.getSetting("user_srl_auth", Global.getSetting("user_srl_auth", "null"))); Paramvalue.add(String.valueOf(user_srl)); Paramvalue.add("profile_pic//profile_update"); new AsyncHttpTask(getActivity(), getString(R.string.server_path) + "member/profile_info.php", mHandler, Paramname, Paramvalue, null, 3, Integer.parseInt(user_srl)); } } public void ProfileUserImageDownload(String user_srl) { // Start Progressbar // setSupportProgressBarIndeterminateVisibility(true); new ImageDownloader(getActivity(), getString(R.string.server_path) + "files/profile/thumbnail/" + user_srl + ".jpg", mHandler, 4, Integer.parseInt(user_srl)); } protected Handler mHandler = new Handler() { public void handleMessage(Message msg) { // IF Sucessfull no timeout // rootView.setSupportProgressBarIndeterminateVisibility(false); if (msg.what == -1) { Global.ConnectionError(getActivity()); } if (msg.what == 1) { String result = msg.obj.toString(); // Log.i("Result", msg.obj.toString()); try{ String[] profile = result.split("/PFILE/."); for (int i = 0; i < profile.length; i++) { String[] users = profile[i].split("/LINE/."); user_content_array.add(users[0]); user_name_array.add(users[1]); } // Global.dumpArray(array); loadUsers(user_content_array); }catch(Exception e){ } } if (msg.what == 2) { try{ String result = msg.obj.toString(); // Log.i("Result", msg.obj.toString()); String[] array = result.split("/LINE/."); for (int i = 0; i < user_content_array.size(); i++) { getMemberInfo(String.valueOf(user_content_array.get(i))); setList(user_content_array.get(i), user_name_array.get(i), array[i]); m_adapter.notifyDataSetChanged(); } listView.onRefreshComplete(); } catch (Exception e){ listView.onRefreshComplete(); } } if (msg.what == 3) { try { String[] array = msg.obj.toString().split("/LINE/."); // Global.dumpArray(array); String profile_pic = array[0]; String profile_update = array[1]; String user_srl = String.valueOf(msg.arg1); // Log.i("Gett", user_srl + ""); Global.SaveUserSetting(user_srl, null, String.valueOf(Global.getCurrentTimeStamp()), profile_pic); if (profile_pic.matches("Y")) { // Global.SaveUserSetting(user_srl, profile_update); ProfileUserImageDownload(user_srl); // Log.i("test", "Let s profile image download"); } if (profile_pic.matches("N")) { File file = new File(local_path + user_srl + ".jpg"); file.delete(); File file_thum = new File(local_path + "thumbnail/" + user_srl + ".jpg"); file_thum.delete(); } } catch (Exception e) { // MemberInfoError(); } } if (msg.what == 4) { try { //Log.i("Save", msg.arg1 + ""); Global.SaveBitmapToFileCache((Bitmap) msg.obj, local_path + "thumbnail/", msg.arg1 + ".jpg"); m_adapter.notifyDataSetChanged(); // Set Profile // profile.setImageDrawable(Drawable.createFromPath(local_path // + member_srl + ".jpg")); // Refresh(); } catch (Exception e) { } } } }; private class ListAdapter extends ArrayAdapter<List> { private ArrayList<List> items; public ListAdapter(Context context, int textViewResourceId, ArrayList<List> items) { super(context, textViewResourceId, items); this.items = items; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) getActivity() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.profile_list, null); } final List p = items.get(position); if (p != null) { TextView tt = (TextView) v.findViewById(R.id.titre); TextView bt = (TextView) v.findViewById(R.id.description); ImageView image = (ImageView) v.findViewById(R.id.img); if (tt != null) { tt.setText(p.getTitle()); } if (bt != null) { bt.setText(Global.getValue(p.getDes())); } if (image != null) { boolean state = Global.CheckFileState(local_path + "thumbnail/" + p.getUserSrl() + ".jpg"); if (state) { image.setImageDrawable(Drawable .createFromPath(local_path + "thumbnail/" + p.getUserSrl() + ".jpg")); } else { image.setImageResource(R.drawable.person); } image.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), ProfileActivity.class); intent.putExtra("member_srl", p.getUserSrl()); startActivity(intent); } }); } } return v; } } class List { private String user_srl; private String Title; private String Description; private int Tag; private int Doc_srl; public List(String _user_Srl, String _Title, String _Description, int _Tag) { this.user_srl = _user_Srl; this.Title = _Title; this.Description = _Description; this.Tag = _Tag; } public String getUserSrl() { return user_srl; } public String getTitle() { return Title; } public String getDes() { return Description; } public int getTag() { return Tag; } public int getDocSrl() { return Doc_srl; } } @Override public void onPause() { super.onPause(); } @Override public void onResume() { super.onResume(); if(m_adapter.isEmpty()) refreshAct(); } }