This commit is contained in:
Sergey Solovyev 2012-10-05 22:08:37 +04:00
parent c1a65f4aad
commit 638ee2e851
13 changed files with 405 additions and 392 deletions

View File

@ -1,340 +1,340 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>calculatorpp-parent</artifactId> <artifactId>calculatorpp-parent</artifactId>
<version>1.3.2</version> <version>1.3.2</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>calculatorpp</artifactId> <artifactId>calculatorpp</artifactId>
<packaging>apk</packaging> <packaging>apk</packaging>
<name>Calculator++ Application</name> <name>Calculator++ Application</name>
<dependencies> <dependencies>
<!-- OWN --> <!-- OWN -->
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>calculatorpp-core</artifactId> <artifactId>calculatorpp-core</artifactId>
<version>1.3.2</version> <version>1.3.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev</groupId> <groupId>org.solovyev</groupId>
<artifactId>common-core</artifactId> <artifactId>common-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev</groupId> <groupId>org.solovyev</groupId>
<artifactId>common-text</artifactId> <artifactId>common-text</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-core</artifactId> <artifactId>android-common-core</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-ads</artifactId> <artifactId>android-common-ads</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-view</artifactId> <artifactId>android-common-view</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-preferences</artifactId> <artifactId>android-common-preferences</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-other</artifactId> <artifactId>android-common-other</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-menu</artifactId> <artifactId>android-common-menu</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>android-common-sherlock</artifactId> <artifactId>android-common-sherlock</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev</groupId> <groupId>org.solovyev</groupId>
<artifactId>jscl</artifactId> <artifactId>jscl</artifactId>
</dependency> </dependency>
<!--OTHER--> <!--OTHER-->
<dependency> <dependency>
<groupId>ch.acra</groupId> <groupId>ch.acra</groupId>
<artifactId>acra</artifactId> <artifactId>acra</artifactId>
<version>4.3.0</version> <version>4.3.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.android</groupId> <groupId>com.google.android</groupId>
<artifactId>android</artifactId> <artifactId>android</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.android</groupId> <groupId>com.google.android</groupId>
<artifactId>support-v4</artifactId> <artifactId>support-v4</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.actionbarsherlock</groupId> <groupId>com.actionbarsherlock</groupId>
<artifactId>library</artifactId> <artifactId>library</artifactId>
<type>apklib</type> <type>apklib</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sf.opencsv</groupId> <groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId> <artifactId>opencsv</artifactId>
<version>2.0</version> <version>2.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.simpleframework</groupId> <groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId> <artifactId>simple-xml</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>achartengine</groupId> <groupId>achartengine</groupId>
<artifactId>achartengine</artifactId> <artifactId>achartengine</artifactId>
<version>0.7.0</version> <version>0.7.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>admob</groupId> <groupId>admob</groupId>
<artifactId>admob</artifactId> <artifactId>admob</artifactId>
<version>6.1.0</version> <version>6.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.solovyev.android</groupId> <groupId>org.solovyev.android</groupId>
<artifactId>billing</artifactId> <artifactId>billing</artifactId>
<version>0.1</version> <version>0.1</version>
<!--<type>apklib</type>--> <!--<type>apklib</type>-->
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
<version>11.0.2</version> <version>11.0.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.intellij</groupId> <groupId>com.intellij</groupId>
<artifactId>annotations</artifactId> <artifactId>annotations</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId> <groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId> <artifactId>android-maven-plugin</artifactId>
<extensions>true</extensions> <extensions>true</extensions>
<configuration> <configuration>
<manifest> <manifest>
<debuggable>true</debuggable> <debuggable>true</debuggable>
</manifest> </manifest>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
<id>manifestUpdate</id> <id>manifestUpdate</id>
<phase>process-resources</phase> <phase>process-resources</phase>
<goals> <goals>
<goal>manifest-update</goal> <goal>manifest-update</goal>
</goals> </goals>
</execution> </execution>
<execution> <execution>
<id>alignApk</id> <id>alignApk</id>
<phase>package</phase> <phase>package</phase>
<goals> <goals>
<goal>zipalign</goal> <goal>zipalign</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<profiles> <profiles>
<profile> <profile>
<id>release</id> <id>release</id>
<!-- via this activation the profile is automatically used when the release is done with the maven release <!-- via this activation the profile is automatically used when the release is done with the maven release
plugin --> plugin -->
<activation> <activation>
<property> <property>
<name>performRelease</name> <name>performRelease</name>
<value>true</value> <value>true</value>
</property> </property>
</activation> </activation>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId> <artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version> <version>1.0-alpha-2</version>
<executions> <executions>
<execution> <execution>
<phase>initialize</phase> <phase>initialize</phase>
<goals> <goals>
<goal>read-project-properties</goal> <goal>read-project-properties</goal>
</goals> </goals>
<configuration> <configuration>
<files> <files>
<file>${project.basedir}/misc/env/jarsigner.properties</file> <file>${project.basedir}/misc/env/jarsigner.properties</file>
</files> </files>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId> <artifactId>maven-jarsigner-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<id>signing</id> <id>signing</id>
<goals> <goals>
<goal>sign</goal> <goal>sign</goal>
<goal>verify</goal> <goal>verify</goal>
</goals> </goals>
<phase>package</phase> <phase>package</phase>
<inherited>true</inherited> <inherited>true</inherited>
<configuration> <configuration>
<removeExistingSignatures>true</removeExistingSignatures> <removeExistingSignatures>true</removeExistingSignatures>
<archiveDirectory/> <archiveDirectory/>
<includes> <includes>
<include>${project.build.directory}/${project.artifactId}-${project.version}.apk</include> <include>${project.build.directory}/${project.artifactId}-${project.version}.apk</include>
</includes> </includes>
<keystore>${sign.keystore}</keystore> <keystore>${sign.keystore}</keystore>
<alias>${sign.alias}</alias> <alias>${sign.alias}</alias>
<storepass>${sign.storepass}</storepass> <storepass>${sign.storepass}</storepass>
<keypass>${sign.keypass}</keypass> <keypass>${sign.keypass}</keypass>
<verbose>false</verbose> <verbose>false</verbose>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- the signed apk then needs to be zipaligned and we activate proguard and we run the manifest <!-- the signed apk then needs to be zipaligned and we activate proguard and we run the manifest
update --> update -->
<plugin> <plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId> <groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId> <artifactId>android-maven-plugin</artifactId>
<inherited>true</inherited> <inherited>true</inherited>
<configuration> <configuration>
<sign> <sign>
<debug>false</debug> <debug>false</debug>
</sign> </sign>
<zipalign> <zipalign>
<verbose>false</verbose> <verbose>false</verbose>
<inputApk>${project.build.directory}/${project.artifactId}-${project.version}.apk</inputApk> <inputApk>${project.build.directory}/${project.artifactId}-${project.version}.apk</inputApk>
<outputApk>${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk</outputApk> <outputApk>${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk</outputApk>
</zipalign> </zipalign>
<manifest> <manifest>
<debuggable>false</debuggable> <debuggable>false</debuggable>
<versionCodeAutoIncrement>true</versionCodeAutoIncrement> <versionCodeAutoIncrement>true</versionCodeAutoIncrement>
</manifest> </manifest>
<proguard> <proguard>
<skip>true</skip> <skip>true</skip>
</proguard> </proguard>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
<id>manifestUpdate</id> <id>manifestUpdate</id>
<phase>process-resources</phase> <phase>process-resources</phase>
<goals> <goals>
<goal>manifest-update</goal> <goal>manifest-update</goal>
</goals> </goals>
</execution> </execution>
<execution> <execution>
<id>alignApk</id> <id>alignApk</id>
<phase>package</phase> <phase>package</phase>
<goals> <goals>
<goal>zipalign</goal> <goal>zipalign</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId> <artifactId>build-helper-maven-plugin</artifactId>
<configuration> <configuration>
<artifacts> <artifacts>
<artifact> <artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk</file> <file>${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk</file>
<type>apk</type> <type>apk</type>
<classifier>signed-aligned</classifier> <classifier>signed-aligned</classifier>
</artifact> </artifact>
<artifact> <artifact>
<file>${project.build.directory}/proguard/mapping.txt</file> <file>${project.build.directory}/proguard/mapping.txt</file>
<type>map</type> <type>map</type>
<classifier>release</classifier> <classifier>release</classifier>
</artifact> </artifact>
</artifacts> </artifacts>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
<id>attach-signed-aligned</id> <id>attach-signed-aligned</id>
<phase>package</phase> <phase>package</phase>
<goals> <goals>
<goal>attach-artifact</goal> <goal>attach-artifact</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</profile> </profile>
</profiles> </profiles>
</project> </project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -15,6 +15,6 @@
--> -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#393939"/> <solid android:color="@color/metro_light_button_background"/>
<corners android:radius="1dp" /> <corners android:radius="1dp" />
</shape> </shape>

View File

@ -1,5 +1,7 @@
<resources> <resources>
<dimen name="fragment_text_size">10sp</dimen> <dimen name="fragment_text_size">10sp</dimen>
<dimen name="fragment_title_text_size">20sp</dimen>
<dimen name="editor_text_size">15sp</dimen> <dimen name="editor_text_size">15sp</dimen>
<dimen name="display_text_size">15sp</dimen> <dimen name="display_text_size">15sp</dimen>
<dimen name="keyboard_button_text_size">20dp</dimen> <dimen name="keyboard_button_text_size">20dp</dimen>

View File

@ -0,0 +1,9 @@
<resources>
<dimen name="fragment_text_size">20sp</dimen>
<dimen name="fragment_title_text_size">30sp</dimen>
<dimen name="editor_text_size">30sp</dimen>
<dimen name="display_text_size">30sp</dimen>
<dimen name="keyboard_button_text_size">40dp</dimen>
<dimen name="math_entity_text_size">30sp</dimen>
<dimen name="math_entity_description_text_size">20sp</dimen>
</resources>

View File

@ -18,4 +18,5 @@
<color name="metro_blue_color">#10648c</color> <color name="metro_blue_color">#10648c</color>
<color name="metro_green_color">#088e3a</color> <color name="metro_green_color">#088e3a</color>
<color name="metro_purple_color">#651456</color> <color name="metro_purple_color">#651456</color>
<color name="metro_light_button_background">#393939</color>
</resources> </resources>

View File

@ -1,7 +1,10 @@
<resources> <resources>
<dimen name="button_margin">0.5dp</dimen> <dimen name="button_margin">0.5dp</dimen>
<dimen name="text_size">20sp</dimen> <dimen name="text_size">20sp</dimen>
<dimen name="fragment_text_size">15sp</dimen> <dimen name="fragment_text_size">15sp</dimen>
<dimen name="fragment_title_text_size">20sp</dimen>
<dimen name="keyboard_button_text_size">30dp</dimen> <dimen name="keyboard_button_text_size">30dp</dimen>
<dimen name="button_text_size">20dp</dimen> <dimen name="button_text_size">20dp</dimen>
<dimen name="display_text_size">25sp</dimen> <dimen name="display_text_size">25sp</dimen>

View File

@ -37,7 +37,7 @@
<style name="default_fragment_title_style"> <style name="default_fragment_title_style">
<item name="android:textColor">@android:color/white</item> <item name="android:textColor">@android:color/white</item>
<item name="android:textSize">20sp</item> <item name="android:textSize">@dimen/fragment_title_text_size</item>
</style> </style>
<style name="default_button_style" parent="button_style"> <style name="default_button_style" parent="button_style">

View File

@ -171,6 +171,8 @@ public class CalculatorPlotFragment extends CalculatorFragment implements Calcul
//noinspection ConstantConditions //noinspection ConstantConditions
this.chart = PlotUtils.prepareChart(getMinValue(null), getMaxValue(null), preparedInput.getExpression(), preparedInput.getVariable(), bgColor, interpolate, realLineColor.getColor(), imagLineColor.getColor()); this.chart = PlotUtils.prepareChart(getMinValue(null), getMaxValue(null), preparedInput.getExpression(), preparedInput.getVariable(), bgColor, interpolate, realLineColor.getColor(), imagLineColor.getColor());
} else {
this.chart = null;
} }
} }
@ -203,6 +205,12 @@ public class CalculatorPlotFragment extends CalculatorFragment implements Calcul
} }
private void createGraphicalView(@NotNull View root, @Nullable PlotBoundaries plotBoundaries) { private void createGraphicalView(@NotNull View root, @Nullable PlotBoundaries plotBoundaries) {
final ViewGroup graphContainer = (ViewGroup) root.findViewById(R.id.main_fragment_layout);
if (graphicalView != null) {
graphContainer.removeView(graphicalView);
}
if (!preparedInput.isError()) { if (!preparedInput.isError()) {
final XYChart chart = this.chart; final XYChart chart = this.chart;
assert chart != null; assert chart != null;
@ -210,12 +218,6 @@ public class CalculatorPlotFragment extends CalculatorFragment implements Calcul
double minValue = getMinValue(plotBoundaries); double minValue = getMinValue(plotBoundaries);
double maxValue = getMaxValue(plotBoundaries); double maxValue = getMaxValue(plotBoundaries);
final ViewGroup graphContainer = (ViewGroup) root.findViewById(R.id.main_fragment_layout);
if (graphicalView != null) {
graphContainer.removeView(graphicalView);
}
// reverting boundaries (as in prepareChart() we add some cached values ) // reverting boundaries (as in prepareChart() we add some cached values )
double minX = Double.MAX_VALUE; double minX = Double.MAX_VALUE;
double minY = Double.MAX_VALUE; double minY = Double.MAX_VALUE;
@ -260,7 +262,6 @@ public class CalculatorPlotFragment extends CalculatorFragment implements Calcul
graphicalView.addPanListener(new PanListener() { graphicalView.addPanListener(new PanListener() {
@Override @Override
public void panApplied() { public void panApplied() {
Log.d(TAG, "org.achartengine.tools.PanListener.panApplied");
updateDataSets(chart); updateDataSets(chart);
} }
@ -269,7 +270,7 @@ public class CalculatorPlotFragment extends CalculatorFragment implements Calcul
updateDataSets(chart, 50); updateDataSets(chart, 50);
} else { } else {
Toast.makeText(this.getActivity(), "Plot is not possible!", Toast.LENGTH_LONG).show(); graphicalView = null;
} }
} }
@ -294,56 +295,54 @@ public class CalculatorPlotFragment extends CalculatorFragment implements Calcul
final Generic expression = preparedInput.getExpression(); final Generic expression = preparedInput.getExpression();
final Constant variable = preparedInput.getVariable(); final Constant variable = preparedInput.getVariable();
pendingOperation.setObject(new Runnable() { if (expression != null && variable != null) {
@Override pendingOperation.setObject(new Runnable() {
public void run() { @Override
// allow only one runner at one time public void run() {
synchronized (pendingOperation) { // allow only one runner at one time
//lock all operations with history synchronized (pendingOperation) {
if (pendingOperation.getObject() == this) { //lock all operations with history
if (pendingOperation.getObject() == this) {
plotExecutor.execute(new Runnable() { plotExecutor.execute(new Runnable() {
@Override @Override
public void run() { public void run() {
Log.d(TAG, "org.solovyev.android.calculator.plot.CalculatorPlotActivity.updateDataSets"); final XYMultipleSeriesRenderer dr = chart.getRenderer();
final XYMultipleSeriesRenderer dr = chart.getRenderer(); final MyXYSeries realSeries = (MyXYSeries) chart.getDataset().getSeriesAt(0);
//Log.d(CalculatorPlotActivity.class.getName(), "x = [" + dr.getXAxisMin() + ", " + dr.getXAxisMax() + "], y = [" + dr.getYAxisMin() + ", " + dr.getYAxisMax() + "]"); final MyXYSeries imagSeries;
if (chart.getDataset().getSeriesCount() > 1) {
imagSeries = (MyXYSeries) chart.getDataset().getSeriesAt(1);
} else {
imagSeries = new MyXYSeries(PlotUtils.getImagFunctionName(variable), PlotUtils.DEFAULT_NUMBER_OF_STEPS * 2);
}
final MyXYSeries realSeries = (MyXYSeries) chart.getDataset().getSeriesAt(0); try {
if (PlotUtils.addXY(dr.getXAxisMin(), dr.getXAxisMax(), expression, variable, realSeries, imagSeries, true, PlotUtils.DEFAULT_NUMBER_OF_STEPS)) {
final MyXYSeries imagSeries; if (chart.getDataset().getSeriesCount() <= 1) {
if (chart.getDataset().getSeriesCount() > 1) { chart.getDataset().addSeries(imagSeries);
imagSeries = (MyXYSeries) chart.getDataset().getSeriesAt(1); chart.getRenderer().addSeriesRenderer(PlotUtils.createImagRenderer(imagLineColor.getColor()));
} else { }
imagSeries = new MyXYSeries(PlotUtils.getImagFunctionName(variable), PlotUtils.DEFAULT_NUMBER_OF_STEPS * 2);
}
try {
if (PlotUtils.addXY(dr.getXAxisMin(), dr.getXAxisMax(), expression, variable, realSeries, imagSeries, true, PlotUtils.DEFAULT_NUMBER_OF_STEPS)) {
if (chart.getDataset().getSeriesCount() <= 1) {
chart.getDataset().addSeries(imagSeries);
chart.getRenderer().addSeriesRenderer(PlotUtils.createImagRenderer(imagLineColor.getColor()));
} }
} catch (ArithmeticException e) {
// todo serso: translate
Toast.makeText(CalculatorPlotFragment.this.getActivity(), "Arithmetic error: " + e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
} }
} catch (ArithmeticException e) {
// todo serso: translate
Toast.makeText(CalculatorPlotFragment.this.getActivity(), "Arithmetic error: " + e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
uiHandler.post(new Runnable() { uiHandler.post(new Runnable() {
@Override @Override
public void run() { public void run() {
graphicalView.repaint(); graphicalView.repaint();
} }
}); });
} }
}); });
}
} }
} }
} });
}); }
uiHandler.postDelayed(pendingOperation.getObject(), millisToWait); uiHandler.postDelayed(pendingOperation.getObject(), millisToWait);

View File

@ -9,8 +9,7 @@ package org.solovyev.android.calculator.plot;
import org.achartengine.model.XYSeries; import org.achartengine.model.XYSeries;
import org.achartengine.util.MathHelper; import org.achartengine.util.MathHelper;
import java.util.ArrayList; import java.util.*;
import java.util.List;
/** /**
* User: serso * User: serso