diff --git a/app/build.gradle b/app/build.gradle
index 66ad56f0..085fefb7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId "eu.faircode.netguard"
minSdkVersion 21
targetSdkVersion 23
- versionCode 8
- versionName "0.8"
+ versionCode 9
+ versionName "0.9"
}
buildTypes {
release {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fe0d72a6..b37d5dee 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
() {
+ @Override
+ protected Object doInBackground(Object... objects) {
+ try {
+ // Get available SKUs
+ ArrayList skuList = new ArrayList();
+ skuList.add(SKU_DONATE);
+ Bundle query = new Bundle();
+ query.putStringArrayList("ITEM_ID_LIST", skuList);
+ Bundle details = billingService.getSkuDetails(3, getPackageName(), "inapp", query);
+ Log.i(TAG, "Billing.getSkuDetails");
+ Util.logBundle(TAG, details);
+ if (details.getInt("RESPONSE_CODE") != 0)
+ return null;
+
+ // Check available SKUs
+ boolean found = false;
+ for (String item : details.getStringArrayList("DETAILS_LIST")) {
+ JSONObject object = new JSONObject(item);
+ if (SKU_DONATE.equals(object.getString("productId"))) {
+ found = true;
+ break;
+ }
+ }
+ Log.i(TAG, SKU_DONATE + "=" + found);
+ if (!found)
+ return null;
+
+ // Get purchases
+ Bundle purchases = billingService.getPurchases(3, getPackageName(), "inapp", null);
+ Log.i(TAG, "Billing.getPurchases");
+ Util.logBundle(TAG, purchases);
+ return (purchases.getInt("RESPONSE_CODE") == 0 ? purchases : null);
+
+ } catch (Throwable ex) {
+ return ex;
+ }
+ }
+
+ @Override
+ protected void onPostExecute(Object result) {
+ if (result instanceof Throwable) {
+ // Handle exception
+ Throwable ex = (Throwable) result;
+ Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
+ Toast.makeText(ActivityMain.this, ex.toString(), Toast.LENGTH_LONG).show();
+
+ } else if (result != null) {
+ // Show donate/donated
+ Bundle bundle = (Bundle) result;
+ ArrayList skus = bundle.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");
+ btnDonate.setVisibility(skus.contains(SKU_DONATE) ? View.GONE : View.VISIBLE);
+ tvThanks.setVisibility(skus.contains(SKU_DONATE) ? View.VISIBLE : View.GONE);
+ }
+ }
+ }.execute();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ Log.i(TAG, "onActivityResult request=" + requestCode + " result=" + requestCode);
+ Util.logExtras(TAG, data);
+
if (requestCode == REQUEST_VPN) {
// Update enabled state
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
@@ -355,7 +513,17 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
// Start service
if (resultCode == RESULT_OK)
SinkholeService.start(this);
- } else
+
+ } else if (requestCode == REQUEST_DONATION) {
+ if (resultCode == RESULT_OK) {
+ // Handle donation
+ Intent intent = new Intent(ACTION_DONATE);
+ LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
+ }
+
+ } else {
+ Log.w(TAG, "Unknown activity result request=" + requestCode);
super.onActivityResult(requestCode, resultCode, data);
+ }
}
}
diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml
index 23c4ff9b..04491046 100644
--- a/app/src/main/res/layout/about.xml
+++ b/app/src/main/res/layout/about.xml
@@ -3,7 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:paddingBottom="20dp"
+ android:paddingBottom="40dp"
android:paddingEnd="20dp"
android:paddingStart="20dp"
android:paddingTop="20dp">
@@ -44,4 +44,23 @@
android:layout_marginTop="8dp"
android:text="@string/app_copyright"
android:textAppearance="@android:style/TextAppearance.Material.Small" />
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index e714abcc..81f9bb1c 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -17,4 +17,6 @@
السماح عند استخدام الجهاز
Start application
+ Donate
+ Thank you for your donation!
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 2baa909e..9c7cc4e0 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -17,4 +17,6 @@
Allow when device in use
Start application
+ Donate
+ Thank you for your donation!
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 2f53f4ad..c9545817 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -17,4 +17,6 @@
Consenti quando il dispositivo è in uso
Start application
+ Donate
+ Thank you for your donation!
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 4380a301..57108417 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -17,4 +17,6 @@
Sta toe als apparaat in gebruik
Start applicatie
+ Doneer
+ Bedankt voor uw donatie!
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 9af367e5..b344b5ea 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -17,4 +17,6 @@
Permite cand dispozitivul este folosit
Porneste aplicatia
+ Donate
+ Thank you for your donation!
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 2188839d..811cf35c 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -17,4 +17,6 @@
Povoliť pri používaní zariadenia
Start application
+ Donate
+ Thank you for your donation!
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index cd1f5bf3..d42cd483 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -17,4 +17,6 @@
设备使用时允许运行
启动应用
+ Donate
+ Thank you for your donation!
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 000d416c..c4bb1767 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -18,4 +18,6 @@
Allow when device in use
Start application
+ Donate
+ Thank you for your donation!