2 * Copyright (C) 2012-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "AndroidAppDirectory.h"
11 #include "CompileInfo.h"
14 #include "filesystem/File.h"
15 #include "utils/StringUtils.h"
16 #include "utils/URIUtils.h"
17 #include "utils/log.h"
19 #include "platform/android/activity/XBMCApp.h"
23 using namespace XFILE
;
25 bool CAndroidAppDirectory::GetDirectory(const CURL
& url
, CFileItemList
&items
)
27 std::string dirname
= url
.GetFileName();
28 URIUtils::RemoveSlashAtEnd(dirname
);
29 CLog::Log(LOGDEBUG
, "CAndroidAppDirectory::GetDirectory: {}", dirname
);
30 std::string appName
= CCompileInfo::GetAppName();
31 StringUtils::ToLower(appName
);
32 std::string className
= CCompileInfo::GetPackage();
34 if (dirname
== "apps")
36 const std::vector
<androidPackage
> applications
= CXBMCApp::Get().GetApplications();
37 if (applications
.empty())
39 CLog::Log(LOGERROR
, "CAndroidAppDirectory::GetDirectory Application lookup listing failed");
42 for (auto& i
: applications
)
44 if (i
.packageName
== className
.c_str())
46 CFileItemPtr
pItem(new CFileItem(i
.packageName
));
47 pItem
->m_bIsFolder
= false;
49 StringUtils::Format("androidapp://{}/{}/{}", url
.GetHostName(), dirname
, i
.packageName
);
51 pItem
->SetLabel(i
.packageLabel
);
52 pItem
->SetArt("thumb", path
+".png");
53 pItem
->m_dwSize
= -1; // No size
59 CLog::Log(LOGERROR
, "CAndroidAppDirectory::GetDirectory Failed to open {}", url
.Get());