diff --git a/android-app-core/res/values/text_strings.xml b/android-app-core/res/values/text_strings.xml
index ce5a05be..0e5870c3 100644
--- a/android-app-core/res/values/text_strings.xml
+++ b/android-app-core/res/values/text_strings.xml
@@ -282,5 +282,6 @@
You can remove second icon in applications\' list from application settings or by pressing next button
Remove icon
This change may require reboot
+ 3D
\ No newline at end of file
diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java b/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java
index 1a54fa49..aa40fcae 100644
--- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java
+++ b/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorDisplayMenuItem.java
@@ -85,7 +85,13 @@ public enum CalculatorDisplayMenuItem implements LabeledMenuItem variables = new ArrayList(CalculatorUtils.getNotSystemConstants(generic));
- final Constant xVariable = variables.get(0);
+
+ final Constant xVariable;
+ if ( variables.size() > 0 ) {
+ xVariable = variables.get(0);
+ } else {
+ xVariable = null;
+ }
final Constant yVariable;
if ( variables.size() > 1 ) {
diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/plot/PlotInput.java b/android-app-core/src/main/java/org/solovyev/android/calculator/plot/PlotInput.java
index 5f17a629..6a5084b8 100644
--- a/android-app-core/src/main/java/org/solovyev/android/calculator/plot/PlotInput.java
+++ b/android-app-core/src/main/java/org/solovyev/android/calculator/plot/PlotInput.java
@@ -15,7 +15,7 @@ public class PlotInput {
@NotNull
private Generic function;
- @NotNull
+ @Nullable
private Constant xVariable;
@Nullable
@@ -26,7 +26,7 @@ public class PlotInput {
@NotNull
public static PlotInput newInstance(@NotNull Generic function,
- @NotNull Constant xVariable,
+ @Nullable Constant xVariable,
@Nullable Constant yVariable) {
PlotInput result = new PlotInput();
@@ -42,7 +42,7 @@ public class PlotInput {
return function;
}
- @NotNull
+ @Nullable
public Constant getXVariable() {
return xVariable;
}
diff --git a/android-app/res/menu/plot_menu.xml b/android-app/res/menu/plot_menu.xml
index 0e734ab4..2e9fd473 100644
--- a/android-app/res/menu/plot_menu.xml
+++ b/android-app/res/menu/plot_menu.xml
@@ -8,8 +8,14 @@
\ No newline at end of file
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorNotifier.java b/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorNotifier.java
index a720f01d..532bf880 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorNotifier.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/AndroidCalculatorNotifier.java
@@ -48,9 +48,9 @@ public class AndroidCalculatorNotifier implements CalculatorNotifier {
@Override
public void showDebugMessage(@Nullable final String tag, @NotNull final String message) {
- /*if (AndroidUtils.isDebuggable(application)) {
+ if (AndroidUtils.isDebuggable(application)) {
showMessageInUiThread(tag == null ? message : tag + ": " + message);
- }*/
+ }
}
private void showMessageInUiThread(@NotNull final String message) {
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java
index 10e7a93c..6de8517f 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java
@@ -102,11 +102,11 @@ public final class CalculatorActivityLauncher implements CalculatorEventListener
public static void plotGraph(@NotNull final Context context,
@NotNull Generic generic,
- @NotNull Constant xVariable,
+ @Nullable Constant xVariable,
@Nullable Constant yVariable){
final Intent intent = new Intent();
intent.putExtra(ChartFactory.TITLE, context.getString(R.string.c_graph));
- final AbstractCalculatorPlotFragment.Input input = new CalculatorPlotFragment.Input(generic.toString(), xVariable.getName(), yVariable == null ? null : yVariable.getName());
+ final AbstractCalculatorPlotFragment.Input input = new CalculatorPlotFragment.Input(generic.toString(), xVariable == null ? null : xVariable.getName(), yVariable == null ? null : yVariable.getName());
intent.putExtra(CalculatorPlotFragment.INPUT, input);
intent.setClass(context, CalculatorPlotActivity.class);
AndroidUtils2.addFlags(intent, false, context);
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/plot/AbstractCalculatorPlotFragment.java b/android-app/src/main/java/org/solovyev/android/calculator/plot/AbstractCalculatorPlotFragment.java
index 85112169..68ad6236 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/plot/AbstractCalculatorPlotFragment.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/plot/AbstractCalculatorPlotFragment.java
@@ -75,7 +75,7 @@ public abstract class AbstractCalculatorPlotFragment extends CalculatorFragment
private PreparedInput preparedInput;
@NotNull
- private ActivityMenu