From 276b831ceb12ea65c3db2e9a3af5ddddb5bdb40a Mon Sep 17 00:00:00 2001 From: Vlad Mihalachi Date: Thu, 25 Sep 2014 14:19:23 +0200 Subject: [PATCH] Great Update to the source --- .gitignore | 67 +- .idea/copyright/Copyright_Vlad_Mihalachi.xml | 9 + .idea/gradle.xml | 23 + .idea/inspectionProfiles/Project_Default.xml | 9 + .../inspectionProfiles/profiles_settings.xml | 7 + Turbo Editor/build.gradle | 36 - Turbo Editor/src/main/AndroidManifest.xml | 104 -- .../turboeditor/activity/HomeActivity.java | 362 ---- .../activity/LicensesActivity.java | 50 - .../turboeditor/activity/PreferenceAbout.java | 109 -- .../activity/SelectFileActivity.java | 259 --- .../turboeditor/event/OpenDrawerEvent.java | 23 - .../turboeditor/fragment/EditorFragment.java | 1039 ----------- .../NavigationDrawerListFragment.java | 279 --- .../fragment/SeekbarDialogFragment.java | 108 -- .../turboeditor/helper/AppInfoHelper.java | 23 - .../turboeditor/helper/PreferenceHelper.java | 101 -- .../turboeditor/helper/StringHelper.java | 41 - .../vmihalachi/turboeditor/util/Patterns.java | 66 - .../main/res/drawable-hdpi/ic_action_redo.png | Bin 729 -> 0 bytes .../main/res/drawable-hdpi/ic_action_tick.png | Bin 393 -> 0 bytes .../main/res/drawable-hdpi/ic_action_undo.png | Bin 716 -> 0 bytes .../src/main/res/drawable-hdpi/ic_drawer.png | Bin 2842 -> 0 bytes .../main/res/drawable-mdpi/ic_action_redo.png | Bin 481 -> 0 bytes .../main/res/drawable-mdpi/ic_action_tick.png | Bin 332 -> 0 bytes .../main/res/drawable-mdpi/ic_action_undo.png | Bin 485 -> 0 bytes .../src/main/res/drawable-mdpi/ic_drawer.png | Bin 2837 -> 0 bytes .../res/drawable-xhdpi/ic_action_redo.png | Bin 886 -> 0 bytes .../res/drawable-xhdpi/ic_action_tick.png | Bin 327 -> 0 bytes .../res/drawable-xhdpi/ic_action_undo.png | Bin 926 -> 0 bytes .../src/main/res/drawable-xhdpi/ic_drawer.png | Bin 1056 -> 0 bytes .../res/drawable-xxhdpi/ic_action_redo.png | Bin 1345 -> 0 bytes .../res/drawable-xxhdpi/ic_action_tick.png | Bin 777 -> 0 bytes .../res/drawable-xxhdpi/ic_action_undo.png | Bin 1361 -> 0 bytes .../src/main/res/drawable/holo_selector.xml | 34 - ...demo_changelog_fragment_dialogstandard.xml | 7 - .../res/layout/dialog_fragment_edittext.xml | 50 - .../src/main/res/layout/fragment_editor.xml | 45 - .../res/layout/fragment_navigation_drawer.xml | 45 - .../src/main/res/layout/item_file_list.xml | 72 - Turbo Editor/src/main/res/raw/changelog.xml | 32 - .../src/main/res/values-es-rES/strings.xml | 122 -- .../src/main/res/values-ru-rRU/strings.xml | 122 -- Turbo Editor/src/main/res/values/arrays.xml | 8 - Turbo Editor/src/main/res/values/colors.xml | 36 - Turbo Editor/src/main/res/values/ids.xml | 41 - .../main/res/values/strings_aboutactivity.xml | 41 - Turbo Editor/src/main/res/values/styles.xml | 46 - app/.gitignore | 1 + app/build.gradle | 68 + app/proguard-rules.pro | 17 + .../fileeditor/ApplicationTest.java | 24 +- app/src/main/AndroidManifest.xml | 138 ++ .../java/com/maskyn/fileeditor/AdsHelper.java | 59 + .../com/maskyn/fileeditor/HomeActivity.java | 46 + build.gradle | 37 + build/intermediates/dex-cache/cache.xml | 120 ++ build/intermediates/model_data.bin | Bin 0 -> 467070 bytes gradle.properties | 37 + gradle/wrapper/gradle-wrapper.jar | Bin 50514 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 23 +- libraries/FloatingActionButton/.classpath | 9 + libraries/FloatingActionButton/.project | 33 + .../.settings/org.eclipse.jdt.core.prefs | 4 + .../FloatingActionButton/AndroidManifest.xml | 12 + libraries/FloatingActionButton/build.gradle | 28 + .../floatingactionbutton/BuildConfig.java | 13 + .../floatingactionbutton/BuildConfig.java | 13 + .../test/BuildConfig.java | 13 + .../faizmalkani/floatingactionbutton/R.java | 173 ++ .../faizmalkani/floatingactionbutton/R.java | 173 ++ .../faizmalkani/floatingactionbutton/R.java | 27 + .../floatingactionbutton/test/R.java | 173 ++ .../bundles/debug/AndroidManifest.xml | 14 + .../build/intermediates/bundles/debug/R.txt | 13 + .../intermediates/bundles/debug/classes.jar | Bin 0 -> 5330 bytes .../bundles/debug/res/values/values.xml | 16 + .../bundles/release/AndroidManifest.xml | 14 + .../build/intermediates/bundles/release/R.txt | 13 + .../intermediates/bundles/release/classes.jar | Bin 0 -> 5256 bytes .../bundles/release/res/values/values.xml | 16 + .../incremental/aidl/debug/dependency.store | Bin 0 -> 5 bytes .../incremental/aidl/release/dependency.store | Bin 0 -> 5 bytes .../aidl/test/debug/dependency.store | Bin 0 -> 5 bytes .../incremental/mergeAssets/debug/merger.xml | 11 + .../mergeAssets/release/merger.xml | 11 + .../mergeAssets/test/debug/merger.xml | 11 + .../mergeResources/test/debug/merger.xml | 38 + .../packageResources/debug/merger.xml | 38 + .../packageResources/release/merger.xml | 38 + .../manifests/test/debug/AndroidManifest.xml | 20 + .../res/test/debug/values/values.xml | 16 + .../intermediates/symbols/test/debug/R.txt | 13 + .../outputs/aar/FloatingActionButton.aar | Bin 0 -> 6055 bytes .../build/tmp/packageDebugJar/MANIFEST.MF | 2 + .../build/tmp/packageReleaseJar/MANIFEST.MF | 2 + .../FloatingActionButton/proguard-project.txt | 20 + .../FloatingActionButton/project.properties | 16 + .../FloatingActionButton/res/values/attrs.xml | 14 + .../DirectionScrollListener.java | 50 + .../FloatingActionButton.java | 145 ++ libraries/RootCommands/.gitignore | 33 + libraries/RootCommands/build.gradle | 26 + .../RootCommands/src/main/AndroidManifest.xml | 15 + .../rootcommands/Mount.java | 43 + .../rootcommands/Remounter.java | 176 ++ .../rootcommands/RootCommands.java | 36 + .../rootcommands/Shell.java | 331 ++++ .../rootcommands/SystemCommands.java | 108 ++ .../rootcommands/Toolbox.java | 809 +++++++++ .../rootcommands/command/Command.java | 155 ++ .../command/ExecutableCommand.java | 51 + .../rootcommands/command/SimpleCommand.java | 29 + .../command/SimpleExecutableCommand.java | 31 + .../util/BrokenBusyboxException.java | 18 + .../rootcommands/util/Log.java | 69 + .../util/RootAccessDeniedException.java | 18 + .../UnsupportedArchitectureException.java | 16 + .../rootcommands/util/Utils.java | 89 + libraries/sharedCode/.gitignore | 1 + libraries/sharedCode/build.gradle | 61 + .../libs/juniversalchardet-1.0.3.jar | Bin 0 -> 206373 bytes libraries/sharedCode/proguard-rules.pro | 17 + .../turboeditor/ApplicationTest.java | 24 +- .../sharedCode/src/main/AndroidManifest.xml | 14 +- .../activity/BaseHomeActivity.java | 519 ++++++ .../activity/LicensesActivity.java | 80 + .../turboeditor/activity/PreferenceAbout.java | 166 ++ .../activity/SelectFileActivity.java | 380 ++++ .../adapter/AdapterDetailedList.java | 117 +- .../turboeditor/adapter/AdapterDrawer.java | 124 ++ .../fragment/ChangelogDialogFragment.java | 68 +- .../fragment/EditDialogFragment.java | 67 +- .../turboeditor/fragment/EditorFragment.java | 1553 +++++++++++++++++ .../fragment/EncodingDialogFragment.java | 125 ++ .../fragment/FindTextDialogFragment.java | 213 +++ .../NavigationDrawerListFragment.java | 206 +++ .../NewFileDetailsDialogFragment.java | 93 + .../fragment/NoFileOpenedFragment.java | 17 +- .../fragment/SaveFileDialogFragment.java | 83 + .../fragment/SeekbarDialogFragment.java | 103 ++ .../preferences/PreferenceHelper.java | 174 ++ .../preferences/SettingsFragment.java | 264 +++ .../turboeditor/util/AlphanumComparator.java | 25 +- .../turboeditor/util/AppInfoHelper.java | 42 + .../turboeditor/util/Constants.java | 10 +- .../turboeditor/util/EditorInterface.java | 24 +- .../turboeditor/util/EdittextPadding.java | 37 + .../turboeditor/util/EventBusEvents.java | 107 ++ .../turboeditor/util/FileUtils.java | 58 + .../turboeditor/util/LineUtils.java | 128 ++ .../turboeditor/util/LinuxShell.java | 142 ++ .../turboeditor/util/MimeTypes.java | 12 +- .../turboeditor/util/PageSystem.java | 166 ++ .../turboeditor/util/PageSystemButtons.java | 132 ++ .../sharedcode/turboeditor/util/Patterns.java | 90 + .../turboeditor/util}/PixelDipConverter.java | 12 +- .../turboeditor/util/ProCheckUtils.java | 21 +- .../turboeditor/util/RootUtils.java | 102 ++ .../turboeditor/util/SaveFileTask.java | 106 ++ .../turboeditor/util/SearchResult.java | 50 + .../turboeditor/util/ThemeHelper.java | 37 + .../turboeditor/views/CustomDrawerLayout.java | 30 +- .../turboeditor/views/GoodScrollView.java | 62 + .../main/res/drawable-hdpi/ic_action_add.png | Bin 0 -> 301 bytes .../drawable-hdpi/ic_action_arrow_down.png | Bin 0 -> 724 bytes .../res/drawable-hdpi/ic_action_arrow_up.png | Bin 0 -> 621 bytes .../res/drawable-hdpi/ic_action_bookmark.png | Bin 0 -> 465 bytes .../ic_action_bookmark_outline.png | Bin 0 -> 615 bytes .../res/drawable-hdpi/ic_action_close.png | Bin 0 -> 531 bytes .../res/drawable-hdpi/ic_action_overflow.png | Bin 0 -> 495 bytes .../main/res/drawable-hdpi/ic_action_redo.png | Bin 0 -> 713 bytes .../main/res/drawable-hdpi/ic_action_save.png | Bin 0 -> 644 bytes .../res/drawable-hdpi/ic_action_search.png | Bin 0 -> 1125 bytes .../main/res/drawable-hdpi/ic_action_undo.png | Bin 0 -> 1068 bytes .../src/main/res/drawable-hdpi/ic_drawer.png | Bin 0 -> 5644 bytes .../src/main/res/drawable-hdpi/ic_fab_add.png | Bin 0 -> 365 bytes .../drawable-hdpi/ic_keyboard_arrow_left.png | Bin 0 -> 853 bytes .../drawable-hdpi/ic_keyboard_arrow_right.png | Bin 0 -> 898 bytes .../main/res/drawable-hdpi/ic_launcher.png | Bin .../main/res/drawable-mdpi/ic_action_add.png | Bin 0 -> 212 bytes .../drawable-mdpi/ic_action_arrow_down.png | Bin 0 -> 475 bytes .../res/drawable-mdpi/ic_action_arrow_up.png | Bin 0 -> 462 bytes .../res/drawable-mdpi/ic_action_bookmark.png | Bin 0 -> 291 bytes .../ic_action_bookmark_outline.png | Bin 0 -> 377 bytes .../res/drawable-mdpi/ic_action_close.png | Bin 0 -> 403 bytes .../res/drawable-mdpi/ic_action_overflow.png | Bin 0 -> 290 bytes .../main/res/drawable-mdpi/ic_action_redo.png | Bin 0 -> 535 bytes .../main/res/drawable-mdpi/ic_action_save.png | Bin 0 -> 434 bytes .../res/drawable-mdpi/ic_action_search.png | Bin 0 -> 749 bytes .../main/res/drawable-mdpi/ic_action_undo.png | Bin 0 -> 692 bytes .../src/main/res/drawable-mdpi/ic_drawer.png | Bin 0 -> 4356 bytes .../src/main/res/drawable-mdpi/ic_fab_add.png | Bin 0 -> 266 bytes .../drawable-mdpi/ic_keyboard_arrow_left.png | Bin 0 -> 517 bytes .../drawable-mdpi/ic_keyboard_arrow_right.png | Bin 0 -> 546 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin .../main/res/drawable-xhdpi/ic_action_add.png | Bin 0 -> 353 bytes .../drawable-xhdpi/ic_action_arrow_down.png | Bin 0 -> 848 bytes .../res/drawable-xhdpi/ic_action_arrow_up.png | Bin 0 -> 776 bytes .../res/drawable-xhdpi/ic_action_bookmark.png | Bin 0 -> 597 bytes .../ic_action_bookmark_outline.png | Bin 0 -> 775 bytes .../res/drawable-xhdpi/ic_action_close.png | Bin 0 -> 835 bytes .../res/drawable-xhdpi/ic_action_github.png | Bin 0 -> 3676 bytes .../drawable-xhdpi/ic_action_google_play.png | Bin 0 -> 2698 bytes .../res/drawable-xhdpi/ic_action_gplus.png | Bin 0 -> 3333 bytes .../res/drawable-xhdpi/ic_action_mail.png | Bin 0 -> 1967 bytes .../res/drawable-xhdpi/ic_action_overflow.png | Bin 0 -> 677 bytes .../res/drawable-xhdpi/ic_action_redo.png | Bin 0 -> 968 bytes .../res/drawable-xhdpi/ic_action_save.png | Bin 0 -> 878 bytes .../res/drawable-xhdpi/ic_action_search.png | Bin 0 -> 1514 bytes .../res/drawable-xhdpi/ic_action_undo.png | Bin 0 -> 1473 bytes .../src/main/res/drawable-xhdpi/ic_drawer.png | Bin 0 -> 7444 bytes .../main/res/drawable-xhdpi/ic_fab_add.png | Bin 0 -> 433 bytes .../drawable-xhdpi/ic_keyboard_arrow_left.png | Bin 0 -> 1059 bytes .../ic_keyboard_arrow_right.png | Bin 0 -> 1162 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin .../res/drawable-xxhdpi/ic_action_add.png | Bin 0 -> 656 bytes .../drawable-xxhdpi/ic_action_arrow_down.png | Bin 0 -> 1125 bytes .../drawable-xxhdpi/ic_action_arrow_up.png | Bin 0 -> 1161 bytes .../drawable-xxhdpi/ic_action_bookmark.png | Bin 0 -> 1042 bytes .../ic_action_bookmark_outline.png | Bin 0 -> 1289 bytes .../res/drawable-xxhdpi/ic_action_close.png | Bin 0 -> 1109 bytes .../drawable-xxhdpi/ic_action_overflow.png | Bin 0 -> 1309 bytes .../res/drawable-xxhdpi/ic_action_redo.png | Bin 0 -> 1371 bytes .../res/drawable-xxhdpi/ic_action_save.png | Bin 0 -> 1367 bytes .../res/drawable-xxhdpi/ic_action_search.png | Bin 0 -> 2359 bytes .../res/drawable-xxhdpi/ic_action_undo.png | Bin 0 -> 2210 bytes .../main/res/drawable-xxhdpi/ic_drawer.png | Bin 0 -> 9402 bytes .../main/res/drawable-xxhdpi/ic_fab_add.png | Bin 0 -> 802 bytes .../ic_keyboard_arrow_left.png | Bin 0 -> 1348 bytes .../ic_keyboard_arrow_right.png | Bin 0 -> 1526 bytes .../main/res/drawable-xxhdpi/ic_launcher.png | Bin .../src/main/res/drawable/drawer_shadow.9.png | Bin 0 -> 174 bytes .../src/main/res/drawable/ic_add_dark.png | Bin 0 -> 691 bytes .../src/main/res/drawable/ic_close_dark.png | Bin 0 -> 37139 bytes .../src/main/res/drawable/ic_file_dark.png | Bin 0 -> 37139 bytes .../src/main/res/drawable/ic_info_dark.png | Bin 0 -> 37139 bytes .../main/res/drawable/ic_settings_dark.png | Bin 0 -> 37139 bytes .../drawable/item_background_holo_dark.xml | 30 + .../drawable/item_background_holo_light.xml | 30 + .../main/res/drawable/list_focused_holo.9.png | Bin 0 -> 203 bytes .../drawable/list_longpressed_holo_dark.9.png | Bin 0 -> 163 bytes .../res/drawable/list_pressed_holo_dark.9.png | Bin 0 -> 163 bytes ...lector_background_transition_holo_dark.xml | 14 +- .../list_selector_disabled_holo_dark.9.png | Bin 0 -> 190 bytes .../src/main/res/layout/activity_about.xml | 148 ++ .../src/main/res/layout/activity_home.xml | 24 +- .../src/main/res/layout/activity_licenses.xml | 11 +- .../main/res/layout/activity_select_file.xml | 48 + ...demo_changelog_fragment_dialogstandard.xml | 18 +- .../main/res/layout/dialog_encoding_list.xml | 46 + .../res/layout/dialog_fragment_edittext.xml | 37 + .../res/layout/dialog_fragment_find_text.xml | 75 + .../dialog_fragment_new_file_details.xml | 61 + .../res/layout/dialog_fragment_seekbar.xml | 21 +- .../src/main/res/layout/fragment_editor.xml | 78 + .../res/layout/fragment_navigation_drawer.xml | 186 ++ .../main/res/layout/fragment_no_file_open.xml | 5 +- .../res/layout/fragment_reader_listview.xml | 20 +- .../src/main/res/layout/fragment_settings.xml | 292 ++++ .../src/main/res/layout/item_drawer_list.xml | 49 + .../src/main/res/layout/item_file_list.xml | 61 + .../main/res/layout/item_single_choice.xml | 22 +- .../main/res/menu/activity_select_file.xml | 46 + .../src/main/res/menu/fragment_editor.xml | 40 +- .../main/res/menu/fragment_editor_search.xml | 57 + .../src/main/res/menu/popup_new_file.xml | 17 +- .../sharedCode/src/main/res/raw/changelog.xml | 143 ++ .../src/main/res/values-af-rZA/strings.xml | 170 ++ .../values-af-rZA/strings_aboutactivity.xml | 63 + .../src/main/res/values-ar-rSA/strings.xml | 170 ++ .../values-ar-rSA/strings_aboutactivity.xml | 63 + .../src/main/res/values-az-rAZ/strings.xml | 170 ++ .../values-az-rAZ/strings_aboutactivity.xml | 63 + .../src/main/res/values-be-rBY/strings.xml | 170 ++ .../values-be-rBY/strings_aboutactivity.xml | 63 + .../src/main/res/values-bg-rBG/strings.xml | 170 ++ .../values-bg-rBG/strings_aboutactivity.xml | 63 + .../src/main/res/values-ca-rES/strings.xml | 170 ++ .../values-ca-rES/strings_aboutactivity.xml | 63 + .../src/main/res/values-cs-rCZ/strings.xml | 170 ++ .../values-cs-rCZ/strings_aboutactivity.xml | 63 + .../src/main/res/values-da-rDK/strings.xml | 170 ++ .../values-da-rDK/strings_aboutactivity.xml | 63 + .../src/main/res/values-de-rDE/strings.xml | 76 +- .../values-de-rDE/strings_aboutactivity.xml | 22 + .../src/main/res/values-el-rGR/strings.xml | 80 +- .../values-el-rGR/strings_aboutactivity.xml | 22 + .../src/main/res/values-es-rES/strings.xml | 170 ++ .../values-es-rES/strings_aboutactivity.xml | 36 +- .../src/main/res/values-es-rMX/strings.xml | 153 ++ .../values-es-rMX/strings_aboutactivity.xml | 60 + .../src/main/res/values-fi-rFI/strings.xml | 88 +- .../values-fi-rFI/strings_aboutactivity.xml | 24 +- .../src/main/res/values-fil-rPH/strings.xml | 170 ++ .../values-fil-rPH/strings_aboutactivity.xml | 63 + .../src/main/res/values-fr-rFR/strings.xml | 108 +- .../values-fr-rFR/strings_aboutactivity.xml | 22 + .../src/main/res/values-gl-rES/strings.xml | 170 ++ .../values-gl-rES/strings_aboutactivity.xml | 63 + .../src/main/res/values-hi-rIN/strings.xml | 170 ++ .../values-hi-rIN/strings_aboutactivity.xml | 63 + .../src/main/res/values-hr-rHR/strings.xml | 170 ++ .../values-hr-rHR/strings_aboutactivity.xml | 63 + .../src/main/res/values-hu-rHU/strings.xml | 170 ++ .../values-hu-rHU/strings_aboutactivity.xml | 63 + .../src/main/res/values-hy-rAM/strings.xml | 170 ++ .../values-hy-rAM/strings_aboutactivity.xml | 63 + .../src/main/res/values-in-rID/strings.xml | 170 ++ .../values-in-rID/strings_aboutactivity.xml | 63 + .../src/main/res/values-it-rIT/strings.xml | 72 +- .../values-it-rIT/strings_aboutactivity.xml | 24 +- .../src/main/res/values-iw-rIL/strings.xml | 170 ++ .../values-iw-rIL/strings_aboutactivity.xml | 63 + .../src/main/res/values-ja-rJP/strings.xml | 170 ++ .../values-ja-rJP/strings_aboutactivity.xml | 63 + .../src/main/res/values-ko-rKR/strings.xml | 170 ++ .../values-ko-rKR/strings_aboutactivity.xml | 63 + .../src/main/res/values-lb-rLU/strings.xml | 170 ++ .../values-lb-rLU/strings_aboutactivity.xml | 63 + .../src/main/res/values-mk-rMK/strings.xml | 170 ++ .../values-mk-rMK/strings_aboutactivity.xml | 63 + .../src/main/res/values-mn-rMN/strings.xml | 170 ++ .../values-mn-rMN/strings_aboutactivity.xml | 63 + .../src/main/res/values-ms-rMY/strings.xml | 45 +- .../values-ms-rMY/strings_aboutactivity.xml | 19 + .../src/main/res/values-mt-rMT/strings.xml | 170 ++ .../values-mt-rMT/strings_aboutactivity.xml | 63 + .../src/main/res/values-nl-rNL/strings.xml | 74 +- .../values-nl-rNL/strings_aboutactivity.xml | 28 +- .../src/main/res/values-no-rNO/strings.xml | 170 ++ .../values-no-rNO/strings_aboutactivity.xml | 63 + .../src/main/res/values-pl-rPL/strings.xml | 68 +- .../values-pl-rPL/strings_aboutactivity.xml | 22 + .../src/main/res/values-pt-rBR/strings.xml | 92 +- .../values-pt-rBR/strings_aboutactivity.xml | 63 + .../src/main/res/values-pt-rPT/strings.xml | 170 ++ .../values-pt-rPT/strings_aboutactivity.xml | 63 + .../src/main/res/values-ro-rRO/strings.xml | 170 ++ .../values-ro-rRO/strings_aboutactivity.xml | 63 + .../src/main/res/values-ru-rRU/strings.xml | 170 ++ .../values-ru-rRU/strings_aboutactivity.xml | 24 +- .../src/main/res/values-sk-rSK/strings.xml | 153 ++ .../values-sk-rSK/strings_aboutactivity.xml | 60 + .../src/main/res/values-sl-rSI/strings.xml | 170 ++ .../values-sl-rSI/strings_aboutactivity.xml | 63 + .../src/main/res/values-sq-rAL/strings.xml | 170 ++ .../values-sq-rAL/strings_aboutactivity.xml | 63 + .../src/main/res/values-sr-rSP/strings.xml | 170 ++ .../values-sr-rSP/strings_aboutactivity.xml | 63 + .../src/main/res/values-sv-rSE/strings.xml | 170 ++ .../values-sv-rSE/strings_aboutactivity.xml | 63 + .../src/main/res/values-sw600dp/dimens.xml | 40 + .../src/main/res/values-tr-rTR/strings.xml | 170 ++ .../values-tr-rTR/strings_aboutactivity.xml | 63 + .../src/main/res/values-uk-rUA/strings.xml | 170 ++ .../values-uk-rUA/strings_aboutactivity.xml | 63 + .../src/main/res/values-vi-rVN/strings.xml | 170 ++ .../values-vi-rVN/strings_aboutactivity.xml | 63 + .../src/main/res/values-vls-rBE/strings.xml | 170 ++ .../values-vls-rBE/strings_aboutactivity.xml | 63 + .../src/main/res/values-zh-rCN/strings.xml | 170 ++ .../values-zh-rCN/strings_aboutactivity.xml | 63 + .../src/main/res/values-zh-rHK/strings.xml | 153 ++ .../values-zh-rHK}/strings_aboutactivity.xml | 21 +- .../src/main/res/values-zh-rTW/strings.xml | 170 ++ .../values-zh-rTW/strings_aboutactivity.xml | 63 + .../sharedCode/src/main/res/values/arrays.xml | 29 + .../sharedCode/src/main/res/values/colors.xml | 60 + .../src/main/res/values/dimens.xml | 17 +- .../sharedCode/src/main/res/values/ids.xml | 82 + .../src/main/res/values/integers.xml | 4 +- .../src/main/res/values/strings.xml | 75 +- .../sharedCode/src/main/res/values/styles.xml | 99 ++ .../sharedCode}/src/main/res/xml/about.xml | 24 +- .../google play/google_play_description.txt | 54 + .../zh-CN/google play/google_play_inapp.html | 11 +- .../google play/google_play_description.txt | 54 + .../zh-HK/google play/google_play_inapp.html | 21 + .../google play/google_play_description.txt | 54 + .../zh-TW/google play/google_play_inapp.html | 21 + settings.gradle | 21 +- 382 files changed, 21651 insertions(+), 3801 deletions(-) create mode 100644 .idea/copyright/Copyright_Vlad_Mihalachi.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 Turbo Editor/build.gradle delete mode 100644 Turbo Editor/src/main/AndroidManifest.xml delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/HomeActivity.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/LicensesActivity.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/PreferenceAbout.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/SelectFileActivity.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/OpenDrawerEvent.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/EditorFragment.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/NavigationDrawerListFragment.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/SeekbarDialogFragment.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/AppInfoHelper.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/PreferenceHelper.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/StringHelper.java delete mode 100644 Turbo Editor/src/main/java/com/vmihalachi/turboeditor/util/Patterns.java delete mode 100644 Turbo Editor/src/main/res/drawable-hdpi/ic_action_redo.png delete mode 100644 Turbo Editor/src/main/res/drawable-hdpi/ic_action_tick.png delete mode 100644 Turbo Editor/src/main/res/drawable-hdpi/ic_action_undo.png delete mode 100644 Turbo Editor/src/main/res/drawable-hdpi/ic_drawer.png delete mode 100644 Turbo Editor/src/main/res/drawable-mdpi/ic_action_redo.png delete mode 100644 Turbo Editor/src/main/res/drawable-mdpi/ic_action_tick.png delete mode 100644 Turbo Editor/src/main/res/drawable-mdpi/ic_action_undo.png delete mode 100644 Turbo Editor/src/main/res/drawable-mdpi/ic_drawer.png delete mode 100644 Turbo Editor/src/main/res/drawable-xhdpi/ic_action_redo.png delete mode 100644 Turbo Editor/src/main/res/drawable-xhdpi/ic_action_tick.png delete mode 100644 Turbo Editor/src/main/res/drawable-xhdpi/ic_action_undo.png delete mode 100644 Turbo Editor/src/main/res/drawable-xhdpi/ic_drawer.png delete mode 100644 Turbo Editor/src/main/res/drawable-xxhdpi/ic_action_redo.png delete mode 100644 Turbo Editor/src/main/res/drawable-xxhdpi/ic_action_tick.png delete mode 100644 Turbo Editor/src/main/res/drawable-xxhdpi/ic_action_undo.png delete mode 100644 Turbo Editor/src/main/res/drawable/holo_selector.xml delete mode 100644 Turbo Editor/src/main/res/layout/demo_changelog_fragment_dialogstandard.xml delete mode 100644 Turbo Editor/src/main/res/layout/dialog_fragment_edittext.xml delete mode 100644 Turbo Editor/src/main/res/layout/fragment_editor.xml delete mode 100644 Turbo Editor/src/main/res/layout/fragment_navigation_drawer.xml delete mode 100644 Turbo Editor/src/main/res/layout/item_file_list.xml delete mode 100644 Turbo Editor/src/main/res/raw/changelog.xml delete mode 100644 Turbo Editor/src/main/res/values-es-rES/strings.xml delete mode 100644 Turbo Editor/src/main/res/values-ru-rRU/strings.xml delete mode 100644 Turbo Editor/src/main/res/values/arrays.xml delete mode 100644 Turbo Editor/src/main/res/values/colors.xml delete mode 100644 Turbo Editor/src/main/res/values/ids.xml delete mode 100644 Turbo Editor/src/main/res/values/strings_aboutactivity.xml delete mode 100644 Turbo Editor/src/main/res/values/styles.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro rename Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/NewFileOpened.java => app/src/androidTest/java/com/vmihalachi/fileeditor/ApplicationTest.java (58%) create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/maskyn/fileeditor/AdsHelper.java create mode 100644 app/src/main/java/com/maskyn/fileeditor/HomeActivity.java create mode 100644 build/intermediates/dex-cache/cache.xml create mode 100644 build/intermediates/model_data.bin create mode 100644 gradle.properties create mode 100644 libraries/FloatingActionButton/.classpath create mode 100644 libraries/FloatingActionButton/.project create mode 100644 libraries/FloatingActionButton/.settings/org.eclipse.jdt.core.prefs create mode 100644 libraries/FloatingActionButton/AndroidManifest.xml create mode 100644 libraries/FloatingActionButton/build.gradle create mode 100644 libraries/FloatingActionButton/build/generated/source/buildConfig/debug/com/faizmalkani/floatingactionbutton/BuildConfig.java create mode 100644 libraries/FloatingActionButton/build/generated/source/buildConfig/release/com/faizmalkani/floatingactionbutton/BuildConfig.java create mode 100644 libraries/FloatingActionButton/build/generated/source/buildConfig/test/debug/com/faizmalkani/floatingactionbutton/test/BuildConfig.java create mode 100644 libraries/FloatingActionButton/build/generated/source/r/debug/com/faizmalkani/floatingactionbutton/R.java create mode 100644 libraries/FloatingActionButton/build/generated/source/r/release/com/faizmalkani/floatingactionbutton/R.java create mode 100644 libraries/FloatingActionButton/build/generated/source/r/test/debug/com/faizmalkani/floatingactionbutton/R.java create mode 100644 libraries/FloatingActionButton/build/generated/source/r/test/debug/com/faizmalkani/floatingactionbutton/test/R.java create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/debug/AndroidManifest.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/debug/R.txt create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/debug/classes.jar create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/debug/res/values/values.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/release/AndroidManifest.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/release/R.txt create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/release/classes.jar create mode 100644 libraries/FloatingActionButton/build/intermediates/bundles/release/res/values/values.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/aidl/debug/dependency.store create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/aidl/release/dependency.store create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/aidl/test/debug/dependency.store create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/mergeAssets/debug/merger.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/mergeAssets/release/merger.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/mergeAssets/test/debug/merger.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/mergeResources/test/debug/merger.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/packageResources/debug/merger.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/incremental/packageResources/release/merger.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/manifests/test/debug/AndroidManifest.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/res/test/debug/values/values.xml create mode 100644 libraries/FloatingActionButton/build/intermediates/symbols/test/debug/R.txt create mode 100644 libraries/FloatingActionButton/build/outputs/aar/FloatingActionButton.aar create mode 100644 libraries/FloatingActionButton/build/tmp/packageDebugJar/MANIFEST.MF create mode 100644 libraries/FloatingActionButton/build/tmp/packageReleaseJar/MANIFEST.MF create mode 100644 libraries/FloatingActionButton/proguard-project.txt create mode 100644 libraries/FloatingActionButton/project.properties create mode 100644 libraries/FloatingActionButton/res/values/attrs.xml create mode 100644 libraries/FloatingActionButton/src/com/faizmalkani/floatingactionbutton/DirectionScrollListener.java create mode 100644 libraries/FloatingActionButton/src/com/faizmalkani/floatingactionbutton/FloatingActionButton.java create mode 100644 libraries/RootCommands/.gitignore create mode 100644 libraries/RootCommands/build.gradle create mode 100644 libraries/RootCommands/src/main/AndroidManifest.xml create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/Mount.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/Remounter.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/RootCommands.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/Shell.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/SystemCommands.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/Toolbox.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/command/Command.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/command/ExecutableCommand.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/command/SimpleCommand.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/command/SimpleExecutableCommand.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/util/BrokenBusyboxException.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/util/Log.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/util/RootAccessDeniedException.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/util/UnsupportedArchitectureException.java create mode 100644 libraries/RootCommands/src/main/java/org/sufficientlysecure/rootcommands/util/Utils.java create mode 100644 libraries/sharedCode/.gitignore create mode 100644 libraries/sharedCode/build.gradle create mode 100644 libraries/sharedCode/libs/juniversalchardet-1.0.3.jar create mode 100644 libraries/sharedCode/proguard-rules.pro rename Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/FileSavedEvent.java => libraries/sharedCode/src/androidTest/java/sharedcode/turboeditor/ApplicationTest.java (58%) rename Turbo Editor/src/main/res/values-sw600dp/dimens.xml => libraries/sharedCode/src/main/AndroidManifest.xml (64%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/BaseHomeActivity.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/LicensesActivity.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/PreferenceAbout.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/SelectFileActivity.java rename {Turbo Editor/src/main/java/com/vmihalachi => libraries/sharedCode/src/main/java/sharedcode}/turboeditor/adapter/AdapterDetailedList.java (69%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/adapter/AdapterDrawer.java rename {Turbo Editor/src/main/java/com/vmihalachi => libraries/sharedCode/src/main/java/sharedcode}/turboeditor/fragment/ChangelogDialogFragment.java (58%) rename {Turbo Editor/src/main/java/com/vmihalachi => libraries/sharedCode/src/main/java/sharedcode}/turboeditor/fragment/EditDialogFragment.java (61%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EditorFragment.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EncodingDialogFragment.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FindTextDialogFragment.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/NavigationDrawerListFragment.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/NewFileDetailsDialogFragment.java rename {Turbo Editor/src/main/java/com/vmihalachi => libraries/sharedCode/src/main/java/sharedcode}/turboeditor/fragment/NoFileOpenedFragment.java (71%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SaveFileDialogFragment.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SeekbarDialogFragment.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/PreferenceHelper.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/SettingsFragment.java rename {Turbo Editor/src/main/java/com/vmihalachi => libraries/sharedCode/src/main/java/sharedcode}/turboeditor/util/AlphanumComparator.java (82%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/AppInfoHelper.java rename Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/CloseDrawerEvent.java => libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Constants.java (69%) rename Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/FileSelectedEvent.java => libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/EditorInterface.java (58%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/EdittextPadding.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/EventBusEvents.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/FileUtils.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/LineUtils.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/LinuxShell.java rename {Turbo Editor/src/main/java/com/vmihalachi => libraries/sharedCode/src/main/java/sharedcode}/turboeditor/util/MimeTypes.java (82%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/PageSystem.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/PageSystemButtons.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Patterns.java rename {Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper => libraries/sharedCode/src/main/java/sharedcode/turboeditor/util}/PixelDipConverter.java (86%) rename Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/ErrorOpeningFileEvent.java => libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ProCheckUtils.java (55%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/RootUtils.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/SaveFileTask.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/SearchResult.java create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ThemeHelper.java rename Turbo Editor/src/main/java/com/vmihalachi/turboeditor/view/CapitalizedTextView.java => libraries/sharedCode/src/main/java/sharedcode/turboeditor/views/CustomDrawerLayout.java (55%) create mode 100644 libraries/sharedCode/src/main/java/sharedcode/turboeditor/views/GoodScrollView.java create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_arrow_down.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_arrow_up.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_bookmark.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_bookmark_outline.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_close.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_overflow.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_redo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_save.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_search.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_action_undo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_drawer.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_fab_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_keyboard_arrow_left.png create mode 100644 libraries/sharedCode/src/main/res/drawable-hdpi/ic_keyboard_arrow_right.png rename {Turbo Editor => libraries/sharedCode}/src/main/res/drawable-hdpi/ic_launcher.png (100%) create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_arrow_down.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_arrow_up.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_bookmark.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_bookmark_outline.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_close.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_overflow.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_redo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_save.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_search.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_action_undo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_drawer.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_fab_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_keyboard_arrow_left.png create mode 100644 libraries/sharedCode/src/main/res/drawable-mdpi/ic_keyboard_arrow_right.png rename {Turbo Editor => libraries/sharedCode}/src/main/res/drawable-mdpi/ic_launcher.png (100%) create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_arrow_down.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_arrow_up.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_bookmark.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_bookmark_outline.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_close.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_github.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_google_play.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_gplus.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_mail.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_overflow.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_redo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_save.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_search.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_action_undo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_drawer.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_fab_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_keyboard_arrow_left.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xhdpi/ic_keyboard_arrow_right.png rename {Turbo Editor => libraries/sharedCode}/src/main/res/drawable-xhdpi/ic_launcher.png (100%) create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_arrow_down.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_arrow_up.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_bookmark.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_bookmark_outline.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_close.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_overflow.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_redo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_save.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_search.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_action_undo.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_drawer.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_fab_add.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_left.png create mode 100644 libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_right.png rename {Turbo Editor => libraries/sharedCode}/src/main/res/drawable-xxhdpi/ic_launcher.png (100%) create mode 100644 libraries/sharedCode/src/main/res/drawable/drawer_shadow.9.png create mode 100644 libraries/sharedCode/src/main/res/drawable/ic_add_dark.png create mode 100644 libraries/sharedCode/src/main/res/drawable/ic_close_dark.png create mode 100644 libraries/sharedCode/src/main/res/drawable/ic_file_dark.png create mode 100644 libraries/sharedCode/src/main/res/drawable/ic_info_dark.png create mode 100644 libraries/sharedCode/src/main/res/drawable/ic_settings_dark.png create mode 100644 libraries/sharedCode/src/main/res/drawable/item_background_holo_dark.xml create mode 100644 libraries/sharedCode/src/main/res/drawable/item_background_holo_light.xml create mode 100644 libraries/sharedCode/src/main/res/drawable/list_focused_holo.9.png create mode 100644 libraries/sharedCode/src/main/res/drawable/list_longpressed_holo_dark.9.png create mode 100644 libraries/sharedCode/src/main/res/drawable/list_pressed_holo_dark.9.png rename Turbo Editor/src/main/res/menu/action_mode_navigation_drawer.xml => libraries/sharedCode/src/main/res/drawable/list_selector_background_transition_holo_dark.xml (66%) create mode 100644 libraries/sharedCode/src/main/res/drawable/list_selector_disabled_holo_dark.9.png create mode 100644 libraries/sharedCode/src/main/res/layout/activity_about.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/layout/activity_home.xml (59%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/layout/activity_licenses.xml (76%) create mode 100644 libraries/sharedCode/src/main/res/layout/activity_select_file.xml rename Turbo Editor/src/main/res/layout/activity_select_file.xml => libraries/sharedCode/src/main/res/layout/demo_changelog_fragment_dialogstandard.xml (62%) create mode 100644 libraries/sharedCode/src/main/res/layout/dialog_encoding_list.xml create mode 100644 libraries/sharedCode/src/main/res/layout/dialog_fragment_edittext.xml create mode 100644 libraries/sharedCode/src/main/res/layout/dialog_fragment_find_text.xml create mode 100644 libraries/sharedCode/src/main/res/layout/dialog_fragment_new_file_details.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/layout/dialog_fragment_seekbar.xml (59%) create mode 100644 libraries/sharedCode/src/main/res/layout/fragment_editor.xml create mode 100644 libraries/sharedCode/src/main/res/layout/fragment_navigation_drawer.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/layout/fragment_no_file_open.xml (88%) rename Turbo Editor/src/main/res/menu/activity_select_file.xml => libraries/sharedCode/src/main/res/layout/fragment_reader_listview.xml (61%) create mode 100644 libraries/sharedCode/src/main/res/layout/fragment_settings.xml create mode 100644 libraries/sharedCode/src/main/res/layout/item_drawer_list.xml create mode 100644 libraries/sharedCode/src/main/res/layout/item_file_list.xml rename Turbo Editor/src/main/res/layout/item_drawer_list.xml => libraries/sharedCode/src/main/res/layout/item_single_choice.xml (57%) create mode 100644 libraries/sharedCode/src/main/res/menu/activity_select_file.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/menu/fragment_editor.xml (69%) create mode 100644 libraries/sharedCode/src/main/res/menu/fragment_editor_search.xml rename Turbo Editor/src/main/res/menu/activity_home.xml => libraries/sharedCode/src/main/res/menu/popup_new_file.xml (73%) create mode 100644 libraries/sharedCode/src/main/res/raw/changelog.xml create mode 100644 libraries/sharedCode/src/main/res/values-af-rZA/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-af-rZA/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-ar-rSA/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-ar-rSA/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-az-rAZ/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-az-rAZ/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-be-rBY/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-be-rBY/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-bg-rBG/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-bg-rBG/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-ca-rES/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-ca-rES/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-cs-rCZ/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-cs-rCZ/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-da-rDK/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-da-rDK/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-de-rDE/strings.xml (68%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-de-rDE/strings_aboutactivity.xml (75%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-el-rGR/strings.xml (69%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-el-rGR/strings_aboutactivity.xml (79%) create mode 100644 libraries/sharedCode/src/main/res/values-es-rES/strings.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-es-rES/strings_aboutactivity.xml (59%) create mode 100644 libraries/sharedCode/src/main/res/values-es-rMX/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-es-rMX/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-fi-rFI/strings.xml (62%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-fi-rFI/strings_aboutactivity.xml (73%) create mode 100644 libraries/sharedCode/src/main/res/values-fil-rPH/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-fil-rPH/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-fr-rFR/strings.xml (57%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-fr-rFR/strings_aboutactivity.xml (76%) create mode 100644 libraries/sharedCode/src/main/res/values-gl-rES/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-gl-rES/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-hi-rIN/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-hi-rIN/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-hr-rHR/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-hr-rHR/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-hu-rHU/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-hu-rHU/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-hy-rAM/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-hy-rAM/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-in-rID/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-in-rID/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-it-rIT/strings.xml (68%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-it-rIT/strings_aboutactivity.xml (74%) create mode 100644 libraries/sharedCode/src/main/res/values-iw-rIL/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-iw-rIL/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-ja-rJP/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-ja-rJP/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-ko-rKR/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-ko-rKR/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-lb-rLU/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-lb-rLU/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-mk-rMK/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-mk-rMK/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-mn-rMN/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-mn-rMN/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-ms-rMY/strings.xml (80%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-ms-rMY/strings_aboutactivity.xml (79%) create mode 100644 libraries/sharedCode/src/main/res/values-mt-rMT/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-mt-rMT/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-nl-rNL/strings.xml (69%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-nl-rNL/strings_aboutactivity.xml (71%) create mode 100644 libraries/sharedCode/src/main/res/values-no-rNO/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-no-rNO/strings_aboutactivity.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-pl-rPL/strings.xml (70%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-pl-rPL/strings_aboutactivity.xml (75%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-pt-rBR/strings.xml (61%) create mode 100644 libraries/sharedCode/src/main/res/values-pt-rBR/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-pt-rPT/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-pt-rPT/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-ro-rRO/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-ro-rRO/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-ru-rRU/strings.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values-ru-rRU/strings_aboutactivity.xml (78%) create mode 100644 libraries/sharedCode/src/main/res/values-sk-rSK/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-sk-rSK/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-sl-rSI/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-sl-rSI/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-sq-rAL/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-sq-rAL/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-sr-rSP/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-sr-rSP/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-sv-rSE/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-sv-rSE/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-sw600dp/dimens.xml create mode 100644 libraries/sharedCode/src/main/res/values-tr-rTR/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-tr-rTR/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-uk-rUA/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-uk-rUA/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-vi-rVN/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-vi-rVN/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-vls-rBE/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-vls-rBE/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-zh-rCN/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-zh-rCN/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values-zh-rHK/strings.xml rename {Turbo Editor/src/main/res/values-pt-rBR => libraries/sharedCode/src/main/res/values-zh-rHK}/strings_aboutactivity.xml (76%) create mode 100644 libraries/sharedCode/src/main/res/values-zh-rTW/strings.xml create mode 100644 libraries/sharedCode/src/main/res/values-zh-rTW/strings_aboutactivity.xml create mode 100644 libraries/sharedCode/src/main/res/values/arrays.xml create mode 100644 libraries/sharedCode/src/main/res/values/colors.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values/dimens.xml (71%) create mode 100644 libraries/sharedCode/src/main/res/values/ids.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/values/integers.xml (87%) rename {Turbo Editor => libraries/sharedCode}/src/main/res/values/strings.xml (68%) create mode 100644 libraries/sharedCode/src/main/res/values/styles.xml rename {Turbo Editor => libraries/sharedCode}/src/main/res/xml/about.xml (87%) create mode 100644 libraries/sharedCode/src/main/res/zh-CN/google play/google_play_description.txt rename Turbo Editor/src/main/res/values-sw720dp-land/dimens.xml => libraries/sharedCode/src/main/res/zh-CN/google play/google_play_inapp.html (63%) create mode 100644 libraries/sharedCode/src/main/res/zh-HK/google play/google_play_description.txt create mode 100644 libraries/sharedCode/src/main/res/zh-HK/google play/google_play_inapp.html create mode 100644 libraries/sharedCode/src/main/res/zh-TW/google play/google_play_description.txt create mode 100644 libraries/sharedCode/src/main/res/zh-TW/google play/google_play_inapp.html diff --git a/.gitignore b/.gitignore index 812c2dd..329423e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,38 +1,61 @@ -# built application files +# Built application files *.apk *.ap_ -# files for the dex VM +# Files for the Dalvik VM *.dex # Java class files *.class -# generated files +# Generated files bin/ gen/ -# Local configuration file (sdk path, etc) -local.properties - -# Eclipse project files -.classpath -.project - # Proguard folder generated by Eclipse proguard/ -# Intellij project files -*.iml -*.ipr -*.iws -.idea/ +# Log Files +*.log -# Android Studio -.gradle -*.jks -/local.properties -/.idea/workspace.xml +app-pro/ + +# Built application files +/*/build/ + +# Crashlytics configuations +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties + +# Local configuration file (sdk path, etc) +local.properties + +# Gradle generated files +.gradle/ + +# Signing files +.signing/ + +# User-specific configurations +.idea/libraries/ +.idea/workspace.xml +.idea/tasks.xml +.idea/.name +.idea/compiler.xml +.idea/copyright/profiles_settings.xml +.idea/encodings.xml +.idea/misc.xml +.idea/modules.xml +.idea/scopes/scope_settings.xml +.idea/vcs.xml +*.iml + +# OS-specific files .DS_Store -/build -/Turbo Editor/build/ \ No newline at end of file +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db diff --git a/.idea/copyright/Copyright_Vlad_Mihalachi.xml b/.idea/copyright/Copyright_Vlad_Mihalachi.xml new file mode 100644 index 0000000..52b8817 --- /dev/null +++ b/.idea/copyright/Copyright_Vlad_Mihalachi.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..286ffea --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..259ff23 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/Turbo Editor/build.gradle b/Turbo Editor/build.gradle deleted file mode 100644 index 74a57bf..0000000 --- a/Turbo Editor/build.gradle +++ /dev/null @@ -1,36 +0,0 @@ -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:0.12.+' - } -} - -apply plugin: 'android' - -repositories { - mavenCentral() -} - -android { - compileSdkVersion 19 - buildToolsVersion "19.1" - - defaultConfig { - minSdkVersion 16 - } - - lintOptions { - abortOnError false - } -} - -dependencies { - compile 'com.github.gabrielemariotti.changeloglib:library:1.2.0' - compile 'commons-io:commons-io:2.4' - compile 'com.android.support:support-v13:18.0.0' - compile ('de.greenrobot:eventbus:2.1.0-beta-1') { - exclude module: 'support-v4' - } -} diff --git a/Turbo Editor/src/main/AndroidManifest.xml b/Turbo Editor/src/main/AndroidManifest.xml deleted file mode 100644 index ac05d60..0000000 --- a/Turbo Editor/src/main/AndroidManifest.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/HomeActivity.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/HomeActivity.java deleted file mode 100644 index d74ab0e..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/HomeActivity.java +++ /dev/null @@ -1,362 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.activity; - -import android.app.ActionBar; -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.res.Configuration; -import android.os.Bundle; -import android.os.IBinder; -import android.preference.PreferenceManager; -import android.support.v4.app.ActionBarDrawerToggle; -import android.support.v4.widget.DrawerLayout; -import android.text.TextUtils; -import android.util.Log; -import android.view.Gravity; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.view.inputmethod.InputMethodManager; - -import com.vmihalachi.turboeditor.R; -import com.vmihalachi.turboeditor.event.ErrorOpeningFileEvent; -import com.vmihalachi.turboeditor.event.FileSavedEvent; -import com.vmihalachi.turboeditor.event.FileSelectedEvent; -import com.vmihalachi.turboeditor.event.NewFileOpened; -import com.vmihalachi.turboeditor.fragment.ChangelogDialogFragment; -import com.vmihalachi.turboeditor.fragment.EditorFragment; -import com.vmihalachi.turboeditor.fragment.NoFileOpenedFragment; -import com.vmihalachi.turboeditor.helper.AppInfoHelper; - -import de.greenrobot.event.EventBus; - -public class HomeActivity extends Activity { - - private String TAG = "A0A"; - public static final int SELECT_FILE_CODE = 121; - - /* - * This class provides a handy way to tie together the functionality of - * {@link DrawerLayout} and the framework ActionBar to implement the recommended - * design for navigation drawers. - */ - protected ActionBarDrawerToggle mDrawerToggle; - /* - * The Drawer Layout - */ - protected DrawerLayout mDrawerLayout; - - - /** - * {@inheritDoc} - */ - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_home); - // setup the navigation drawer - setupNavigationDrawer(); - // Replace fragment - getFragmentManager() - .beginTransaction() - .replace(R.id.fragment_editor, new NoFileOpenedFragment()) - .commit(); - /* First Time we open this activity */ - if (savedInstanceState == null) { - // Open - mDrawerLayout.openDrawer(Gravity.START); - // Set the default title - getActionBar().setTitle(getString(R.string.nome_app_turbo_editor)); - } - // parse the intent - parseIntent(getIntent()); - // show a dialog with the changelog - showChangeLog(); - } - - /** - * {@inheritDoc} - */ - @Override - protected final void onPostCreate(Bundle savedInstanceState) { - super.onPostCreate(savedInstanceState); - mDrawerToggle.syncState(); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onResume() { - super.onResume(); - // Register the Event Bus for events - EventBus.getDefault().register(this); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onPause() { - super.onPause(); - // Unregister the Event Bus - EventBus.getDefault().unregister(this); - } - - - /** - * {@inheritDoc} - */ - @Override - protected void onDestroy() { - try { - closeKeyBoard(); - } catch (NullPointerException e) { - Log.e(TAG, e.getMessage(), e); - } - super.onDestroy(); - } - - - /** - * {@inheritDoc} - */ - @Override - public final void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - mDrawerToggle.onConfigurationChanged(newConfig); - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.activity_home, menu); - return super.onCreateOptionsMenu(menu); - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean onOptionsItemSelected(MenuItem item) { - /* If we clicked on the Navigation Drawer Menu item */ - if (mDrawerToggle.onOptionsItemSelected(item)) { - return true; - } else switch (item.getItemId()) { - case R.id.im_open: - startActivityForResult(new Intent(HomeActivity.this, SelectFileActivity.class) - .putExtra("path", "") - .putExtra("action", SelectFileActivity.Actions.SelectFile), - SELECT_FILE_CODE); - return true; - case R.id.im_info: - startActivity(new Intent(this, PreferenceAbout.class)); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - - - /** - * {@inheritDoc} - */ - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK && requestCode == SELECT_FILE_CODE) { - String path = data.getStringExtra("path"); - if (!TextUtils.isEmpty(path)) { - EventBus.getDefault().postSticky(new NewFileOpened(path)); - } - } - } - - /** - * {@inheritDoc} - */ - @Override - protected void onNewIntent(Intent intent) { - super.onNewIntent(intent); - parseIntent(intent); - } - - /** - * @param event - */ - public void onEvent(FileSelectedEvent event) { - // Close the drawer - mDrawerLayout.closeDrawer(Gravity.LEFT); - // Replace fragment - getFragmentManager() - .beginTransaction() - .replace(R.id.fragment_editor, EditorFragment.newInstance(event.getPath())) - .commit(); - } - - /** - * When a file is saved - * Invoked by the EditorFragment - * - * @param event The event called - */ - public void onEvent(FileSavedEvent event) { - try { - closeKeyBoard(); - } catch (NullPointerException e) { - Log.e(TAG, e.getMessage(), e); - } - // Get intent, action and MIME type - final Intent intent = getIntent(); - final String action = intent.getAction(); - final String type = intent.getType(); - - if (Intent.ACTION_VIEW.equals(action) - || Intent.ACTION_EDIT.equals(action) - || Intent.ACTION_PICK.equals(action) - && type != null) { - //This Activity was called by startActivityForResult - final Intent returnIntent = new Intent(); - setResult(Activity.RESULT_OK, returnIntent); - // finish the activity - finish(); - } else { - //This Activity was called by startActivity - // - mDrawerLayout.openDrawer(Gravity.LEFT); - // - getActionBar().setTitle(getString(R.string.nome_app_turbo_editor)); - // Replace fragment - getFragmentManager() - .beginTransaction() - .replace(R.id.fragment_editor, new NoFileOpenedFragment()) - .commit(); - } - } - - /** - * When a file can't be opened - * Invoked by the EditorFragment - * - * @param event The event called - */ - public void onEvent(ErrorOpeningFileEvent event) { - // - mDrawerLayout.openDrawer(Gravity.LEFT); - // - getActionBar().setTitle(getString(R.string.nome_app_turbo_editor)); - // Replace fragment - getFragmentManager() - .beginTransaction() - .replace(R.id.fragment_editor, new NoFileOpenedFragment()) - .commit(); - } - - private void closeKeyBoard() throws NullPointerException { - // Central system API to the overall input method framework (IMF) architecture - InputMethodManager inputManager = - (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - - // Base interface for a remotable object - IBinder windowToken = getCurrentFocus().getWindowToken(); - - // Hide type - int hideType = InputMethodManager.HIDE_NOT_ALWAYS; - - // Hide the KeyBoard - inputManager.hideSoftInputFromWindow(windowToken, hideType); - } - - /** - * Setup the navigation drawer - */ - private void setupNavigationDrawer() { - mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); - /* Action Bar */ - final ActionBar ab = getActionBar(); - ab.setDisplayHomeAsUpEnabled(true); - ab.setHomeButtonEnabled(true); - /* Navigation drawer */ - mDrawerToggle = - new ActionBarDrawerToggle( - this, - mDrawerLayout, - R.drawable.ic_drawer, - R.string.nome_app_turbo_editor, - R.string.nome_app_turbo_editor) { - - /** - * {@inheritDoc} - */ - @Override - public void onDrawerClosed(View view) { - invalidateOptionsMenu(); - } - - /** - * {@inheritDoc} - */ - @Override - public void onDrawerOpened(View drawerView) { - invalidateOptionsMenu(); - } - }; - /* link the mDrawerToggle to the Drawer Layout */ - mDrawerLayout.setDrawerListener(mDrawerToggle); - } - - /** - * Show a dialog with the changelog - */ - private void showChangeLog() { - final String currentVersion = AppInfoHelper.getCurrentVersion(this); - final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); - final String lastVersion = preferences.getString("last_version", currentVersion); - preferences.edit().putString("last_version", currentVersion).commit(); - if (!lastVersion.equals(currentVersion)) { - ChangelogDialogFragment.showChangeLogDialog(getFragmentManager()); - } - } - - /** - * Parses the intent - */ - private void parseIntent(Intent intent) { - final String action = intent.getAction(); - final String type = intent.getType(); - - if (Intent.ACTION_VIEW.equals(action) - || Intent.ACTION_EDIT.equals(action) - || Intent.ACTION_PICK.equals(action) - && type != null) { - // Post the NewFileOpened Event - EventBus.getDefault().postSticky(new NewFileOpened(intent.getData().getPath())); - } - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/LicensesActivity.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/LicensesActivity.java deleted file mode 100644 index 455b9ed..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/LicensesActivity.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.vmihalachi.turboeditor.activity; - -import android.app.Activity; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.ListView; -import android.widget.TextView; - -import com.vmihalachi.turboeditor.R; - -public class LicensesActivity extends Activity implements AdapterView.OnItemClickListener { - - - /** - * {@inheritDoc} - */ - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_licenses); - ListView listView = (ListView) findViewById(android.R.id.list); - listView.setOnItemClickListener(this); - ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.open_source_libs)); - listView.setAdapter(adapter); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - String openSourceLib = ((TextView) view.findViewById(android.R.id.text1)).getText().toString(); - Intent browserIntent = null; - if (openSourceLib.equals("ChangeLog Library")) { - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/gabrielemariotti/changeloglib?source=c#license")); - } else if (openSourceLib.equals("EventBus")) { - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/greenrobot/EventBus?source=c#license")); - } else if (openSourceLib.equals("commons-io")) { - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://commons.apache.org/proper/commons-io/")); - } - if (browserIntent != null) { - startActivity(browserIntent); - } - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/PreferenceAbout.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/PreferenceAbout.java deleted file mode 100644 index 7584570..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/PreferenceAbout.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.activity; - -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.preference.Preference; -import android.preference.PreferenceActivity; - -import com.vmihalachi.turboeditor.R; -import com.vmihalachi.turboeditor.fragment.ChangelogDialogFragment; -import com.vmihalachi.turboeditor.helper.AppInfoHelper; - -public class PreferenceAbout extends PreferenceActivity { - /** - * {@inheritDoc} - */ - @Override - public void onCreate(final Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.about); - setupClickablePreferences(); - } - - public void setupClickablePreferences() { - final Preference email = findPreference("aboutactivity_authoremail"), - changelog = findPreference("aboutactivity_changelog"), - open_source_licenses = findPreference("aboutactivity_open_source_licenses"), - market = findPreference("aboutactivity_authormarket"); - if (email != null) { - email.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - /** - * {@inheritDoc} - */ - @Override - public boolean onPreferenceClick(final Preference preference) { - Intent i = new Intent(Intent.ACTION_SEND); - i.setType("message/rfc822"); - i.putExtra(Intent.EXTRA_EMAIL, new String[]{"app.feedback.mail@gmail.com"}); - i.putExtra(Intent.EXTRA_SUBJECT, AppInfoHelper.getApplicationName(getBaseContext()) + " " + AppInfoHelper.getCurrentVersion(getBaseContext())); - i.putExtra(Intent.EXTRA_TEXT, ""); - try { - startActivity(Intent.createChooser(i, getString(R.string.aboutactivity_authoremail_summary))); - } catch (android.content.ActivityNotFoundException ex) { - } - return false; - } - }); - } - if (changelog != null) { - changelog.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - /** - * {@inheritDoc} - */ - @Override - public boolean onPreferenceClick(final Preference preference) { - ChangelogDialogFragment.showChangeLogDialog(getFragmentManager()); - return false; - } - }); - } - if (open_source_licenses != null) { - open_source_licenses.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - /** - * {@inheritDoc} - */ - @Override - public boolean onPreferenceClick(final Preference preference) { - startActivity(new Intent(PreferenceAbout.this, LicensesActivity.class)); - return false; - } - }); - } - if (market != null) { - market.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - /** - * {@inheritDoc} - */ - @Override - public boolean onPreferenceClick(final Preference preference) { - try { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:Vlad+Mihalachi")) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); - } catch (Exception e) { - } - return false; - } - }); - } - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/SelectFileActivity.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/SelectFileActivity.java deleted file mode 100644 index 405212a..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/activity/SelectFileActivity.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.activity; - -import android.app.Activity; -import android.content.Intent; -import android.os.AsyncTask; -import android.os.Bundle; -import android.text.TextUtils; -import android.util.Log; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ListView; -import android.widget.TextView; - -import com.vmihalachi.turboeditor.R; -import com.vmihalachi.turboeditor.adapter.AdapterDetailedList; -import com.vmihalachi.turboeditor.fragment.EditDialogFragment; -import com.vmihalachi.turboeditor.helper.PreferenceHelper; -import com.vmihalachi.turboeditor.util.AlphanumComparator; - -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.AbstractMap; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; - -public class SelectFileActivity extends Activity implements AdapterView.OnItemClickListener, EditDialogFragment.EditDialogListener { - private static final String TAG = "A0A"; - private String currentFolder; - private ListView listView; - private boolean wantAFile, wantAFolder; - - - /** - * {@inheritDoc} - */ - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setContentView(R.layout.activity_select_file); - final Actions action = (Actions) getIntent().getExtras().getSerializable("action"); - wantAFile = action == Actions.SelectFile; - wantAFolder = action == Actions.SelectFolder; - - this.listView = (ListView) findViewById(android.R.id.list); - this.listView.setOnItemClickListener(this); - - String path = getIntent().getExtras().getString("path"); - if (TextUtils.isEmpty(path)) { - new UpdateList().execute(PreferenceHelper.getLastNavigatedFolder(this)); - } else { - new UpdateList().execute(path); - } - } - - void returnData(String path) { - if(!TextUtils.isEmpty(path)){ - PreferenceHelper.setLastNavigatedFolder(this, path); - } - final Intent returnIntent = new Intent(); - returnIntent.putExtra("path", path); - setResult(RESULT_OK, returnIntent); - // finish the activity - finish(); - } - - /** - * {@inheritDoc} - */ - @Override - public void onItemClick(AdapterView parent, - View view, int position, long id) { - final String name = ((TextView) view.findViewById(android.R.id.title)).getText().toString(); - if (name.equals("..")) { - if (currentFolder.equals("/")) { - new UpdateList().execute(PreferenceHelper.getLastNavigatedFolder(this)); - } else { - File tempFile = new File(currentFolder); - if (tempFile.isFile()) { - tempFile = tempFile.getParentFile() - .getParentFile(); - } else { - tempFile = tempFile.getParentFile(); - } - new UpdateList().execute(tempFile.getAbsolutePath()); - } - return; - } else if (name.equals(getString(R.string.home))) { - new UpdateList().execute(PreferenceHelper.getLastNavigatedFolder(this)); - return; - } - - final File selectedFile = new File(currentFolder, name); - - if (selectedFile.isFile() && wantAFile) { - returnData(selectedFile.getAbsolutePath()); - } else if (selectedFile.isDirectory()) { - new UpdateList().execute(selectedFile.getAbsolutePath()); - } - } - - /** - * {@inheritDoc} - */ - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.activity_select_file, menu); - menu.findItem(R.id.im_button).setTitle(getString(wantAFolder ? R.string.seleziona - : android.R.string.cancel)); - return super.onCreateOptionsMenu(menu); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean onOptionsItemSelected(MenuItem item) { - int i = item.getItemId(); - if (i == R.id.im_button) { - if (wantAFolder) { - returnData(currentFolder); - } else if (wantAFile) { - returnData(""); - } - } else if (i == R.id.im_new_file) { - final EditDialogFragment dialogFrag = EditDialogFragment.newInstance(EditDialogFragment.Actions.NewLocalFile); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); - } - return super.onOptionsItemSelected(item); - } - - /** - * {@inheritDoc} - */ - @Override - public void onFinishEditDialog(final String inputText, final String hint, final EditDialogFragment.Actions actions) { - if(actions == EditDialogFragment.Actions.NewLocalFile){ - File file = new File(currentFolder, inputText); - try { - file.createNewFile(); - } catch (IOException e) { - Log.e(TAG, e.getMessage(), e); - } - returnData(file.getAbsolutePath()); - } - } - - private class UpdateList extends AsyncTask> { - - /** - * {@inheritDoc} - */ - @Override - protected LinkedList doInBackground(final String... params) { - try { - - final String path = params[0]; - if (TextUtils.isEmpty(path)) { - return null; - } - - File tempFile = new File(path); - if (tempFile.isFile()) { - tempFile = tempFile.getParentFile(); - } - - final File[] files = tempFile.listFiles(); - Arrays.sort(files, - getFileNameComparator()); - - final LinkedList fileDetails = new LinkedList(); - final LinkedList - folderDetails = new LinkedList(); - final AbstractMap tempList = new HashMap(); - currentFolder = tempFile.getAbsolutePath(); - - if (files != null) { - for (final File f : files) { - if (f.isHidden()) { - continue; - } else if (f.isDirectory() - && f.canRead()) { - folderDetails.add(new AdapterDetailedList.FileDetail(f.getName(), - getString(R.string.folder), - "")); - } else if (f.isFile()) { - final long fileSize = f.length(); - SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy hh:mm a"); - String date = format.format(f.lastModified()); - fileDetails.add(new AdapterDetailedList.FileDetail(f.getName(), - FileUtils.byteCountToDisplaySize(fileSize), date)); - } - tempList.put(f.getName(), f); - } - } - - folderDetails.addAll(fileDetails); - return folderDetails; - } catch (Exception e) { - return null; - } - } - - /** - * {@inheritDoc} - */ - @Override - protected void onPostExecute(final LinkedList names) { - if (names != null) { - boolean isRoot = currentFolder.equals("/"); - listView.setAdapter(new AdapterDetailedList(getBaseContext(), names, isRoot)); - } - super.onPostExecute(names); - } - - public final Comparator getFileNameComparator() { - return new AlphanumComparator() { - /** - * {@inheritDoc} - */ - @Override - public String getTheString(Object obj) { - return ((File) obj).getName() - .toLowerCase(); - } - }; - } - } - - public enum Actions { - SelectFile, SelectFolder - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/OpenDrawerEvent.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/OpenDrawerEvent.java deleted file mode 100644 index d2a7a17..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/event/OpenDrawerEvent.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.event; - -public class OpenDrawerEvent { -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/EditorFragment.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/EditorFragment.java deleted file mode 100644 index c714e61..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/EditorFragment.java +++ /dev/null @@ -1,1039 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.fragment; - -import android.app.Fragment; -import android.content.Context; -import android.content.SharedPreferences; -import android.graphics.Canvas; -import android.graphics.Typeface; -import android.os.AsyncTask; -import android.os.Bundle; -import android.os.Handler; -import android.text.Editable; -import android.text.InputFilter; -import android.text.Selection; -import android.text.Spannable; -import android.text.Spanned; -import android.text.TextPaint; -import android.text.TextWatcher; -import android.text.style.ForegroundColorSpan; -import android.text.style.UnderlineSpan; -import android.util.AttributeSet; -import android.util.Log; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.Toast; - -import com.vmihalachi.turboeditor.R; -import com.vmihalachi.turboeditor.event.ErrorOpeningFileEvent; -import com.vmihalachi.turboeditor.event.FileSavedEvent; -import com.vmihalachi.turboeditor.helper.PixelDipConverter; -import com.vmihalachi.turboeditor.helper.PreferenceHelper; -import com.vmihalachi.turboeditor.util.Patterns; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.util.LinkedList; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import de.greenrobot.event.EventBus; - -public class EditorFragment extends Fragment implements EditDialogFragment.EditDialogListener, SeekbarDialogFragment.onSeekbarDialogDismissed { - - private static final String TAG = "A0A"; - private Editor mEditor; - - // Editor Variables - static boolean sLineNumbers; - static boolean sColorSyntax; - static int sFontSize; - // - private boolean mUseMonospace; - private String mCurrentEncoding; - private static String sFilePath; - - - public static EditorFragment newInstance(String filePath) { - EditorFragment frag = new EditorFragment(); - Bundle args = new Bundle(); - args.putString("filePath", filePath); - frag.setArguments(args); - return frag; - } - - - /** - * {@inheritDoc} - */ - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setHasOptionsMenu(true); - this.sFilePath = getArguments().getString("filePath"); - this.mCurrentEncoding = PreferenceHelper.getEncoding(getActivity()); - this.mUseMonospace = PreferenceHelper.getUseMonospace(getActivity()); - this.sColorSyntax = PreferenceHelper.getSyntaxHiglight(getActivity()); - this.sLineNumbers = PreferenceHelper.getLineNumbers(getActivity()); - this.sFontSize = PreferenceHelper.getFontSize(getActivity()); - } - - - /** - * {@inheritDoc} - */ - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_editor, container, false); - mEditor = (Editor) rootView.findViewById(R.id.editor); - if (this.sLineNumbers) { - int paddingLeft = (int) PixelDipConverter.convertDpToPixel(sFontSize * 1.5f, getActivity()); - mEditor.setPadding(paddingLeft, 0, 0, 0); - } else { - int paddingLeft = (int) PixelDipConverter.convertDpToPixel(5, getActivity()); - mEditor.setPadding(paddingLeft, 0, 0, 0); - } - if(this.mUseMonospace){ - mEditor.setTypeface(Typeface.MONOSPACE); - } - mEditor.setTextSize(sFontSize); - return rootView; - } - - - /** - * {@inheritDoc} - */ - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - String fileName = FilenameUtils.getName(getArguments().getString("filePath")); - getActivity().getActionBar().setTitle(fileName); - try { - final FileInputStream inputStream = - new FileInputStream( - new File(this.sFilePath)); - mEditor.setText(IOUtils.toString(inputStream, this.mCurrentEncoding)); - inputStream.close(); - } catch (Exception e) { - Log.e(TAG, e.getMessage(), e); - Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_LONG).show(); - EventBus.getDefault().post(new ErrorOpeningFileEvent()); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.fragment_editor, menu); - menu.findItem(R.id.im_line_numbers).setChecked(this.sLineNumbers); - menu.findItem(R.id.im_syntax_highlight).setChecked(this.sColorSyntax); - menu.findItem(R.id.im_use_monospace).setChecked(this.mUseMonospace); - super.onCreateOptionsMenu(menu, inflater); - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean onOptionsItemSelected(MenuItem item) { - int i = item.getItemId(); - if (i == R.id.im_save) { - new SaveFile().execute(); - } else if (i == R.id.im_undo) { - this.mEditor.onKeyShortcut(KeyEvent.KEYCODE_Z, new KeyEvent(KeyEvent.ACTION_DOWN, - KeyEvent.KEYCODE_Z)); - } else if (i == R.id.im_redo) { - this.mEditor.onKeyShortcut(KeyEvent.KEYCODE_Y, new KeyEvent(KeyEvent.ACTION_DOWN, - KeyEvent.KEYCODE_Y)); - } else if (i == R.id.im_editor_encoding) { - EditDialogFragment dialogFrag = EditDialogFragment.newInstance(EditDialogFragment.Actions.Encoding, this.mCurrentEncoding); - dialogFrag.setTargetFragment(this, 0); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); - } else if (i == R.id.im_text_size) { - int fontMax = 36; - float scaledDensity = getResources().getDisplayMetrics().scaledDensity; - int fontCurrent = (int) (mEditor.getTextSize() / scaledDensity); - SeekbarDialogFragment dialogFrag = SeekbarDialogFragment.newInstance(SeekbarDialogFragment.Actions.FileSize, fontCurrent, fontMax); - dialogFrag.setTargetFragment(this, 0); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); - } else if (i == R.id.im_syntax_highlight) { - item.setChecked(!item.isChecked()); - PreferenceHelper.setSyntaxHiglight(getActivity(), item.isChecked()); - updateTextEditor(); - } else if (i == R.id.im_line_numbers) { - item.setChecked(!item.isChecked()); - PreferenceHelper.setLineNumbers(getActivity(), item.isChecked()); - updateTextEditor(); - } else if (i == R.id.im_use_monospace) { - item.setChecked(!item.isChecked()); - PreferenceHelper.setUseMonospace(getActivity(), item.isChecked()); - updateTextEditor(); - } - return super.onOptionsItemSelected(item); - } - - /** - * {@inheritDoc} - */ - @Override - public void onFinishEditDialog(final String inputText, final String hint, final EditDialogFragment.Actions actions) { - if(actions == EditDialogFragment.Actions.Encoding){ - PreferenceHelper.setEncoding(getActivity(), inputText); - updateTextEditor(); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void onSeekbarDialogDismissed(SeekbarDialogFragment.Actions action, int value) { - PreferenceHelper.setFontSize(getActivity(), value); - updateTextEditor(); - } - - private void updateTextEditor() { - final boolean wrapText = PreferenceHelper.getLineNumbers(getActivity()); - final boolean syntaxHighlight = PreferenceHelper.getSyntaxHiglight(getActivity()); - final boolean useMonospace = PreferenceHelper.getUseMonospace(getActivity()); - final String encoding = PreferenceHelper.getEncoding(getActivity()); - final int fontSize = PreferenceHelper.getFontSize(getActivity()); - - if (this.sLineNumbers != wrapText) { - this.sLineNumbers = wrapText; - this.mEditor.setText(this.mEditor.getText().toString()); - if (this.sLineNumbers) { - int paddingLeft = (int) PixelDipConverter.convertDpToPixel(sFontSize * 1.5f, getActivity()); - mEditor.setPadding(paddingLeft, 0, 0, 0); - } else { - int paddingLeft = (int) PixelDipConverter.convertDpToPixel(5, getActivity()); - mEditor.setPadding(paddingLeft, 0, 0, 0); - } - } - - if (this.sColorSyntax != syntaxHighlight) { - this.sColorSyntax = syntaxHighlight; - this.mEditor.setText(this.mEditor.getText().toString()); - } - - if (this.mUseMonospace != useMonospace) { - this.mUseMonospace = useMonospace; - this.mEditor.setTypeface(Typeface.MONOSPACE); - } - - if (this.sFontSize != fontSize) { - this.sFontSize = fontSize; - int paddingLeft = (int) PixelDipConverter.convertDpToPixel(fontSize * 1.5f, getActivity()); - mEditor.setPadding(paddingLeft, 0, 0, 0); - this.mEditor.setTextSize(fontSize); - } - - if (!this.mCurrentEncoding.equals(encoding)) { - try { - final byte[] oldText = this.mEditor.getText().toString().getBytes(this.mCurrentEncoding); - this.mEditor.setText(new String(oldText, encoding)); - this.mCurrentEncoding = encoding; - } catch (UnsupportedEncodingException ignored) { - } - } - } - - class SaveFile extends AsyncTask { - - /** - * {@inheritDoc} - */ - @Override - protected Void doInBackground(final Void... voids) { - try { - FileUtils.write(new File(EditorFragment.this.sFilePath), - EditorFragment.this.mEditor.getText(), - EditorFragment.this.mCurrentEncoding); - } catch (IOException e) { - Log.e(TAG, e.getMessage(), e); - } - return null; - } - - /** - * {@inheritDoc} - */ - @Override - protected void onPostExecute(final Void aVoid) { - super.onPostExecute(aVoid); - EventBus.getDefault().post(new FileSavedEvent(EditorFragment.this.sFilePath)); - } - } - - - public static class Editor extends EditText { - - protected static final int - ID_SELECT_ALL = android.R.id.selectAll, - ID_CUT = android.R.id.cut, - ID_COPY = android.R.id.copy, - ID_PASTE = android.R.id.paste, - ID_UNDO = R.id.im_undo, - ID_REDO = R.id.im_redo; - private static final int SYNTAX_DELAY_MILLIS = 800; - private final Handler updateHandler = new Handler(); - private final TextPaint mPaintNumbers = new TextPaint(); - private boolean modified = true; - private boolean firstTimeColoring = true; - - /** - * Is undo/redo being performed? This member - * signals if an undo/redo operation is - * currently being performed. Changes in the - * text during undo/redo are not recorded - * because it would mess up the undo history. - */ - private boolean mIsUndoOrRedo = false; - - /** - * The edit history. - */ - private EditHistory mEditHistory; - - /** - * The change listener. - */ - private EditTextChangeListener - mChangeListener; - - private final Runnable updateRunnable = - new Runnable() { - /** - * {@inheritDoc} - */ - @Override - public void run() { - replaceTextKeepCursor(getText()); - } - }; - - public Editor(Context context, - AttributeSet attrs) { - super(context, attrs); - init(); - } - - // Init the class - private void init() { - mEditHistory = new EditHistory(); - mChangeListener = new EditTextChangeListener(); - addTextChangedListener(mChangeListener); - - this.mPaintNumbers.setColor(getTextColors().getDefaultColor()); - this.mPaintNumbers.setAntiAlias(true); - - // Syntax editor - setFilters(new InputFilter[]{ - new InputFilter() { - /** - * {@inheritDoc} - */ - @Override - public CharSequence filter( - CharSequence source, - int start, - int end, - Spanned dest, - int dstart, - int dend) { - if (modified) { - return autoIndent( - source, - start, - end, - dest, - dstart, - dend); - } - - return source; - } - }}); - } - - @Override - public void setTextSize(float size) { - super.setTextSize(size); - final float scale = getContext().getResources().getDisplayMetrics().density; - this.mPaintNumbers.setTextSize((int) (size * scale * 0.5f)); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean onKeyShortcut( - final int keyCode, final KeyEvent event) { - switch (keyCode) { - case KeyEvent.KEYCODE_A: - return onTextContextMenuItem( - ID_SELECT_ALL); - case KeyEvent.KEYCODE_X: - return onTextContextMenuItem(ID_CUT); - case KeyEvent.KEYCODE_C: - return onTextContextMenuItem(ID_COPY); - case KeyEvent.KEYCODE_V: - return onTextContextMenuItem(ID_PASTE); - case KeyEvent.KEYCODE_Z: - if (getCanUndo()) { - return onTextContextMenuItem(ID_UNDO); - } - break; - case KeyEvent.KEYCODE_Y: - if (getCanRedo()) { - return onTextContextMenuItem(ID_REDO); - } - break; - } - - return super.onKeyShortcut(keyCode, event); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean onTextContextMenuItem( - final int id) { - if (id == ID_UNDO) { - undo(); - return true; - } else if (id == ID_REDO) { - redo(); - return true; - } else { - return super.onTextContextMenuItem(id); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void onDraw(final Canvas canvas) { - if (EditorFragment.sLineNumbers) { - final int max = getLineCount(); - final TextPaint paint = mPaintNumbers; - for (int min = 0; min < max; min++) { - canvas.drawText(String.valueOf(min + 1), - 0, - getLineBounds(min, null), - paint); - } - } - super.onDraw(canvas); - } - - private CharSequence autoIndent( - CharSequence source, - int start, - int end, - Spanned dest, - int dstart, - int dend) { - if (end - start != 1 || - start >= source.length() || - source.charAt(start) != '\n' || - dstart >= dest.length()) { - return source; - } - - int istart = dstart; - int iend; - String indent = ""; - - // skip end of line if cursor is at the end of a line - if (dest.charAt(istart) == '\n') { - --istart; - } - - // indent next line if this one isn't terminated - if (istart > -1) { - // skip white space - for (; istart > -1; --istart) { - char c = dest.charAt(istart); - - if (c != ' ' && - c != '\t') { - break; - } - } - - if (istart > -1) { - char c = dest.charAt(istart); - - if (c != ';' && - c != '\n') { - indent = "\t"; - } - } - } - - // find start of previous line - for (; istart > -1; --istart) { - if (dest.charAt(istart) == '\n') { - break; - } - } - - // cursor is in the first line - if (istart < 0) { - return source; - } - - // span over previous indent - for (iend = ++istart; - iend < dend; - ++iend) { - char c = dest.charAt(iend); - - if (c != ' ' && - c != '\t') { - break; - } - } - - // copy white space of previous lines and append new indent - return "\n" + dest.subSequence( - istart, - iend) + indent; - } - - private void cancelUpdate() { - updateHandler.removeCallbacks( - updateRunnable); - } - - private void replaceTextKeepCursor( - Editable e) { - int p = getSelectionStart(); - disconnect(); - modified = false; - - setText(highlight(e)); - - modified = true; - addTextChangedListener(mChangeListener); - - if (p > -1) { - setSelection(p); - } - } - - private CharSequence highlight(Editable editable) { - final String fileExtension = FilenameUtils.getExtension(EditorFragment.sFilePath); - editable.clearSpans(); - - if (editable.length() == 0) { - return editable; - } - - if (fileExtension.contains("html") - || fileExtension.contains("xml")) { - color(Patterns.HTML_OPEN_TAGS, editable); - color(Patterns.HTML_CLOSE_TAGS, editable); - color(Patterns.HTML_ATTRS, editable); - color(Patterns.GENERAL_STRINGS, editable); - color(Patterns.XML_COMMENTS, editable); - } else if (fileExtension.equals("css")) { - //color(CSS_STYLE_NAME, editable); - color(Patterns.CSS_ATTRS, editable); - color(Patterns.CSS_ATTR_VALUE, editable); - color(Patterns.GENERAL_COMMENTS, editable); - } else if (fileExtension.equals("js")) { - color(Patterns.GENERAL_KEYWORDS, editable); - color(Patterns.NUMBERS, editable); - color(Patterns.GENERAL_COMMENTS, editable); - } else if (fileExtension.equals("php")){ - color(Patterns.HTML_OPEN_TAGS, editable); - color(Patterns.HTML_CLOSE_TAGS, editable); - color(Patterns.HTML_ATTRS, editable); - color(Patterns.GENERAL_KEYWORDS, editable); - color(Patterns.NUMBERS, editable); - color(Patterns.GENERAL_COMMENTS, editable); - } else { - color(Patterns.GENERAL_KEYWORDS, editable); - color(Patterns.NUMBERS, editable); - color(Patterns.GENERAL_COMMENTS, editable); - } - - return editable; - } - - private void color(Pattern pattern, - Editable editable) { - int color = 0; - if (pattern.equals(Patterns.HTML_OPEN_TAGS) - || pattern.equals(Patterns.HTML_CLOSE_TAGS) - || pattern.equals(Patterns.GENERAL_KEYWORDS) - //|| pattern.equals(CSS_STYLE_NAME) - ) { - color = Patterns.COLOR_KEYWORD; - } else if (pattern.equals(Patterns.HTML_ATTRS) - || pattern.equals(Patterns.CSS_ATTRS)) { - color = Patterns.COLOR_ATTR; - } else if (pattern.equals(Patterns.CSS_ATTR_VALUE)) { - color = Patterns.COLOR_ATTR_VALUE; - } else if (pattern.equals(Patterns.XML_COMMENTS) - || pattern.equals(Patterns.GENERAL_COMMENTS)) { - color = Patterns.COLOR_COMMENT; - } else if (pattern.equals( - Patterns.GENERAL_STRINGS)) { - color = Patterns.COLOR_STRING; - } else if (pattern.equals(Patterns.NUMBERS)) { - color = Patterns.COLOR_NUMBER; - } - - for (final Matcher m = - pattern.matcher(editable); - m.find(); ) { - editable.setSpan( - new ForegroundColorSpan(color), - m.start(), - m.end(), - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - } - } - - // =================================================================== // - - /** - * Disconnect this undo/redo from the text - * view. - */ - public void disconnect() { - removeTextChangedListener(mChangeListener); - } - - /** - * Set the maximum history size. If size is - * negative, then history size is only limited - * by the device memory. - */ - public void setMaxHistorySize( - int maxHistorySize) { - mEditHistory.setMaxHistorySize( - maxHistorySize); - } - - /** - * Clear history. - */ - public void clearHistory() { - mEditHistory.clear(); - } - - /** - * Can undo be performed? - */ - public boolean getCanUndo() { - return (mEditHistory.mmPosition > 0); - } - - /** - * Perform undo. - */ - public void undo() { - EditItem edit = mEditHistory.getPrevious(); - if (edit == null) { - return; - } - - Editable text = getEditableText(); - int start = edit.mmStart; - int end = start + (edit.mmAfter != null - ? edit.mmAfter.length() : 0); - - mIsUndoOrRedo = true; - text.replace(start, end, edit.mmBefore); - mIsUndoOrRedo = false; - - // This will get rid of underlines inserted when editor tries to come - // up with a suggestion. - for (Object o : text.getSpans(0, - text.length(), UnderlineSpan.class)) { - text.removeSpan(o); - } - - Selection.setSelection(text, - edit.mmBefore == null ? start - : (start + edit.mmBefore.length())); - } - - /** - * Can redo be performed? - */ - public boolean getCanRedo() { - return (mEditHistory.mmPosition - < mEditHistory.mmHistory.size()); - } - - /** - * Perform redo. - */ - public void redo() { - EditItem edit = mEditHistory.getNext(); - if (edit == null) { - return; - } - - Editable text = getEditableText(); - int start = edit.mmStart; - int end = start + (edit.mmBefore != null - ? edit.mmBefore.length() : 0); - - mIsUndoOrRedo = true; - text.replace(start, end, edit.mmAfter); - mIsUndoOrRedo = false; - - // This will get rid of underlines inserted when editor tries to come - // up with a suggestion. - for (Object o : text.getSpans(0, - text.length(), UnderlineSpan.class)) { - text.removeSpan(o); - } - - Selection.setSelection(text, - edit.mmAfter == null ? start - : (start + edit.mmAfter.length())); - } - - /** - * Store preferences. - */ - public void storePersistentState( - SharedPreferences.Editor editor, - String prefix) { - // Store hash code of text in the editor so that we can check if the - // editor contents has changed. - editor.putString(prefix + ".hash", - String.valueOf( - getText().toString().hashCode())); - editor.putInt(prefix + ".maxSize", - mEditHistory.mmMaxHistorySize); - editor.putInt(prefix + ".position", - mEditHistory.mmPosition); - editor.putInt(prefix + ".size", - mEditHistory.mmHistory.size()); - - int i = 0; - for (EditItem ei : mEditHistory.mmHistory) { - String pre = prefix + "." + i; - - editor.putInt(pre + ".start", ei.mmStart); - editor.putString(pre + ".before", - ei.mmBefore.toString()); - editor.putString(pre + ".after", - ei.mmAfter.toString()); - - i++; - } - } - - /** - * Restore preferences. - * - * @param prefix The preference key prefix - * used when state was stored. - * @return did restore succeed? If this is - * false, the undo history will be empty. - */ - public boolean restorePersistentState( - SharedPreferences sp, String prefix) - throws IllegalStateException { - - boolean ok = - doRestorePersistentState(sp, prefix); - if (!ok) { - mEditHistory.clear(); - } - - return ok; - } - - private boolean doRestorePersistentState( - SharedPreferences sp, String prefix) { - - String hash = - sp.getString(prefix + ".hash", null); - if (hash == null) { - // No state to be restored. - return true; - } - - if (Integer.valueOf(hash) - != getText().toString().hashCode()) { - return false; - } - - mEditHistory.clear(); - mEditHistory.mmMaxHistorySize = - sp.getInt(prefix + ".maxSize", -1); - - int count = sp.getInt(prefix + ".size", -1); - if (count == -1) { - return false; - } - - for (int i = 0; i < count; i++) { - String pre = prefix + "." + i; - - int start = sp.getInt(pre + ".start", -1); - String before = - sp.getString(pre + ".before", null); - String after = - sp.getString(pre + ".after", null); - - if (start == -1 - || before == null - || after == null) { - return false; - } - mEditHistory.add( - new EditItem(start, before, after)); - } - - mEditHistory.mmPosition = - sp.getInt(prefix + ".position", -1); - if (mEditHistory.mmPosition == -1) { - return false; - } - - return true; - } - - // =================================================================== // - - /** - * Keeps track of all the edit history of a - * text. - */ - private final class EditHistory { - - /** - * The position from which an EditItem will - * be retrieved when getNext() is called. If - * getPrevious() has not been called, this - * has the same value as mmHistory.size(). - */ - private int mmPosition = 0; - - /** - * Maximum undo history size. - */ - private int mmMaxHistorySize = -1; - - /** - * The list of edits in chronological - * order. - */ - private final LinkedList - mmHistory = new LinkedList(); - - /** - * Clear history. - */ - private void clear() { - mmPosition = 0; - mmHistory.clear(); - } - - /** - * Adds a new edit operation to the history - * at the current position. If executed - * after a call to getPrevious() removes all - * the future history (elements with - * positions >= current history position). - */ - private void add(EditItem item) { - while (mmHistory.size() > mmPosition) { - mmHistory.removeLast(); - } - mmHistory.add(item); - mmPosition++; - - if (mmMaxHistorySize >= 0) { - trimHistory(); - } - } - - /** - * Set the maximum history size. If size is - * negative, then history size is only - * limited by the device memory. - */ - private void setMaxHistorySize( - int maxHistorySize) { - mmMaxHistorySize = maxHistorySize; - if (mmMaxHistorySize >= 0) { - trimHistory(); - } - } - - /** - * Trim history when it exceeds max history - * size. - */ - private void trimHistory() { - while (mmHistory.size() - > mmMaxHistorySize) { - mmHistory.removeFirst(); - mmPosition--; - } - - if (mmPosition < 0) { - mmPosition = 0; - } - } - - /** - * Traverses the history backward by one - * position, returns and item at that - * position. - */ - private EditItem getPrevious() { - if (mmPosition == 0) { - return null; - } - mmPosition--; - return mmHistory.get(mmPosition); - } - - /** - * Traverses the history forward by one - * position, returns and item at that - * position. - */ - private EditItem getNext() { - if (mmPosition >= mmHistory.size()) { - return null; - } - - EditItem item = mmHistory.get(mmPosition); - mmPosition++; - return item; - } - } - - /** - * Represents the changes performed by a - * single edit operation. - */ - private final class EditItem { - private final int mmStart; - private final CharSequence mmBefore; - private final CharSequence mmAfter; - - /** - * Constructs EditItem of a modification - * that was applied at position start and - * replaced CharSequence before with - * CharSequence after. - */ - public EditItem(int start, - CharSequence before, CharSequence after) { - mmStart = start; - mmBefore = before; - mmAfter = after; - } - } - - /** - * Class that listens to changes in the text. - */ - private final class EditTextChangeListener - implements TextWatcher { - - /** - * The text that will be removed by the - * change event. - */ - private CharSequence mBeforeChange; - - /** - * The text that was inserted by the change - * event. - */ - private CharSequence mAfterChange; - - public void beforeTextChanged( - CharSequence s, int start, int count, - int after) { - if (mIsUndoOrRedo) { - return; - } - - mBeforeChange = - s.subSequence(start, start + count); - } - - public void onTextChanged(CharSequence s, - int start, int before, - int count) { - if (mIsUndoOrRedo) { - return; - } - - mAfterChange = - s.subSequence(start, start + count); - mEditHistory.add( - new EditItem(start, mBeforeChange, - mAfterChange)); - } - - public void afterTextChanged(Editable s) { - cancelUpdate(); - - if (!EditorFragment.sColorSyntax || !modified) { - return; - } - if(firstTimeColoring){ - firstTimeColoring = false; - updateHandler.post(updateRunnable); - } else { - updateHandler.removeCallbacks(updateRunnable); - updateHandler.postDelayed(updateRunnable, SYNTAX_DELAY_MILLIS); - } - } - } - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/NavigationDrawerListFragment.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/NavigationDrawerListFragment.java deleted file mode 100644 index d3dd7d9..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/NavigationDrawerListFragment.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.fragment; - -import android.app.ListFragment; -import android.os.Bundle; -import android.util.SparseBooleanArray; -import android.view.ActionMode; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AbsListView; -import android.widget.ArrayAdapter; -import android.widget.ListView; - -import com.vmihalachi.turboeditor.R; -import com.vmihalachi.turboeditor.event.FileSelectedEvent; -import com.vmihalachi.turboeditor.event.NewFileOpened; -import com.vmihalachi.turboeditor.helper.PreferenceHelper; - -import org.apache.commons.io.FilenameUtils; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import de.greenrobot.event.EventBus; - - -public class NavigationDrawerListFragment extends ListFragment implements AbsListView.MultiChoiceModeListener { - - private List fileNames; - private ArrayAdapter arrayAdapter; - - - /** - * {@inheritDoc} - */ - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - // Our custom layout - View rootView = inflater.inflate(R.layout.fragment_navigation_drawer, container, false); - return rootView; - } - - - /** - * {@inheritDoc} - */ - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - getListView().setMultiChoiceModeListener(this); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onResume() { - super.onResume(); - // Register the Event Bus for events - EventBus.getDefault().registerSticky(this); - // Refresh the list view - refreshList(); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onPause() { - super.onPause(); - // Unregister the Event Bus - EventBus.getDefault().unregister(this); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onListItemClick(ListView l, View v, int position, long id) { - super.onListItemClick(l, v, position, id); - // File paths saved in preferences - String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity()); - // Path of the file selected - String filePath = savedPaths[position]; - // Send the event that a file was selected - EventBus.getDefault().post(new FileSelectedEvent(filePath)); - } - - - /** - * {@inheritDoc} - */ - @Override - public void onItemCheckedStateChanged(ActionMode actionMode, int position, long l, boolean isChecked) { - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean onCreateActionMode(ActionMode actionMode, Menu menu) { - MenuInflater inflater = actionMode.getMenuInflater(); - inflater.inflate(R.menu.action_mode_navigation_drawer, menu); - return true; - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) { - return false; - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) { - switch (menuItem.getItemId()) { - case R.id.im_remove: - // File paths saved in preferences - String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity()); - // We get the checked positions - SparseBooleanArray checkedItems = getListView().getCheckedItemPositions(); - // If we have some checked positions - if (checkedItems != null) { - for (int i = 0; i < checkedItems.size(); i++) { - // check if the value is checked - if (checkedItems.valueAt(i)) { - // remove the checked path, but don't refresh the list - removePath(savedPaths[checkedItems.keyAt(i)], false); - } - } - // In the end refresh the list - refreshList(); - } - // Close the action mode - actionMode.finish(); - return true; - default: - return false; - } - } - - - /** - * {@inheritDoc} - */ - @Override - public void onDestroyActionMode(ActionMode actionMode) { - - } - - - /** - * When a new file is opened - * Invoked by the main activity which receive the intent - * - * @param event The event called - */ - public void onEvent(NewFileOpened event) { - EventBus.getDefault().removeStickyEvent(event); - // File paths saved in preferences - String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity()); - for (int i = 0; i < savedPaths.length; i++) { - // We don't need to save the file path twice - if (savedPaths[i].equals(event.getFilePath())) { - // Send the event that a file was selected - EventBus.getDefault().post(new FileSelectedEvent(event.getFilePath())); - return; - } - } - // Add the path if it wasn't added before - addPath(event.getFilePath()); - // Send the event that a file was selected - EventBus.getDefault().post(new FileSelectedEvent(event.getFilePath())); - } - - private void addPath(String path) { - // Add a path and refresh the list - addPath(path, true); - } - - private void addPath(String path, boolean refreshTheList) { - // File paths saved in preferences - String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity()); - // StringBuilder - StringBuilder sb = new StringBuilder(); - for (int count = 0; count < savedPaths.length; count++) { - // Append the file path and a comma - sb.append(savedPaths[count]).append(","); - } - // Append new path - sb.append(path); - // Put the string and commit - PreferenceHelper.setSavedPaths(getActivity(), sb); - // Update list - if (refreshTheList) { - refreshList(); - } - } - - private void removePath(String path) { - // Remove the path and refresh the list - removePath(path, true); - } - - private void removePath(String path, boolean refresh) { - // File paths saved in preferences - String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity()); - // StringBuilder - StringBuilder sb = new StringBuilder(); - // for cycle - for (int count = 0; count < savedPaths.length; count++) { - if (path.equals(savedPaths[count])) continue; - sb.append(savedPaths[count]).append(","); - } - // Put the string and commit - PreferenceHelper.setSavedPaths(getActivity(), sb); - // Update list - if (refresh) { - refreshList(); - } - } - - private void refreshList() { - // File paths saved in preferences - String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity()); - // File names for the list - fileNames = new ArrayList(savedPaths.length); - // StringBuilder that will contain the file paths - StringBuilder sb = new StringBuilder(); - // for cycle to convert paths to names - for (String path : savedPaths) { - File file = new File(path); - // Check that the file exist - if (file.exists()) { - fileNames.add(FilenameUtils.getName(path)); - sb.append(path).append(","); - } - } - // save list without empty or non existed files - PreferenceHelper.setSavedPaths(getActivity(), sb); - // Adapter - arrayAdapter = new ArrayAdapter(getActivity(), R.layout.item_drawer_list, fileNames); - // Set adapter - setListAdapter(arrayAdapter); - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/SeekbarDialogFragment.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/SeekbarDialogFragment.java deleted file mode 100644 index 04e70d5..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/fragment/SeekbarDialogFragment.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.fragment; - -import android.app.Dialog; -import android.app.DialogFragment; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.SeekBar; - -import com.vmihalachi.turboeditor.R; - -// ... -public class SeekbarDialogFragment extends DialogFragment { - - SeekBar mSeekBar; - - public static SeekbarDialogFragment newInstance(final Actions action) { - return SeekbarDialogFragment.newInstance(action, 50, 100); - } - - public static SeekbarDialogFragment newInstance(final Actions action, final int current, final int max) { - final SeekbarDialogFragment f = new SeekbarDialogFragment(); - final Bundle args = new Bundle(); - args.putSerializable("action", action); - args.putInt("current", current); - args.putInt("max", max); - f.setArguments(args); - return f; - } - - @Override - public View onCreateView(final LayoutInflater inflater, final ViewGroup container, - final Bundle savedInstanceState) { - - final Dialog dialog = getDialog(); - final Actions action = (Actions) getArguments().getSerializable("action"); - final String title; - switch (action) { - case FileSize: - title = getString(R.string.font_size); - break; - default: - title = null; - break; - } - dialog.setTitle(title); - - final View view = inflater.inflate(R.layout.dialog_fragment_seekbar, container); - this.mSeekBar = (SeekBar) view.findViewById(android.R.id.input); - this.mSeekBar.setProgress(getArguments().getInt("current")); - this.mSeekBar.setMax(getArguments().getInt("max")); - - view.findViewById(android.R.id.button1) - .setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View v) { - returnData(); - } - }); - return view; - } - - void returnData(){ - try { - ((onSeekbarDialogDismissed) getTargetFragment()).onSeekbarDialogDismissed( - (Actions) getArguments().getSerializable("action"), - mSeekBar.getProgress() - ); - } catch (Exception e){ - try { - ((onSeekbarDialogDismissed) getActivity()).onSeekbarDialogDismissed( - (Actions) getArguments().getSerializable("action"), - mSeekBar.getProgress() - ); - } catch (Exception e2){ - } - } - this.dismiss(); - } - - public enum Actions { - FileSize - } - - public interface onSeekbarDialogDismissed { - void onSeekbarDialogDismissed(Actions action, int value); - } -} \ No newline at end of file diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/AppInfoHelper.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/AppInfoHelper.java deleted file mode 100644 index 17d8d0f..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/AppInfoHelper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.vmihalachi.turboeditor.helper; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; - -public class AppInfoHelper { - public static String getApplicationName(final Context context) { - final ApplicationInfo applicationInfo = context.getApplicationInfo(); - return context.getString(applicationInfo.labelRes); - } - - public static String getCurrentVersion(final Context context) { - try { - final PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), - 0); - return packageInfo.versionName; - } catch (PackageManager.NameNotFoundException e) { - return ""; - } - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/PreferenceHelper.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/PreferenceHelper.java deleted file mode 100644 index 7a3bca0..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/PreferenceHelper.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.helper; - -import android.content.Context; -import android.content.SharedPreferences; -import android.os.Environment; -import android.preference.PreferenceManager; - -public final class PreferenceHelper { - - private static final String SD_CARD_ROOT = Environment.getExternalStorageDirectory().getAbsolutePath(); - - private PreferenceHelper() { - } - - // Getter Methods - - public static SharedPreferences getPrefs(Context context) { - return PreferenceManager.getDefaultSharedPreferences(context); - } - - public static SharedPreferences.Editor getEditor(Context context) { - return getPrefs(context).edit(); - } - - public static boolean getUseMonospace(Context context) { - return getPrefs(context).getBoolean("use_monospace", false); - } - - public static boolean getLineNumbers(Context context) { - return getPrefs(context).getBoolean("editor_line_numbers", true); - } - - public static boolean getSyntaxHiglight(Context context) { - return getPrefs(context).getBoolean("editor_syntax_highlight", true); - } - - public static String getEncoding(Context context) { - return getPrefs(context).getString("editor_encoding", "UTF-8"); - } - - public static int getFontSize(Context context) { - return getPrefs(context).getInt("font_size", 18); - } - - public static String getLastNavigatedFolder(Context context) { - return getPrefs(context).getString("last_navigated_folder", SD_CARD_ROOT); - } - - public static String[] getSavedPaths(Context context) { - return getPrefs(context).getString("savedPaths", "").split(","); - } - - // Setter methods - - public static void setUseMonospace(Context context, boolean value) { - getEditor(context).putBoolean("use_monospace", value).commit(); - } - - public static void setLineNumbers(Context context, boolean value) { - getEditor(context).putBoolean("editor_line_numbers", value).commit(); - } - - public static void setSyntaxHiglight(Context context, boolean value) { - getEditor(context).putBoolean("editor_syntax_highlight", value).commit(); - } - - public static void setEncoding(Context context, String value) { - getEditor(context).putString("editor_encoding", value).commit(); - } - - public static void setFontSize(Context context, int value) { - getEditor(context).putInt("font_size", value).commit(); - } - - public static void setLastNavigatedFolder(Context context, String value) { - getEditor(context).putString("last_navigated_folder", value).commit(); - } - - public static void setSavedPaths(Context context, StringBuilder stringBuilder) { - getEditor(context).putString("savedPaths", stringBuilder.toString()).commit(); - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/StringHelper.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/StringHelper.java deleted file mode 100644 index a9e387f..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/helper/StringHelper.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.helper; - -public final class StringHelper { - - private StringHelper() { - } - - public static String join(final String... strings) { - final StringBuffer buffer = new StringBuffer(); - for (String string : strings) { - if (!string.endsWith("/")) { - string += "/"; - } - buffer.append(string); - } - String result = buffer.toString(); - if (result.endsWith("/")) { - result = result.substring(0, result.length() - 1); - } - return result; - } -} diff --git a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/util/Patterns.java b/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/util/Patterns.java deleted file mode 100644 index ab85741..0000000 --- a/Turbo Editor/src/main/java/com/vmihalachi/turboeditor/util/Patterns.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2013 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Turbo Editor. If not, see . - */ - -package com.vmihalachi.turboeditor.util; - -import java.util.regex.Pattern; - -public class Patterns { - public static final int COLOR_NUMBER = 0xffff6600; - public static final int COLOR_KEYWORD = 0xff2f6f9f; - public static final int COLOR_ATTR = 0xff4f9fcf; - public static final int COLOR_ATTR_VALUE = 0xffd44950; - public static final int COLOR_STRING = 0xffd44950; - public static final int COLOR_COMMENT = 0xff999999; - - // Strings - public static final Pattern GENERAL_STRINGS = Pattern.compile("\"(.*?)\"|'(.*?)'"); - - public static final Pattern HTML_OPEN_TAGS = Pattern.compile( - "<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>"); - public static final Pattern HTML_CLOSE_TAGS = Pattern.compile( - "]*>"); - public static final Pattern HTML_ATTRS = Pattern.compile( - "(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|[>\"']))+.)[\"']?"); - - //static final Pattern CSS_STYLE_NAME= Pattern.compile( - // "[ \\t\\n\\r\\f](.+?)\\{([^\\)]+)\\}"); - public static final Pattern CSS_ATTRS = Pattern.compile( - "(.+?):(.+?);"); - public static final Pattern CSS_ATTR_VALUE = Pattern.compile( - ":[ \t](.+?);"); - - public static final Pattern NUMBERS = Pattern.compile( - "\\b(\\d*[.]?\\d+)\\b"); - public static final Pattern CSS_NUMBERS = Pattern.compile( - "/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig"); - public static final Pattern GENERAL_KEYWORDS = Pattern.compile( - "\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitorbool|break|case|catch|char|" - + "char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype" - + "|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|" - + "false|float|for|friend|function|goto|if|inline|int|mutable|namespace|new|noexcept|" - + "not|not_eq|nullptr|operator|or|or_eq|private|protected|public|register|" - + "reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast" - + "|struct|switch|template|this|thread_local|throw|true|try|typedef|typeid|typename" - + "|union|unsigned|using|var|virtual|void|volatile|wchar_t|while|xor|xor_eq)\\b"); - // Comments - public static final Pattern XML_COMMENTS = Pattern.compile("(?s)"); - public static final Pattern GENERAL_COMMENTS = Pattern.compile( - "/\\*(?:.|[\\n\\r])*?\\*/|//.*"); -} diff --git a/Turbo Editor/src/main/res/drawable-hdpi/ic_action_redo.png b/Turbo Editor/src/main/res/drawable-hdpi/ic_action_redo.png deleted file mode 100644 index f52a806766476400d6acc186ba72a8fe8fbaa095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 729 zcmV;~0w(>5P)xK~!jg?btnN6hRoq@n52`vJi`WX|PB{45(mdWo0LpHYye> zL{Mx@rC5j-VrQcUL$I*16l=l8GC_r)XbKA(5lNx(BbZps9@${-c4se_IpzMa+`P-a z?>^7$&Fsu}EiW(om+4L|pjkQwQqwVznvQ|gq&6^wDeSCTAf~z=E!2*S+Oze z+tc;S4D|s4IIYNti2=%e-a_E5yyp|u2JjxLh+QFMz`TgE`DVF#2>?WF8+>7cv-eU z83SjqJ!^lk`t{!oM{pHgSzHr86H}y&fdjerZTyP4K?6SHXV(59h@XxvQe>bk zDmQ4rj39bmMe!65;$bWE{d?=z`!%M8aj;OeK+zKz&9!H%-lTxa;%T47TxE(3Rz z?o|mXGB9UlX)uBKz=Z00000 LNkvXXu0mjf(pE)) diff --git a/Turbo Editor/src/main/res/drawable-hdpi/ic_action_tick.png b/Turbo Editor/src/main/res/drawable-hdpi/ic_action_tick.png deleted file mode 100644 index 3511bc6ad128f4b213b56801276d686599833f06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s%*9TgAsieWw;%dH0CG7CJR*yM z%CCbkqm#z$3ZS55iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0w10X`wF z|EUTl*o3$OO_nMN@(X5QWMdas(Xg^{$SEo=DJ?6n=$*V{_r7Dt&m?yqI|WqL?&;zf z;&J@#m4keT6hvGux{I#arWF=F=l}nUdQs9B1n#}bI+SB+p6DpBa&>pP!rzxqE#wU> z&oN(~`1ys${r@}nzdLikXt}fVPqPO%4gT>iIr`}R&eyjDGXp=^yI!mp<(e;|B`@l= zUo?H~e-Q?T_0>Gl54WCA*WDwyszTzC_eSOCu5XTd#Lhhv<|A~BW8n!4ppzIpUHx3v IIVCg!0Q?EXN&o-= diff --git a/Turbo Editor/src/main/res/drawable-hdpi/ic_action_undo.png b/Turbo Editor/src/main/res/drawable-hdpi/ic_action_undo.png deleted file mode 100644 index 5fa7f7cff2a9b0d06a1ade494795a54fc1b303b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmV;-0yF)IP)Qn1Y*u&@vW z8!g025gQ9HokF}sfxtkFAQ_e+4;Wx z-r?-bIooQt+cq+r>Mo!v1A)332-M9$pl+%N?7=Md_NbOploi;G`#7AOYm+D=FeVf| zob-oqtY;NP5-ZRtek3(Ejb}ZpD3Ta~QK9(J)Yt<&>S;xh6cre;w)h!ApjL_q3=4&h zrN(A)uP+rv(#ly*58pGZ*djxV*|TQp*C*d zYssQwIEW`Wom0~q@}>|R!Ch=mjm;?k8`z3*OeDt%>_~n78t3t)NU|aVtS@l~kBbE7 zFoY{Oo*H|BYej;K3c#dLbXwx3-o3=81d+}Zx`>x~K{4}f5f|`1HFhca;$H9^PgDKN z*qIj;yOdb)w?s?0YbPV~WHF5oNqZO0CRH{xuY~zOUm?eOtO##vLh<{%U0iib`K@An7E7u2M7In7 z>pgKlN#FIQ%&Rn0U>go3?NvDoye0}9#pa~FEJ$S1G=Xix+r7hLUO>|X&S78D{-nTu zyGa65IF;&O7haTI+0wUiij%dR&RvO8k3f+P&F!MeVg$}6N55DVc6oCmHuz1LLR8q) y*CFuF{#Mx#H0d!~ih)4g3VX;c>Vyp>vi10000KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000*Nkl~DeG6C^7#J9bv=11Ed_EY> sXrmczG^34Xw9$-44FCWD0RR6306G;FG3hs#*#H0l07*qoM6N<$f)^G)DF6Tf diff --git a/Turbo Editor/src/main/res/drawable-mdpi/ic_action_redo.png b/Turbo Editor/src/main/res/drawable-mdpi/ic_action_redo.png deleted file mode 100644 index 46d55becae5053a1bb3d7059733e988f686163b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 481 zcmV<70UrK|P)wpAm)7C{B5eMpkl~Q;K>!3JIS8h3kC) zy-4^F8m@DNL~;=g3L>tS>ku7LNPdc)lMQBXZr9oi_e&;kG4IU#Waj;2BvGV>3XMJh z_{#uGz*tcLtH36(>jRMoz!~riR4l~kZv)%_HQ>buBCi~{jzP>MK^V_YSO!8M0H%Rb z3aG0X)Q5(<95TQ%umOyu2pZS8y~7*80NcPEAm9*a0xjUtBVYyCBYOHfU=4Ws;w8zo zRwP|WI+9dP@cV8}NjkCT4;w1RoLyzuAS$&Gzl2MzzMY1*)&`FK+yPqF&KCvH z0A7Jbpjre#n`nR-U@K3Eq+#^A71!yl6=w$MK>WlonoSGPQPy#s86Y?HZ6g{0{2zdK X0)Gr=#}C9k00000NkvXXu0mjfF@CxO diff --git a/Turbo Editor/src/main/res/drawable-mdpi/ic_action_tick.png b/Turbo Editor/src/main/res/drawable-mdpi/ic_action_tick.png deleted file mode 100644 index 70e77032ab41f33023454f19f99c6768e7eca50c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy%*9TgAsieWw;%dH0CG7CJR*yM z%CCbkqm#z$3ZS55iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0vc0X`wF z|0xCx)AEl4O%p2#@(X5QViQ)evi1!L3y+BEoiusP?t{lqpYcCt>jzX3<>}%WVsZNI zBu~Bu10H7Q$Wubo#Gd_+e|qTV&Zd_2!m4E{o8zPI3VbN~HtVp|2iv{f+btikci)-c z7FVdQ I&MBb@003H}O8@`> diff --git a/Turbo Editor/src/main/res/drawable-mdpi/ic_action_undo.png b/Turbo Editor/src/main/res/drawable-mdpi/ic_action_undo.png deleted file mode 100644 index ceed2ef5852e0406410f91b45c2822feee8f0a1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 zcmVm@!yIi5{)QOY_HZ)D7*oQD7=Fg z5E@iUjp!&O5)lm=ga^=}CAy=Sl}s^X#u~eXlib{5&b{A1XU=?QY7wE6(bZA)e}LZv z(1*G20O&3$zJYNJV5>@iq6+k;#Gi3irFaoQTKomexM>%_yZA&({HkhksAV`|FV->H z!hKJ;#T^cD-wMD0wlUlSKssI}Roq3c-)8|p9h*&v7cAkrglHXOn8GY-IK@gXL`3AR zdPM9+#6?6LN5tp{xml|b5eLol^Lcqimkg#Ljv`{D1&H&AIE{#*teherc*LTlnfftP z;x(k>68q@EbXGzcD}KNNcChwI061yxV_6ULny|{KOFqdb8CCc-)9@?tUi#Zk0ZcXb zyG{T!B!=`V>4UZcG_Wdh!woreq0A4-XClvvck>Pu0bG0mrqnR1x&oDq}1Frt5e bpAGN^7Ap>2%{QLE00000NkvXXu0mjfqFTj7 diff --git a/Turbo Editor/src/main/res/drawable-mdpi/ic_drawer.png b/Turbo Editor/src/main/res/drawable-mdpi/ic_drawer.png deleted file mode 100644 index fb681ba2639897cc4646d3784b97bbe16f5d4e91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2837 zcmV+w3+nWVP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000$NklT0VPv57M=PzWeCfQ5m9fsqme7%2@z%Dpfe n3zWNnaWpS500000|NjF3akv#B{xHpr00000NkvXXu0mjfm;ygF diff --git a/Turbo Editor/src/main/res/drawable-xhdpi/ic_action_redo.png b/Turbo Editor/src/main/res/drawable-xhdpi/ic_action_redo.png deleted file mode 100644 index 71ec893695c294e3f3bf807bddc86f4b94bbe198..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 886 zcmV-+1Bv{JP)C-%Dz(Fs z1UQJx*pkv|DFPhC_n5$M_$HO(5(L;GBtKvRze^-S2?E@}Uy*H437gwGFF}C+alo($ z%Y;hU)W&%U0uV&_0e?sKfe0I$Ixa;3cqvrEqsYD-r?H`l(~<;$7uauh5zc5JLTLiP zbDkTchzqqx;l-%o|}(@c#7p1g@lVUgs;YIvQ76Y$W0} ze#E!9oziig3Rn@1$0-23k~n$F5?~~hxFM31Is(LtnRp>mB%J^??tK!C=bQj{qVYzd zM=zQ>0^Ac0CvAs8&$xU zbUgmq2v8K=hDh!Ja?=TrJAmAD0^|-LH=O{v1ISG$K<)r?Gv@{P0D~%@43*opaJqHw;=;`7Z;&D7VL4x%#g8`>NK*Fnz_<5E( ztosF*WoGvM;Pvq4R!VSK#mLCqO)@%14G*zC$otehk)K^VDNPHb6Mw<&;$Sy4|Y!g diff --git a/Turbo Editor/src/main/res/drawable-xhdpi/ic_action_undo.png b/Turbo Editor/src/main/res/drawable-xhdpi/ic_action_undo.png deleted file mode 100644 index bbcbcd15f81d62f562402944bf771b188c189b55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 926 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4_%8d>IhOP>|E9PEw zTD?^u)ydN1$% zO#ZPvD?r;bka3#yPxeD6?E3|;co~H(P_xi0sf(?BsI#bb`RDz|XB?{C)Ae)G9;O_z zOLa@F_RHwrIhbnG{m|gO$c>h*hH()S1K%9Zt?3O7l@*)GwELrS+p2vgN|%2)w&rLk zF}yjL>Fqk>Xkg)f2I-d4^oQF;Ut9mVFI>~^o*EYv!f>NIcv_c%at+&mZD9|-wnC0} zUEjazKfF49G?W=mcNfG<^iEHm^DKqO{^8}GS}FGryE-;+vOXAX(Y&T={=+#O-NE8= zTr&-3ZhSvyyZE9UHk}Rp>ee@w7ck|owy5Vqq)M~8|Ti$y|Zt{JL{bAYk zKW~rVGNa?6d2hn@hYRlT)P7)^k`}-sao)!M?ClML3PlPlPjG#($Up2TkPxv# zbc^xS?H?653Qjz7^7OWt_I%NORtaG)mA7{S6WF7^TFjX=&w_7xl8Z%l%4(-@QJwCq z8%5X6&Qsmkx#--lOs*?IB5$AaXhezWmzoE-Hr$y%OKN3};ic1(7kZ~{c;KrM!FK*q wK9kFSnYXEoRj;aQ5?)^K4KTrx3?ahhyAu}|3Rwpj0rL`rr>mdKI;Vst0Qt$2Hvj+t diff --git a/Turbo Editor/src/main/res/drawable-xhdpi/ic_drawer.png b/Turbo Editor/src/main/res/drawable-xhdpi/ic_drawer.png deleted file mode 100644 index b9bc3d70f1d29fec2e4530e5d1809edc8e15ad35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1056 zcmbVLy>HV%6u%0oKud=rkbnW5+yx|J`<&Q`t(wY-lQsgURT^lJI@GnVjg{JG>??6I zp$-TJMs}p`%!m$vm_Q6HNWhFgdkGtJ{wp^s;CS4?Jv|~pY7%o}Gu+V}T4Zw+(*J#qF zbyIVQ&)caDpZFm|128?4gtpVh6t3cRFVMN~yDvHDxjMHbTcQ<~aLb$PMtHGXYdGDu zqq^M8bvT`9jKIg#hKaus#9E?rJzkB;saoJ*&xE#ht{+s>T7V@IVJP$2j3Xih6@^DR zSy9k6D2YfCMD{8fl+$EIlk#xzaLileu4#3%GVsNAI@h8!)C8f^>F}K_Poi}Jsj8ZC zNK%GbWa6!W+DRser-lqBj-AL0sYe2sGTN(TljTGkrXC2cz{u9QL)^TGi#6lg%WHWNueXLCl!K`-2J4y{%G}?URu}iTxOyX?%IG|Ni z=hzAFdahPhWYd&UB`ZouDIio33t8338aX7(id>P097kc5Tt2T#qN-LD1EI21DCNpU z)l>>nF>e%+ImA|jnA(AZhkiZgcYrM%i`7aIwke4kglr5uV4+1QiCZLur9}l^v24c+ zQpMHug8KQIIP&gcw-ON__A0D-M?~=N%==jPf2t<1V1%?i{%V(@iuGVB9yUMQ9F7kT z*vv$1ICdVt{>%oeRyB=A^5xqTV+_DEZ*K2>+`fG7_s{+D?GHCbcTc|H-@OlOr+<7J z`MUh8J-U;h90BvQ$x;pMJp@l5JO^O;{&-)=znWYD7w()l&fdzcq%&JB*UV?dmF)v& C(MM15J?y>x3bNx`Dz)DELeqsTEG3&Wk2xhlR- z5f+h9AqDI!2BK(OYjbD(SMnjfK`=$>?S0F8v^!$mLGT1%v@HLu#~`!J4#k6qdFuC6 zMvK~anPG0JUg|NY$MyFWT8K#tyzo_R^7Y#!4~z`rgm>acuU08;zz!>%qBbKn`GtN+ zzyO+DyIG=C?h~AK70E^0%}}M-wJL=wkp?pohWEz*D!5%4y)|Z@IO!tNl z3U>(Ss8TD5`*T-sxbvJ2`&~h_qa>&S@`gF*kg~yo=-qtNmI&(vd$L*s7zp|2T=KDa z{Y>Oj`AcVyO|=;vDh6MJ8-vTvwvDPK9^3RmEK?PSisqx?Kpg+U24}rBMT8zV)O*VFE;{lu7x-K3V`-OpPXV-;iFfH4!XvP2)<4iRlZ#)NOG)kZZH^zu2x(ICrd899 zG8>tOC+r|vuW3mvQ)dX|%vEAZy80AUWFp->YoPMnQAg@EvgY>Ud@xU;*4_@Mm3Y?b zjr9$9RdT|Tm)bwy4`&9N2EYW-dSpvXf~Y6TR6NIBIf_1z!O=`o+uxqHIXkV@BwZp5 zSvKvor1zcKzCeF$-&PsSKBYHv8m#9GlQk{jR}e{gHWd4Sa=6476gW=2vd%Tjz%bU= z1u?wFi~u7282xciem#LhC^d!_6XP3aE0iWVmxkeyMe!JHfVe2c#gytS`nXc*;6#yUQ?H^gcodA#ZQ*q zNsm8r-27(%x2!}6rkVknpDz3D^TPli@=E)$SbbJ^KY2a(ee8_z*y_cOoMB>RwZpCb zBF4kad7|-kZnh3=(i_pL&(t-@s?zhNsEohmOsIw3J(>mL@L&$!(|jqRZd)#hHbrV* j`QxqS|24sX3qoqkb)EbOY}KDt)Ez+e@NpNo($oJ1Nb^*} diff --git a/Turbo Editor/src/main/res/drawable-xxhdpi/ic_action_tick.png b/Turbo Editor/src/main/res/drawable-xxhdpi/ic_action_tick.png deleted file mode 100644 index 37f0cc30fc4778ec012df3cd7a99a81293eabd11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 777 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoEX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4Y5d&q&t^edOTnjwXJ!`kawtA^-kI$f z?Z%-ke=3gmu98#6&wzhLB_}x^K0R#qo!QGp!pSb@cSq1V7o+>v=hoc#C%JJBhswTv z(LV#8EAG9*;r%ks?#fQ}IaNLpP8>f2-Y=^;$&vWP`R>XNAwj2;?Z1*Wvz1yV^UvD3 zU=Gl(<~##!Ri}ub3+DDj3n^}?xzMi`*Ch~V_k#JrdBL^`{JDQ)&(<8{X+F`ujp@LD u?M2Qf+P^XJxN{$GSV(jVKuRk!{I48)*%`B^>ozdiGI+ZBxvX2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4Q>`t3$VNmj-HxurB0~ z(p@_(N>@bONmN|#j);9hV5icLKW+lzLe6W?e+yk?qUR^Ktm65--$v=r?tGai-}2#| z^t(AvzNfvbnN#V^&CP95#uLqcp)97sQ15_*ctQ`i!7)~e$4otijK_8`Bx49~6#1a> z!Ned%qSMw7M}COM{Up;IgwYGx@;bDQXVz|6%#lD$z`GAUDLC96$GiEZj0E*U== z_he7a1nmz6t}_pJG+dkHbwDiTNboViC9gA0HCb#LdcK~v=&~t^?%&p+`Cwv~Q9hHt z_VwLK7ezKmM&8$aEb(Dd(p+shUB=ms$F)w$u*Ze0dOs=AL(%$I-Gjo`h@eZ%bg7O9PC0B#TuSB2;Z8jZP2*nWQ=6R z{$?GkxC<+Ejz)af*`#z!Q`4BmhWXCK1^*(_Ca8YB&-}ihxjZX$TGpnI>Pin^ckTMl zv|Y7Ju`PbWx)<{g{Jz~N*xMC!?%OY+eJfY|k9_c~rBG+OLzi`jCYxsymztw!`qXLln-!+@F(idSZ0x5%FCr|9-b5? zesjtHbxY2i@3!|{%v>W-@qXHk+0T7^btZpMzT~w_^08#gcINB(EPDMr3*SAtV=usY zUw`Mf%a67i&rFtV(bxD_&=X`=z3zyT?Oy$d>`PAHWSnExku0F6V4ddbbL7sAR}IG` zRkHI~X5L%R;umOBDAT=j$qz~s*A+~&Z!+*Jb$r<%nOf+ zGfGz)G^)%HT`O^(seEz4gu~GehT)1cr4~N@<*YGxQ6c01bf${ApROGFzD4V^-ixG7 z>d&Lzb(nVUdinB|`?Om+2^W~9eh1h|GrSeNa6{Q^B}>h;7yEY3blxTV)xS<&p0)L* z0{@+q|1}x@;wBu$CoKNQPVqZ9 - - - - - - - - - diff --git a/Turbo Editor/src/main/res/layout/demo_changelog_fragment_dialogstandard.xml b/Turbo Editor/src/main/res/layout/demo_changelog_fragment_dialogstandard.xml deleted file mode 100644 index 962f085..0000000 --- a/Turbo Editor/src/main/res/layout/demo_changelog_fragment_dialogstandard.xml +++ /dev/null @@ -1,7 +0,0 @@ - - diff --git a/Turbo Editor/src/main/res/layout/dialog_fragment_edittext.xml b/Turbo Editor/src/main/res/layout/dialog_fragment_edittext.xml deleted file mode 100644 index 6b02437..0000000 --- a/Turbo Editor/src/main/res/layout/dialog_fragment_edittext.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - -