]> git.saurik.com Git - android/aapt.git/commitdiff
resolved conflicts for merge of 87b3c0dc to honeycomb-plus-aosp
authorKenny Root <kroot@google.com>
Tue, 12 Apr 2011 17:27:15 +0000 (10:27 -0700)
committerKenny Root <kroot@google.com>
Tue, 12 Apr 2011 17:27:15 +0000 (10:27 -0700)
Change-Id: Ia1a0024aabf531438203eb9fea3a10dd15eabe53

1  2 
ResourceTable.cpp

diff --combined ResourceTable.cpp
index 533956620f0ba43b14c2c061593d3917cbabe352,6459d0e8b66352568699dc3e6d980c5c6955df99..6d5fcc257e78c267d68e6a61a9642dff05f560ad
@@@ -2444,7 -2444,7 +2444,7 @@@ ResourceTable::validateLocalizations(vo
          if (configSet.count(defaultLocale) == 0) {
              fprintf(stdout, "aapt: warning: string '%s' has no default translation in %s; found:",
                      String8(nameIter->first).string(), mBundle->getResourceSourceDirs()[0]);
 -            for (set<String8>::iterator locales = configSet.begin();
 +            for (set<String8>::const_iterator locales = configSet.begin();
                   locales != configSet.end();
                   locales++) {
                  fprintf(stdout, " %s", (*locales).string());
@@@ -2555,7 -2555,7 +2555,7 @@@ ResourceFilter::parse(const char* arg
  }
  
  bool
 -ResourceFilter::match(int axis, uint32_t value)
 +ResourceFilter::match(int axis, uint32_t value) const
  {
      if (value == 0) {
          // they didn't specify anything so take everything
  }
  
  bool
 -ResourceFilter::match(const ResTable_config& config)
 +ResourceFilter::match(const ResTable_config& config) const
  {
      if (config.locale) {
          uint32_t locale = (config.country[1] << 24) | (config.country[0] << 16)
@@@ -2624,8 -2624,6 +2624,8 @@@ status_t ResourceTable::flatten(Bundle
      const size_t N = mOrderedPackages.size();
      size_t pi;
  
 +    const static String16 mipmap16("mipmap");
 +
      bool useUTF8 = !bundle->getWantUTF16() && bundle->isMinSdkAtLeast(SDK_FROYO);
  
      // Iterate through all data, collecting all values (strings,
                  typeStrings.add(String16("<empty>"), false);
                  continue;
              }
 -            typeStrings.add(t->getName(), false);
 +            const String16 typeName(t->getName());
 +            typeStrings.add(typeName, false);
 +
 +            const bool filterable = (typeName != mipmap16);
  
              const size_t N = t->getOrderedConfigs().size();
              for (size_t ci=0; ci<N; ci++) {
                  const size_t N = c->getEntries().size();
                  for (size_t ei=0; ei<N; ei++) {
                      ConfigDescription config = c->getEntries().keyAt(ei);
 -                    if (!filter.match(config)) {
 +                    if (filterable && !filter.match(config)) {
                          continue;
                      }
                      sp<Entry> e = c->getEntries().valueAt(ei);
                                  "Type name %s not found",
                                  String8(typeName).string());
  
 +            const bool filterable = (typeName != mipmap16);
 +
              const size_t N = t != NULL ? t->getOrderedConfigs().size() : 0;
              
              // First write the typeSpec chunk, containing information about
                      (((uint8_t*)data->editData())
                          + typeSpecStart + sizeof(ResTable_typeSpec));
                  memset(typeSpecFlags, 0, sizeof(uint32_t)*N);
 -                        
 +
                  for (size_t ei=0; ei<N; ei++) {
                      sp<ConfigList> cl = t->getOrderedConfigs().itemAt(ei);
                      if (cl->getPublic()) {
                      }
                      const size_t CN = cl->getEntries().size();
                      for (size_t ci=0; ci<CN; ci++) {
 -                        if (!filter.match(cl->getEntries().keyAt(ci))) {
 +                        if (filterable && !filter.match(cl->getEntries().keyAt(ci))) {
                              continue;
                          }
                          for (size_t cj=ci+1; cj<CN; cj++) {
 -                            if (!filter.match(cl->getEntries().keyAt(cj))) {
 +                            if (filterable && !filter.match(cl->getEntries().keyAt(cj))) {
                                  continue;
                              }
                              typeSpecFlags[ei] |= htodl(
                        config.screenWidth,
                        config.screenHeight));
                        
 -                if (!filter.match(config)) {
 +                if (filterable && !filter.match(config)) {
                      continue;
                  }
                  
@@@ -3681,7 -3674,9 +3681,9 @@@ sp<ResourceTable::Package> ResourceTabl
  {
      sp<Package> p = mPackages.valueFor(package);
      if (p == NULL) {
-         if (mIsAppPackage) {
+         if (mBundle->getIsOverlayPackage()) {
+             p = new Package(package, 0x00);
+         } else if (mIsAppPackage) {
              if (mHaveAppPackage) {
                  fprintf(stderr, "Adding multiple application package resources; only one is allowed.\n"
                                  "Use -x to create extended resources.\n");