// CFTTAndroidDevice - [2020-04-13 11:57:46]
#ifndef _CFTTANDROIDDEVICE_H_
#define _CFTTANDROIDDEVICE_H_

#include "common.h"

/*
0026B324 CFTTAndroidDevice::DeviceRooted()
0026B3A4 CFTTAndroidDevice::IsStoreVersion()
0026B3FC CFTTAndroidDevice::GetDeviceID(wchar_t *,uint,bool)
0026B4B4 CFTTAndroidDevice::GetDeviceName(wchar_t *,uint)
0026B55C CFTTAndroidDevice::GetBatteryLevel()
0026B5B0 CFTTAndroidDevice::GetPowerSaveMode()
0026B608 CFTTAndroidDevice::GetSDKVersion()
0026B670 CFTTAndroidDevice::SetupSustainedPerfMode(bool,int,int)
0026B71C CFTTAndroidDevice::ProcessSustainedPerfMode(bool)
0026B7A8 CFTTAndroidDevice::UpdateTimeDelayState()
0026B95C CFTTAndroidDevice::GetPackageName(wchar_t *,uint)
0026B9E8 CFTTAndroidDevice::GetDeviceType(char *,uint,bool)
0026BA80 CFTTAndroidDevice::GetDeviceType(wchar_t *,uint,bool)
*/

enum EDeviceRoot {
  EDeviceRoot_0,
  EDeviceRoot_1,
  EDeviceRoot_2,
  EDeviceRoot_3,
  EDeviceRoot_4,
  EDeviceRoot_5,
};

class CFTTAndroidDevice {
public:
  static bool DeviceRooted();                                            // 0026B324
  static bool IsStoreVersion();                                          // 0026B3A4
  static bool GetDeviceID(wchar_t *pWBuf, uint len, bool isGAID);        // 0026B3FC
  static bool GetDeviceName(wchar_t *, uint);                            // 0026B4B4
  static float GetBatteryLevel();                                        // 0026B55C
  static bool GetPowerSaveMode();                                        // 0026B5B0
  static int GetSDKVersion();                                            // 0026B608
  static void SetupSustainedPerfMode(bool, int, int);                    // 0026B670
  static void ProcessSustainedPerfMode(bool);                            // 0026B670
  static void UpdateTimeDelayState();                                    // 0026B7A8
  static int GetPackageName(wchar_t *, uint);                            // 0026B95C
  static void GetDeviceType(char *pbuf, uint len, bool isTypeAndOS);     // 0026B9E8
  static void GetDeviceType(wchar_t *pwbuf, int len, bool isTypeAndOS);  // 0026BA80

  static EDeviceRoot ms_eDeviceRooted;
  static int ms_iSPOnDelaySecs;
  static int ms_iSPOffDelaySecs;
  static bool ms_bSPTimeDelayState;
  static bool ms_bSPGameplayOnly;
  static int64 ms_iSPTimer;
  static int64 ms_iSPSystemTimeLast;  // 005CDFA8
  static uint ms_uSPUpTimeLast;
  static bool ms_bSPCurrentState;
};

#endif  //_CFTTANDROIDDEVICE_H_