GooglePlayServices.ResolverVer1_1.ShouldExplode C# (CSharp) Method

ShouldExplode() private method

Determined whether an aar file should be exploded (extracted). This is required for some aars so that the Unity Jar Resolver can perform variable expansion on manifests in the package before they're merged by aapt.
private ShouldExplode ( string aarFile ) : bool
aarFile string The aar file.
return bool
        internal virtual bool ShouldExplode(string aarFile)
        {
            AarExplodeData aarData = null;
            if (!aarExplodeData.TryGetValue(aarFile, out aarData)) aarData = new AarExplodeData();
            bool explode = !SupportsAarFiles;
            if (!explode)
            {
                System.DateTime modificationTime = File.GetLastWriteTime(aarFile);
                if (modificationTime.CompareTo(aarData.modificationTime) <= 0)
                {
                    explode = aarData.explode;
                }
            }
            if (!explode)
            {
                string temporaryDirectory = CreateTemporaryDirectory();
                if (temporaryDirectory == null) return false;
                string manifestFilename = "AndroidManifest.xml";
                try
                {
                    if (ExtractAar(aarFile, new string[] {manifestFilename},
                                   temporaryDirectory))
                    {
                        string manifestPath = Path.Combine(temporaryDirectory,
                                                           manifestFilename);
                        if (File.Exists(manifestPath))
                        {
                            string manifest = File.ReadAllText(manifestPath);
                            explode = manifest.IndexOf("${applicationId}") >= 0;
                        }
                        aarData.modificationTime = File.GetLastWriteTime(aarFile);
                    }
                }
                catch (System.Exception e)
                {
                    Debug.Log("Unable to examine AAR file " + aarFile + ", err: " + e);
                    throw e;
                }
                finally
                {
                    PlayServicesSupport.DeleteExistingFileOrDirectory(temporaryDirectory);
                }
            }
            aarData.explode = explode;
            aarExplodeData[aarFile] = aarData;
            return explode;
        }