public void evaluateClick() {
   if (entity.getFormula().equals("")) return;
   isEvalClick = true;
   int res = evaluate(entity.getFormula());
   if (res == NAN) {
     entity.setFormula("");
     entity.getView().setTextViewText(R.id.widget_result, getText(R.string.error_nan));
   } else if (res == RESULT) {
     entity.setFormula(entity.getResult());
     entity.getView().setTextViewText(R.id.widget_formula, entity.getResult());
   } else {
     entity.setFormula("");
     entity.getView().setTextViewText(R.id.widget_formula, getText(R.string.error_syntax));
     entity.getView().setTextViewText(R.id.widget_result, "");
   }
   AppWidgetManager.getInstance(this).updateAppWidget(entity.getViewId(), entity.getView());
 }
    @Override
    public void onStart(Intent intent, int startId) {
      // TODO Auto-generated method stub
      super.onStart(intent, startId);
      Log.i(TAG, "intent=" + intent);
      if (intent == null) {
        return;
      }
      int widgetId = intent.getIntExtra("widgetId", -1);
      if (widgetId == -1) {
        return;
      }

      entity = queryEntityById(widgetId);
      if (entity != null) {}
      if (entity == null) {
        return;
      }
      if (mTokenizer == null) {
        mTokenizer = new CalculatorExpressionTokenizer(this);
      }
      if (mSymbols == null) {
        mSymbols = new Symbols();
      }

      Uri data = intent.getData();
      if (data != null) {
        int index = Integer.parseInt(data.getSchemeSpecificPart());
        if (isEvalClick) {
          if (index <= BUTTON_INDEX_9) {
            entity.setFormula("");
          }
          isEvalClick = false;
        }
        checkInput(index);
        if (index == BUTTON_INDEX_EQUAL) return;
      }
      if (entity.getView() != null) {
        int res = evaluate(entity.getFormula());
        entity.getView().setTextViewText(R.id.widget_formula, entity.getFormula());
        if (res == RESULT) {
          entity.getView().setTextViewText(R.id.widget_result, entity.getResult());
        } else {
          entity.getView().setTextViewText(R.id.widget_result, "");
        }
        AppWidgetManager.getInstance(this).updateAppWidget(widgetId, entity.getView());
      }
    }