static int is_plugin_blacklisted(const char *id, const char *version, rstr_t **reason) { char tmp[512]; int verint = parse_version_int(version); if(!strcmp(id, "custombg")) { if(reason != NULL) { *reason = _("Custom backgrounds can now be set in Settings -> Look and Feel"); } return 1; } for(int i = 0; i < ARRAYSIZE(blacklist); i++) { if(strcmp(id, blacklist[i].id)) continue; if(verint >= blacklist[i].version) continue; if(reason != NULL) { rstr_t *f = _("Version %s is no longer compatible with Movian"); snprintf(tmp, sizeof(tmp), rstr_get(f), version); rstr_release(f); *reason = rstr_alloc(tmp); } return 1; } return 0; }
static void update_state(plugin_t *pl) { int canInstall = 0; int canUninstall = 0; int canUpgrade = 0; int cantUpgrade = 0; rstr_t *status = NULL; int version_dep_ok = pl->pl_app_min_version == NULL || parse_version_int(pl->pl_app_min_version) <= app_get_version_int(); prop_set(pl->pl_status, "minver", PROP_SET_VOID); pl->pl_new_version_avail = 0; if(pl->pl_installed == 0) { if(!version_dep_ok) { status = _("Not installable"); prop_set(pl->pl_status, "minver", PROP_SET_STRING, pl->pl_app_min_version); } else { status = _("Not installed"); canInstall = 1; } } else if(!strcmp(pl->pl_inst_ver ?: "", pl->pl_repo_ver ?: "")) { status = _("Up to date"); canUninstall = 1; } else {
uint32_t app_get_version_int(void) { return parse_version_int(BUILD_VERSION); }