Add Android basic support

This commit is contained in:
李通洲
2021-10-20 06:04:55 +00:00
parent fd257ddde9
commit 1a5b1428dc
5 changed files with 47 additions and 18 deletions
+21 -12
View File
@@ -18,18 +18,6 @@ const FFOSResult* ffDetectOS(FFinstance* instance)
}
init = true;
FILE* osRelease = fopen("/etc/os-release", "r");
if(osRelease == NULL)
osRelease = fopen("/usr/lib/os-release", "r");
ffStrbufInitA(&result.error, 64);
if(osRelease == NULL)
{
ffStrbufAppendS(&result.error, "couldn't read /etc/os-release nor /usr/lib/os-release");
return &result;
}
ffStrbufInit(&result.systemName);
ffStrbufInit(&result.name);
ffStrbufInit(&result.prettyName);
@@ -47,6 +35,19 @@ const FFOSResult* ffDetectOS(FFinstance* instance)
ffStrbufSetS(&result.systemName, instance->state.utsname.sysname);
ffStrbufSetS(&result.architecture, instance->state.utsname.machine);
#if !__ANDROID__
FILE* osRelease = fopen("/etc/os-release", "r");
if(osRelease == NULL)
osRelease = fopen("/usr/lib/os-release", "r");
ffStrbufInitA(&result.error, 64);
if(osRelease == NULL)
{
ffStrbufAppendS(&result.error, "couldn't read /etc/os-release nor /usr/lib/os-release");
return &result;
}
char* line = NULL;
size_t len = 0;
@@ -70,6 +71,14 @@ const FFOSResult* ffDetectOS(FFinstance* instance)
free(line);
fclose(osRelease);
#else
ffStrbufSetS(&result.name, "Android");
ffStrbufSetS(&result.id, "android");
ffSettingsGetAndroidProperty("ro.build.version.release", &result.versionID);
ffSettingsGetAndroidProperty("ro.build.version.sdk", &result.version);
ffSettingsGetAndroidProperty("ro.build.version.codename", &result.codename);
ffSettingsGetAndroidProperty("ro.build.display.id", &result.buildID);
#endif
pthread_mutex_unlock(&mutex);