Commit 498cda6e authored by Elliott Hughes's avatar Elliott Hughes
Browse files

Update the system update animation.

Switch to a Wear-like intro/loop system. We don't have an intro yet,
but hopefully this will let Wear delete more code when they move to N.
Unlike them, we don't hard-code the number of frames: we just look to
see what we have available. We do hard-code the fps though.

Also add a graphics test mode so you can see a demo of the UI components
without having to actually apply an OTA.

Also fix a bug where default locale is null rather than en-US: it's
more useful to show _some_ text if we don't have a locale (which should
only be during development anyway).

Bug: http://b/26548285
Change-Id: I63422e3fef3c41109f924d96fb5ded0b3ae7815d
parent 8febafa6
......@@ -25,6 +25,7 @@ static const char* MENU_ITEMS[] = {
"Wipe cache partition",
"Mount /system",
"View recovery logs",
"Run graphics test",
"Power off",
NULL
};
......@@ -43,7 +44,8 @@ Device::BuiltinAction Device::InvokeMenuItem(int menu_position) {
case 5: return WIPE_CACHE;
case 6: return MOUNT_SYSTEM;
case 7: return VIEW_RECOVERY_LOGS;
case 8: return SHUTDOWN;
case 8: return RUN_GRAPHICS_TEST;
case 9: return SHUTDOWN;
default: return NO_ACTION;
}
}
......
......@@ -68,6 +68,7 @@ class Device {
SHUTDOWN = 8,
VIEW_RECOVERY_LOGS = 9,
MOUNT_SYSTEM = 10,
RUN_GRAPHICS_TEST = 11,
};
// Return the list of menu items (an array of strings,
......
......@@ -32,8 +32,6 @@
#include "minui.h"
extern char* locale;
#define SURFACE_DATA_ALIGNMENT 8
static GRSurface* malloc_surface(size_t data_size) {
......
......@@ -103,7 +103,7 @@ static const int BATTERY_OK_PERCENTAGE = 20;
static const int BATTERY_WITH_CHARGER_OK_PERCENTAGE = 15;
RecoveryUI* ui = NULL;
char* locale = NULL;
static const char* locale = "en_US";
char* stage = NULL;
char* reason = NULL;
bool modified_flash = false;
......@@ -910,6 +910,37 @@ static void choose_recovery_file(Device* device) {
}
}
static void run_graphics_test(Device* device) {
// Switch to graphics screen.
ui->ShowText(false);
ui->SetProgressType(RecoveryUI::INDETERMINATE);
ui->SetBackground(RecoveryUI::INSTALLING_UPDATE);
sleep(1);
ui->SetBackground(RecoveryUI::ERROR);
sleep(1);
ui->SetBackground(RecoveryUI::NO_COMMAND);
sleep(1);
ui->SetBackground(RecoveryUI::ERASING);
sleep(1);
ui->SetBackground(RecoveryUI::INSTALLING_UPDATE);
ui->SetProgressType(RecoveryUI::DETERMINATE);
ui->ShowProgress(1.0, 10.0);
float fraction = 0.0;
for (size_t i = 0; i < 100; ++i) {
fraction += .01;
ui->SetProgress(fraction);
usleep(100000);
}
ui->ShowText(true);
}
// How long (in seconds) we wait for the fuse-provided package file to
// appear, before timing out.
#define SDCARD_INSTALL_TIMEOUT 10
......@@ -1068,6 +1099,10 @@ prompt_and_wait(Device* device, int status) {
choose_recovery_file(device);
break;
case Device::RUN_GRAPHICS_TEST:
run_graphics_test(device);
break;
case Device::MOUNT_SYSTEM:
char system_root_image[PROPERTY_VALUE_MAX];
property_get("ro.build.system_root_image", system_root_image, "");
......
res-hdpi/images/icon_installing.png

127 KB

res-hdpi/images/loop00.png

9.55 KB

res-hdpi/images/loop01.png

9.62 KB

res-hdpi/images/loop02.png

9.91 KB

res-hdpi/images/loop03.png

9.85 KB

res-hdpi/images/loop04.png

9.66 KB

res-hdpi/images/loop05.png

9.79 KB

res-hdpi/images/loop06.png

9.77 KB

res-hdpi/images/loop07.png

9.81 KB

res-hdpi/images/loop08.png

9.82 KB

res-hdpi/images/loop09.png

9.74 KB

res-hdpi/images/loop10.png

9.89 KB

res-hdpi/images/loop11.png

9.86 KB

res-hdpi/images/loop12.png

9.63 KB

res-hdpi/images/loop13.png

9.6 KB

res-hdpi/images/loop14.png

9.57 KB

Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment