summaryrefslogtreecommitdiffstats
path: root/recovery
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2014-04-20 23:15:43 +0200
committerPaul Kocialkowski <contact@paulk.fr>2014-04-21 12:21:21 +0200
commit526a0c4b954021654e0f44ed8e50ca7c02e2429d (patch)
tree6cfa0ff1beb16d818656955bb8d3f36c03d7dcc5 /recovery
parent2be830334f24f6c0e138b473eb699a784b294926 (diff)
downloaddevice_goldelico_gta04-526a0c4b954021654e0f44ed8e50ca7c02e2429d.zip
device_goldelico_gta04-526a0c4b954021654e0f44ed8e50ca7c02e2429d.tar.gz
device_goldelico_gta04-526a0c4b954021654e0f44ed8e50ca7c02e2429d.tar.bz2
Initial Replicant 4.2 commit
Many thanks to Lukas Märdian for his great work: part of the changes introduced in this commit reflect his work. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'recovery')
-rw-r--r--recovery/init.recovery.gta04.rc15
-rw-r--r--recovery/recovery.fstab6
-rw-r--r--recovery/recovery_keys.c52
3 files changed, 73 insertions, 0 deletions
diff --git a/recovery/init.recovery.gta04.rc b/recovery/init.recovery.gta04.rc
new file mode 100644
index 0000000..9ba71e5
--- /dev/null
+++ b/recovery/init.recovery.gta04.rc
@@ -0,0 +1,15 @@
+on fs
+ mount ext4 /dev/block/mmcblk0p3 /cache wait
+
+on post-fs
+ rm /cache/.startrecovery
+
+service console /sbin/sh
+ class core
+ console
+ disabled
+ user root
+ group root
+
+on property:ro.debuggable=1
+ start console
diff --git a/recovery/recovery.fstab b/recovery/recovery.fstab
new file mode 100644
index 0000000..625dcdf
--- /dev/null
+++ b/recovery/recovery.fstab
@@ -0,0 +1,6 @@
+/boot vfat /dev/block/mmcblk0p1
+/system ext4 /dev/block/mmcblk0p2
+/cache ext4 /dev/block/mmcblk0p3
+/data ext4 /dev/block/mmcblk0p4
+
+/sdcard datamedia /dev/null
diff --git a/recovery/recovery_keys.c b/recovery/recovery_keys.c
new file mode 100644
index 0000000..1016aea
--- /dev/null
+++ b/recovery/recovery_keys.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2014 Paul Kocialkowski <contact@paulk.fr>
+ *
+ * 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"
+#include "extendedcommands.h"
+
+int get_allow_toggle_display();
+
+int device_toggle_display(volatile char* key_pressed, int key_code) {
+ int alt = key_pressed[KEY_LEFTALT] || key_pressed[KEY_RIGHTALT];
+ if (alt && key_code == KEY_L)
+ return 1;
+ // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
+ if (ui_get_showing_back_button()) {
+ return 0;
+ //return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
+ }
+ return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
+}
+
+int device_handle_key(int key_code, int visible) {
+ if (visible) {
+ switch (key_code) {
+ case KEY_PHONE:
+ return HIGHLIGHT_DOWN;
+ case KEY_POWER:
+ if (ui_get_showing_back_button()) {
+ return SELECT_ITEM;
+ }
+ if (!get_allow_toggle_display())
+ return GO_BACK;
+ }
+ }
+
+ return NO_ACTION;
+}