From 526a0c4b954021654e0f44ed8e50ca7c02e2429d Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Sun, 20 Apr 2014 23:15:43 +0200 Subject: Initial Replicant 4.2 commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- recovery/init.recovery.gta04.rc | 15 ++++++++++++ recovery/recovery.fstab | 6 +++++ recovery/recovery_keys.c | 52 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 recovery/init.recovery.gta04.rc create mode 100644 recovery/recovery.fstab create mode 100644 recovery/recovery_keys.c (limited to 'recovery') 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 + * + * 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 + +#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; +} -- cgit v1.1