Добавлена возможность сохранения состояния

This commit is contained in:
Victor 2015-04-23 14:26:11 +03:00
parent c112dbea7f
commit 5bb4a9bd6f
2 changed files with 21 additions and 0 deletions

View File

@ -6,11 +6,13 @@
<string name="to_prev_scene">Предыдущая сцена</string> <string name="to_prev_scene">Предыдущая сцена</string>
<string name="to_next_scene">Следующая сцена</string> <string name="to_next_scene">Следующая сцена</string>
<string name="navigate">Навигация</string> <string name="navigate">Навигация</string>
<string name="save">Сохранить</string>
<string-array name="menu_items"> <string-array name="menu_items">
<item>@string/to_prev_scene</item> <item>@string/to_prev_scene</item>
<item>@string/to_next_scene</item> <item>@string/to_next_scene</item>
<item>@string/navigate</item> <item>@string/navigate</item>
<item>@string/save</item>
</string-array> </string-array>
</resources> </resources>

View File

@ -5,6 +5,7 @@ import java.io.InputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.annimon.everlastingsummer.TouchGesture.TouchGestureType; import com.annimon.everlastingsummer.TouchGesture.TouchGestureType;
import com.annimon.everlastingsummer.ast.Variables;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.content.ContentResolver; import android.content.ContentResolver;
@ -163,6 +164,9 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
case 2: case 2:
Dialogs.with(getInstance()).showNavigate(); Dialogs.with(getInstance()).showNavigate();
break; break;
case 3:
saveState();
break;
} }
} }
@ -387,6 +391,21 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
iv = null; iv = null;
} }
private void saveState() {
final SaveInfo info = new SaveInfo();
info.setPath(scriptPath);
info.setPosition(Parser.getInstance().getPosition());
info.setTime(System.currentTimeMillis());
info.setVariables(Variables.getVariables());
try {
final String filename = Long.toString(System.currentTimeMillis());
IOUtil.writeSaveInfo(getApplicationContext(), filename, info);
Toast.makeText(this, "Сохранено", Toast.LENGTH_SHORT).show();
} catch (IOException ioe) {
if (Logger.DEBUG) Logger.log("Ошибка сохранения", ioe);
}
}
private final Runnable nextCommandRunnable = new Runnable() { private final Runnable nextCommandRunnable = new Runnable() {
@Override @Override
public void run() { public void run() {