Change summary
build.gradle | 1
src/cheogram/java/eu/siacs/conversations/ui/WelcomeActivity.java | 1
src/conversationsPlaystore/java/com/cheogram/android/CheogramLicenseChecker.java | 38
src/conversationsPlaystore/res/values/strings.xml | 1
src/free/java/com/cheogram/android/CheogramLicenseChecker.java | 12
5 files changed, 53 insertions(+)
Detailed changes
@@ -55,6 +55,7 @@ dependencies {
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}
cheogramPlaystoreImplementation("com.android.installreferrer:installreferrer:2.2")
+ cheogramPlaystoreImplementation 'com.github.singpolyma:play-licensing:1c637ea03c'
conversationsPlaystoreImplementation("com.android.installreferrer:installreferrer:2.2")
quicksyPlaystoreImplementation 'com.google.android.gms:play-services-auth-api-phone:18.0.1'
implementation 'org.sufficientlysecure:openpgp-api:10.0'
@@ -115,6 +115,7 @@ public class WelcomeActivity extends XmppActivity implements XmppConnectionServi
@Override
protected void onCreate(final Bundle savedInstanceState) {
+ new com.cheogram.android.CheogramLicenseChecker(this).checkLicense();
if (getResources().getBoolean(R.bool.portrait_only)) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
@@ -0,0 +1,38 @@
+package com.cheogram.android;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings.Secure;
+import android.util.Log;
+
+import com.google.android.vending.licensing.*;
+
+import eu.siacs.conversations.R;
+
+public class CheogramLicenseChecker implements LicenseCheckerCallback {
+ private final LicenseChecker mChecker;
+
+ public CheogramLicenseChecker(Context context) {
+ mChecker = new LicenseChecker(context, new StrictPolicy(), context.getResources().getString(R.string.licensePublicKey));
+ }
+
+ public void checkLicense() {
+ mChecker.checkAccess(this);
+ }
+
+ @Override
+ public void dontAllow(int reason) {
+ Log.d("CheogramLicenseChecker", "dontAllow: " + reason);
+ }
+
+ @Override
+ public void applicationError(int errorCode) {
+ Log.d("CheogramLicenseChecker", "applicationError: " + errorCode);
+ }
+
+ @Override
+ public void allow(int reason, ResponseData data, String signedData, String signature) {
+ Log.d("CheogramLicenseChecker", "" + reason + " / " + data + " / " + signedData + " / " + signature);
+ }
+}
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="applicationId">com.cheogram.android.playstore</string>
+ <string name="licensePublicKey">MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlcl4jV0uqcCD9EX8RS2FuxtkZIrAyQhBHFWWaYXH+Fdh2KO6bykD0sabYxAtKDquSagkQKgiDsj7lKdk01tI+3prGI1D96ml7bzRmGt82PltR1e7sE9FTfhzn2+6zWOcsabZEgCZRBBIY2TUZtWlagJE7aJncS/sERjdaiRkDqDnCqsBjLvRcfEEnc3KJjhQicv4GTau5wJnXWQcgz5FPe2j0sIQjbzHrSHn0omKV9ObwxDYn5JPfBV/0nePLUFrkONrRsNy7311aVJOj4Hqd4y74vRjdBV9hI+PLJ9R+y4p1nhV1F3Ih/VAsw5pDECpe/sKput/lpIsxnn/W3DKvQIDAQAB</string>
</resources>
@@ -0,0 +1,12 @@
+package com.cheogram.android;
+
+import android.content.Context;
+import android.util.Log;
+
+public class CheogramLicenseChecker {
+ public CheogramLicenseChecker(Context context) { }
+
+ public void checkLicense() {
+ Log.d("CheogramLicenseChecker", "skipping license checks in free build");
+ }
+}