messages + billing

This commit is contained in:
Sergey Solovyev 2012-10-10 21:34:44 +04:00
parent 9e237c1a2c
commit 4bb42eff81
12 changed files with 268 additions and 344 deletions

View File

@ -0,0 +1,9 @@
msg_1=Арифметическая ошибка: {0}
msg_2=Слишком сложное выражение
msg_3=Вычисление выражения занимает слишком много времени - проверьте выражение
msg_4=Вычисление было отменено
msg_5=Для функции {0} не определены параметры
msg_6=В выражении найден Бесконечный цикл - проверьте выражение
syntax_error=Ошибка
result_copied=Результат скопирован в буфер!

View File

@ -0,0 +1,9 @@
msg_1=Арифметична помилка: {0}
msg_2=Надто складний вираз
msg_3=Обчислення виразу займає багато часу - перевірте вираз
msg_4=Обчислення скасовано
msg_5=Параметри не визначені для функції: {0}
msg_6=Нескінченний цикл виявлено у виразі - перевірте вираз
syntax_error=Помилка
result_copied=Результат скопійовано у буфер!

View File

@ -0,0 +1,9 @@
msg_1=計算錯誤: {0}
msg_2=計算式過於複雜
msg_3=執行逾時 - 請檢查計算式
msg_4=計算已取消
msg_5=未指定函數參數: {0}
msg_6=計算式包含無窮迴圈
syntax_error=錯誤
result_copied=答案已複製到剪貼簿!

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="91" android:versionName="1.3.2" package="org.solovyev.android.calculator"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="93" android:versionName="1.3.2" package="org.solovyev.android.calculator">
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>

View File

@ -11,14 +11,14 @@
target=android-15 target=android-15
android.library.reference.1=gen-external-apklibs/org.solovyev.android_android-common-core_1.0.0 android.library.reference.1=gen-external-apklibs/org.solovyev.android_android-common-core_1.0.0
android.library.reference.2=gen-external-apklibs/org.solovyev.android_android-common-ads_1.0.0 android.library.reference.2=gen-external-apklibs/org.solovyev.android_android-common-ads_1.0.0
android.library.reference.3=gen-external-apklibs/org.solovyev.android_billing_0.2 android.library.reference.3=gen-external-apklibs/org.solovyev.android_android-common-view_1.0.0
android.library.reference.4=gen-external-apklibs/org.solovyev.android_android-common-db_1.0.0 android.library.reference.4=gen-external-apklibs/org.solovyev.android_android-common-preferences_1.0.0
android.library.reference.5=gen-external-apklibs/org.solovyev.android_android-common-view_1.0.0 android.library.reference.5=gen-external-apklibs/org.solovyev.android_android-common-other_1.0.0
android.library.reference.6=gen-external-apklibs/org.solovyev.android_android-common-preferences_1.0.0 android.library.reference.6=gen-external-apklibs/org.solovyev.android_android-common-menu_1.0.0
android.library.reference.7=gen-external-apklibs/org.solovyev.android_android-common-other_1.0.0 android.library.reference.7=gen-external-apklibs/org.solovyev.android_android-common-sherlock_1.0.0
android.library.reference.8=gen-external-apklibs/org.solovyev.android_android-common-menu_1.0.0 android.library.reference.8=gen-external-apklibs/com.actionbarsherlock_library_4.1.0
android.library.reference.9=gen-external-apklibs/org.solovyev.android_android-common-sherlock_1.0.0 android.library.reference.9=gen-external-apklibs/org.solovyev.android_android-common-list_1.0.0
android.library.reference.10=gen-external-apklibs/com.actionbarsherlock_library_4.1.0 android.library.reference.10=gen-external-apklibs/org.solovyev.android_billing_0.2
android.library.reference.11=gen-external-apklibs/org.solovyev.android_android-common-list_1.0.0 android.library.reference.11=gen-external-apklibs/org.solovyev.android_android-common-db_1.0.0

View File

@ -1,14 +0,0 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="msg_1">Арифметическая ошибка: {0}</string>
<string name="msg_2">Слишком сложное выражение</string>
<string name="msg_3">Вычисление выражения занимает слишком много времени - проверьте выражение</string>
<string name="msg_4">Вычисление было отменено</string>
<string name="msg_5">Для функции {0} не определены параметры</string>
<string name="msg_6">В выражении найден Бесконечный цикл - проверьте выражение</string>
</resources>

