+#include <msp/core/algorithm.h>
#include <msp/fs/utils.h>
#include <msp/strings/format.h>
#include "androidapplicationcomponent.h"
using namespace std;
using namespace Msp;
-AndroidApplicationComponent::AndroidApplicationComponent(SourcePackage &p, const string &n):
- Component(p, n)
-{ }
-
void AndroidApplicationComponent::create_targets() const
{
Builder &builder = package.get_builder();
BuildGraph &build_graph = builder.get_build_graph();
- list<Target *> contents;
+ vector<Target *> contents;
for(const auto &kvp: build_graph.get_targets())
if(kvp.second->get_package()==&package)
if(InstalledFile *inst = dynamic_cast<InstalledFile *>(kvp.second))
for(const string &p: permissions)
manifest->add_permission(p);
- list<Target *> resource_sources;
+ vector<Target *> resource_sources;
resource_sources.push_back(manifest);
const Toolchain &toolchain = builder.get_toolchain();
Tool &aapt = toolchain.get_tool("AAPT");
Target *resource_bundle = aapt.create_target(resource_sources);
- list<Target *> apk_sources;
+ vector<Target *> apk_sources;
+ apk_sources.reserve(1+contents.size());
apk_sources.push_back(resource_bundle);
const Architecture &arch = package.get_builder().get_current_arch();
void AndroidApplicationComponent::Loader::permission(const string &perm)
{
- obj.permissions.insert(perm);
+ if(!any_equals(obj.permissions, perm))
+ obj.permissions.push_back(perm);
}