Skip to content

Loading…

Initial FxOS recovery UI #11

Merged
merged 3 commits into from

2 participants

@marshall
Mozilla-B2G member

These changes will put our customizations in the recovery binary, and put the branding images in the place that AOSP build expects them.

More changes will be needed to enable recovery image generation from our source tree, but we are building the recovery binary for now at least.

@marshall
Mozilla-B2G member
@michaelwu
Mozilla-B2G member

include $(call all-makefiles-under,$(LOCAL_PATH))

@michaelwu
Mozilla-B2G member

Do you want to rename this?

Mozilla-B2G member

Yeah, that's a good idea :)

@michaelwu
Mozilla-B2G member

r=me, feel free to merge with the makefile nit fixed.

@michaelwu michaelwu merged commit e74925a into mozilla-b2g:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.
Showing with 111 additions and 0 deletions.
  1. +2 −0 Android.mk
  2. +1 −0 BoardConfig.mk
  3. +30 −0 recovery/Android.mk
  4. +78 −0 recovery/recovery_ui_fxos.c
  5. BIN recovery/res/images/icon_error.png
  6. BIN recovery/res/images/icon_installing.png
  7. BIN recovery/res/images/icon_installing_overlay01.png
  8. BIN recovery/res/images/icon_installing_overlay02.png
  9. BIN recovery/res/images/icon_installing_overlay03.png
  10. BIN recovery/res/images/icon_installing_overlay04.png
  11. BIN recovery/res/images/icon_installing_overlay05.png
  12. BIN recovery/res/images/icon_installing_overlay06.png
  13. BIN recovery/res/images/icon_installing_overlay07.png
  14. BIN recovery/res/images/icon_installing_overlay08.png
  15. BIN recovery/res/images/icon_installing_overlay09.png
  16. BIN recovery/res/images/icon_installing_overlay10.png
  17. BIN recovery/res/images/icon_installing_overlay11.png
  18. BIN recovery/res/images/icon_installing_overlay12.png
  19. BIN recovery/res/images/icon_installing_overlay13.png
  20. BIN recovery/res/images/icon_installing_overlay14.png
  21. BIN recovery/res/images/icon_installing_overlay15.png
  22. BIN recovery/res/images/icon_installing_overlay16.png
  23. BIN recovery/res/images/icon_installing_overlay17.png
  24. BIN recovery/res/images/icon_installing_overlay18.png
  25. BIN recovery/res/images/icon_installing_overlay19.png
  26. BIN recovery/res/images/icon_installing_overlay20.png
  27. BIN recovery/res/images/icon_installing_overlay21.png
  28. BIN recovery/res/images/icon_installing_overlay22.png
  29. BIN recovery/res/images/icon_installing_overlay23.png
  30. BIN recovery/res/images/indeterminate01.png
  31. BIN recovery/res/images/indeterminate02.png
  32. BIN recovery/res/images/indeterminate03.png
  33. BIN recovery/res/images/indeterminate04.png
  34. BIN recovery/res/images/indeterminate05.png
  35. BIN recovery/res/images/indeterminate06.png
  36. BIN recovery/res/images/indeterminate07.png
  37. BIN recovery/res/images/indeterminate08.png
  38. BIN recovery/res/images/progress_empty.png
  39. BIN recovery/res/images/progress_fill.png
View
2 Android.mk
@@ -7,3 +7,5 @@ LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := init.unagi.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
View
1 BoardConfig.mk
@@ -2,6 +2,7 @@ include device/qcom/msm7627a/BoardConfig.mk
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
+TARGET_RECOVERY_UI_LIB := librecovery_ui_fxos
BOARD_KERNEL_PAGESIZE = 2048
BOARD_KERNEL_SPARESIZE = 64
View
30 recovery/Android.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# FxOS recovery branding
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := librecovery_ui_fxos
+LOCAL_SRC_FILES := recovery_ui_fxos.c
+LOCAL_MODULE_TAGS := optional
+LOCAL_C_INCLUDES := bootable/recovery
+
+LOCAL_STATIC_LIBRARIES += libext4_utils libz
+LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt
+LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
+LOCAL_STATIC_LIBRARIES += libstdc++ libc
+
+include $(BUILD_STATIC_LIBRARY)
View
78 recovery/recovery_ui_fxos.c
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <linux/input.h>
+
+#include "recovery_ui.h"
+#include "common.h"
+
+char* MENU_HEADERS[] = { "FirefoxOS system recovery utility",
+ "",
+ NULL };
+
+char* MENU_ITEMS[] = { "reboot system now",
+ "apply update from external storage",
+ "wipe data/factory reset",
+ "wipe cache partition",
+ "apply update from cache",
+ NULL };
+
+void device_ui_init(UIParameters* ui_parameters) {
+ ui_parameters->indeterminate_frames = 8;
+ ui_parameters->installing_frames = 23;
+ ui_parameters->install_overlay_offset_x = 138;
+ ui_parameters->install_overlay_offset_y = 220;
+}
+
+int device_recovery_start() {
+ return 0;
+}
+
+int device_toggle_display(volatile char* key_pressed, int key_code) {
+ return key_code == KEY_HOME;
+}
+
+int device_reboot_now(volatile char* key_pressed, int key_code) {
+ return 0;
+}
+
+int device_handle_key(int key_code, int visible) {
+ if (visible) {
+ switch (key_code) {
+ case KEY_DOWN:
+ case KEY_VOLUMEDOWN:
+ return HIGHLIGHT_DOWN;
+
+ case KEY_UP:
+ case KEY_VOLUMEUP:
+ return HIGHLIGHT_UP;
+
+ case KEY_FN_F1:
+ case KEY_ENTER:
+ return SELECT_ITEM;
+ }
+ }
+
+ return NO_ACTION;
+}
+
+int device_perform_action(int which) {
+ return which;
+}
+
+int device_wipe_data() {
+ return 0;
+}
View
BIN recovery/res/images/icon_error.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay01.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay02.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay03.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay04.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay05.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay06.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay07.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay08.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay09.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay10.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay11.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay12.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay13.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay14.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay15.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay16.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay17.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay19.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay20.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay21.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay22.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/icon_installing_overlay23.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN recovery/res/images/indeterminate01.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate02.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate03.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate04.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate05.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate06.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate07.png
Diff not rendered.
View
BIN recovery/res/images/indeterminate08.png
Diff not rendered.
View
BIN recovery/res/images/progress_empty.png
Diff not rendered.
View
BIN recovery/res/images/progress_fill.png
Diff not rendered.
Something went wrong with that request. Please try again.