package com.duckduckgo.mobile.android.views;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteCursor;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ListView;
import com.duckduckgo.mobile.android.DDGApplication;
import com.duckduckgo.mobile.android.bus.BusProvider;
import com.duckduckgo.mobile.android.events.HistoryItemLongClickEvent;
import com.duckduckgo.mobile.android.events.HistoryItemSelectedEvent;
import com.duckduckgo.mobile.android.events.feedEvents.MainFeedItemSelectedEvent;
import com.duckduckgo.mobile.android.events.feedEvents.SavedFeedItemLongClickEvent;
import com.duckduckgo.mobile.android.objects.FeedObject;
import com.duckduckgo.mobile.android.objects.history.HistoryObject;
public class RecentFeedListView extends ListView implements android.widget.AdapterView.OnItemClickListener{//}, android.widget.AdapterView.OnItemLongClickListener {
public RecentFeedListView(Context context, AttributeSet attrs) {
super(context, attrs);
this.setOnItemClickListener(this);
//this.setOnItemLongClickListener(this);
}
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.e("aaa", "recent feed list view on click");
Object item = getAdapter().getItem(position);
//FeedObject obj = null;
HistoryObject obj = null;
Cursor c;
if (item instanceof SQLiteCursor) {
//obj = new FeedObject(((SQLiteCursor) item));
c = (Cursor) item;
obj = new HistoryObject(c);
}
if (obj != null) {
Log.e("aaa", "object: "+obj.toString());
BusProvider.getInstance().post(new HistoryItemSelectedEvent(obj));
//Log.e("aaa", "obj!=null, "+obj.toString());
//FeedObject feed = DDGApplication.getDB().selectFeedById(obj.getFeedId());
/*
if(feed==null) {
Log.e("aaa", "feed == null");
} else {
Log.e("aaa", "feed!=null: "+feed.toString());
BusProvider.getInstance().post(new MainFeedItemSelectedEvent(feed));
}*/
//BusProvider.getInstance().post(new MainFeedItemSelectedEvent(obj));
}
}
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Log.e("aaa", "recent feed list view - on item long click");
Object adapter = getAdapter();
Cursor c = null;
HistoryObject obj = null;
Object itemClicked = ((Adapter) adapter).getItem(position);
if(itemClicked instanceof Cursor) {
c = (Cursor) itemClicked;
obj = new HistoryObject(c);
}
if (obj != null) {
Log.e("aaa", "history object: "+obj.toString());
BusProvider.getInstance().post(new HistoryItemLongClickEvent(obj));
return true;
}
return false;
/*
Object item = getAdapter().getItem(position);
FeedObject obj = null;
if (item instanceof SQLiteCursor) {
//obj = new FeedObject(((SQLiteCursor) item));
}
if (obj != null) {
//BusProvider.getInstance().post(new SavedFeedItemLongClickEvent(obj));
}
return true;*/
}
}