53 lines
2.1 KiB
C#
53 lines
2.1 KiB
C#
/*******************************************************************************
|
||
Copyright © 2015-2022 PICO Technology Co., Ltd.All rights reserved.
|
||
|
||
NOTICE:All information contained herein is, and remains the property of
|
||
PICO Technology Co., Ltd. The intellectual and technical concepts
|
||
contained herein are proprietary to PICO Technology Co., Ltd. and may be
|
||
covered by patents, patents in process, and are protected by trade secret or
|
||
copyright law. Dissemination of this information or reproduction of this
|
||
material is strictly forbidden unless prior written permission is obtained from
|
||
PICO Technology Co., Ltd.
|
||
*******************************************************************************/
|
||
|
||
using System.IO;
|
||
using System.Xml;
|
||
using UnityEditor.Android;
|
||
using UnityEngine;
|
||
|
||
namespace Pico.Platform.Editor
|
||
{
|
||
public class PlatformManifestRewrite : IPostGenerateGradleAndroidProject
|
||
{
|
||
public int callbackOrder => 9999;
|
||
|
||
public void OnPostGenerateGradleAndroidProject(string path)
|
||
{
|
||
var appId = PicoGs.appId;
|
||
if (string.IsNullOrWhiteSpace(appId))
|
||
{
|
||
Debug.Log("appId is ignored");
|
||
return;
|
||
}
|
||
|
||
XmlDocument doc = new XmlDocument();
|
||
const string androidUri = "http://schemas.android.com/apk/res/android";
|
||
var manifestPath = Path.Combine(path, "src/main/AndroidManifest.xml");
|
||
doc.Load(manifestPath);
|
||
var app = doc.SelectSingleNode("//application");
|
||
if (app == null) return;
|
||
|
||
var appIdNode = doc.CreateElement("meta-data");
|
||
appIdNode.SetAttribute("name", androidUri, "pvr.app.id");
|
||
appIdNode.SetAttribute("value", androidUri, appId);
|
||
app.AppendChild(appIdNode);
|
||
|
||
var highlightNode = doc.CreateElement("meta-data");
|
||
highlightNode.SetAttribute("name", androidUri, "use_record_highlight_feature");
|
||
highlightNode.SetAttribute("value", androidUri, PicoGs.useHighlight.ToString());
|
||
app.AppendChild(highlightNode);
|
||
|
||
doc.Save(manifestPath);
|
||
}
|
||
}
|
||
} |