зеркало из https://github.com/mozilla/gecko-dev.git
Bug 737368, part 2: Implement a trivial update-application-progress UI for Gonk that shows ASCII bars in logcat. r=mwu
--HG-- rename : toolkit/mozapps/update/updater/progressui_null.cpp => toolkit/mozapps/update/updater/progressui_gonk.cpp
This commit is contained in:
Родитель
00b25d8be3
Коммит
6f633734b6
|
@ -98,6 +98,12 @@ CMMSRCS += progressui_osx.mm launchchild_osx.mm
|
|||
OS_LIBS += -framework Cocoa
|
||||
endif
|
||||
|
||||
ifeq (gonk,$(MOZ_WIDGET_TOOLKIT)) #{
|
||||
HAVE_PROGRESSUI = 1
|
||||
STL_FLAGS =
|
||||
CPPSRCS += progressui_gonk.cpp
|
||||
endif #}
|
||||
|
||||
ifndef HAVE_PROGRESSUI
|
||||
CPPSRCS += progressui_null.cpp
|
||||
endif
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
* vim: sw=2 ts=8 et :
|
||||
*/
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "android/log.h"
|
||||
|
||||
#include "progressui.h"
|
||||
|
||||
#define LOG(args...) __android_log_print(ANDROID_LOG_INFO, "GeckoUpdater" , ## args)
|
||||
|
||||
using namespace std;
|
||||
|
||||
int InitProgressUI(int *argc, char ***argv)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ShowProgressUI()
|
||||
{
|
||||
LOG("Starting to apply update ...\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void QuitProgressUI()
|
||||
{
|
||||
LOG("Finished applying update\n");
|
||||
}
|
||||
|
||||
void UpdateProgressUI(float progress)
|
||||
{
|
||||
assert(0.0f <= progress && progress <= 100.0f);
|
||||
|
||||
static const size_t kProgressBarLength = 50;
|
||||
static size_t sLastNumBars;
|
||||
size_t numBars = size_t(float(kProgressBarLength) * progress / 100.0f);
|
||||
if (numBars == sLastNumBars) {
|
||||
return;
|
||||
}
|
||||
sLastNumBars = numBars;
|
||||
|
||||
size_t numSpaces = kProgressBarLength - numBars;
|
||||
string bars(numBars, '=');
|
||||
string spaces(numSpaces, ' ');
|
||||
LOG("Progress [ %s%s ]\n", bars.c_str(), spaces.c_str());
|
||||
}
|
Загрузка…
Ссылка в новой задаче