PRC apps from different markets usually have different package names.
This change tries to match them by patterns.
To test it, install the Implosion apps from Wandoujia and CoolMarket
and run them OK.
#include <androidfw/ZipFileRO.h>
#include <androidfw/ZipUtils.h>
#include <androidfw/ZipFileRO.h>
#include <androidfw/ZipUtils.h>
namespace android {
#define ARR_SIZE(x) (sizeof(x)/sizeof(x[0]))
namespace android {
#define ARR_SIZE(x) (sizeof(x)/sizeof(x[0]))
Vector<char*>::iterator it = cfgWhite.begin();
for (; it != cfgWhite.end(); it++) {
P_LOG("whitelist : %s", *it);
Vector<char*>::iterator it = cfgWhite.begin();
for (; it != cfgWhite.end(); it++) {
P_LOG("whitelist : %s", *it);
- if (0 == strcmp(pkgName, *it)) {
- ALOGI("found %s in whitelist", pkgName);
+ if (0 == fnmatch(*it, pkgName, 0)) {
+ ALOGI("whitelist %s by %s", pkgName, *it);
Vector<char*>::iterator it = cfgBlack.begin();
for (; it != cfgBlack.end(); it++) {
Vector<char*>::iterator it = cfgBlack.begin();
for (; it != cfgBlack.end(); it++) {
- if (0 == strcmp(pkgName, *it)) {
- ALOGI("found %s in blacklist", pkgName);
+ if (0 == fnmatch(*it, pkgName, 0)) {
+ ALOGI("blacklist %s by %s", pkgName, *it);