package com.commonsensenet.realfarm;
import java.util.List;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.actionbarsherlock.view.MenuItem;
import com.commonsensenet.realfarm.dataaccess.RealFarmDatabase;
import com.commonsensenet.realfarm.model.Resource;
import com.commonsensenet.realfarm.model.aggregate.AggregateItem;
import com.commonsensenet.realfarm.utils.ActionDataFactory;
import com.commonsensenet.realfarm.utils.ApplicationTracker;
import com.commonsensenet.realfarm.utils.ApplicationTracker.EventType;
public class MarketPriceActivity extends AggregateMarketActivity implements
OnLongClickListener {
/** Maximum market price. */
private int mMax = 0;
/** Minimum market price. */
private int mMin = 0;
protected void makeAudioAggregateMarketItem(AggregateItem item,
boolean header) {
int variety = mTopSelectorData.getAudio();
int days = mDaysSelectorData.getAudio();
int number = item.getNews();
long min = item.getSelector3();
long max = item.getSelector2();
int kg = mDataProvider.getResourceImageById(item.getSelector1(),
RealFarmDatabase.TABLE_NAME_UNIT,
RealFarmDatabase.COLUMN_NAME_UNIT_AUDIO);
addToSoundQueue(R.raw.last);
addToSoundQueue(days);
addToSoundQueue(R.raw.days_paid_price_touch_here);
playSound();
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.act_marketprice);
// indicates that should obtain market prices.
mCurrentAction = TopSelectorActivity.LIST_WITH_TOP_SELECTOR_TYPE_MARKET;
// obtains the market price values.
mMin = mDataProvider
.getLimitPrice(RealFarmDatabase.COLUMN_NAME_MARKETPRICE_MIN);
mMax = mDataProvider
.getLimitPrice(RealFarmDatabase.COLUMN_NAME_MARKETPRICE_MAX);
TextView tw = (TextView) findViewById(R.id.max_price);
tw.setText(String.valueOf(mMax));
tw = (TextView) findViewById(R.id.min_price);
tw.setText(String.valueOf(mMin));
// default seed/crop type id
mTopSelectorData = ActionDataFactory.getTopSelectorData(mActionTypeId,
mDataProvider, Global.userId);
// default 7 days.
mDaysSelectorData = mDataProvider.getResources(
RealFarmDatabase.RESOURCE_TYPE_DAYS_SPAN).get(0);
// shows the list of available prices.
setList();
// final View crop = findViewById(R.id.aggr_crop);
final View daySelectorRow = findViewById(R.id.days_selector_row);
final View marketInfo = findViewById(R.id.market_info);
final View daysSelector = findViewById(R.id.selector_days);
Button back = (Button) findViewById(R.id.button_back);
daySelectorRow.setOnLongClickListener(this);
daysSelector.setOnLongClickListener(this);
marketInfo.setOnLongClickListener(this);
back.setOnLongClickListener(this);
// crop.setOnLongClickListener(this);
marketInfo.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// tracks the application usage.
ApplicationTracker.getInstance().logEvent(EventType.CLICK,
Global.userId, getLogTag(),
getResources().getResourceEntryName(v.getId()));
}
});
daySelectorRow.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// tracks the application usage.
ApplicationTracker.getInstance().logEvent(EventType.CLICK,
Global.userId, getLogTag(),
getResources().getResourceEntryName(v.getId()));
}
});
back.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
onBackPressed();
}
});
// crop.setOnClickListener(new View.OnClickListener() {
// public void onClick(View v) {
//
// ApplicationTracker.getInstance().logEvent(EventType.CLICK,
// Global.userId, getLogTag(),
// getResources().getResourceEntryName(v.getId()));
//
// final ImageView img_1 = (ImageView) findViewById(R.id.aggr_crop_img);
// List<Resource> data = ActionDataFactory.getTopSelectorList(
// mActionTypeId, mDataProvider);
// displayDialog(v, data, "Select the variety",
// R.raw.select_the_variety, img_1, 2);
// }
// });
daysSelector.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ApplicationTracker.getInstance().logEvent(EventType.CLICK,
Global.userId, getLogTag(),
getResources().getResourceEntryName(v.getId()));
List<Resource> data = mDataProvider
.getResources(RealFarmDatabase.RESOURCE_TYPE_DAYS_SPAN);
displayDialog(v, data, "Select the time span", R.raw.problems,
null, 1);
}
});
}
public boolean onLongClick(View v) {
ApplicationTracker.getInstance().logEvent(EventType.LONG_CLICK,
Global.userId, getLogTag(),
getResources().getResourceEntryName(v.getId()));
if (v.getId() == R.id.aggr_crop) {
playAudio(mTopSelectorData.getAudio(), true);
} else if (v.getId() == R.id.market_info) {
addToSoundQueue(R.raw.chal_max_price);
playInteger(mMax);
addToSoundQueue(R.raw.rupees_every_quintal);
addToSoundQueue(R.raw.chal_min_price);
playInteger(mMin);
addToSoundQueue(R.raw.rupees_every_quintal);
playSound();
} else if (v.getId() == R.id.button_back) {
playAudio(R.raw.back_button, true);
} else if (v.getId() == R.id.selector_days) {
playAudio(mDaysSelectorData.getAudio(), true);
} else if (v.getId() == R.id.days_selector_row) {
playAudio(R.raw.select_time_span, true);
}
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
if (item.equals(mHelpItem)) {
// tracks the application usage
ApplicationTracker.getInstance().logEvent(EventType.CLICK,
Global.userId, getLogTag(), item.getTitle());
playAudio(R.raw.mp_help, true);
return true;
}
return super.onOptionsItemSelected(item);
}
}