View File

@ -1,14 +0,0 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="msg_1">Арифметична помилка: {0}</string>
<string name="msg_2">Надто складний вираз</string>
<string name="msg_3">Обчислення виразу займає багато часу - перевірте вираз</string>
<string name="msg_4">Обчислення скасовано</string>
<string name="msg_5">Параметри не визначені для функції: {0}</string>
<string name="msg_6">Нескінченний цикл виявлено у виразі - перевірте вираз</string>
</resources>

View File

@ -1,14 +0,0 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="msg_1">計算錯誤: {0}</string>
<string name="msg_2">計算式過於複雜</string>
<string name="msg_3">執行逾時 - 請檢查計算式</string>
<string name="msg_4">計算已取消</string>
<string name="msg_5">未指定函數參數: {0}</string>
<string name="msg_6">計算式包含無窮迴圈</string>
</resources>

View File

@ -1,14 +0,0 @@
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="msg_1">Arithmetic error occurred: {0}</string>
<string name="msg_2">Too complex expression</string>
<string name="msg_3">Too long execution time - check the expression</string>
<string name="msg_4">Evaluation was cancelled</string>
<string name="msg_5">No parameters are specified for function: {0}</string>
<string name="msg_6">Infinite loop is detected in expression</string>
</resources>

View File

@ -87,15 +87,17 @@ public class AndroidCalculatorDisplayView extends AutoResizeTextView implements
@Override @Override
public void setState(@NotNull final CalculatorDisplayViewState state) { public void setState(@NotNull final CalculatorDisplayViewState state) {
final CharSequence text = prepareText(state.getStringResult(), state.isValid());
handler.post(new Runnable() { handler.post(new Runnable() {
@Override @Override
public void run() { public void run() {
synchronized (lock) { synchronized (lock) {
try { try {
viewStateChange = true; viewStateChange = true;
final CharSequence text = prepareText(state.getStringResult(), state.isValid());
AndroidCalculatorDisplayView.this.state = state; AndroidCalculatorDisplayView.this.state = state;
if (state.isValid()) { if (state.isValid()) {
setTextColor(getResources().getColor(R.color.default_text_color)); setTextColor(getResources().getColor(R.color.default_text_color));

View File

@ -111,6 +111,7 @@ public class CalculatorApplication extends android.app.Application {
public void run() { public void run() {
BillingDB.init(CalculatorApplication.this); BillingDB.init(CalculatorApplication.this);
BillingController.checkBillingSupported(CalculatorApplication.this); BillingController.checkBillingSupported(CalculatorApplication.this);
AdsController.getInstance().isAdFree(CalculatorApplication.this);
} }
}).start(); }).start();
} }

View File

@ -1,50 +0,0 @@
package org.solovyev.android.calculator;
import android.app.PendingIntent;
import android.util.Log;
import net.robotmedia.billing.IBillingObserver;
import net.robotmedia.billing.ResponseCode;
import net.robotmedia.billing.model.Transaction;
import org.jetbrains.annotations.NotNull;
/**
* User: serso
* Date: 10/10/12
* Time: 12:27 AM
*/
class LoggingBillingObserver implements IBillingObserver {
@Override
public void onCheckBillingSupportedResponse(boolean supported) {
Log.d("CalculatorppBilling", "onCheckBillingSupportedResponse");
}
@Override
public void onPurchaseIntentOK(@NotNull String productId, @NotNull PendingIntent purchaseIntent) {
Log.d("CalculatorppBilling", "onPurchaseIntentOK");
}
@Override
public void onPurchaseIntentFailure(@NotNull String productId, @NotNull ResponseCode responseCode) {
Log.d("CalculatorppBilling", "onPurchaseIntentFailure");
}
@Override
public void onPurchaseStateChanged(@NotNull String productId, @NotNull Transaction.PurchaseState state) {
Log.d("CalculatorppBilling", "onPurchaseStateChanged");
}
@Override
public void onRequestPurchaseResponse(@NotNull String productId, @NotNull ResponseCode response) {
Log.d("CalculatorppBilling", "onRequestPurchaseResponse");
}
@Override
public void onTransactionsRestored() {
Log.d("CalculatorppBilling", "onTransactionsRestored");
}
@Override
public void onErrorRestoreTransactions(@NotNull ResponseCode responseCode) {
Log.d("CalculatorppBilling", "onErrorRestoreTransactions");
}
}