Refactor variables
This commit is contained in:
parent
f13c6dd493
commit
e82d7d2a91
@ -23,9 +23,9 @@
|
|||||||
package org.solovyev.android.calculator;
|
package org.solovyev.android.calculator;
|
||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
|
import jscl.JsclMathEngine;
|
||||||
|
import jscl.math.function.IConstant;
|
||||||
import org.simpleframework.xml.Serializer;
|
import org.simpleframework.xml.Serializer;
|
||||||
import org.simpleframework.xml.core.Persister;
|
import org.simpleframework.xml.core.Persister;
|
||||||
import org.solovyev.android.Check;
|
import org.solovyev.android.Check;
|
||||||
@ -36,23 +36,19 @@ import org.solovyev.android.calculator.json.Json;
|
|||||||
import org.solovyev.android.calculator.json.Jsonable;
|
import org.solovyev.android.calculator.json.Jsonable;
|
||||||
import org.solovyev.android.calculator.variables.CppVariable;
|
import org.solovyev.android.calculator.variables.CppVariable;
|
||||||
import org.solovyev.android.calculator.variables.OldVars;
|
import org.solovyev.android.calculator.variables.OldVars;
|
||||||
import org.solovyev.android.calculator.variables.VariablesCategory;
|
import org.solovyev.android.calculator.variables.VariableCategory;
|
||||||
import org.solovyev.android.io.FileSaver;
|
import org.solovyev.android.io.FileSaver;
|
||||||
import org.solovyev.common.JBuilder;
|
import org.solovyev.common.JBuilder;
|
||||||
import org.solovyev.common.math.MathEntity;
|
import org.solovyev.common.math.MathEntity;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
import java.io.File;
|
||||||
import jscl.JsclMathEngine;
|
import java.util.HashMap;
|
||||||
import jscl.math.function.IConstant;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class VariablesRegistry extends BaseEntitiesRegistry<IConstant> {
|
public class VariablesRegistry extends BaseEntitiesRegistry<IConstant> {
|
||||||
@ -162,6 +158,6 @@ public class VariablesRegistry extends BaseEntitiesRegistry<IConstant> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Category getCategory(@Nonnull IConstant variable) {
|
public Category getCategory(@Nonnull IConstant variable) {
|
||||||
return Entities.getCategory(variable, VariablesCategory.values());
|
return Entities.getCategory(variable, VariableCategory.values());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,15 +23,13 @@
|
|||||||
package org.solovyev.android.calculator.variables;
|
package org.solovyev.android.calculator.variables;
|
||||||
|
|
||||||
import android.support.annotation.StringRes;
|
import android.support.annotation.StringRes;
|
||||||
|
import jscl.math.function.IConstant;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
import org.solovyev.android.calculator.entities.Category;
|
import org.solovyev.android.calculator.entities.Category;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import jscl.math.function.IConstant;
|
public enum VariableCategory implements Category<IConstant> {
|
||||||
|
|
||||||
public enum VariablesCategory implements Category<IConstant> {
|
|
||||||
|
|
||||||
my(R.string.c_var_my) {
|
my(R.string.c_var_my) {
|
||||||
@Override
|
@Override
|
||||||
@ -50,7 +48,7 @@ public enum VariablesCategory implements Category<IConstant> {
|
|||||||
@StringRes
|
@StringRes
|
||||||
private final int title;
|
private final int title;
|
||||||
|
|
||||||
VariablesCategory(@StringRes int title) {
|
VariableCategory(@StringRes int title) {
|
||||||
this.title = title;
|
this.title = title;
|
||||||
}
|
}
|
||||||
|
|
@ -22,22 +22,17 @@
|
|||||||
|
|
||||||
package org.solovyev.android.calculator.variables;
|
package org.solovyev.android.calculator.variables;
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Parcelable;
|
||||||
import org.solovyev.android.calculator.BaseActivity;
|
import org.solovyev.android.calculator.*;
|
||||||
import org.solovyev.android.calculator.CalculatorEventData;
|
|
||||||
import org.solovyev.android.calculator.CalculatorEventListener;
|
|
||||||
import org.solovyev.android.calculator.CalculatorEventType;
|
|
||||||
import org.solovyev.android.calculator.CalculatorFragmentType;
|
|
||||||
import org.solovyev.android.calculator.R;
|
|
||||||
import org.solovyev.android.calculator.math.edit.BaseEntitiesFragment;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class VariablesActivity extends BaseActivity implements CalculatorEventListener {
|
public class VariablesActivity extends BaseActivity implements CalculatorEventListener {
|
||||||
|
|
||||||
|
public static final String EXTRA_VARIABLE = "variable";
|
||||||
|
|
||||||
public VariablesActivity() {
|
public VariablesActivity() {
|
||||||
super(R.layout.main_empty, VariablesActivity.class.getSimpleName());
|
super(R.layout.main_empty, VariablesActivity.class.getSimpleName());
|
||||||
}
|
}
|
||||||
@ -46,28 +41,16 @@ public class VariablesActivity extends BaseActivity implements CalculatorEventLi
|
|||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
final Bundle bundle;
|
final Bundle extras = getIntent().getExtras();
|
||||||
|
final Parcelable variable = extras != null ? extras.getParcelable(EXTRA_VARIABLE) : null;
|
||||||
|
|
||||||
final Intent intent = getIntent();
|
for (VariableCategory category : VariableCategory.values()) {
|
||||||
if (intent != null) {
|
final Bundle arguments = new Bundle(2);
|
||||||
bundle = intent.getExtras();
|
if (category == VariableCategory.my && variable != null) {
|
||||||
} else {
|
arguments.putParcelable(VariablesFragment.ARG_VARIABLE, variable);
|
||||||
bundle = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
final CalculatorFragmentType fragmentType = CalculatorFragmentType.variables;
|
|
||||||
|
|
||||||
for (VariablesCategory category : VariablesCategory.values()) {
|
|
||||||
|
|
||||||
final Bundle fragmentParameters;
|
|
||||||
|
|
||||||
if (category == VariablesCategory.my && bundle != null) {
|
|
||||||
BaseEntitiesFragment.putCategory(bundle, category.name());
|
|
||||||
fragmentParameters = bundle;
|
|
||||||
} else {
|
|
||||||
fragmentParameters = BaseEntitiesFragment.createBundleFor(category.name());
|
|
||||||
}
|
}
|
||||||
ui.addTab(this, fragmentType.createSubFragmentTag(category.name()), fragmentType.getFragmentClass(), fragmentParameters, category.title(), R.id.main_layout);
|
arguments.putString(VariablesFragment.ARG_CATEGORY, category.name());
|
||||||
|
ui.addTab(this, CalculatorFragmentType.variables.createSubFragmentTag(category.name()), CalculatorFragmentType.variables.getFragmentClass(), arguments, category.title(), R.id.main_layout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class VariablesFragment extends BaseEntitiesFragment<IConstant> implements CalculatorEventListener {
|
public class VariablesFragment extends BaseEntitiesFragment<IConstant> implements CalculatorEventListener {
|
||||||
|
|
||||||
|
public static final String ARG_VARIABLE = "variable";
|
||||||
public static final String CREATE_VAR_EXTRA_STRING = "create_var";
|
public static final String CREATE_VAR_EXTRA_STRING = "create_var";
|
||||||
@Inject
|
@Inject
|
||||||
VariablesRegistry registry;
|
VariablesRegistry registry;
|
||||||
@ -76,6 +77,7 @@ public class VariablesFragment extends BaseEntitiesFragment<IConstant> implement
|
|||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
// FIXME: 2016-01-29 continue
|
||||||
final Bundle bundle = getArguments();
|
final Bundle bundle = getArguments();
|
||||||
if (bundle != null) {
|
if (bundle != null) {
|
||||||
final String varValue = bundle.getString(CREATE_VAR_EXTRA_STRING);
|
final String varValue = bundle.getString(CREATE_VAR_EXTRA_STRING);
|
||||||
|
Loading…
Reference in New Issue
Block a user