package org.softeg.slartus.forpdaplus.fragments.search; import android.os.Bundle; import android.os.Handler; import android.view.ContextMenu; import android.view.View; import android.widget.AbsListView; import org.softeg.slartus.forpdaapi.IListItem; import org.softeg.slartus.forpdaapi.ListInfo; import org.softeg.slartus.forpdaapi.search.SearchApi; import org.softeg.slartus.forpdaapi.search.SearchSettings; import org.softeg.slartus.forpdaplus.Client; import org.softeg.slartus.forpdaplus.MainActivity; import org.softeg.slartus.forpdaplus.R; import org.softeg.slartus.forpdaplus.listfragments.TopicsListFragment; import java.io.IOException; import java.net.URISyntaxException; import java.text.ParseException; import java.util.ArrayList; /** * Created by radiationx on 15.11.15. */ public class SearchTopicsFragment extends TopicsListFragment implements ISearchResultView, AbsListView.OnScrollListener { private static final String SEARCH_URL_KEY = "SEARCH_URL_KEY"; public static SearchTopicsFragment newFragment(CharSequence searchUrl) { SearchTopicsFragment fragment = new SearchTopicsFragment(); Bundle args = new Bundle(); args.putString(SEARCH_URL_KEY, searchUrl.toString()); fragment.setArguments(args); return fragment; } protected int getViewId(){ return R.layout.list_translucent_fragment; } @Override public android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState) { view = super.onCreateView(inflater, container, savedInstanceState); getListView().setOnScrollListener(this); return view; } // @Override // protected View getListViewHeader(){ // LayoutInflater inflater=getLayoutInflater(null); // inflater.inflate() // return ; // } @Override protected ArrayList<? extends IListItem> loadTopics(Client client, ListInfo listInfo) throws IOException, ParseException, URISyntaxException { return SearchApi.getSearchTopicsResult(client, args.getString(SEARCH_URL_KEY), mListInfo); } @Override public void saveCache() { } @Override public void loadCache() { } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo, Handler mHandler) { super.onCreateContextMenu(menu, v, menuInfo); } @Override public String getResultView() { return SearchSettings.RESULT_VIEW_TOPICS; } @Override public void search(String searchQuery) { if (args == null) args = new Bundle(); args.putString(SEARCH_URL_KEY, searchQuery); loadData(true); } @Override public void onScrollStateChanged(AbsListView absListView, int scrollState) { } private int m_PrevVisible = 0; @Override public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // if (firstVisibleItem < m_PrevVisible || firstVisibleItem == 0) // getMainActivity().getActionBar().show(); // else if (firstVisibleItem > m_PrevVisible) { // getMainActivity().getActionBar().hide(); // } m_PrevVisible = firstVisibleItem; } @Override public void onPause() { super.onPause(); MainActivity.searchSettings = SearchSettingsDialogFragment.createDefaultSearchSettings(); } @Override public void onResume() { super.onResume(); MainActivity.searchSettings = SearchSettings.parse(args.getString(SEARCH_URL_KEY)); setArrow(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setArrow(); } }