Skip to content

Commit

Permalink
Fix custom apps wasn't being checked properly. Ref #41
Browse files Browse the repository at this point in the history
  • Loading branch information
javiersantos committed Feb 25, 2018
1 parent 5f0f190 commit c324a2e
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import android.support.v7.app.AlertDialog;
import android.util.Base64;

import com.github.javiersantos.piracychecker.enums.AppType;
import com.github.javiersantos.piracychecker.enums.InstallerID;
import com.github.javiersantos.piracychecker.enums.PirateApp;

Expand Down Expand Up @@ -89,7 +90,7 @@ static PirateApp getPirateApp(Context context, boolean lpf, boolean stores, bool
ArrayList<PirateApp> extraApps) {
if (!lpf && !stores) return null;
for (PirateApp app : getApps(extraApps)) {
if ((lpf && app.isUnauthorized()) || (stores && !app.isUnauthorized())) {
if ((lpf && app.getType() == AppType.PIRATE) || (stores && app.getType() == AppType.STORE) || app.getType() == AppType.OTHER) {
String pack = app.getPackage();
PackageManager pm = context.getPackageManager();
try {
Expand Down Expand Up @@ -263,88 +264,109 @@ private static ArrayList<PirateApp> getApps(ArrayList<PirateApp> extraApps) {
ArrayList<PirateApp> apps = new ArrayList<>();
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "c", "h", "e",
"l", "p", "u", "s", ".", "l", "a", "c",
"k", "y", "p", "a", "t", "c", "h"}));
"k", "y", "p", "a", "t", "c", "h"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "d", "i", "m",
"o", "n", "v", "i", "d", "e", "o", ".",
"l", "u", "c", "k", "y", "p", "a", "t",
"c", "h", "e", "r"}));
"c", "h", "e", "r"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "f", "o", "r",
"p", "d", "a", ".", "l", "p"}));
"p", "d", "a", ".", "l", "p"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "a", "n", "d",
"r", "o", "i", "d", ".", "v", "e", "n",
"d", "i", "n", "g", ".", "b", "i", "l",
"l", "i", "n", "g", ".", "I", "n", "A",
"p", "p", "B", "i", "l", "l", "i", "n",
"g", "S", "e", "r", "v", "i", "c", "e",
".", "L", "U", "C", "K"}));
".", "L", "U", "C", "K"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "a", "n", "d",
"r", "o", "i", "d", ".", "v", "e", "n",
"d", "i", "n", "g", ".", "b", "i", "l",
"l", "i", "n", "g", ".", "I", "n", "A",
"p", "p", "B", "i", "l", "l", "i", "n",
"g", "S", "e", "r", "v", "i", "c", "e",
".", "L", "O", "C", "K"}));
".", "L", "O", "C", "K"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "a", "n", "d",
"r", "o", "i", "d", ".", "v", "e", "n",
"d", "i", "n", "g", ".", "b", "i", "l",
"l", "i", "n", "g", ".", "I", "n", "A",
"p", "p", "B", "i", "l", "l", "i", "n",
"g", "S", "e", "r", "v", "i", "c", "e",
".", "L", "A", "C", "K"}));
".", "L", "A", "C", "K"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "a", "n", "d",
"r", "o", "i", "d", ".", "v", "e", "n",
"d", "i", "n", "g", ".", "b", "i", "l",
"l", "i", "n", "g", ".", "I", "n", "A",
"p", "p", "B", "i", "l", "l", "i", "n",
"g", "S", "e", "r", "v", "i", "c", "e",
".", "C", "L", "O", "N"}));
".", "C", "L", "O", "N"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "a", "n", "d",
"r", "o", "i", "d", ".", "v", "e", "n",
"d", "i", "n", "g", ".", "b", "i", "l",
"l", "i", "n", "g", ".", "I", "n", "A",
"p", "p", "B", "i", "l", "l", "i", "n",
"g", "S", "e", "r", "v", "i", "c", "e",
".", "C", "R", "A", "C"}));
".", "C", "R", "A", "C"},
AppType.PIRATE));
apps.add(new PirateApp("Lucky Patcher", new String[]{"c", "o", "m", ".", "a", "n", "d",
"r", "o", "i", "d", ".", "v", "e", "n",
"d", "i", "n", "g", ".", "b", "i", "l",
"l", "i", "n", "g", ".", "I", "n", "A",
"p", "p", "B", "i", "l", "l", "i", "n",
"g", "S", "e", "r", "v", "i", "c", "e",
".", "C", "O", "I", "N"}));
".", "C", "O", "I", "N"},
AppType.PIRATE));
apps.add(new PirateApp("Uret Patcher", new String[]{"u", "r", "e", "t", ".", "j", "a",
"s", "i", "2", "1", "6", "9", ".", "p",
"a", "t", "c", "h", "e", "r"}));
"a", "t", "c", "h", "e", "r"},
AppType.PIRATE));
apps.add(new PirateApp("Freedom", new String[]{"c", "c", ".", "m", "a", "d", "k", "i",
"t", "e", ".", "f", "r", "e", "e", "d", "o",
"m"}));
"m"},
AppType.PIRATE));
apps.add(new PirateApp("Freedom", new String[]{"c", "c", ".", "c", "z", ".", "m", "a",
"d", "k", "i", "t", "e", ".", "f", "r", "e",
"e", "d", "o", "m"}));
"e", "d", "o", "m"},
AppType.PIRATE));
apps.add(new PirateApp("CreeHack", new String[]{"o", "r", "g", ".", "c", "r", "e", "e",
"p", "l", "a", "y", "s", ".", "h", "a", "c",
"k"}));
"k"},
AppType.PIRATE));
apps.add(new PirateApp("Aptoide", new String[]{"c", "m", ".", "a", "p", "t", "o", "i",
"d", "e", ".", "p", "t"}));
"d", "e", ".", "p", "t"},
AppType.STORE));
apps.add(new PirateApp("BlackMart", new String[]{"o", "r", "g", ".", "b", "l", "a", "c",
"k", "m", "a", "r", "t", ".", "m", "a",
"r", "k", "e", "t"}));
"r", "k", "e", "t"},
AppType.STORE));
apps.add(new PirateApp("Mobogenie", new String[]{"c", "o", "m", ".", "m", "o", "b", "o",
"g", "e", "n", "i", "e"}));
"g", "e", "n", "i", "e"},
AppType.STORE));
apps.add(new PirateApp("1Mobile", new String[]{"m", "e", ".", "o", "n", "e", "m", "o",
"b", "i", "l", "e", ".", "a", "n", "d", "r",
"o", "i", "d"}));
"o", "i", "d"},
AppType.STORE));
apps.add(new PirateApp("GetApk", new String[]{"c", "o", "m", ".", "r", "e", "p", "o",
"d", "r", "o", "i", "d", ".", "a", "p",
"p"}));
"p"},
AppType.STORE));
apps.add(new PirateApp("GetJar", new String[]{"c", "o", "m", ".", "g", "e", "t", "j",
"a", "r", ".", "r", "e", "w", "a", "r", "d",
"s"}));
"s"},
AppType.STORE));
apps.add(new PirateApp("SlideMe", new String[]{"c", "o", "m", ".", "s", "l", "i", "d",
"e", "m", "e", ".", "s", "a", "m", ".", "m",
"a", "n", "a", "g", "e", "r"}));
"a", "n", "a", "g", "e", "r"},
AppType.STORE));
apps.add(new PirateApp("ACMarket", new String[]{"n", "e", "t", ".", "a", "p", "p", "c",
"a", "k", "e"}));
"a", "k", "e"},
AppType.STORE));
apps.addAll(extraApps);
return apps;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import com.github.javiersantos.licensing.LibraryCheckerCallback;
import com.github.javiersantos.licensing.ServerManagedPolicy;
import com.github.javiersantos.piracychecker.activities.LicenseActivity;
import com.github.javiersantos.piracychecker.enums.AppType;
import com.github.javiersantos.piracychecker.enums.Display;
import com.github.javiersantos.piracychecker.enums.InstallerID;
import com.github.javiersantos.piracychecker.enums.PiracyCheckerCallback;
Expand Down Expand Up @@ -387,9 +388,9 @@ private void doExtraVerification(PiracyCheckerCallback verifyCallback,
} else if (app != null) {
if (preferences != null && saveToSharedPreferences)
preferences.edit().putBoolean(preferenceSaveResult, false).apply();
if (preferences != null && blockUnauthorized && app.isUnauthorized())
if (preferences != null && blockUnauthorized && app.getType() == AppType.PIRATE)
preferences.edit().putBoolean(preferenceBlockUnauthorized, true).apply();
verifyCallback.dontAllow(app.isUnauthorized()
verifyCallback.dontAllow(app.getType() == AppType.PIRATE
? PiracyCheckerError.PIRATE_APP_INSTALLED
: PiracyCheckerError.THIRD_PARTY_STORE_INSTALLED, app);
} else {
Expand All @@ -401,9 +402,9 @@ private void doExtraVerification(PiracyCheckerCallback verifyCallback,
if (app != null) {
if (preferences != null && saveToSharedPreferences)
preferences.edit().putBoolean(preferenceSaveResult, false).apply();
if (preferences != null && blockUnauthorized && app.isUnauthorized())
if (preferences != null && blockUnauthorized && app.getType() == AppType.PIRATE)
preferences.edit().putBoolean(preferenceBlockUnauthorized, true).apply();
verifyCallback.dontAllow(app.isUnauthorized()
verifyCallback.dontAllow(app.getType() == AppType.PIRATE
? PiracyCheckerError.PIRATE_APP_INSTALLED
: PiracyCheckerError.THIRD_PARTY_STORE_INSTALLED, app);
} else {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.github.javiersantos.piracychecker.enums;

public enum AppType {
PIRATE,
STORE,
OTHER
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,22 @@
public class PirateApp {
private String name;
private String[] pack;
private AppType type;

public PirateApp(@NonNull String name, @NonNull String[] pack) {
public PirateApp(@NonNull String name, @NonNull String[] pack, @NonNull AppType type) {
this.name = name;
this.pack = pack;
this.type = type;
}

public PirateApp(@NonNull String name, @NonNull String appPackage) {
public PirateApp(@NonNull String name, @NonNull String appPackage, @NonNull AppType type) {
this.name = name;
this.pack = TextUtils.split(appPackage, "");
this.type = type;
}

public PirateApp(@NonNull String name, @NonNull String appPackage) {
this(name, appPackage, AppType.OTHER);
}

public String getName() {
Expand All @@ -34,8 +41,7 @@ public String getPackage() {
return sb.toString();
}

public boolean isUnauthorized() {
return (name.equalsIgnoreCase("Lucky Patcher") || name.equalsIgnoreCase("Freedom") ||
name.equalsIgnoreCase("Uret Patcher") || name.equalsIgnoreCase("CreeHack"));
public AppType getType() {
return type;
}
}

0 comments on commit c324a2e

Please sign in to comment.