2022-09-04 12:43:30 +02:00
|
|
|
#include "host.h"
|
2022-09-04 13:33:18 +02:00
|
|
|
#include "common/settings.h"
|
2022-09-04 12:43:30 +02:00
|
|
|
#include <ctype.h>
|
|
|
|
|
|
2024-01-06 10:43:51 +08:00
|
|
|
const char* ffDetectHost(FFHostResult* host)
|
2022-09-04 12:43:30 +02:00
|
|
|
{
|
2023-07-27 19:23:27 +08:00
|
|
|
// http://newandroidbook.com/ddb/
|
2024-01-05 20:38:29 +08:00
|
|
|
ffSettingsGetAndroidProperty("ro.product.device", &host->family);
|
2022-09-04 12:43:30 +02:00
|
|
|
|
2024-01-05 20:38:29 +08:00
|
|
|
ffSettingsGetAndroidProperty("ro.product.marketname", &host->name)
|
|
|
|
|
|| ffSettingsGetAndroidProperty("ro.vendor.product.display", &host->name)
|
2024-11-13 15:53:14 +08:00
|
|
|
|| ffSettingsGetAndroidProperty("ro.vivo.market.name", &host->name)
|
|
|
|
|
|| ffSettingsGetAndroidProperty("ro.product.oppo_model", &host->name)
|
|
|
|
|
|| ffSettingsGetAndroidProperty("ro.oppo.market.name", &host->name)
|
2024-01-05 20:38:29 +08:00
|
|
|
|| ffSettingsGetAndroidProperty("ro.config.devicename", &host->name)
|
|
|
|
|
|| ffSettingsGetAndroidProperty("ro.config.marketing_name", &host->name)
|
|
|
|
|
|| ffSettingsGetAndroidProperty("ro.product.vendor.model", &host->name)
|
|
|
|
|
|| ffSettingsGetAndroidProperty("ro.product.brand", &host->name);
|
2023-07-27 19:23:27 +08:00
|
|
|
|
2024-01-05 20:38:29 +08:00
|
|
|
if (ffSettingsGetAndroidProperty("ro.product.model", &host->version))
|
2023-06-12 22:53:12 +08:00
|
|
|
{
|
2024-01-05 20:38:29 +08:00
|
|
|
if (ffStrbufStartsWithIgnCase(&host->version, &host->name))
|
2023-07-27 19:23:27 +08:00
|
|
|
{
|
2024-01-05 20:38:29 +08:00
|
|
|
ffStrbufSubstrAfter(&host->version, host->name.length);
|
|
|
|
|
ffStrbufTrimLeft(&host->version, ' ');
|
2023-07-27 19:23:27 +08:00
|
|
|
}
|
2022-09-04 12:43:30 +02:00
|
|
|
}
|
|
|
|
|
|
2024-01-05 20:38:29 +08:00
|
|
|
ffSettingsGetAndroidProperty("ro.product.manufacturer", &host->vendor);
|
2022-09-04 12:43:30 +02:00
|
|
|
|
2024-01-05 20:38:29 +08:00
|
|
|
if(host->vendor.length && !ffStrbufStartsWithIgnCase(&host->name, &host->vendor))
|
2023-07-27 19:23:27 +08:00
|
|
|
{
|
2024-01-05 20:38:29 +08:00
|
|
|
ffStrbufPrependS(&host->name, " ");
|
|
|
|
|
ffStrbufPrepend(&host->name, &host->vendor);
|
2023-07-27 19:23:27 +08:00
|
|
|
}
|
|
|
|
|
|
2023-06-12 22:53:12 +08:00
|
|
|
return NULL;
|
2022-09-04 12:43:30 +02:00
|
|
|
}
|