BSEStocksActivity.java :  » Stock » stockindia » org » bt » nsestocky » activity » Android Open Source

Android Open Source » Stock » stockindia 
stockindia » org » bt » nsestocky » activity » BSEStocksActivity.java
package org.bt.nsestocky.activity;

import java.util.List;

import org.bt.nsestocky.data.Stock;
import org.bt.nsestocky.data.StockDBHelper;
import org.bt.nsestocky.util.StockUtility;

import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.net.Uri;
import android.view.View;
import android.widget.AdapterView;
import android.widget.TextView;

public class BSEStocksActivity extends ExchangeActivity {


  @Override
  public void loadStocks() {
    sa = new StockAdapter(this);
    setListAdapter(sa);
    if (StockDBHelper.getBSEStocksList().size() > 0)
    StockUtility.showShortToast("Stocks Loaded..");
  else {
    StockUtility.showShortToast("Press Menu->ADD to add new stock");
    // openOptionsMenu();
  }
    
  }

  @Override
  protected void validateAndFetchStock(String stock) {
    if (stock != null && !"".equals(stock.trim())) {
      String code=null;
      try{
        Long.parseLong(stock);
        code = stock;
      }catch(Exception e){
        
      }
      Stock s = new Stock(stock,code);
      int index=-1;
    if ((index=StockDBHelper.getBSEStocksList().indexOf(s))!=-1) {
      s=StockDBHelper.getBSEStocksList().get(index);
      StockUtility.showShortToast("Stock " + s.getCompanyName()
          + " already exists");
    } else if (StockUtility.isNetConnected()) {
      new FetchStockAsyncTask(stock).execute(null);
      showDialog(FETCH_STOCK);
    } else {
      showNetNotConnected();
    }
  }
    
  }

  @Override
  public Object fetchStockinBG(String stock, int position) {
    if (position == 0) {
      StockUtility.getBSEIndex();
      return position;
    } else {
      Object obj = StockUtility.fetchStockFromBSE(stock);  
//      Object obj = StockUtility.fetchStockFromAppEng(stock);    
//      if(obj instanceof List && ((List)obj).size()>0){
//        obj = ((List)obj).get(0);
//      }
      if(position!=-1 && obj instanceof Stock){
        StockUtility.updatePortFolioDetails((Stock)obj, (Stock)StockDBHelper.getBSEStocksList().get(position-1));
      }
      return obj;
    }
//    

  }


  @Override
  public void showExchangeDetails(StockViewWrapper wrapper) {
    Float bseIndex = StockUtility.getPrefs().getFloat(
        BSE_INDEX_KEY, 0f);
    Float bseChangeIndex = StockUtility.getPrefs().getFloat(
        BSE_INDEX_CHG_KEY, 0f);
    String ltt = StockUtility.getPrefs().getString(
        BSE_INDEX_LTT_KEY, "");
    TextView t1 = wrapper.getT1();
    TextView t2 = wrapper.getT2();
    if (bseIndex != 0) {
      t1.setText("Sensex: " + bseIndex);
      t2.setText("Change: " + bseChangeIndex + " LTT: " + ltt);
      if (bseChangeIndex < 0) {
        t1.setTextColor(Color.RED);
      } else {
        t1.setTextColor(Color.GREEN);
      }
    } else {
      t1.setText("Sensex: <Not available>");
      t2.setText("");
    }
    
  }

  

  @Override
  public Object getStockValue(int position) {
    return StockDBHelper.getBSEStocksList().get(position);
  }

  @Override
  public int getStockCount() {
    return StockDBHelper.getBSEStocksList().size() + 1;
  }

  

  @Override
  public void notifyIndexChanged(SharedPreferences sp, String key) {
    if (getWindow().isActive()) {
      if (key == BSE_INDEX_CHG_KEY) {
        runOnUiThread(new Runnable() {
          @Override
          public void run() {
            System.out.println("notifying list changed.. BSE");
            sa.notifyDataSetChanged();
  
          }
        });
      }
    } else {
      System.out.println("Window not active..");
    }
    
  }

  

  @Override
  public Stock getStockFromPosition() {
    Stock stock;
    if (selectedPosition == 0) {
      stock = new Stock("BSE");
    } else {
      stock = (Stock) StockDBHelper.getBSEStocksList().get(
          selectedPosition - 1);
    }
    return stock;
  }
  
  protected void deleteSelectedStock() {
    if (selectedPosition != -1) {
      Stock stock = (Stock) StockDBHelper.getBSEStocksList().get(
          selectedPosition - 1);
      StockUtility.showShortToast("Deleting Stock: " + stock.getCompanyName());
      StockDBHelper.deleteBSEStock(stock);
      setListAdapter(sa);
      sa.notifyDataSetChanged();
      // StockUtility.showShortToast("Stock "+stock.getSymbol()+" Deleted");
    }

  }
  
  public void webSelected(){
    String url=null;
    if(selectedPosition==0){
      url =  BSE_MAIN_PAGE;
    }else if(selectedPosition>0){
      Stock selStock=(Stock) StockDBHelper.getBSEStocksList().get(selectedPosition-1);
//      String code=StockUtility.getPrefs().getString(selStock.getSymbol(), null);
//      if(code!=null)
      url = bseStockPageURL+selStock.getSymbol();
      
    }
    if(url!=null){
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
    }
  }



}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.