From 16dd81b500e696c437493c2052cb6dd6a27f9626 Mon Sep 17 00:00:00 2001 From: Captain Throwback Date: Fri, 12 Feb 2021 19:32:36 -0500 Subject: [PATCH] nano: Add File Manager option to edit selected file Change-Id: Ie7d940545569e6de976d2a51666b692f3fc23798 --- Android.mk | 3 +++ data.cpp | 6 ++++++ gui/action.cpp | 15 +++++++++++++++ gui/objects.hpp | 3 +++ gui/theme/common/landscape.xml | 13 +++++++++++++ gui/theme/common/languages/en.xml | 1 + gui/theme/common/portrait.xml | 13 +++++++++++++ 7 files changed, 54 insertions(+) diff --git a/Android.mk b/Android.mk index 699a601e..967a6605 100755 --- a/Android.mk +++ b/Android.mk @@ -376,6 +376,9 @@ ifneq ($(TW_INCLUDE_LIBRESETPROP),) LOCAL_C_INCLUDES += external/magisk-prebuilt/include LOCAL_CFLAGS += -DTW_INCLUDE_LIBRESETPROP endif +ifeq ($(TW_EXCLUDE_NANO), true) + LOCAL_CFLAGS += -DTW_EXCLUDE_NANO +endif TWRP_REQUIRED_MODULES += \ relink_libraries \ diff --git a/data.cpp b/data.cpp index 571def68..c45f27c5 100755 --- a/data.cpp +++ b/data.cpp @@ -919,6 +919,12 @@ void DataManager::SetDefaultValues() mData.SetValue("tw_app_install_status", "0"); // 0 = no status, 1 = not installed, 2 = already installed mData.SetValue("tw_app_installed_in_system", "0"); #endif +#ifndef TW_EXCLUDE_NANO + mConst.SetValue("tw_include_nano", "1"); +#else + LOGINFO("TW_EXCLUDE_NANO := true\n"); + mConst.SetValue("tw_include_nano", "0"); +#endif mData.SetValue("tw_enable_adb_backup", "0"); diff --git a/gui/action.cpp b/gui/action.cpp index b93188f3..20c30748 100755 --- a/gui/action.cpp +++ b/gui/action.cpp @@ -242,6 +242,9 @@ GUIAction::GUIAction(xml_node<>* node) ADD_ACTION(uninstalltwrpsystemapp); ADD_ACTION(repackimage); ADD_ACTION(fixabrecoverybootloop); +#ifndef TW_EXCLUDE_NANO + ADD_ACTION(editfile); +#endif } // First, get the action @@ -2272,3 +2275,15 @@ int GUIAction::changeterminal(std::string arg) { gui_changePage("terminalcommand"); return 0; } +#ifndef TW_EXCLUDE_NANO +int GUIAction::editfile(std::string arg) { + if (term != NULL) { + for (uint8_t iter = 0; iter < arg.size(); iter++) + term->NotifyCharInput(arg.at(iter)); + term->NotifyCharInput(13); + } + else + LOGINFO("Unable to switch to Terminal\n"); + return 0; +} +#endif diff --git a/gui/objects.hpp b/gui/objects.hpp index 48a2e895..0f2fae58 100755 --- a/gui/objects.hpp +++ b/gui/objects.hpp @@ -374,6 +374,9 @@ protected: int enableadb(std::string arg); int enablefastboot(std::string arg); int changeterminal(std::string arg); +#ifndef TW_EXCLUDE_NANO + int editfile(std::string arg); +#endif int simulate; }; diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml index 66931086..a3437fbf 100755 --- a/gui/theme/common/landscape.xml +++ b/gui/theme/common/landscape.xml @@ -4237,6 +4237,19 @@ + + +