Snap for 4818218 from 92824456bd to qt-release
Change-Id: I65b6e71ec4cd1664f2659791fe58d10d9d26d978
This commit is contained in:
+12
-3
@@ -51,12 +51,21 @@ const GRFont* gr_sys_font() {
|
||||
}
|
||||
|
||||
int gr_measure(const GRFont* font, const char* s) {
|
||||
if (font == nullptr) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return font->char_width * strlen(s);
|
||||
}
|
||||
|
||||
void gr_font_size(const GRFont* font, int* x, int* y) {
|
||||
int gr_font_size(const GRFont* font, int* x, int* y) {
|
||||
if (font == nullptr) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*x = font->char_width;
|
||||
*y = font->char_height;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Blends gr_current onto pix value, assumes alpha as most significant byte.
|
||||
@@ -319,8 +328,8 @@ void gr_flip() {
|
||||
int gr_init() {
|
||||
int ret = gr_init_font("font", &gr_font);
|
||||
if (ret != 0) {
|
||||
printf("Failed to init font: %d\n", ret);
|
||||
return -1;
|
||||
printf("Failed to init font: %d, continuing graphic backend initialization without font file\n",
|
||||
ret);
|
||||
}
|
||||
|
||||
auto backend = std::unique_ptr<MinuiBackend>{ std::make_unique<MinuiBackendAdf>() };
|
||||
|
||||
@@ -66,8 +66,10 @@ void gr_texticon(int x, int y, GRSurface* icon);
|
||||
const GRFont* gr_sys_font();
|
||||
int gr_init_font(const char* name, GRFont** dest);
|
||||
void gr_text(const GRFont* font, int x, int y, const char* s, bool bold);
|
||||
// Return -1 if font is nullptr.
|
||||
int gr_measure(const GRFont* font, const char* s);
|
||||
void gr_font_size(const GRFont* font, int* x, int* y);
|
||||
// Return -1 if font is nullptr.
|
||||
int gr_font_size(const GRFont* font, int* x, int* y);
|
||||
|
||||
void gr_blit(GRSurface* source, int sx, int sy, int w, int h, int dx, int dy);
|
||||
unsigned int gr_get_width(GRSurface* surface);
|
||||
|
||||
@@ -64,6 +64,9 @@ public class UpdateManager {
|
||||
|
||||
private AtomicBoolean mManualSwitchSlotRequired = new AtomicBoolean(true);
|
||||
|
||||
/** Validate state only once when app binds to UpdateEngine. */
|
||||
private AtomicBoolean mStateValidityEnsured = new AtomicBoolean(false);
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private UpdateData mLastUpdateData = null;
|
||||
|
||||
@@ -90,6 +93,7 @@ public class UpdateManager {
|
||||
* Binds to {@link UpdateEngine}.
|
||||
*/
|
||||
public void bind() {
|
||||
mStateValidityEnsured.set(false);
|
||||
this.mUpdateEngine.bind(mUpdateEngineCallback);
|
||||
}
|
||||
|
||||
@@ -468,7 +472,10 @@ public class UpdateManager {
|
||||
mUpdateEngineStatus.set(status);
|
||||
mProgress.set(progress);
|
||||
|
||||
ensureCorrectUpdaterState();
|
||||
if (!mStateValidityEnsured.getAndSet(true)) {
|
||||
// We ensure correct state once only when sample app is bound to UpdateEngine.
|
||||
ensureCorrectUpdaterState();
|
||||
}
|
||||
|
||||
getOnProgressUpdateCallback().ifPresent(callback -> callback.accept(progress));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user