package com.code44.finance.ui;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.code44.finance.ui.common.BaseActivity;
public class CalculatorActivity extends BaseActivity implements CalculatorFragment.CalculatorListener {
public static final String RESULT_EXTRA_RESULT = "RESULT_EXTRA_RESULT";
public static final String RESULT_EXTRA_RAW_RESULT = "RESULT_EXTRA_RAW_RESULT";
private static final String EXTRA_VALUE = "EXTRA_VALUE";
private static final String EXTRA_RAW_VALUE = "EXTRA_RAW_VALUE";
public static void start(Activity activity, int requestCode, long value) {
final Intent intent = makeIntentForActivity(activity, CalculatorActivity.class);
intent.putExtra(EXTRA_VALUE, value);
startActivityForResult(activity, intent, requestCode);
}
public static void start(Activity activity, int requestCode, double value) {
final Intent intent = makeIntentForActivity(activity, CalculatorActivity.class);
intent.putExtra(EXTRA_RAW_VALUE, value);
startActivityForResult(activity, intent, requestCode);
}
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get extras
final long value = getIntent().getLongExtra(EXTRA_VALUE, 0);
final double rawValue = getIntent().getDoubleExtra(EXTRA_RAW_VALUE, 0);
// Fragment
if (savedInstanceState == null) {
final CalculatorFragment fragment = getIntent().hasExtra(EXTRA_VALUE) ? CalculatorFragment.newInstance(value) : CalculatorFragment.newInstance(rawValue);
getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit();
}
}
@Override public void onCalculatorResult(long result, double rawResult) {
final Intent data = new Intent();
data.putExtra(RESULT_EXTRA_RESULT, result);
data.putExtra(RESULT_EXTRA_RAW_RESULT, rawResult);
setResult(RESULT_OK, data);
finish();
}
}