billing changes
This commit is contained in:
parent
691e94f7a3
commit
4bc319a46f
@ -101,7 +101,7 @@
|
|||||||
<activity a:name="com.google.ads.AdActivity"
|
<activity a:name="com.google.ads.AdActivity"
|
||||||
a:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
a:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
||||||
|
|
||||||
<service a:name=".billing.CalculatorBillingService"/>
|
<service a:name="net.robotmedia.billing.BillingService"/>
|
||||||
<receiver a:name="net.robotmedia.billing.BillingReceiver">
|
<receiver a:name="net.robotmedia.billing.BillingReceiver">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action a:name="com.android.vending.billing.IN_APP_NOTIFY"/>
|
<action a:name="com.android.vending.billing.IN_APP_NOTIFY"/>
|
||||||
|
@ -15,6 +15,6 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<gradient android:startColor="#667e22" android:endColor="#667e22"/>
|
<gradient android:startColor="#088e3a" android:endColor="#088e3a"/>
|
||||||
<corners android:radius="1dp" />
|
<corners android:radius="1dp" />
|
||||||
</shape>
|
</shape>
|
@ -113,8 +113,8 @@
|
|||||||
<string name="c_calc_multiplication_sign_summary">Устанавливает знак произведения</string>
|
<string name="c_calc_multiplication_sign_summary">Устанавливает знак произведения</string>
|
||||||
|
|
||||||
<string name="c_calc_layout">Раскладка</string>
|
<string name="c_calc_layout">Раскладка</string>
|
||||||
<string name="p_layout_cellphone">Телефон</string>
|
<string name="p_layout_cellphone">Научная (телефон)</string>
|
||||||
<string name="p_layout_calculator">Калькулятор</string>
|
<string name="p_layout_calculator">Научная</string>
|
||||||
<string name="p_layout_simple">Простая</string>
|
<string name="p_layout_simple">Простая</string>
|
||||||
<string name="c_calc_layout_summary">Устанавливает раскладку кнопок</string>
|
<string name="c_calc_layout_summary">Устанавливает раскладку кнопок</string>
|
||||||
|
|
||||||
@ -172,6 +172,9 @@
|
|||||||
<string name="c_calc_use_back_button_as_prev_summary">Устанавливает поведение по нажатию на кнопку Назад</string>
|
<string name="c_calc_use_back_button_as_prev_summary">Устанавливает поведение по нажатию на кнопку Назад</string>
|
||||||
<string name="c_calc_use_back_button_as_prev_title">Использовать кнопку назад как назад по истории</string>
|
<string name="c_calc_use_back_button_as_prev_title">Использовать кнопку назад как назад по истории</string>
|
||||||
|
|
||||||
|
<string name="c_clear_billing_info_summary">Информация о покупках будет обновлена с сервера</string>
|
||||||
|
<string name="c_clear_billing_info_title">Очистить информация о покупках</string>
|
||||||
|
|
||||||
<string name="c_warning">Внимание</string>
|
<string name="c_warning">Внимание</string>
|
||||||
<string name="c_error">Ошибка</string>
|
<string name="c_error">Ошибка</string>
|
||||||
<string name="c_billing_error">Биллинг не поддерживается: вы должны иметь Google Checkout аккаунт привязанный в вашему Google аккаунту и должны быть подключены к интернету.</string>
|
<string name="c_billing_error">Биллинг не поддерживается: вы должны иметь Google Checkout аккаунт привязанный в вашему Google аккаунту и должны быть подключены к интернету.</string>
|
||||||
@ -181,6 +184,7 @@
|
|||||||
|
|
||||||
<string name="c_calc_already_purchased">Опция уже была куплена!</string>
|
<string name="c_calc_already_purchased">Опция уже была куплена!</string>
|
||||||
<string name="c_calc_purchasing">Покупаем...</string>
|
<string name="c_calc_purchasing">Покупаем...</string>
|
||||||
|
<string name="c_calc_clearing">Очищаем...</string>
|
||||||
|
|
||||||
<string name="c_feedback_title">Отзыв</string>
|
<string name="c_feedback_title">Отзыв</string>
|
||||||
<string name="c_feedback_text">Вы используете Калькулятор++ некоторое время\n
|
<string name="c_feedback_text">Вы используете Калькулятор++ некоторое время\n
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
<string name="p_calc_use_back_button_as_prev_key">org.solovyev.android.calculator.CalculatorActivity_use_back_button_as_prev</string>
|
<string name="p_calc_use_back_button_as_prev_key">org.solovyev.android.calculator.CalculatorActivity_use_back_button_as_prev</string>
|
||||||
<string name="p_calc_use_back_button_as_prev">false</string>
|
<string name="p_calc_use_back_button_as_prev">false</string>
|
||||||
|
|
||||||
|
<string name="p_clear_billing_info_key">clear_billing_info</string>
|
||||||
|
|
||||||
<string name="p_calc_show_release_notes_key">org.solovyev.android.calculator.CalculatorActivity_show_release_notes</string>
|
<string name="p_calc_show_release_notes_key">org.solovyev.android.calculator.CalculatorActivity_show_release_notes</string>
|
||||||
<string name="p_calc_show_release_notes">true</string>
|
<string name="p_calc_show_release_notes">true</string>
|
||||||
|
|
||||||
|
@ -113,8 +113,8 @@
|
|||||||
<string name="c_calc_multiplication_sign_summary">Sets multiplication sign</string>
|
<string name="c_calc_multiplication_sign_summary">Sets multiplication sign</string>
|
||||||
|
|
||||||
<string name="c_calc_layout">Layout</string>
|
<string name="c_calc_layout">Layout</string>
|
||||||
<string name="p_layout_cellphone">Cellphone</string>
|
<string name="p_layout_cellphone">Scientific (cellphone)</string>
|
||||||
<string name="p_layout_calculator">Calculator</string>
|
<string name="p_layout_calculator">Scientific</string>
|
||||||
<string name="p_layout_simple">Simple</string>
|
<string name="p_layout_simple">Simple</string>
|
||||||
<string name="c_calc_layout_summary">Sets layout of buttons</string>
|
<string name="c_calc_layout_summary">Sets layout of buttons</string>
|
||||||
|
|
||||||
@ -172,6 +172,9 @@
|
|||||||
<string name="c_calc_use_back_button_as_prev_summary">Defines the behaviour of the Back button</string>
|
<string name="c_calc_use_back_button_as_prev_summary">Defines the behaviour of the Back button</string>
|
||||||
<string name="c_calc_use_back_button_as_prev_title">Use Back button as history prev</string>
|
<string name="c_calc_use_back_button_as_prev_title">Use Back button as history prev</string>
|
||||||
|
|
||||||
|
<string name="c_clear_billing_info_summary">Billing information will be reloaded from the server</string>
|
||||||
|
<string name="c_clear_billing_info_title">Clear billing information</string>
|
||||||
|
|
||||||
<string name="c_warning">Warning</string>
|
<string name="c_warning">Warning</string>
|
||||||
<string name="c_error">Error</string>
|
<string name="c_error">Error</string>
|
||||||
<string name="c_billing_error">Billing is not supported: you must have Google Checkout account linked to your Google account and must be connected to the internet.</string>
|
<string name="c_billing_error">Billing is not supported: you must have Google Checkout account linked to your Google account and must be connected to the internet.</string>
|
||||||
@ -181,6 +184,7 @@
|
|||||||
|
|
||||||
<string name="c_calc_already_purchased">Ad free option was already purchased!</string>
|
<string name="c_calc_already_purchased">Ad free option was already purchased!</string>
|
||||||
<string name="c_calc_purchasing">Purchasing...</string>
|
<string name="c_calc_purchasing">Purchasing...</string>
|
||||||
|
<string name="c_calc_clearing">Clearing...</string>
|
||||||
|
|
||||||
<string name="c_feedback_title">Feedback</string>
|
<string name="c_feedback_title">Feedback</string>
|
||||||
<string name="c_feedback_text">You have been using Calculator++ for some time \n
|
<string name="c_feedback_text">You have been using Calculator++ for some time \n
|
||||||
|
@ -10,10 +10,6 @@
|
|||||||
a:defaultValue="false"
|
a:defaultValue="false"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<org.solovyev.android.ads.AdViewPreference
|
|
||||||
a:key="admob_01"
|
|
||||||
a:layout="@layout/admob_pref"/>
|
|
||||||
|
|
||||||
<PreferenceScreen a:title="@string/c_prefs_calculations_category">
|
<PreferenceScreen a:title="@string/c_prefs_calculations_category">
|
||||||
|
|
||||||
<android.preference.CheckBoxPreference
|
<android.preference.CheckBoxPreference
|
||||||
@ -143,6 +139,11 @@
|
|||||||
a:title="@string/c_calc_use_back_button_as_prev_title"
|
a:title="@string/c_calc_use_back_button_as_prev_title"
|
||||||
a:defaultValue="false"/>
|
a:defaultValue="false"/>
|
||||||
|
|
||||||
|
<Preference
|
||||||
|
a:key="@string/p_clear_billing_info_key"
|
||||||
|
a:summary="@string/c_clear_billing_info_summary"
|
||||||
|
a:title="@string/c_clear_billing_info_title"/>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@ -188,8 +188,6 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setLayout(preferences);
|
setLayout(preferences);
|
||||||
|
|
||||||
//adView = AndroidUtils.createAndInflateAdView(this, R.id.ad_parent_view, ADMOB_USER_ID);
|
|
||||||
|
|
||||||
if (customTitleSupported) {
|
if (customTitleSupported) {
|
||||||
try {
|
try {
|
||||||
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.calc_title);
|
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.calc_title);
|
||||||
@ -307,6 +305,8 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//adView = AndroidUtils.createAndInflateAdView(this, R.id.ad_parent_view, ADMOB_USER_ID);
|
||||||
|
|
||||||
preferences.registerOnSharedPreferenceChangeListener(this);
|
preferences.registerOnSharedPreferenceChangeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -580,6 +580,11 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( savedVersion < 29 ) {
|
||||||
|
// just in case
|
||||||
|
CalculatorPreferencesActivity.removeBillingInformation(this, preferences);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//Log.d(this.getClass().getName(), "Application was opened " + appOpenedCounter + " time!");
|
//Log.d(this.getClass().getName(), "Application was opened " + appOpenedCounter + " time!");
|
||||||
if (!dialogShown) {
|
if (!dialogShown) {
|
||||||
|
@ -7,15 +7,18 @@ package org.solovyev.android.calculator;
|
|||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
import net.robotmedia.billing.BillingController;
|
import net.robotmedia.billing.BillingController;
|
||||||
import net.robotmedia.billing.IBillingObserver;
|
import net.robotmedia.billing.IBillingObserver;
|
||||||
import net.robotmedia.billing.ResponseCode;
|
import net.robotmedia.billing.ResponseCode;
|
||||||
|
import net.robotmedia.billing.helper.AbstractBillingObserver;
|
||||||
import net.robotmedia.billing.model.Transaction;
|
import net.robotmedia.billing.model.Transaction;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.solovyev.android.AndroidUtils;
|
import org.solovyev.android.AndroidUtils;
|
||||||
@ -30,6 +33,8 @@ import org.solovyev.android.view.VibratorContainer;
|
|||||||
*/
|
*/
|
||||||
public class CalculatorPreferencesActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener, IBillingObserver {
|
public class CalculatorPreferencesActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener, IBillingObserver {
|
||||||
|
|
||||||
|
public static final String CLEAR_BILLING_INFO = "clear_billing_info";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -48,6 +53,29 @@ public class CalculatorPreferencesActivity extends PreferenceActivity implements
|
|||||||
preferences.registerOnSharedPreferenceChangeListener(this);
|
preferences.registerOnSharedPreferenceChangeListener(this);
|
||||||
onSharedPreferenceChanged(preferences, CalculatorEngine.Preferences.roundResult.getKey());
|
onSharedPreferenceChanged(preferences, CalculatorEngine.Preferences.roundResult.getKey());
|
||||||
onSharedPreferenceChanged(preferences, VibratorContainer.HAPTIC_FEEDBACK_P_KEY);
|
onSharedPreferenceChanged(preferences, VibratorContainer.HAPTIC_FEEDBACK_P_KEY);
|
||||||
|
|
||||||
|
final Preference clearBillingInfoPreference = findPreference(CLEAR_BILLING_INFO);
|
||||||
|
if (clearBillingInfoPreference != null) {
|
||||||
|
clearBillingInfoPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
|
||||||
|
Toast.makeText(CalculatorPreferencesActivity.this, R.string.c_calc_clearing, Toast.LENGTH_SHORT).show();
|
||||||
|
|
||||||
|
removeBillingInformation(CalculatorPreferencesActivity.this, PreferenceManager.getDefaultSharedPreferences(CalculatorPreferencesActivity.this));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeBillingInformation(@NotNull Context context, @NotNull SharedPreferences preferences) {
|
||||||
|
final SharedPreferences.Editor editor = preferences.edit();
|
||||||
|
editor.putBoolean(AbstractBillingObserver.KEY_TRANSACTIONS_RESTORED, false);
|
||||||
|
editor.commit();
|
||||||
|
|
||||||
|
BillingController.dropBillingData(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAdFreeAction() {
|
private void setAdFreeAction() {
|
||||||
@ -109,7 +137,7 @@ public class CalculatorPreferencesActivity extends PreferenceActivity implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCheckBillingSupportedResponse(boolean supported) {
|
public void onCheckBillingSupportedResponse(boolean supported) {
|
||||||
if ( supported ) {
|
if (supported) {
|
||||||
setAdFreeAction();
|
setAdFreeAction();
|
||||||
} else {
|
} else {
|
||||||
final Preference adFreePreference = findPreference(CalculatorApplication.AD_FREE_P_KEY);
|
final Preference adFreePreference = findPreference(CalculatorApplication.AD_FREE_P_KEY);
|
||||||
@ -160,4 +188,9 @@ public class CalculatorPreferencesActivity extends PreferenceActivity implements
|
|||||||
public void onTransactionsRestored() {
|
public void onTransactionsRestored() {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onErrorRestoreTransactions(@NotNull ResponseCode responseCode) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
package org.solovyev.android.calculator.billing;
|
|
||||||
|
|
||||||
import net.robotmedia.billing.BillingService;
|
|
||||||
import org.solovyev.android.calculator.CalculatorApplication;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* User: serso
|
|
||||||
* Date: 2/12/12
|
|
||||||
* Time: 1:45 PM
|
|
||||||
*/
|
|
||||||
public class CalculatorBillingService extends BillingService {
|
|
||||||
@Override
|
|
||||||
public void onCreate() {
|
|
||||||
super.onCreate();
|
|
||||||
CalculatorApplication.registerOnRemoteStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user