Android: Replace log type names map with array

Storing the log type names in a map results in them getting re-sorted by
their keys, which doesn't quite give us the sorting we want. In
particular, the Achievements category ended up being sorted at R (for
RetroAchivements) instead of at A. Every use of the map is just
iterating through it, so there's no real reason why it has to be a map
anyway.
This commit is contained in:
JosJuice
2024-06-15 20:02:10 +02:00
parent 04c246d11f
commit ea7928b3cd
7 changed files with 49 additions and 57 deletions

View File

@ -5,8 +5,8 @@
#include <array>
#include <cstdarg>
#include <map>
#include <string>
#include <vector>
#include "Common/BitSet.h"
#include "Common/EnumMap.h"
@ -34,6 +34,13 @@ public:
class LogManager
{
public:
struct LogContainer
{
const char* m_short_name;
const char* m_full_name;
bool m_enable = false;
};
static LogManager* GetInstance();
static void Init();
static void Shutdown();
@ -48,7 +55,7 @@ public:
void SetEnable(LogType type, bool enable);
bool IsEnabled(LogType type, LogLevel level = LogLevel::LNOTICE) const;
std::map<std::string, std::string> GetLogTypes();
std::vector<LogContainer> GetLogTypes();
const char* GetShortName(LogType type) const;
const char* GetFullName(LogType type) const;
@ -60,13 +67,6 @@ public:
void SaveSettings();
private:
struct LogContainer
{
const char* m_short_name;
const char* m_full_name;
bool m_enable = false;
};
LogManager();
~LogManager();