Android Open Source - makler Default Quotes Receiver






From Project

Back to project page makler.

License

The source code is released under:

GNU General Public License

If you think the Android project makler listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package pl.net.newton.Makler.gpw;
/*  www  .j  a  v a  2s  .c o  m*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.StringUtils;

import android.content.Context;
import android.provider.Settings.Secure;
import android.util.Log;
import pl.net.newton.Makler.db.quote.Quote;
import pl.net.newton.Makler.db.symbol.Symbol;
import pl.net.newton.Makler.db.symbol.SymbolBuilder;
import pl.net.newton.Makler.httpClient.Connector;

public class DefaultQuotesReceiver implements QuotesReceiver {
  private static final String TAG = "MaklerDefaultQuotesReceiver";

  private Context context;

  private Connector connector;

  public DefaultQuotesReceiver(Context ctx) {
    context = ctx;
    connector = new Connector("makler.newton.net.pl", 8080);
  }

  public boolean isRegistered() {
    String url = "/registered_user/" + androidId();
    BufferedReader reader = null;
    boolean result = false;
    try {
      reader = get(url);
      String line = reader.readLine();
      result = "ok".equals(StringUtils.trim(line));
      reader.close();
    } catch (IOException e) {
      Log.e(TAG, "Can't check if user is registered", e);
    }
    return result;
  }

  public List<Quote> getQuotesBySymbols(List<String> symbols) {
    List<Quote> quotes = new ArrayList<Quote>();
    if (symbols.isEmpty()) {
      return quotes;
    }
    StringBuilder url = new StringBuilder("/quote/");
    for (int i = 0; i < symbols.size() - 1; i++) {
      url.append(symbols.get(i));
      url.append(',');
    }
    url.append(symbols.get(symbols.size() - 1));
    url.append("/").append(androidId());

    BufferedReader reader = null;
    try {
      reader = get(url.toString());
      String line;
      while ((line = reader.readLine()) != null) {
        if (StringUtils.trimToNull(line) == null) {
          continue;
        }
        Quote q = new Quote(line);
        quotes.add(q);
      }
      reader.close();
    } catch (IOException e) {
      Log.e(TAG, "can't read quotes", e);
    }
    return quotes;
  }

  public Quote getQuoteBySymbol(String symbol) {
    List<String> symbols = new ArrayList<String>();
    symbols.add(symbol);
    return getQuotesBySymbols(symbols).get(0);
  }

  public List<Symbol> getSymbols() {
    return getSymbols("0000-00-00");
  }

  public List<Symbol> getSymbols(String lastUpdate) {
    List<Symbol> symbols = new ArrayList<Symbol>();
    StringBuilder url = new StringBuilder("/symbols");
    url.append("/").append(lastUpdate);
    url.append("/").append(androidId());

    BufferedReader reader = null;
    try {
      reader = get(url.toString());
      String line;
      while ((line = reader.readLine()) != null) {
        String[] a = StringUtils.split(line, '|');
        SymbolBuilder builder = new SymbolBuilder();
        builder.setSymbol(a[0]).setName(a[1]).setIsIndex("1".equals(a[2]))
            .setDeleted("1".equals(a[3])).setCode(a[4]);
        symbols.add(builder.build());
      }
      reader.close();
    } catch (IOException e) {
      Log.e(TAG, "can't get symbols", e);
    }
    return symbols;
  }

  private String androidId() {
    String id = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
    if (id == null) {
      return "2fc89b9c332df4a6";
    } else {
      return id;
    }
  }

  private BufferedReader get(String path) throws IOException {
    final InputStream is = connector.get(path, null);
    return new BufferedReader(new InputStreamReader(is));
  }

}




Java Source Code List

pl.net.newton.Makler.common.Configuration.java
pl.net.newton.Makler.common.DateFormatUtils.java
pl.net.newton.Makler.common.GpwUtils.java
pl.net.newton.Makler.common.LocaleUtils.java
pl.net.newton.Makler.common.NumberFormatUtils.java
pl.net.newton.Makler.db.Constants.java
pl.net.newton.Makler.db.DbHelper.java
pl.net.newton.Makler.db.SqlConnection.java
pl.net.newton.Makler.db.alert.AlertBuilder.java
pl.net.newton.Makler.db.alert.AlertChecker.java
pl.net.newton.Makler.db.alert.AlertValue.java
pl.net.newton.Makler.db.alert.Alert.java
pl.net.newton.Makler.db.alert.AlertsDao.java
pl.net.newton.Makler.db.alert.Event.java
pl.net.newton.Makler.db.alert.Subject.java
pl.net.newton.Makler.db.quote.QuoteField.java
pl.net.newton.Makler.db.quote.Quote.java
pl.net.newton.Makler.db.quote.QuotesDao.java
pl.net.newton.Makler.db.service.SqlProvider.java
pl.net.newton.Makler.db.symbol.SymbolBuilder.java
pl.net.newton.Makler.db.symbol.Symbol.java
pl.net.newton.Makler.db.symbol.SymbolsDb.java
pl.net.newton.Makler.db.wallet.WalletDb.java
pl.net.newton.Makler.db.wallet.WalletItemBuilder.java
pl.net.newton.Makler.db.wallet.WalletItem.java
pl.net.newton.Makler.gpw.DefaultQuotesReceiver.java
pl.net.newton.Makler.gpw.QuotesReceiver.java
pl.net.newton.Makler.gpw.ex.GpwException.java
pl.net.newton.Makler.gpw.service.QuotesListener.java
pl.net.newton.Makler.gpw.service.QuotesService.java
pl.net.newton.Makler.gpw.service.UpdatingThread.java
pl.net.newton.Makler.history.BossaProvider.java
pl.net.newton.Makler.history.ByteArrayUtils.java
pl.net.newton.Makler.history.Cache.java
pl.net.newton.Makler.history.ChannelTools.java
pl.net.newton.Makler.history.EntryListWithIndexes.java
pl.net.newton.Makler.history.EntryList.java
pl.net.newton.Makler.history.HistoryFilter.java
pl.net.newton.Makler.history.HistoryProvider.java
pl.net.newton.Makler.history.service.HistoryListener.java
pl.net.newton.Makler.history.service.HistoryService.java
pl.net.newton.Makler.httpClient.Connector.java
pl.net.newton.Makler.receivers.QuotesAlarmReceiver.java
pl.net.newton.Makler.receivers.StartupReceiver.java
pl.net.newton.Makler.service.ServiceManager.java
pl.net.newton.Makler.ui.About.java
pl.net.newton.Makler.ui.AbstractActivity.java
pl.net.newton.Makler.ui.Alerts.java
pl.net.newton.Makler.ui.FullScreenGraph.java
pl.net.newton.Makler.ui.Preferences.java
pl.net.newton.Makler.ui.QuoteDetails.java
pl.net.newton.Makler.ui.Quotes.java
pl.net.newton.Makler.ui.Symbols.java
pl.net.newton.Makler.ui.WalletForm.java
pl.net.newton.Makler.ui.WalletItemCalculator.java
pl.net.newton.Makler.ui.Wallet.java
pl.net.newton.Makler.ui.adapter.AlertsAdapter.java
pl.net.newton.Makler.ui.adapter.QuotesAdapter.java
pl.net.newton.Makler.ui.adapter.SymbolsAdapter.java
pl.net.newton.Makler.ui.adapter.WalletAdapter.java
pl.net.newton.Makler.ui.graph.GraphView.java
pl.net.newton.Makler.ui.graph.MaklerGraphicalView.java