From 85c9c291f8b42c72cd23acb1b83c762584f0dd8e Mon Sep 17 00:00:00 2001 From: Francesco Andreuzzi <andreuzzi.francesco@gmail.com> Date: Tue, 4 Jul 2017 12:42:05 +0200 Subject: [PATCH] 5.3f --- app/build.gradle | 6 +- app/src/main/AndroidManifest.xml | 4 +- .../consolelauncher/LauncherActivity.java | 19 +-- .../ohi/andre/consolelauncher/UIManager.java | 11 +- .../commands/CommandsPreferences.java | 0 .../commands/main/MainPack.java | 3 +- .../consolelauncher/commands/main/Param.java | 0 .../commands/main/raw/alias.java | 11 +- .../commands/main/raw/beep.java | 0 .../commands/main/raw/bluetooth.java | 0 .../commands/main/raw/calc.java | 0 .../commands/main/raw/cntcts.java | 0 .../commands/main/raw/config.java | 0 .../commands/main/raw/donate.java | 0 .../commands/main/raw/exit.java | 0 .../commands/main/raw/location.java | 0 .../consolelauncher/commands/main/raw/ls.java | 0 .../commands/main/raw/notifications.java | 4 +- .../consolelauncher/commands/main/raw/rm.java | 2 + .../commands/main/raw/shellcommands.java | 0 .../commands/main/raw/sms.java | 0 .../commands/main/raw/status.java | 0 .../commands/main/raw/tui.java | 0 .../commands/main/raw/tuixt.java | 0 .../commands/main/raw/vibrate.java | 0 .../commands/specific/ParamCommand.java | 0 .../specific/PermanentSuggestionCommand.java | 0 .../commands/specific/RedirectCommand.java | 0 .../commands/tuixt/TuixtActivity.java | 0 .../commands/tuixt/TuixtPack.java | 0 .../commands/tuixt/raw/exit.java | 0 .../commands/tuixt/raw/help.java | 0 .../commands/tuixt/raw/save.java | 0 .../managers/AliasManager.java | 124 ++++++++++-------- .../consolelauncher/managers/AppsManager.java | 52 ++++---- .../consolelauncher/managers/FileManager.java | 28 +--- .../consolelauncher/managers/SkinManager.java | 11 +- .../managers/TerminalMAnager.java | 12 +- .../managers/XMLPrefsManager.java | 37 +++++- .../notifications/NotificationManager.java | 61 ++++----- .../notifications/NotificationService.java | 33 ++--- .../suggestions/SuggestionRunnable.java | 1 - .../suggestions/SuggestionsManager.java | 15 ++- .../andre/consolelauncher/tuils/Animator.java | 0 .../andre/consolelauncher/tuils/Assist.java | 0 .../consolelauncher/tuils/KeeperService.java | 0 .../consolelauncher/tuils/ShellUtils.java | 0 .../tuils/SimpleMutableEntry.java | 0 .../tuils/SquareImageView.java | 0 .../tuils/StoppableThread.java | 0 .../andre/consolelauncher/tuils/Tuils.java | 11 +- .../tuils/broadcast/HeadsetBroadcast.java | 0 .../tuils/interfaces/CommandExecuter.java | 0 .../interfaces/OnRedirectionListener.java | 0 .../tuils/interfaces/Redirectator.java | 0 .../interfaces/SuggestionViewDecorer.java | 0 .../tuils/stuff/FakeLauncherActivity.java | 0 .../tuils/tutorial/TutorialActivity.java | 0 app/src/main/res/drawable-hdpi/ic_back.png | Bin app/src/main/res/drawable-hdpi/ic_clear.png | Bin app/src/main/res/drawable-hdpi/ic_enter.png | Bin app/src/main/res/drawable-hdpi/ic_next.png | Bin app/src/main/res/drawable-hdpi/ic_paste.png | Bin app/src/main/res/drawable-mdpi/ic_back.png | Bin app/src/main/res/drawable-mdpi/ic_clear.png | Bin app/src/main/res/drawable-mdpi/ic_enter.png | Bin app/src/main/res/drawable-mdpi/ic_next.png | Bin app/src/main/res/drawable-mdpi/ic_paste.png | Bin app/src/main/res/drawable-xhdpi/ic_back.png | Bin app/src/main/res/drawable-xhdpi/ic_clear.png | Bin app/src/main/res/drawable-xhdpi/ic_enter.png | Bin app/src/main/res/drawable-xhdpi/ic_next.png | Bin app/src/main/res/drawable-xhdpi/ic_paste.png | Bin app/src/main/res/drawable-xxhdpi/ic_back.png | Bin app/src/main/res/drawable-xxhdpi/ic_clear.png | Bin app/src/main/res/drawable-xxhdpi/ic_enter.png | Bin app/src/main/res/drawable-xxhdpi/ic_next.png | Bin app/src/main/res/drawable-xxhdpi/ic_paste.png | Bin app/src/main/res/drawable/cursor.xml | 0 app/src/main/res/drawable/ic_email.png | Bin app/src/main/res/drawable/ic_git.png | Bin app/src/main/res/drawable/ic_googlep.png | Bin .../res/drawable/tutorial_end_icon_bg.xml | 0 app/src/main/res/layout/base_view.xml | 0 app/src/main/res/layout/input_down_layout.xml | 0 app/src/main/res/layout/input_up_layout.xml | 0 .../main/res/layout/suggestions_layout.xml | 0 .../main/res/layout/tuixt_view_input_down.xml | 0 .../main/res/layout/tuixt_view_input_up.xml | 0 .../main/res/layout/tutorial_base_layout.xml | 0 .../main/res/layout/tutorial_end_layout.xml | 0 .../main/res/layout/tutorial_first_layout.xml | 0 app/src/main/res/values-v21/strings.xml | 0 app/src/main/res/values/colors.xml | 0 app/src/main/res/values/ids.xml | 0 app/src/main/res/values/integers.xml | 0 app/src/main/res/values/strings.xml | 5 +- 97 files changed, 236 insertions(+), 214 deletions(-) mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/CommandsPreferences.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/MainPack.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/Param.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/beep.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/bluetooth.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/calc.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/cntcts.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/config.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/donate.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/exit.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/location.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/ls.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/notifications.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/shellcommands.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/sms.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/status.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/tui.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/tuixt.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/vibrate.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/specific/ParamCommand.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/specific/PermanentSuggestionCommand.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/specific/RedirectCommand.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/TuixtActivity.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/TuixtPack.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/exit.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/help.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/save.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/managers/TerminalMAnager.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationManager.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationService.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionRunnable.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionsManager.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/Animator.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/Assist.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/KeeperService.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/ShellUtils.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/SimpleMutableEntry.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/SquareImageView.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/StoppableThread.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/broadcast/HeadsetBroadcast.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/CommandExecuter.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/OnRedirectionListener.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/Redirectator.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/SuggestionViewDecorer.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/stuff/FakeLauncherActivity.java mode change 100644 => 100755 app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_back.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_clear.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_enter.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_next.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_paste.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_back.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_clear.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_enter.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_next.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_paste.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_back.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_clear.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_enter.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_next.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_paste.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_back.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_clear.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_enter.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_next.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_paste.png mode change 100644 => 100755 app/src/main/res/drawable/cursor.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_email.png mode change 100644 => 100755 app/src/main/res/drawable/ic_git.png mode change 100644 => 100755 app/src/main/res/drawable/ic_googlep.png mode change 100644 => 100755 app/src/main/res/drawable/tutorial_end_icon_bg.xml mode change 100644 => 100755 app/src/main/res/layout/base_view.xml mode change 100644 => 100755 app/src/main/res/layout/input_down_layout.xml mode change 100644 => 100755 app/src/main/res/layout/input_up_layout.xml mode change 100644 => 100755 app/src/main/res/layout/suggestions_layout.xml mode change 100644 => 100755 app/src/main/res/layout/tuixt_view_input_down.xml mode change 100644 => 100755 app/src/main/res/layout/tuixt_view_input_up.xml mode change 100644 => 100755 app/src/main/res/layout/tutorial_base_layout.xml mode change 100644 => 100755 app/src/main/res/layout/tutorial_end_layout.xml mode change 100644 => 100755 app/src/main/res/layout/tutorial_first_layout.xml mode change 100644 => 100755 app/src/main/res/values-v21/strings.xml mode change 100644 => 100755 app/src/main/res/values/colors.xml mode change 100644 => 100755 app/src/main/res/values/ids.xml mode change 100644 => 100755 app/src/main/res/values/integers.xml diff --git a/app/build.gradle b/app/build.gradle index 0fdbfb1..45809d5 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,14 +3,15 @@ android { compileSdkVersion 25 buildToolsVersion '25.0.2' + defaultConfig { applicationId "ohi.andre.consolelauncher" minSdkVersion 8 targetSdkVersion 23 - versionCode 91 - versionName "5.3e" + versionCode 92 + versionName "5.3f" } buildTypes { @@ -31,5 +32,4 @@ android { compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.github.Andre1299:CompareString:1.4.2' } - } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4f04de9..0e3dc44 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -68,7 +68,7 @@ android:theme="@style/Custom.Solid"> <activity android:name=".LauncherActivity" - android:configChanges="keyboardHidden|orientation|screenSize" + android:configChanges="keyboardHidden|orientation|screenSize|keyboard|navigation" android:launchMode="singleTask" android:clearTaskOnLaunch="true" @@ -76,8 +76,10 @@ android:resumeWhilePausing="true" android:taskAffinity="" android:enabled="true" + android:excludeFromRecents="true" android:windowSoftInputMode="stateAlwaysVisible|adjustResize"> + <intent-filter> <action android:name="android.intent.action.MAIN" /> diff --git a/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java b/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java index a41d2b7..64b8276 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java +++ b/app/src/main/java/ohi/andre/consolelauncher/LauncherActivity.java @@ -1,7 +1,6 @@ package ohi.andre.consolelauncher; import android.Manifest; -import android.annotation.TargetApi; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.admin.DevicePolicyManager; @@ -13,7 +12,6 @@ import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Configuration; -import android.content.res.Resources; import android.graphics.Color; import android.os.Build; import android.os.Bundle; @@ -31,9 +29,6 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.widget.Toast; -import java.io.File; -import java.io.IOException; - import ohi.andre.consolelauncher.commands.main.MainPack; import ohi.andre.consolelauncher.commands.tuixt.TuixtActivity; import ohi.andre.consolelauncher.managers.ContactManager; @@ -65,8 +60,6 @@ public class LauncherActivity extends AppCompatActivity implements Reloadable { private boolean openKeyboardOnStart, fullscreen; - private Intent starterIntent; - private CommandExecuter ex = new CommandExecuter() { @Override @@ -155,12 +148,9 @@ public class LauncherActivity extends AppCompatActivity implements Reloadable { editor.commit(); Intent intent = new Intent(this, TutorialActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } - starterIntent = getIntent(); - try { XMLPrefsManager.create(); } catch (Exception e) { @@ -231,8 +221,8 @@ public class LauncherActivity extends AppCompatActivity implements Reloadable { protected void onStart() { super.onStart(); - if (ui != null && openKeyboardOnStart) { - ui.onStart(); + if (ui != null) { + ui.onStart(openKeyboardOnStart); } } @@ -406,9 +396,12 @@ public class LauncherActivity extends AppCompatActivity implements Reloadable { String pack = intent.getStringExtra("package"); String title = intent.getStringExtra("title"); String text = intent.getStringExtra("text"); + String color = intent.getStringExtra("color"); if(ui != null) { - ui.setOutput(pack + ": " + (title == null ? Tuils.EMPTYSTRING : title + (text == null ? Tuils.EMPTYSTRING : " --- ")) + (text == null ? Tuils.EMPTYSTRING : text), intent.getIntExtra("color", Color.RED), false); + ui.setOutput(pack + ": " + (title == null ? Tuils.EMPTYSTRING : title + (text == null ? Tuils.EMPTYSTRING : " --- ")) + (text == null ? Tuils.EMPTYSTRING : text), + Color.parseColor(color), + false); } } }; diff --git a/app/src/main/java/ohi/andre/consolelauncher/UIManager.java b/app/src/main/java/ohi/andre/consolelauncher/UIManager.java index f2ac2c9..320f596 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/UIManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/UIManager.java @@ -9,7 +9,6 @@ import android.graphics.Typeface; import android.os.Handler; import android.text.Editable; import android.text.TextWatcher; -import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnDoubleTapListener; import android.view.Gravity; @@ -30,9 +29,9 @@ import java.lang.reflect.Field; import ohi.andre.consolelauncher.commands.ExecutePack; import ohi.andre.consolelauncher.commands.main.MainPack; import ohi.andre.consolelauncher.commands.specific.RedirectCommand; -import ohi.andre.consolelauncher.managers.XMLPrefsManager; import ohi.andre.consolelauncher.managers.SkinManager; import ohi.andre.consolelauncher.managers.TerminalManager; +import ohi.andre.consolelauncher.managers.XMLPrefsManager; import ohi.andre.consolelauncher.managers.suggestions.SuggestionRunnable; import ohi.andre.consolelauncher.managers.suggestions.SuggestionsManager; import ohi.andre.consolelauncher.tuils.StoppableThread; @@ -97,8 +96,8 @@ public class UIManager implements OnTouchListener { protected TextWatcher textWatcher = new TextWatcher() { - int nOfSpace = -1; - String originalText; +// int nOfSpace = -1; +// String originalText; boolean call = true; @@ -497,8 +496,8 @@ public class UIManager implements OnTouchListener { imm.hideSoftInputFromWindow(mTerminalAdapter.getInputWindowToken(), 0); } - public void onStart() { - openKeyboard(); + public void onStart(boolean openKeyboardOnStart) { + if(openKeyboardOnStart) openKeyboard(); mTerminalAdapter.scrollToEnd(); } diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/CommandsPreferences.java b/app/src/main/java/ohi/andre/consolelauncher/commands/CommandsPreferences.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/MainPack.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/MainPack.java old mode 100644 new mode 100755 index 10fde12..496ef0b --- a/app/src/main/java/ohi/andre/consolelauncher/commands/main/MainPack.java +++ b/app/src/main/java/ohi/andre/consolelauncher/commands/main/MainPack.java @@ -23,9 +23,8 @@ import ohi.andre.consolelauncher.managers.AliasManager; import ohi.andre.consolelauncher.managers.AppsManager; import ohi.andre.consolelauncher.managers.ContactManager; import ohi.andre.consolelauncher.managers.MusicManager; -import ohi.andre.consolelauncher.managers.notifications.NotificationManager; -import ohi.andre.consolelauncher.managers.XMLPrefsManager; import ohi.andre.consolelauncher.managers.SkinManager; +import ohi.andre.consolelauncher.managers.XMLPrefsManager; import ohi.andre.consolelauncher.tuils.Tuils; import ohi.andre.consolelauncher.tuils.interfaces.CommandExecuter; import ohi.andre.consolelauncher.tuils.interfaces.Outputable; diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/Param.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/Param.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/alias.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/alias.java index 86eb97a..69ad88d 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/alias.java +++ b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/alias.java @@ -25,7 +25,12 @@ public class alias extends ParamCommand { public String exec(ExecutePack pack) { ArrayList<String> args = pack.get(ArrayList.class, 1); if(args.size() < 2) return pack.context.getString(R.string.output_lessarg); - return ((MainPack) pack).aliasManager.add(args.remove(0), Tuils.toPlanString(args, Tuils.SPACE)); + + if( ((MainPack) pack).aliasManager.add(args.remove(0), Tuils.toPlanString(args, Tuils.SPACE)) ) { + return null; + } else { + return pack.context.getString(R.string.output_problemaddingalias); + } } @Override @@ -33,7 +38,7 @@ public class alias extends ParamCommand { return new int[] {CommandAbstraction.TEXTLIST}; } }, - remove { + rm { @Override public String exec(ExecutePack pack) { ArrayList<String> args = pack.get(ArrayList.class, 1); @@ -115,7 +120,7 @@ public class alias extends ParamCommand { @Override public int helpRes() { - return R.string.help_aliases; + return R.string.help_alias; } @Override diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/beep.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/beep.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/bluetooth.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/bluetooth.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/calc.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/calc.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/cntcts.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/cntcts.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/config.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/config.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/donate.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/donate.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/exit.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/exit.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/location.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/location.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/ls.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/ls.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/notifications.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/notifications.java old mode 100644 new mode 100755 index 1fa59c3..89bf19f --- a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/notifications.java +++ b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/notifications.java @@ -23,7 +23,7 @@ public class notifications extends ParamCommand { inc { @Override public String exec(ExecutePack pack) { - NotificationManager.notificationsChangeFor(new NotificationManager.NotificatedApp(pack.get(String.class, 1), -1, true)); + NotificationManager.notificationsChangeFor(new NotificationManager.NotificatedApp(pack.get(String.class, 1), null, true)); return null; } @@ -35,7 +35,7 @@ public class notifications extends ParamCommand { exc { @Override public String exec(ExecutePack pack) { - NotificationManager.notificationsChangeFor(new NotificationManager.NotificatedApp(pack.get(String.class, 1), -1, false)); + NotificationManager.notificationsChangeFor(new NotificationManager.NotificatedApp(pack.get(String.class, 1), null, false)); return null; } diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/rm.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/rm.java index 7e148e1..0dd1827 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/rm.java +++ b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/rm.java @@ -1,5 +1,7 @@ package ohi.andre.consolelauncher.commands.main.raw; +import android.util.Log; + import java.io.File; import java.util.ArrayList; diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/shellcommands.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/shellcommands.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/sms.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/sms.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/status.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/status.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/tui.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/tui.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/tuixt.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/tuixt.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/vibrate.java b/app/src/main/java/ohi/andre/consolelauncher/commands/main/raw/vibrate.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/specific/ParamCommand.java b/app/src/main/java/ohi/andre/consolelauncher/commands/specific/ParamCommand.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/specific/PermanentSuggestionCommand.java b/app/src/main/java/ohi/andre/consolelauncher/commands/specific/PermanentSuggestionCommand.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/specific/RedirectCommand.java b/app/src/main/java/ohi/andre/consolelauncher/commands/specific/RedirectCommand.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/TuixtActivity.java b/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/TuixtActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/TuixtPack.java b/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/TuixtPack.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/exit.java b/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/exit.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/help.java b/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/help.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/save.java b/app/src/main/java/ohi/andre/consolelauncher/commands/tuixt/raw/save.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/AliasManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/AliasManager.java index 6fe05f5..a91ca73 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/AliasManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/AliasManager.java @@ -1,13 +1,26 @@ package ohi.andre.consolelauncher.managers; +import android.util.Log; + import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.InputStreamReader; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -16,100 +29,103 @@ import javax.xml.parsers.ParserConfigurationException; import ohi.andre.consolelauncher.tuils.Tuils; import ohi.andre.consolelauncher.tuils.interfaces.Reloadable; +import static android.R.id.list; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.resetFile; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.set; public class AliasManager implements Reloadable { - public static final String NAME = "ALIAS"; - public static final String PATH = "alias.xml"; - - private final String VALUE_ATTRIBUTE = "value"; + public static final String PATH = "alias.txt"; - private XMLPrefsManager.XMLPrefsList alias; + private Map<String, String> aliases; public AliasManager() { reload(); } public String printAliases() { - List<XMLPrefsManager.XMLPrefsEntry> list = alias.list; - String output = Tuils.EMPTYSTRING; - for (XMLPrefsManager.XMLPrefsEntry entry : list) { - output = output.concat(entry.key + " --> " + entry.value + Tuils.NEWLINE); + for (Map.Entry<String, String> entry : aliases.entrySet()) { + output = output.concat(entry.getKey() + " --> " + entry.getValue() + Tuils.NEWLINE); } return output.trim(); } public String getAlias(String s) { - XMLPrefsManager.XMLPrefsEntry entry = alias.get(s); - if(entry != null) return entry.value; - return null; + return aliases.get(s); } @Override public void reload() { - if(alias != null) alias.list.clear(); - alias = new XMLPrefsManager.XMLPrefsList(); + if(aliases != null) aliases.clear(); + else aliases = new HashMap(); File file = new File(Tuils.getFolder(), PATH); - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = null; try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException e) { - return; - } - - Document d; - try { - d = builder.parse(file); - } catch (Exception e) { - resetFile(file, NAME); + if(!file.exists()) file.createNewFile(); - try { - d = builder.parse(file); - } catch (Exception e1) {return;} - } - - Element root = (Element) d.getElementsByTagName(NAME).item(0); - if(root == null) { - resetFile(file, NAME); + BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); - try { - d = builder.parse(file); - } catch (Exception e) { - return; + String line; + while((line = reader.readLine()) != null) { + String[] splatted = line.split("="); + if(splatted.length < 2) continue; + aliases.put(splatted[0], splatted[1]); } + } catch (Exception e) {} + } - root = (Element) d.getElementsByTagName(NAME).item(0); - } - NodeList nodes = root.getElementsByTagName("*"); + public boolean add(String name, String value) { + reload(); + + if(aliases.containsKey(name)) return false; - for(int count = 0; count < nodes.getLength(); count++) { - Node node = nodes.item(count); + FileOutputStream fos; + try { + fos = new FileOutputStream(new File(Tuils.getFolder(), PATH)); + fos.write((name + "=" + value + Tuils.NEWLINE).getBytes()); + fos.close(); - String nn = node.getNodeName(); - alias.add(nn, node.getAttributes().getNamedItem(VALUE_ATTRIBUTE).getNodeValue()); + aliases.put(name, value); + return true; + } catch (Exception e) { + return false; } - } - public String add(String name, String value) { - return set(new File(Tuils.getFolder(), PATH), NAME, name, new String[] {VALUE_ATTRIBUTE}, new String[] {value}); } public boolean remove(String name) { - return XMLPrefsManager.removeNode(new File(Tuils.getFolder(), PATH), NAME, name); + reload(); + + try { + File inputFile = new File(Tuils.getFolder(), PATH); + File tempFile = new File(Tuils.getFolder(), PATH + "2"); + + BufferedReader reader = new BufferedReader(new FileReader(inputFile)); + BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); + + String prefix = name + "="; + String line; + while((line = reader.readLine()) != null) { + if(line.startsWith(prefix)) continue; + writer.write(line + Tuils.NEWLINE); + } + writer.close(); + reader.close(); + + + aliases.remove(name); + + return tempFile.renameTo(inputFile); + } catch (Exception e) { + return false; + } } public List<String> getAliases() { - List<String> labels = new ArrayList<>(); - if(alias == null) return labels; - - for(int count = 0; count < alias.size(); count++) labels.add(alias.at(count).key); - return labels; + if(aliases == null) return new ArrayList<>(0); + return new ArrayList<>(aliases.keySet()); } } diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java index 2fa92cb..791f664 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java @@ -481,7 +481,7 @@ public class AppsManager implements XMLPrefsManager.XmlPrefsElement { private class AppsHolder { - int MOST_USED = 10, NULL = 11, USER_DEFINIED = 12; + final int MOST_USED = 10, NULL = 11, USER_DEFINIED = 12; private List<AppInfo> infos; private List<String> appLabels; @@ -500,12 +500,11 @@ public class AppsManager implements XMLPrefsManager.XmlPrefsElement { for(int count = 0; count < Options.values().length; count++) { String vl = values.get(Options.valueOf(PREFIX + (count + 1))).value; - if(vl.equals(Options.NULL)) suggested.add(new SuggestedApp(NULL)); + if(vl.equals(Options.NULL)) continue; if(vl.equals(Options.MOST_USED)) suggested.add(new SuggestedApp(MOST_USED)); else { AppInfo info = AppUtils.findAppInfo(vl, infos); - if(info == null) suggested.add(new SuggestedApp(NULL)); - else suggested.add(new SuggestedApp(info, USER_DEFINIED)); + if(info == null) continue; } } @@ -526,6 +525,7 @@ public class AppsManager implements XMLPrefsManager.XmlPrefsElement { return; } } + lastWriteable = suggested.size() - 1; } public SuggestedApp get(int index) { @@ -540,26 +540,25 @@ public class AppsManager implements XMLPrefsManager.XmlPrefsElement { return suggested.indexOf(info); } - private void remove(int index) { - suggested.remove(index); - } - public void attemptInsertSuggestion(AppInfo info) { - if (info.launchedTimes == 0) { + if (info.launchedTimes == 0 || lastWriteable == -1) { return; } - if(lastWriteable == -1) return; - int index = indexOf(info); if (index == -1) { for (int count = 0; count <= lastWriteable; count++) { + SuggestedApp app = get(count); if (app.app == null || info.launchedTimes > app.app.launchedTimes) { - this.remove(lastWriteable); - SuggestedApp s = suggested.remove(0); + SuggestedApp s = suggested.get(count); + + AppInfo before = s.app; s.change(info); - suggested.add(0, s); + + if(before != null) attemptInsertSuggestion(before); + + break; } } } @@ -645,11 +644,6 @@ public class AppsManager implements XMLPrefsManager.XmlPrefsElement { @Override public int compareTo(@NonNull Object o) { SuggestedApp other = (SuggestedApp) o; - if(this.type == NULL || other.type == NULL) { - if(this.type == NULL && other.type == NULL) return 0; - if(this.type == NULL) return 1; - return -1; - } if(this.type == USER_DEFINIED || other.type == USER_DEFINIED) { if(this.type == USER_DEFINIED && other.type == USER_DEFINIED) return other.app.launchedTimes - this.app.launchedTimes; @@ -660,10 +654,24 @@ public class AppsManager implements XMLPrefsManager.XmlPrefsElement { // most_used if(this.app == null || other.app == null) { if(this.app == null && other.app == null) return 0; - if(this.app == null) return -1; - return 1; + if(this.app == null) return 1; + return -1; + } + return this.app.launchedTimes - other.app.launchedTimes; + } + + @Override + public String toString() { + switch (type) { + case USER_DEFINIED: + return "userdef " + (app != null ? app.packageName : ""); + case MOST_USED: + return "most used " + (app != null ? app.packageName : ""); + case NULL: + return "null"; } - return other.app.launchedTimes - this.app.launchedTimes; + + return null; } } } diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java index a85bdb4..27b4d31 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java @@ -71,11 +71,6 @@ public class FileManager { return FileManager.ISFILE; } - ShellUtils.CommandResult r = ShellUtils.execCommand("test -w \"" + where.getAbsolutePath()+ "\"", su, null); - if(r.result != 0) { - return NOT_WRITEABLE; - } - for (File f : files) { mv(f, where, su); } @@ -84,14 +79,6 @@ public class FileManager { } private static int mv(File f, File where, boolean su) throws IOException { - ShellUtils.CommandResult rw = ShellUtils.execCommand("test -w \"" + f.getAbsolutePath()+ "\"", su, null); - if(rw.result != 0) { - return NOT_WRITEABLE; - } - ShellUtils.CommandResult rr = ShellUtils.execCommand("test -r \"" + f.getAbsolutePath()+ "\"", su, null); - if(rr.result != 0) { - return NOT_READABLE; - } ShellUtils.CommandResult result = ShellUtils.execCommand("mv " + (f.isDirectory() ? "-r" : Tuils.EMPTYSTRING) + @@ -114,15 +101,12 @@ public class FileManager { } public static int rm(File f, boolean su) { - ShellUtils.CommandResult r = ShellUtils.execCommand("test -w \"" + f.getAbsolutePath() + "\"", su, null); - if(r.result != 0) { - return NOT_WRITEABLE; - } ShellUtils.CommandResult result = ShellUtils.execCommand("rm " + (f.isDirectory() ? "-r" : Tuils.EMPTYSTRING) + Tuils.SPACE + "\"" + f.getAbsolutePath() + "\"", su, null); + if(result == null) return IOERROR; return result.result; } @@ -135,11 +119,6 @@ public class FileManager { return FileManager.ISFILE; } - ShellUtils.CommandResult r = ShellUtils.execCommand("test -w \"" + where.getAbsolutePath()+ "\"", su, null); - if(r.result != 0) { - return NOT_WRITEABLE; - } - for (File f : files) { cp(f, where, su); } @@ -148,11 +127,6 @@ public class FileManager { } private static int cp(File f, File where, boolean su) throws IOException { - ShellUtils.CommandResult rr = ShellUtils.execCommand("test -r \"" + f.getAbsolutePath()+ "\"", su, null); - if(rr.result != 0) { - return NOT_READABLE; - } - ShellUtils.CommandResult result = ShellUtils.execCommand("cp " + (f.isDirectory() ? "-r" : Tuils.EMPTYSTRING) + Tuils.SPACE + diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/SkinManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/SkinManager.java index 95cfc8f..3f857da 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/SkinManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/SkinManager.java @@ -24,7 +24,7 @@ public class SkinManager implements Parcelable { public int globalFontSize; public String deviceName; - public int deviceColor, inputColor, outputColor, ramColor, bgColor, overlayColor; + public int deviceColor, inputColor, outputColor, ramColor, bgColor, overlayColor, toolbarColor, enter_color; public boolean useSystemWp, showSuggestions, systemFont, inputBottom, showSubmit; @@ -52,6 +52,8 @@ public class SkinManager implements Parcelable { ramColor = XMLPrefsManager.getColor(XMLPrefsManager.Theme.ram_color); inputColor = XMLPrefsManager.getColor(XMLPrefsManager.Theme.input_color); outputColor = XMLPrefsManager.getColor(XMLPrefsManager.Theme.output_color); + toolbarColor = XMLPrefsManager.getColor(XMLPrefsManager.Theme.toolbar_color); + enter_color = XMLPrefsManager.getColor(XMLPrefsManager.Theme.enter_color); deviceName = XMLPrefsManager.get(String.class, XMLPrefsManager.Ui.deviceName); if (deviceName.length() == 0 || deviceName.equals("null")) { @@ -130,18 +132,25 @@ public class SkinManager implements Parcelable { switch (type) { case SuggestionsManager.Suggestion.TYPE_APP: choosen = suggAppText; + break; case SuggestionsManager.Suggestion.TYPE_ALIAS: choosen = suggAliasText; + break; case SuggestionsManager.Suggestion.TYPE_COMMAND: choosen = suggCmdText; + break; case SuggestionsManager.Suggestion.TYPE_CONTACT: choosen = suggContactText; + break; case SuggestionsManager.Suggestion.TYPE_FILE: choosen = suggFileText; + break; case SuggestionsManager.Suggestion.TYPE_SONG: choosen = suggSongText; + break; default: choosen = suggDefaultText; + break; } if(choosen == -1) choosen = suggDefaultText; diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/TerminalMAnager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/TerminalMAnager.java old mode 100644 new mode 100755 index 15406c9..2de232a --- a/app/src/main/java/ohi/andre/consolelauncher/managers/TerminalMAnager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/TerminalMAnager.java @@ -99,7 +99,7 @@ public class TerminalManager { prefixView.setText(prefix); if (submitView != null) { - submitView.setColorFilter(mSkinManager.inputColor); + submitView.setColorFilter(mSkinManager.enter_color); submitView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -109,7 +109,7 @@ public class TerminalManager { } if (backView != null) { - backView.setColorFilter(this.mSkinManager.inputColor); + backView.setColorFilter(this.mSkinManager.toolbarColor); backView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -119,7 +119,7 @@ public class TerminalManager { } if (nextView != null) { - nextView.setColorFilter(this.mSkinManager.inputColor); + nextView.setColorFilter(this.mSkinManager.toolbarColor); nextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -129,20 +129,20 @@ public class TerminalManager { } if (pasteView != null) { - pasteView.setColorFilter(this.mSkinManager.inputColor); + pasteView.setColorFilter(this.mSkinManager.toolbarColor); pasteView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String text = Tuils.getTextFromClipboard(context); if(text != null && text.length() > 0) { - setInput(text); + setInput(getInput() + text); } } }); } if (deleteView != null) { - deleteView.setColorFilter(this.mSkinManager.inputColor); + deleteView.setColorFilter(this.mSkinManager.toolbarColor); deleteView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/XMLPrefsManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/XMLPrefsManager.java index 1c38561..3e23aaf 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/XMLPrefsManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/XMLPrefsManager.java @@ -1,7 +1,6 @@ package ohi.andre.consolelauncher.managers; import android.graphics.Color; -import android.util.Log; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -70,6 +69,18 @@ public class XMLPrefsManager { return "#fff44336"; } }, + toolbar_color { + @Override + public String defaultValue() { + return "#ffff0000"; + } + }, + enter_color { + @Override + public String defaultValue() { + return "#ffffffff"; + } + }, overlay_color { @Override public String defaultValue() { @@ -403,6 +414,12 @@ public class XMLPrefsManager { public String defaultValue() { return "true"; } + }, + show_alias_suggestions { + @Override + public String defaultValue() { + return "true"; + } }; @Override @@ -503,11 +520,16 @@ public class XMLPrefsManager { else if(obj instanceof XMLPrefsSave) return this.key.equals(((XMLPrefsSave) obj).label()); return obj.equals(key); } + + @Override + public String toString() { + return key + " --> " + value; + } } public static class XMLPrefsList { - List<XMLPrefsEntry> list = new ArrayList<>(); + public List<XMLPrefsEntry> list = new ArrayList<>(); public void add(XMLPrefsEntry entry) { list.add(entry); @@ -688,7 +710,10 @@ public class XMLPrefsManager { if(index != -1) { Element e = (Element) node; - for(int c = 0; c < attributeNames.length; c++) e.setAttribute(attributeNames[c], attributeValues[index][c]); + for(int c = 0; c < attributeNames.length; c++) { + if(attributeValues[index][c] == null) continue; + e.setAttribute(attributeNames[c], attributeValues[index][c]); + } writeTo(d, file); return null; @@ -698,7 +723,10 @@ public class XMLPrefsManager { // it wasn't found for(int count = 0; count < elementNames.length; count++) { Element element = d.createElement(elementNames[count]); - for(int c = 0; c < attributeNames.length; c++) element.setAttribute(attributeNames[c], attributeValues[count][c]); + for(int c = 0; c < attributeNames.length; c++) { + if(attributeValues[count][c] == null) continue; + element.setAttribute(attributeNames[c], attributeValues[count][c]); + } root.appendChild(element); } @@ -782,7 +810,6 @@ public class XMLPrefsManager { } public static int getColor(XMLPrefsManager.XMLPrefsSave prefsSave) { - try { return (int) transform(prefsSave.parent().getValues().get(prefsSave).value, Color.class); } catch (Exception e) { diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationManager.java old mode 100644 new mode 100755 index ff9293d..4cc5328 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationManager.java @@ -1,9 +1,7 @@ package ohi.andre.consolelauncher.managers.notifications; import android.annotation.TargetApi; -import android.graphics.Color; import android.os.Build; -import android.util.Log; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -11,14 +9,10 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import java.io.File; -import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.xml.parsers.DocumentBuilder; @@ -28,11 +22,9 @@ import ohi.andre.consolelauncher.managers.XMLPrefsManager; import ohi.andre.consolelauncher.tuils.Tuils; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.VALUE_ATTRIBUTE; -import static ohi.andre.consolelauncher.managers.XMLPrefsManager.XML_DEFAULT; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.resetFile; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.set; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.setMany; -import static ohi.andre.consolelauncher.managers.XMLPrefsManager.transform; import static ohi.andre.consolelauncher.managers.XMLPrefsManager.writeTo; /** @@ -54,13 +46,14 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { private static XMLPrefsManager.XmlPrefsElement instance = null; public static boolean default_app_state; + public static String default_color; public enum Options implements XMLPrefsManager.XMLPrefsSave { enabled { @Override public String defaultValue() { - return "true"; + return "false"; } }, default_app_state { @@ -94,7 +87,7 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { @Override public XMLPrefsManager.XMLPrefsList getValues() { - return null; + return values; } @Override @@ -113,8 +106,6 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { public static void create() { instance = new NotificationManager(); - default_app_state = XMLPrefsManager.get(boolean.class, Options.default_app_state); - if(created) return; created = true; @@ -179,9 +170,9 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { boolean enabled = !e.hasAttribute(ENABLED_ATTRIBUTE) || Boolean.parseBoolean(e.getAttribute(ENABLED_ATTRIBUTE)); - int color = -1; - if(enabled) - color = e.hasAttribute(COLOR_ATTRIBUTE) ? Color.parseColor(e.getAttribute(COLOR_ATTRIBUTE)) : XMLPrefsManager.getColor(Options.default_color); + String color = null; + if(enabled) color = e.hasAttribute(COLOR_ATTRIBUTE) ? e.getAttribute(COLOR_ATTRIBUTE) : null; + app = new NotificatedApp(nn, color, enabled); apps.add(app); } @@ -189,18 +180,21 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { } - if(enums.size() == 0) return; + if(enums.size() > 0) { + for(XMLPrefsManager.XMLPrefsSave s : enums) { + Element em = d.createElement(s.label()); + em.setAttribute(VALUE_ATTRIBUTE, s.defaultValue()); + root.appendChild(em); - for(XMLPrefsManager.XMLPrefsSave s : enums) { - Element em = d.createElement(s.label()); - em.setAttribute(VALUE_ATTRIBUTE, s.defaultValue()); - root.appendChild(em); + values.add(s.label(), s.defaultValue()); + } - values.add(s.label(), s.defaultValue()); + writeTo(d, file); } - - writeTo(d, file); } catch (Exception e) {} + + default_app_state = XMLPrefsManager.get(boolean.class, Options.default_app_state); + default_color = XMLPrefsManager.get(String.class, Options.default_color); } public static void notificationsChangeFor(NotificatedApp app) { @@ -228,7 +222,7 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { NotificatedApp app = apps.get(count); names[count] = app.pkg; values[count][0] = app.enabled + Tuils.EMPTYSTRING; - values[count][1] = app.color + Tuils.EMPTYSTRING; + values[count][1] = app.color != null ? app.color : Tuils.EMPTYSTRING; } setMany(new File(Tuils.getFolder(), PATH), NAME, names, attrNames, values); @@ -243,21 +237,17 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { } public static NotificatedApp getAppState(String pkg) { - int index = apps.indexOf(pkg); + int index = Tuils.find(pkg, apps); if(index == -1) return null; return apps.get(index); } public static class NotificatedApp { String pkg; - int color; + String color; boolean enabled; - public NotificatedApp(String pkg, String color, boolean enabled) throws Exception { - this(pkg, Color.parseColor(color), enabled); - } - - public NotificatedApp(String pkg, int color, boolean enabled) { + public NotificatedApp(String pkg, String color, boolean enabled) { this.pkg = pkg; this.color = color; this.enabled = enabled; @@ -265,9 +255,12 @@ public class NotificationManager implements XMLPrefsManager.XmlPrefsElement { @Override public boolean equals(Object obj) { - if(obj instanceof NotificatedApp) return pkg.equals(((NotificatedApp) obj).pkg); - if(obj instanceof String) return pkg.equals(obj); - return this == obj; + return this.toString().equals(obj.toString()); + } + + @Override + public String toString() { + return pkg; } } } diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationService.java b/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationService.java old mode 100644 new mode 100755 index c20a29e..016953a --- a/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationService.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/notifications/NotificationService.java @@ -6,32 +6,20 @@ package ohi.andre.consolelauncher.managers.notifications; import android.annotation.TargetApi; import android.app.Notification; -import android.app.Service; -import android.content.Context; import android.content.Intent; -import android.content.SharedPreferences; -import android.graphics.Color; import android.os.Build; import android.os.Handler; import android.service.notification.NotificationListenerService; import android.service.notification.StatusBarNotification; -import android.support.annotation.IntDef; import android.support.v4.content.LocalBroadcastManager; -import android.util.Log; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; -import java.util.Iterator; -import java.util.List; import java.util.Map; -import java.util.Set; -import ohi.andre.consolelauncher.BuildConfig; -import ohi.andre.consolelauncher.managers.XMLPrefsManager; - -import static ohi.andre.consolelauncher.managers.notifications.NotificationManager.*; +import static ohi.andre.consolelauncher.managers.notifications.NotificationManager.NotificatedApp; +import static ohi.andre.consolelauncher.managers.notifications.NotificationManager.default_color; @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) @@ -51,13 +39,13 @@ public class NotificationService extends NotificationListenerService { if(NotificationManager.apps() == 0) { // some nice apps NotificationManager.notificationsChangeFor(new ArrayList<>(Arrays.asList( - new NotificatedApp("com.whatsapp", Color.parseColor("#25D366"), true), - new NotificatedApp("com.google.android.apps.inbox", Color.parseColor("#03A9F4"), true), - new NotificatedApp("com.paypal.android.p2pmobile", Color.parseColor("#003087"), true), - new NotificatedApp("com.google.android.apps.plus", Color.parseColor("#dd4b39"), true), - new NotificatedApp("com.facebook.katana", Color.parseColor("#3b5998"), true), - new NotificatedApp("com.twitter.android", Color.parseColor("#1da1f2"), true), - new NotificatedApp("com.android.vending", Color.parseColor("#34a853"), true) + new NotificatedApp("com.whatsapp", "#25D366", true), + new NotificatedApp("com.google.android.apps.inbox", "#03A9F4", true), + new NotificatedApp("com.paypal.android.p2pmobile", "#003087", true), + new NotificatedApp("com.google.android.apps.plus", "#dd4b39", true), + new NotificatedApp("com.facebook.katana", "#3b5998", true), + new NotificatedApp("com.twitter.android", "#1da1f2", true), + new NotificatedApp("com.android.vending", "#34a853", true) ))); } @@ -99,6 +87,7 @@ public class NotificationService extends NotificationListenerService { if( (nApp != null && !nApp.enabled)) { return; } + if(nApp == null && !NotificationManager.default_app_state) { return; } @@ -127,7 +116,7 @@ public class NotificationService extends NotificationListenerService { msgrcv.putExtra("package", pack); msgrcv.putExtra("title", title); msgrcv.putExtra("text", text); - msgrcv.putExtra("color", nApp.color); + msgrcv.putExtra("color", nApp != null ? nApp.color : default_color); LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(msgrcv); } diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionRunnable.java b/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionRunnable.java old mode 100644 new mode 100755 index bccaba7..25e7151 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionRunnable.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionRunnable.java @@ -23,7 +23,6 @@ import android.widget.TextView; import ohi.andre.consolelauncher.R; import ohi.andre.consolelauncher.managers.SkinManager; -import ohi.andre.consolelauncher.managers.suggestions.SuggestionsManager; public class SuggestionRunnable implements Runnable { diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionsManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionsManager.java old mode 100644 new mode 100755 index 28f8daa..7bcad0d --- a/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionsManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/suggestions/SuggestionsManager.java @@ -1,7 +1,5 @@ package ohi.andre.consolelauncher.managers.suggestions; -import android.util.Log; - import java.io.File; import java.util.ArrayList; import java.util.Arrays; @@ -12,9 +10,9 @@ import ohi.andre.comparestring.Compare; import ohi.andre.consolelauncher.commands.Command; import ohi.andre.consolelauncher.commands.CommandAbstraction; import ohi.andre.consolelauncher.commands.CommandTuils; +import ohi.andre.consolelauncher.commands.main.MainPack; import ohi.andre.consolelauncher.commands.specific.ParamCommand; import ohi.andre.consolelauncher.commands.specific.PermanentSuggestionCommand; -import ohi.andre.consolelauncher.commands.main.MainPack; import ohi.andre.consolelauncher.managers.AliasManager; import ohi.andre.consolelauncher.managers.AppsManager; import ohi.andre.consolelauncher.managers.ContactManager; @@ -46,8 +44,15 @@ public class SuggestionsManager { private final int FIRST_INTERVAL = 3; + private boolean showAlias, showAliasWasSet = false; + public Suggestion[] getSuggestions(MainPack info, String before, String lastWord) { + if(!showAliasWasSet) { + showAlias = XMLPrefsManager.get(boolean.class, XMLPrefsManager.Behavior.show_alias_suggestions); + showAliasWasSet = true; + } + List<Suggestion> suggestionList = new ArrayList<>(); before = before.trim(); @@ -70,7 +75,7 @@ public class SuggestionsManager { } } - suggestAlias(info.aliasManager, suggestionList, lastWord); + if(showAlias) suggestAlias(info.aliasManager, suggestionList, lastWord); return suggestionList.toArray(new Suggestion[suggestionList.size()]); } @@ -143,7 +148,7 @@ public class SuggestionsManager { } else { // lastword > 0 && before = 0 suggestCommand(info, suggestionList, lastWord, before); - suggestAlias(info.aliasManager, suggestionList, lastWord); + if(showAlias) suggestAlias(info.aliasManager, suggestionList, lastWord); suggestApp(info, suggestionList, lastWord, Tuils.EMPTYSTRING); } } diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/Animator.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/Animator.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/Assist.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/Assist.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/KeeperService.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/KeeperService.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/ShellUtils.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/ShellUtils.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/SimpleMutableEntry.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/SimpleMutableEntry.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/SquareImageView.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/SquareImageView.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/StoppableThread.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/StoppableThread.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java index ebb75a9..e6a5ac7 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java +++ b/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java @@ -30,6 +30,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; +import java.util.Arrays; import java.util.Enumeration; import java.util.List; @@ -188,13 +189,10 @@ public class Tuils { } public static int find(Object o, Object[] array) { - for(int count = 0; count < array.length; count++) { - if(o.equals(array[count])) return count; - } - return -1; + return find(o, Arrays.asList(array)); } - public static int find(Object o, List<Object> list) { + public static int find(Object o, List list) { for(int count = 0; count < list.size(); count++) { Object x = list.get(count); if(o instanceof XMLPrefsManager.XMLPrefsSave) { @@ -209,7 +207,8 @@ public class Tuils { } catch (Exception e) {} } - if(o.equals(list.get(count))) return count; + Object ob = list.get(count); + if(o.equals(ob) || ob.equals(o)) return count; } return -1; } diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/broadcast/HeadsetBroadcast.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/broadcast/HeadsetBroadcast.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/CommandExecuter.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/CommandExecuter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/OnRedirectionListener.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/OnRedirectionListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/Redirectator.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/Redirectator.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/SuggestionViewDecorer.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/interfaces/SuggestionViewDecorer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/stuff/FakeLauncherActivity.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/stuff/FakeLauncherActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/ic_back.png b/app/src/main/res/drawable-hdpi/ic_back.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/ic_clear.png b/app/src/main/res/drawable-hdpi/ic_clear.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/ic_enter.png b/app/src/main/res/drawable-hdpi/ic_enter.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/ic_next.png b/app/src/main/res/drawable-hdpi/ic_next.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/ic_paste.png b/app/src/main/res/drawable-hdpi/ic_paste.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_back.png b/app/src/main/res/drawable-mdpi/ic_back.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_clear.png b/app/src/main/res/drawable-mdpi/ic_clear.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_enter.png b/app/src/main/res/drawable-mdpi/ic_enter.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_next.png b/app/src/main/res/drawable-mdpi/ic_next.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_paste.png b/app/src/main/res/drawable-mdpi/ic_paste.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/ic_back.png b/app/src/main/res/drawable-xhdpi/ic_back.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/ic_clear.png b/app/src/main/res/drawable-xhdpi/ic_clear.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/ic_enter.png b/app/src/main/res/drawable-xhdpi/ic_enter.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/ic_next.png b/app/src/main/res/drawable-xhdpi/ic_next.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/ic_paste.png b/app/src/main/res/drawable-xhdpi/ic_paste.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_back.png b/app/src/main/res/drawable-xxhdpi/ic_back.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_clear.png b/app/src/main/res/drawable-xxhdpi/ic_clear.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_enter.png b/app/src/main/res/drawable-xxhdpi/ic_enter.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_next.png b/app/src/main/res/drawable-xxhdpi/ic_next.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_paste.png b/app/src/main/res/drawable-xxhdpi/ic_paste.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/cursor.xml b/app/src/main/res/drawable/cursor.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_email.png b/app/src/main/res/drawable/ic_email.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_git.png b/app/src/main/res/drawable/ic_git.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_googlep.png b/app/src/main/res/drawable/ic_googlep.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/tutorial_end_icon_bg.xml b/app/src/main/res/drawable/tutorial_end_icon_bg.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/base_view.xml b/app/src/main/res/layout/base_view.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/input_down_layout.xml b/app/src/main/res/layout/input_down_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/input_up_layout.xml b/app/src/main/res/layout/input_up_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/suggestions_layout.xml b/app/src/main/res/layout/suggestions_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/tuixt_view_input_down.xml b/app/src/main/res/layout/tuixt_view_input_down.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/tuixt_view_input_up.xml b/app/src/main/res/layout/tuixt_view_input_up.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/tutorial_base_layout.xml b/app/src/main/res/layout/tutorial_base_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/tutorial_end_layout.xml b/app/src/main/res/layout/tutorial_end_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/tutorial_first_layout.xml b/app/src/main/res/layout/tutorial_first_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/values-v21/strings.xml b/app/src/main/res/values-v21/strings.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/values/integers.xml b/app/src/main/res/values/integers.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6988021..6d07d0b 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,7 +40,10 @@ <string name="output_numberformat">Wrong number format</string> <string name="output_invalidarg">Invalid argument</string> <string name="output_lessarg">Less arguments than expected</string> + + <!-- alias --> <string name="output_aliasnotfound">Alias not found:</string> + <string name="output_problemaddingalias">There was a problem with your alias</string> <!-- tuixt --> <string name="help_tuixt_help">Print the list of commands, or info about a command @@ -118,7 +121,7 @@ <string name="help_airplane">Toggle Airplane Mode</string> - <string name="help_aliases">Manager your aliases + <string name="help_alias">Manage your aliases \n\nUsage: \n-add -> add a new alias \n-rm -> remove an existing alias -- GitLab