/* * This file is part of Find Your Friend. * * Find Your Friend is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Find Your Friend is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Find Your Friend. If not, see <http://www.gnu.org/licenses/>. */ package com.sgu.findyourfriend.screen; import java.util.ArrayList; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.ProgressBar; import com.sgu.findyourfriend.R; import com.sgu.findyourfriend.adapter.CustomAdapterFriendRequests; import com.sgu.findyourfriend.mgr.Config; import com.sgu.findyourfriend.mgr.FriendManager; import com.sgu.findyourfriend.mgr.MessageManager; import com.sgu.findyourfriend.mgr.SettingManager; import com.sgu.findyourfriend.model.Friend; import com.sgu.findyourfriend.utils.Utility; public class FriendRequestsFragment extends Fragment { private static boolean isRegister; private CustomAdapterFriendRequests adapter; private ListView lv = null; private Context ctx; private View rootView; private Context context; public FriendRequestsFragment() { isRegister = false; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // check and notify if (SettingManager.getInstance().getNoNewRequest() > 0) { SettingManager.getInstance().setNoNewRequest(0); // send broadcast intent update widget Intent intent = new Intent(Config.UPDATE_MESSAGE_WIDGET_ACTION); context.sendBroadcast(intent); // intent hide nofify // send broadcast hide notify Intent intent2 = new Intent(Config.NOTIFY_UI); intent2.putExtra(Config.FRIEND_REQUEST_NOTIFY, Config.HIDE); context.sendBroadcast(intent2); } rootView = inflater.inflate(R.layout.fragment_friendrequests, container, false); ctx = rootView.getContext(); lv = (ListView) rootView.findViewById(R.id.listView_FriendRequests); adapter = new CustomAdapterFriendRequests(ctx, R.layout.custom_friendrequests, new ArrayList<Friend>( FriendManager.getInstance().hmRequestFriends.values())); lv.setAdapter(adapter); return rootView; } @Override public void onAttach(Activity activity) { super.onAttach(activity); this.context = activity; if (!isRegister) { activity.registerReceiver(mHandleMessageReceiver, new IntentFilter( com.sgu.findyourfriend.mgr.Config.UPDATE_UI)); isRegister = true; } } @Override public void onDestroy() { super.onDestroy(); if (isRegister) getActivity().unregisterReceiver(mHandleMessageReceiver); } // --------------handle message ---------------------------------- // handle message private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver() { @Override public void onReceive(Context ctx, Intent intent) { if (intent.getStringExtra( (com.sgu.findyourfriend.mgr.Config.UPDATE_TYPE)).equals( Utility.FRIEND)) { Log.i("friend", "REQUEST update"); adapter = new CustomAdapterFriendRequests(ctx, R.layout.custom_friendrequests, new ArrayList<Friend>( FriendManager.getInstance().hmRequestFriends .values())); lv.setAdapter(adapter); } } }; }