summaryrefslogtreecommitdiff
path: root/hooks/after_prepare/030_android_manifest.js
blob: c55903760289a4154ea8235b7a0edbb4e878bb6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env node

var fs    = require('fs');
var async = require('async');
var exec  = require('child_process').exec;
var path  = require('path');

var root = process.argv[2];
var androidManifest = path.join(root, 'platforms/android/AndroidManifest.xml');
fs.exists(path.join(root, 'platforms/android'), function(exists) {
    if(!exists) return;
    fs.readFile(androidManifest, 'utf8', function(err, data) {
        if(err) throw err;

        var lines = data.split('\n');
        var searchingFor = '<application android:hardwareAccelerated="true"';
        var newManifest = [];
        var largeHeap = 'android:largeHeap="true"';
        lines.forEach(function(line) {
            if(line.trim().indexOf(searchingFor) != -1 && line.trim().indexOf(largeHeap) == -1) {
                newManifest.push(line.replace(/\>$/, ' ') + largeHeap + ">");
            } else {
                newManifest.push(line);
            }
        });

        fs.writeFileSync(androidManifest, newManifest.join('\n'));
    });
});