From 7ae38c836939a0c4b1b8785afe2052f7e9339212 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Mon, 13 Dec 2021 15:37:47 +0530 Subject: [PATCH] Created base files for UI Designer --- .gitignore | 0 .idea/.gitignore | 6 +- .idea/.name | 0 .idea/compiler.xml | 10 +- .idea/copyright/Akash_Yadav.xml | 10 +- .idea/copyright/profiles_settings.xml | 24 +- .idea/jarRepositories.xml | 73 +-- .idea/misc.xml | 51 +- LICENSE | 0 README.md | 0 app/.gitignore | 0 app/build.gradle | 4 +- app/dev.keystore | Bin app/dictionary.txt | 0 app/google-services.json | 0 app/libs/zip4j-2.9.0.jar | Bin app/proguard-rules.pro | 0 app/src/main/AndroidManifest.xml | 0 app/src/main/assets/changelog.json | 0 app/src/main/assets/data/arm64-v8a/busybox | Bin app/src/main/assets/data/arm64-v8a/libhook.so | Bin .../main/assets/data/arm64-v8a/libhook2.so | Bin app/src/main/assets/data/armeabi-v7a/busybox | Bin .../main/assets/data/armeabi-v7a/libhook.so | Bin .../main/assets/data/armeabi-v7a/libhook2.so | Bin app/src/main/assets/data/common/d8.jar | Bin .../assets/data/common/gradle-wrapper.zip | Bin app/src/main/assets/data/common/jls.jar | Bin app/src/main/assets/data/common/logsender.zip | Bin app/src/main/assets/fonts/jetbrains-mono.ttf | Bin app/src/main/assets/fonts/josefin-sans.ttf | Bin app/src/main/assets/fonts/quicksand.ttf | Bin app/src/main/assets/licenses.json | 0 app/src/main/assets/templates/0.zip | Bin app/src/main/assets/templates/1.zip | Bin app/src/main/assets/templates/2.zip | Bin app/src/main/googlePlay.png | Bin .../com/itsaky/androidide/AboutActivity.java | 0 .../itsaky/androidide/DesignerActivity.java | 98 +++- .../itsaky/androidide/DownloadActivity.java | 0 .../com/itsaky/androidide/EditorActivity.java | 0 .../com/itsaky/androidide/MainActivity.java | 0 .../androidide/PreferencesActivity.java | 0 .../com/itsaky/androidide/SplashActivity.java | 0 .../itsaky/androidide/TerminalActivity.java | 0 .../adapters/CompletionListAdapter.java | 0 .../adapters/DiagnosticItemAdpater.java | 0 .../adapters/DiagnosticsAdapter.java | 0 .../adapters/EditorPagerAdapter.java | 0 .../androidide/adapters/MainPagerAdapter.java | 0 .../adapters/ModuleInfoAdapter.java | 0 .../adapters/OptionsSheetAdapter.java | 0 .../adapters/ProjectsListAdapter.java | 0 .../adapters/SearchListAdapter.java | 0 .../adapters/SimpleIconTextAdapter.java | 105 ++++ .../adapters/SymbolInputAdapter.java | 0 .../adapters/WidgetGroupItemAdapter.java | 60 +++ .../adapters/WidgetItemAdapter.java | 58 +++ .../viewholders/FileTreeViewHolder.java | 0 .../itsaky/androidide/app/StudioActivity.java | 0 .../com/itsaky/androidide/app/StudioApp.java | 0 .../androidide/fragments/BaseFragment.java | 0 .../androidide/fragments/EditorFragment.java | 0 .../fragments/FileTreeFragment.java | 0 .../fragments/ProjectsFragment.java | 0 .../preferences/BasePreferenceFragment.java | 0 .../preferences/BuildPreferences.java | 0 .../preferences/EditorPreferences.java | 0 .../preferences/GeneralPreferences.java | 0 .../fragments/preferences/IDEPreferences.java | 0 .../sheets/BaseBottomSheetFragment.java | 0 .../androidide/fragments/sheets/LogSheet.java | 0 .../fragments/sheets/OptionsListFragment.java | 0 .../fragments/sheets/ProgressSheet.java | 0 .../fragments/sheets/ProjectInfoSheet.java | 0 .../fragments/sheets/TextSheetFragment.java | 0 .../handlers/BuildServiceHandler.java | 0 .../handlers/FileOptionsHandler.java | 0 .../androidide/handlers/IDEHandler.java | 0 .../interfaces/DexResultListener.java | 0 .../interfaces/DiagnosticClickListener.java | 0 .../interfaces/EditorActivityProvider.java | 0 .../androidide/language/BaseLanguage.java | 0 .../language/groovy/GroovyAnalyzer.java | 0 .../language/groovy/GroovyAutoComplete.java | 0 .../language/groovy/GroovyLanguage.java | 0 .../language/java/JavaAutoComplete.java | 0 .../language/java/JavaLanguage.java | 0 .../language/logs/LogLanguageImpl.java | 0 .../androidide/language/xml/XMLAnalyzer.java | 0 .../language/xml/XMLAutoComplete.java | 0 .../androidide/language/xml/XMLLanguage.java | 0 .../xml/completion/XMLCompletionService.java | 0 .../lsp/AsynchronousSocketLauncher.java | 0 .../androidide/lsp/IDELanguageClientImpl.java | 0 .../java/com/itsaky/androidide/lsp/LSP.java | 0 .../androidide/lsp/LSPClientLauncher.java | 0 .../itsaky/androidide/lsp/LSPProvider.java | 0 .../androidide/lsp/LanguageServerWrapper.java | 0 .../lsp/StandardStreamsLauncher.java | 0 .../itsaky/androidide/lsp/TokenModifiers.java | 0 .../com/itsaky/androidide/lsp/TokenType.java | 0 .../androidide/lsp/handlers/JLSHandler.java | 0 .../androidide/lsp/handlers/LSPHandler.java | 0 .../lsp/providers/CodeActionProvider.java | 0 .../itsaky/androidide/models/ApkMetadata.java | 0 .../androidide/models/DiagnosticGroup.java | 0 .../androidide/models/IconTextListItem.java | 26 + .../com/itsaky/androidide/models/License.java | 0 .../com/itsaky/androidide/models/LogLine.java | 0 .../androidide/models/NewProjectDetails.java | 0 .../androidide/models/ProjectTemplate.java | 0 .../androidide/models/SearchResult.java | 0 .../itsaky/androidide/models/SuggestItem.java | 0 .../itsaky/androidide/models/UIWidget.java | 87 ++++ .../androidide/models/UIWidgetGroup.java | 128 +++++ .../androidide/project/AndroidProject.java | 0 .../itsaky/androidide/project/IDEModule.java | 0 .../itsaky/androidide/project/IDEProject.java | 0 .../itsaky/androidide/project/IDETask.java | 0 .../project/ProjectResourceFinder.java | 232 ++++----- .../androidide/services/Jar2DexService.java | 0 .../androidide/services/LogReceiver.java | 0 .../androidide/services/MessagingService.java | 0 .../services/builder/BuildListener.java | 0 .../services/builder/IDEService.java | 0 .../builder/MainThreadBuildListener.java | 0 .../syntax/colorschemes/SchemeAndroidIDE.java | 0 .../syntax/colorschemes/SchemeWombat.java | 0 .../androidide/syntax/lexer/DefaultLexer.java | 0 .../itsaky/androidide/syntax/lexer/Lexer.java | 0 .../lexer/highlighters/Highlighter.java | 0 .../lexer/highlighters/JavaHighlighter.java | 0 .../syntax/lexer/impls/BaseJavaLexer.java | 0 .../lexer/impls/groovy/GroovyLexerImpl.java | 0 .../impls/java/HighlightRangeHelper.java | 0 .../lexer/impls/java/JavaLexerImpl.java | 0 .../androidide/syntax/lexer/tokens/Token.java | 0 .../syntax/lexer/tokens/TokenType.java | 0 .../androidide/tasks/BaseGradleTask.java | 0 .../itsaky/androidide/tasks/GradleTask.java | 0 .../itsaky/androidide/tasks/TaskExecutor.java | 0 .../tasks/callables/FileTreeCallable.java | 0 .../tasks/callables/LicenseReader.java | 0 .../callables/ListDirectoryCallable.java | 0 .../callables/ProjectCreatorCallable.java | 0 .../tasks/callables/ReadFileTask.java | 0 .../tasks/callables/UnzipCallable.java | 0 .../tasks/gradle/BaseGradleTasks.java | 0 .../tasks/gradle/build/AssembleDebug.java | 0 .../tasks/gradle/build/AssembleRelease.java | 0 .../androidide/tasks/gradle/build/Build.java | 0 .../androidide/tasks/gradle/build/Bundle.java | 0 .../androidide/tasks/gradle/build/Clean.java | 0 .../tasks/gradle/build/CleanBuild.java | 0 .../androidide/tasks/gradle/lint/Lint.java | 0 .../tasks/gradle/lint/LintDebug.java | 0 .../tasks/gradle/lint/LintRelease.java | 0 .../gradle/plugin/InitializeIDEProject.java | 0 .../DatabindingGenBaseClassesDebug.java | 0 .../resources/ProcessDebugResources.java | 0 .../resources/UpdateResourceClassesTask.java | 0 .../itsaky/androidide/utils/ClassBuilder.java | 0 .../itsaky/androidide/utils/JSONUtility.java | 0 .../com/itsaky/androidide/utils/LSPUtils.java | 0 .../androidide/utils/ProjectFinder.java | 0 .../androidide/utils/ProjectWriter.java | 0 .../utils/RecursiveFileSearcher.java | 0 .../utils/RuntimeTypeAdapterFactory.java | 0 .../com/itsaky/androidide/utils/Symbols.java | 0 .../androidide/utils/TransformUtils.java | 0 .../com/itsaky/androidide/views/Editor.java | 0 .../itsaky/androidide/views/EmptyView.java | 0 .../androidide/views/MaterialBanner.java | 0 .../views/NonSwipableViewPager.java | 0 .../androidide/views/SymbolInputView.java | 0 .../androidide/views/TooltipLayout.java | 0 .../androidide/views/VerticalViewPager.java | 0 .../views/transition/ArcMotionPlus.java | 0 .../views/transition/CubicBezierArc.java | 0 .../views/transition/ProgressTransition.java | 0 .../editor/annotations/Experimental.java | 0 .../interfaces/AutoCompleteProvider.java | 0 .../editor/interfaces/CodeAnalyzer.java | 0 .../interfaces/EditorEventListener.java | 0 .../editor/interfaces/EditorLanguage.java | 0 .../editor/interfaces/NewlineHandler.java | 0 .../editor/langs/AbstractCodeAnalyzer.java | 0 .../editor/langs/AbstractEditorLanguage.java | 0 .../rosemoe/editor/langs/EmptyLanguage.java | 0 .../rosemoe/editor/struct/BlockLine.java | 0 .../rosemoe/editor/struct/NavigationItem.java | 0 .../io/github/rosemoe/editor/struct/Span.java | 0 .../rosemoe/editor/text/CachedIndexer.java | 0 .../rosemoe/editor/text/CharPosition.java | 0 .../github/rosemoe/editor/text/Content.java | 0 .../rosemoe/editor/text/ContentLine.java | 0 .../rosemoe/editor/text/ContentListener.java | 0 .../io/github/rosemoe/editor/text/Cursor.java | 0 .../github/rosemoe/editor/text/FontCache.java | 0 .../rosemoe/editor/text/FormatThread.java | 0 .../github/rosemoe/editor/text/Indexer.java | 0 .../editor/text/LineNumberCalculator.java | 0 .../editor/text/LineRemoveListener.java | 0 .../rosemoe/editor/text/NoCacheIndexer.java | 0 .../rosemoe/editor/text/ObjectAllocator.java | 0 .../rosemoe/editor/text/SpanMapUpdater.java | 0 .../rosemoe/editor/text/SpanRecycler.java | 0 .../editor/text/TextAnalyzeResult.java | 0 .../rosemoe/editor/text/TextAnalyzer.java | 0 .../github/rosemoe/editor/text/TextUtils.java | 0 .../rosemoe/editor/text/UndoManager.java | 0 .../rosemoe/editor/util/BinaryHeap.java | 0 .../github/rosemoe/editor/util/IntPair.java | 0 .../rosemoe/editor/util/LongArrayList.java | 0 .../github/rosemoe/editor/util/Objects.java | 0 .../rosemoe/editor/widget/AbstractLayout.java | 0 .../rosemoe/editor/widget/CodeEditor.java | 0 .../rosemoe/editor/widget/CursorBlink.java | 0 .../widget/DefaultCompletionItemAdapter.java | 0 .../widget/EditorAutoCompleteWindow.java | 0 .../editor/widget/EditorBasePopupWindow.java | 0 .../editor/widget/EditorColorScheme.java | 0 .../widget/EditorCompletionAdapter.java | 0 .../editor/widget/EditorInputConnection.java | 0 .../rosemoe/editor/widget/EditorSearcher.java | 0 .../widget/EditorTextActionModeStarter.java | 0 .../editor/widget/EditorTextActionWindow.java | 0 .../widget/EditorTouchEventHandler.java | 0 .../rosemoe/editor/widget/KeyMetaStates.java | 0 .../github/rosemoe/editor/widget/Layout.java | 0 .../editor/widget/LineBreakLayout.java | 0 .../editor/widget/MaterialEdgeEffect.java | 0 .../io/github/rosemoe/editor/widget/Row.java | 0 .../rosemoe/editor/widget/RowIterator.java | 0 .../rosemoe/editor/widget/SymbolChannel.java | 0 .../editor/widget/SymbolPairMatch.java | 0 .../editor/widget/TextActionPopupWindow.java | 0 .../editor/widget/TextComposeBasePopup.java | 0 .../rosemoe/editor/widget/WordwrapLayout.java | 0 .../editor/widget/schemes/SchemeDarcula.java | 0 .../editor/widget/schemes/SchemeEclipse.java | 0 .../editor/widget/schemes/SchemeGitHub.java | 0 .../widget/schemes/SchemeNotepadXX.java | 0 .../editor/widget/schemes/SchemeVS2019.java | 0 app/src/main/res/anim/popup_in.xml | 0 app/src/main/res/anim/popup_out.xml | 0 app/src/main/res/animator/dialog_in.xml | 0 app/src/main/res/animator/dialog_out.xml | 0 .../res/color/widget_group_background.xml | 21 + .../drawable-hdpi/ic_launcher_background.png | Bin .../drawable-hdpi/ic_launcher_foreground.png | Bin .../drawable-mdpi/ic_launcher_background.png | Bin .../drawable-mdpi/ic_launcher_foreground.png | Bin .../res/drawable-mdpi/ic_widget_progress.xml | 38 ++ .../drawable-xhdpi/ic_launcher_background.png | Bin .../drawable-xhdpi/ic_launcher_foreground.png | Bin .../ic_launcher_background.png | Bin .../ic_launcher_foreground.png | Bin .../ic_launcher_background.png | Bin .../ic_launcher_foreground.png | Bin .../res/drawable-xxxhdpi/template_basic.png | Bin .../res/drawable-xxxhdpi/template_empty.png | Bin .../res/drawable-xxxhdpi/template_kotlin.png | Bin .../template_navigation_drawer.jpg | Bin app/src/main/res/drawable/bg_ripple.xml | 0 .../main/res/drawable/bg_ripple_disabled.xml | 0 .../main/res/drawable/bg_ripple_pressed.xml | 0 app/src/main/res/drawable/bg_shadow.xml | 0 .../res/drawable/bg_widget_group_selected.xml | 32 ++ app/src/main/res/drawable/ic_add.xml | 0 app/src/main/res/drawable/ic_android.xml | 0 .../main/res/drawable/ic_bash_commands.xml | 0 app/src/main/res/drawable/ic_bug.xml | 0 app/src/main/res/drawable/ic_build_output.xml | 0 app/src/main/res/drawable/ic_bundle.xml | 0 app/src/main/res/drawable/ic_chevron_down.xml | 0 app/src/main/res/drawable/ic_chevron_left.xml | 0 .../main/res/drawable/ic_chevron_right.xml | 0 app/src/main/res/drawable/ic_clean.xml | 0 app/src/main/res/drawable/ic_clear.xml | 0 app/src/main/res/drawable/ic_close.xml | 0 app/src/main/res/drawable/ic_close_all.xml | 0 app/src/main/res/drawable/ic_close_others.xml | 0 app/src/main/res/drawable/ic_close_this.xml | 0 app/src/main/res/drawable/ic_code.xml | 0 app/src/main/res/drawable/ic_comment_line.xml | 0 .../res/drawable/ic_compilation_error.xml | 0 app/src/main/res/drawable/ic_diagnostics.xml | 0 app/src/main/res/drawable/ic_drawing.xml | 0 app/src/main/res/drawable/ic_email.xml | 0 .../main/res/drawable/ic_file_copy_path.xml | 0 app/src/main/res/drawable/ic_file_delete.xml | 0 app/src/main/res/drawable/ic_file_rename.xml | 0 app/src/main/res/drawable/ic_file_unknown.xml | 0 .../res/drawable/ic_filetype_activity.xml | 0 .../main/res/drawable/ic_filetype_enum.xml | 0 .../res/drawable/ic_filetype_interface.xml | 0 app/src/main/res/drawable/ic_filter.xml | 0 .../main/res/drawable/ic_find_references.xml | 0 app/src/main/res/drawable/ic_folder.xml | 0 .../main/res/drawable/ic_goto_definition.xml | 0 app/src/main/res/drawable/ic_help.xml | 0 app/src/main/res/drawable/ic_hexadecimal.xml | 0 app/src/main/res/drawable/ic_info.xml | 0 app/src/main/res/drawable/ic_install.xml | 0 .../main/res/drawable/ic_language_gradle.xml | 0 .../main/res/drawable/ic_language_java.xml | 0 .../main/res/drawable/ic_language_json.xml | 0 .../main/res/drawable/ic_language_kotlin.xml | 0 app/src/main/res/drawable/ic_language_xml.xml | 0 .../res/drawable/ic_launcher_foreground.xml | 0 app/src/main/res/drawable/ic_lint.xml | 0 app/src/main/res/drawable/ic_log.xml | 0 app/src/main/res/drawable/ic_min_sdk.xml | 0 .../res/drawable/ic_more_vert_black_20dp.xml | 0 app/src/main/res/drawable/ic_new_file.xml | 0 app/src/main/res/drawable/ic_new_folder.xml | 0 app/src/main/res/drawable/ic_open_project.xml | 0 app/src/main/res/drawable/ic_package.xml | 0 .../main/res/drawable/ic_preview_layout.xml | 0 app/src/main/res/drawable/ic_rebuild.xml | 0 app/src/main/res/drawable/ic_redo.xml | 0 app/src/main/res/drawable/ic_replace.xml | 0 app/src/main/res/drawable/ic_run.xml | 0 app/src/main/res/drawable/ic_run_debug.xml | 0 app/src/main/res/drawable/ic_run_outline.xml | 0 app/src/main/res/drawable/ic_run_release.xml | 0 app/src/main/res/drawable/ic_save.xml | 0 app/src/main/res/drawable/ic_search.xml | 0 app/src/main/res/drawable/ic_search_file.xml | 0 app/src/main/res/drawable/ic_search_last.xml | 0 app/src/main/res/drawable/ic_search_next.xml | 0 .../main/res/drawable/ic_search_project.xml | 0 .../main/res/drawable/ic_search_replace.xml | 0 app/src/main/res/drawable/ic_settings.xml | 0 app/src/main/res/drawable/ic_share.xml | 0 app/src/main/res/drawable/ic_stop_daemons.xml | 0 app/src/main/res/drawable/ic_sync.xml | 0 app/src/main/res/drawable/ic_tab.xml | 0 app/src/main/res/drawable/ic_target_sdk.xml | 0 app/src/main/res/drawable/ic_telegram.xml | 0 app/src/main/res/drawable/ic_terminal.xml | 0 app/src/main/res/drawable/ic_text_size.xml | 0 .../main/res/drawable/ic_uncomment_line.xml | 0 app/src/main/res/drawable/ic_undo.xml | 0 app/src/main/res/drawable/ic_view.xml | 0 app/src/main/res/drawable/ic_website.xml | 0 .../main/res/drawable/ic_widget_button.xml | 5 + .../main/res/drawable/ic_widget_checkbox.xml | 5 + .../drawable/ic_widget_checked_textview.xml | 5 + .../main/res/drawable/ic_widget_edittext.xml | 8 + app/src/main/res/drawable/ic_widget_image.xml | 5 + .../main/res/drawable/ic_widget_linear.xml | 5 + .../res/drawable/ic_widget_radio_button.xml | 5 + .../main/res/drawable/ic_widget_relative.xml | 5 + .../main/res/drawable/ic_widget_seekbar.xml | 8 + .../main/res/drawable/ic_widget_spinner.xml | 5 + .../main/res/drawable/ic_widget_textview.xml | 5 + .../res/drawable/round_content_copy_20.xml | 0 .../res/drawable/round_content_cut_20.xml | 0 .../res/drawable/round_content_paste_20.xml | 0 .../main/res/drawable/round_select_all_20.xml | 0 app/src/main/res/font/josefin_sans.ttf | Bin app/src/main/res/font/quicksand.ttf | Bin app/src/main/res/layout/activity_about.xml | 0 app/src/main/res/layout/activity_designer.xml | 112 ++++- app/src/main/res/layout/activity_download.xml | 0 app/src/main/res/layout/activity_editor.xml | 3 +- app/src/main/res/layout/activity_main.xml | 0 .../main/res/layout/activity_preferences.xml | 0 app/src/main/res/layout/activity_splash.xml | 0 app/src/main/res/layout/activity_terminal.xml | 0 .../layout/default_completion_result_item.xml | 0 app/src/main/res/layout/fragment_editor.xml | 0 .../main/res/layout/layout_about_items.xml | 0 app/src/main/res/layout/layout_banner.xml | 0 .../res/layout/layout_completion_item.xml | 0 .../res/layout/layout_completion_window.xml | 0 .../res/layout/layout_create_file_java.xml | 0 .../main/res/layout/layout_create_project.xml | 112 +++-- .../layout/layout_create_project_content.xml | 446 ++++++++--------- .../res/layout/layout_diagnostic_group.xml | 0 .../res/layout/layout_diagnostic_info.xml | 0 .../res/layout/layout_diagnostic_item.xml | 0 .../res/layout/layout_dialog_text_input.xml | 0 .../res/layout/layout_editor_file_tree.xml | 0 .../main/res/layout/layout_filetree_item.xml | 0 .../res/layout/layout_module_info_item.xml | 0 app/src/main/res/layout/layout_nav_header.xml | 0 .../res/layout/layout_optionssheet_item.xml | 0 .../main/res/layout/layout_progress_sheet.xml | 0 .../res/layout/layout_project_details.xml | 0 app/src/main/res/layout/layout_projects.xml | 0 .../main/res/layout/layout_projects_item.xml | 0 .../main/res/layout/layout_search_project.xml | 0 .../res/layout/layout_search_result_group.xml | 0 .../res/layout/layout_search_result_item.xml | 0 app/src/main/res/layout/layout_sheet.xml | 0 .../res/layout/layout_simple_icon_text.xml | 51 ++ .../main/res/layout/layout_symbol_item.xml | 0 .../res/layout/layout_text_size_slider.xml | 0 .../main/res/layout/text_compose_panel.xml | 0 .../res/layout/text_compose_popup_window.xml | 0 app/src/main/res/menu/menu_build_output.xml | 0 app/src/main/res/menu/menu_editor.xml | 0 app/src/main/res/menu/menu_editor_nav.xml | 0 .../res/mipmap-anydpi-v26/ic_launcher.xml | 0 .../mipmap-anydpi-v26/ic_launcher_round.xml | 0 app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin app/src/main/res/mipmap/box_red.png | Bin app/src/main/res/raw/android_bot.json | 0 app/src/main/res/values/colors.xml | 0 app/src/main/res/values/dimens.xml | 0 app/src/main/res/values/strings.xml | 13 + app/src/main/res/values/styles.xml | 7 + app/src/main/res/xml/ide_prefs.xml | 0 app/src/main/res/xml/motion_about.xml | 0 build.gradle | 0 common/.gitignore | 0 common/build.gradle | 0 common/proguard-rules.pro | 0 common/src/main/AndroidManifest.xml | 0 .../itsaky/androidide/app/BaseActivity.java | 0 .../androidide/app/BaseApplication.java | 0 .../itsaky/androidide/interfaces/Filter.java | 0 .../interfaces/ProjectWriterCallback.java | 0 .../managers/PreferenceManager.java | 0 .../androidide/managers/ToolsManager.java | 0 .../managers/VersionedFileManager.java | 0 .../androidide/models/ConstantsBridge.java | 0 .../com/itsaky/androidide/models/DexPair.java | 0 .../itsaky/androidide/models/SaveResult.java | 0 .../itsaky/androidide/models/SheetOption.java | 0 .../shell/CommonProcessExecutor.java | 0 .../androidide/shell/IProcessExecutor.java | 0 .../shell/IProcessExitListener.java | 0 .../shell/ProcessExecutorFactory.java | 0 .../shell/ProcessStreamsHolder.java | 0 .../itsaky/androidide/shell/ShellServer.java | 0 .../itsaky/androidide/utils/Environment.java | 0 .../com/itsaky/androidide/utils/FileUtil.java | 0 .../utils/InputStreamLineReader.java | 0 .../androidide/utils/InputStreamWriter.java | 0 .../itsaky/androidide/utils/IntProperty.java | 0 .../androidide/utils/JavaCharacter.java | 0 .../com/itsaky/androidide/utils/Logger.java | 1 - .../itsaky/androidide/utils/StudioUtils.java | 0 .../androidide/utils/TypefaceUtils.java | 0 .../java/com/itsaky/toaster/ToastWrapper.java | 0 .../main/java/com/itsaky/toaster/Toaster.java | 0 common/src/main/res/drawable/ic_error.xml | 0 common/src/main/res/drawable/ic_ok.xml | 0 common/src/main/res/layout/layout_toast.xml | 0 common/src/main/res/values/colors.xml | 0 common/src/main/res/values/strings.xml | 0 emulatorview/.gitignore | 0 emulatorview/build.gradle | 0 emulatorview/proguard-rules.pro | 0 emulatorview/src/main/AndroidManifest.xml | 0 .../views/virtualkeys/SpecialButton.java | 0 .../views/virtualkeys/SpecialButtonState.java | 0 .../views/virtualkeys/VirtualKeyButton.java | 0 .../virtualkeys/VirtualKeysConstants.java | 0 .../views/virtualkeys/VirtualKeysInfo.java | 0 .../views/virtualkeys/VirtualKeysView.java | 0 .../java/com/itsaky/terminal/ByteQueue.java | 0 .../main/java/com/itsaky/terminal/JNI.java | 0 .../java/com/itsaky/terminal/KeyHandler.java | 0 .../com/itsaky/terminal/TerminalBuffer.java | 0 .../itsaky/terminal/TerminalColorScheme.java | 0 .../com/itsaky/terminal/TerminalColors.java | 0 .../com/itsaky/terminal/TerminalEmulator.java | 0 .../com/itsaky/terminal/TerminalOutput.java | 0 .../java/com/itsaky/terminal/TerminalRow.java | 0 .../com/itsaky/terminal/TerminalSession.java | 0 .../terminal/TerminalSessionClient.java | 0 .../java/com/itsaky/terminal/TextStyle.java | 0 .../java/com/itsaky/terminal/WcWidth.java | 0 .../view/GestureAndScaleRecognizer.java | 0 .../terminal/view/TerminalRenderer.java | 0 .../itsaky/terminal/view/TerminalView.java | 0 .../terminal/view/TerminalViewClient.java | 0 .../view/textselection/CursorController.java | 0 .../TextSelectionCursorController.java | 0 .../TextSelectionHandleView.java | 0 .../arm64-v8a/libandroidide-terminal.so | Bin .../armeabi-v7a/libandroidide-terminal.so | Bin .../text_select_handle_left_material.xml | 0 .../text_select_handle_right_material.xml | 0 emulatorview/src/main/res/values/strings.xml | 0 gradle.properties | 0 gradle/dependencies.gradle | 0 gradle/wrapper/gradle-wrapper.jar | Bin gradle/wrapper/gradle-wrapper.properties | 0 gradlew | 0 gradlew.bat | 0 images/build_output.jpg | Bin images/file_tree.jpg | Bin images/gradle_buildscript.jpg | Bin images/java_completion.jpg | Bin images/main_screen.jpg | Bin images/terminal.jpg | Bin images/xml_completion_attributes.jpg | Bin images/xml_completion_enums.jpg | Bin images/xml_completion_widgets.jpg | Bin javapoet/.gitignore | 0 javapoet/build.gradle | 0 javapoet/proguard-rules.pro | 0 javapoet/src/main/AndroidManifest.xml | 0 .../com/squareup/javapoet/AnnotationSpec.java | 0 .../com/squareup/javapoet/ArrayTypeName.java | 0 .../java/com/squareup/javapoet/ClassName.java | 0 .../java/com/squareup/javapoet/CodeBlock.java | 0 .../com/squareup/javapoet/CodeWriter.java | 0 .../java/com/squareup/javapoet/FieldSpec.java | 0 .../java/com/squareup/javapoet/JavaFile.java | 0 .../com/squareup/javapoet/LineWrapper.java | 0 .../com/squareup/javapoet/MethodSpec.java | 0 .../com/squareup/javapoet/NameAllocator.java | 0 .../com/squareup/javapoet/ParameterSpec.java | 0 .../javapoet/ParameterizedTypeName.java | 0 .../java/com/squareup/javapoet/TypeName.java | 0 .../java/com/squareup/javapoet/TypeSpec.java | 0 .../squareup/javapoet/TypeVariableName.java | 0 .../main/java/com/squareup/javapoet/Util.java | 0 .../squareup/javapoet/WildcardTypeName.java | 0 .../annotation/processing/Completion.java | 0 .../annotation/processing/Completions.java | 0 .../annotation/processing/FilerException.java | 0 .../processing/RoundEnvironment.java | 0 .../processing/SupportedAnnotationTypes.java | 0 .../processing/SupportedOptions.java | 0 .../processing/SupportedSourceVersion.java | 0 .../javax/lang/model/AnnotatedConstruct.java | 0 .../java/javax/lang/model/SourceVersion.java | 0 .../lang/model/UnknownEntityException.java | 0 .../lang/model/element/AnnotationMirror.java | 0 .../lang/model/element/AnnotationValue.java | 0 .../model/element/AnnotationValueVisitor.java | 0 .../javax/lang/model/element/Element.java | 0 .../javax/lang/model/element/ElementKind.java | 0 .../lang/model/element/ElementVisitor.java | 0 .../lang/model/element/ExecutableElement.java | 0 .../javax/lang/model/element/Modifier.java | 0 .../java/javax/lang/model/element/Name.java | 0 .../javax/lang/model/element/NestingKind.java | 0 .../lang/model/element/PackageElement.java | 0 .../lang/model/element/Parameterizable.java | 0 .../lang/model/element/QualifiedNameable.java | 0 .../javax/lang/model/element/TypeElement.java | 0 .../model/element/TypeParameterElement.java | 0 .../UnknownAnnotationValueException.java | 0 .../element/UnknownElementException.java | 0 .../lang/model/element/VariableElement.java | 0 .../java/javax/lang/model/type/ArrayType.java | 0 .../javax/lang/model/type/DeclaredType.java | 0 .../java/javax/lang/model/type/ErrorType.java | 0 .../javax/lang/model/type/ExecutableType.java | 0 .../lang/model/type/IntersectionType.java | 0 .../model/type/MirroredTypeException.java | 0 .../model/type/MirroredTypesException.java | 0 .../java/javax/lang/model/type/NoType.java | 0 .../java/javax/lang/model/type/NullType.java | 0 .../javax/lang/model/type/PrimitiveType.java | 0 .../javax/lang/model/type/ReferenceType.java | 0 .../java/javax/lang/model/type/TypeKind.java | 0 .../javax/lang/model/type/TypeMirror.java | 0 .../javax/lang/model/type/TypeVariable.java | 0 .../javax/lang/model/type/TypeVisitor.java | 0 .../java/javax/lang/model/type/UnionType.java | 0 .../lang/model/type/UnknownTypeException.java | 0 .../javax/lang/model/type/WildcardType.java | 0 .../util/AbstractAnnotationValueVisitor6.java | 0 .../util/AbstractAnnotationValueVisitor7.java | 0 .../util/AbstractAnnotationValueVisitor8.java | 0 .../model/util/AbstractElementVisitor6.java | 0 .../model/util/AbstractElementVisitor7.java | 0 .../model/util/AbstractElementVisitor8.java | 0 .../lang/model/util/AbstractTypeVisitor6.java | 0 .../lang/model/util/AbstractTypeVisitor7.java | 0 .../lang/model/util/AbstractTypeVisitor8.java | 0 .../javax/lang/model/util/ElementFilter.java | 0 .../lang/model/util/ElementKindVisitor6.java | 0 .../lang/model/util/ElementKindVisitor7.java | 0 .../lang/model/util/ElementKindVisitor8.java | 0 .../lang/model/util/ElementScanner6.java | 0 .../lang/model/util/ElementScanner7.java | 0 .../lang/model/util/ElementScanner8.java | 0 .../java/javax/lang/model/util/Elements.java | 0 .../util/SimpleAnnotationValueVisitor6.java | 0 .../util/SimpleAnnotationValueVisitor7.java | 0 .../util/SimpleAnnotationValueVisitor8.java | 0 .../model/util/SimpleElementVisitor6.java | 0 .../model/util/SimpleElementVisitor7.java | 0 .../model/util/SimpleElementVisitor8.java | 0 .../lang/model/util/SimpleTypeVisitor6.java | 0 .../lang/model/util/SimpleTypeVisitor7.java | 0 .../lang/model/util/SimpleTypeVisitor8.java | 0 .../lang/model/util/TypeKindVisitor6.java | 0 .../lang/model/util/TypeKindVisitor7.java | 0 .../lang/model/util/TypeKindVisitor8.java | 0 .../java/javax/lang/model/util/Types.java | 0 .../src/main/java/javax/tools/FileObject.java | 0 .../main/java/javax/tools/JavaFileObject.java | 0 .../javax/tools/SimpleJavaFileObject.java | 0 layout-inflater/.gitignore | 0 layout-inflater/build.gradle | 0 layout-inflater/proguard-rules.pro | 0 layout-inflater/src/main/AndroidManifest.xml | 0 .../com/itsaky/layoutinflater/AttrType.java | 0 .../layoutinflater/BaseLayoutInflater.java | 0 .../com/itsaky/layoutinflater/IAttribute.java | 98 ++-- .../layoutinflater/IAttributeAdapter.java | 0 .../com/itsaky/layoutinflater/IDTable.java | 0 .../itsaky/layoutinflater/IFixedValue.java | 0 .../layoutinflater/IInflateListener.java | 0 .../layoutinflater/ILayoutInflater.java | 0 .../layoutinflater/IResourceFinder.java | 168 +++---- .../java/com/itsaky/layoutinflater/IView.java | 0 .../com/itsaky/layoutinflater/IViewGroup.java | 0 .../layoutinflater/InflateException.java | 0 .../LayoutInflaterConfiguration.java | 0 .../layoutinflater/XMLLayoutInflater.java | 0 .../itsaky/layoutinflater/adapters/README.md | 0 .../android/view/ViewAttrAdapter.java | 0 .../android/view/ViewGroupAttrAdapter.java | 0 .../android/widget/AbsSeekBarAttrAdapter.java | 152 +++--- .../android/widget/AbsSpinnerAttrAdapter.java | 132 ++--- .../widget/AdapterViewAttrAdapter.java | 126 ++--- .../android/widget/ButtonAttrAdapter.java | 90 ++-- .../android/widget/CheckBoxAttrAdapter.java | 80 +-- .../widget/CheckedTextViewAttrAdapter.java | 144 +++--- .../widget/CompondButtonAttrAdapter.java | 112 ++--- .../android/widget/EditTextAttrAdapter.java | 76 +-- .../widget/ImageButtonAttrAdapter.java | 84 ++-- .../android/widget/ImageViewAttrAdapter.java | 258 +++++----- .../widget/LinearLayoutAttrAdapter.java | 180 +++---- .../widget/ProgressBarAttrAdapter.java | 262 +++++----- .../widget/RadioButtonAttrAdapter.java | 88 ++-- .../widget/RelativeLayoutAttrAdapter.java | 140 +++--- .../android/widget/SeekBarAttrAdapter.java | 132 ++--- .../android/widget/SpinnerAttrAdapter.java | 162 +++--- .../android/widget/TextViewAttrAdapter.java | 464 +++++++++--------- .../itsaky/layoutinflater/impl/BaseView.java | 0 .../layoutinflater/impl/BaseViewGroup.java | 0 .../layoutinflater/impl/UiAttribute.java | 0 .../itsaky/layoutinflater/impl/UiView.java | 0 .../layoutinflater/impl/UiViewGroup.java | 0 .../layoutinflater/util/Preconditions.java | 0 .../layoutinflater/util/ValuesTable.java | 0 .../src/main/res/values/strings.xml | 0 lexers/.gitignore | 0 lexers/build.gradle | 0 lexers/proguard-rules.pro | 0 lexers/src/main/AndroidManifest.xml | 0 .../androidide/lexers/groovy/GroovyLexer.g4 | 0 .../androidide/lexers/groovy/GroovyLexer.java | 0 .../androidide/lexers/java/JavaLexer.g4 | 0 .../androidide/lexers/java/JavaLexer.interp | 0 .../androidide/lexers/java/JavaLexer.java | 0 .../androidide/lexers/java/JavaLexer.tokens | 0 .../androidide/lexers/java/JavaParser.g4 | 0 .../androidide/lexers/java/JavaParser.interp | 0 .../androidide/lexers/java/JavaParser.java | 0 .../androidide/lexers/java/JavaParser.tokens | 0 .../lexers/java/JavaParserBaseListener.java | 0 .../lexers/java/JavaParserBaseVisitor.java | 0 .../lexers/java/JavaParserListener.java | 0 .../lexers/java/JavaParserVisitor.java | 0 .../androidide/lexers/javadoc/JavadocLexer.g4 | 0 .../lexers/javadoc/JavadocLexer.interp | 0 .../lexers/javadoc/JavadocLexer.java | 0 .../lexers/javadoc/JavadocLexer.tokens | 0 .../lexers/javadoc/JavadocParser.g4 | 0 .../lexers/javadoc/JavadocParser.interp | 0 .../lexers/javadoc/JavadocParser.java | 0 .../lexers/javadoc/JavadocParser.tokens | 0 .../javadoc/JavadocParserBaseListener.java | 0 .../javadoc/JavadocParserBaseVisitor.java | 0 .../lexers/javadoc/JavadocParserListener.java | 0 .../lexers/javadoc/JavadocParserVisitor.java | 0 .../androidide/lexers/xml/XMLLexer.java | 0 lsp/.gitignore | 0 lsp/build.gradle | 0 lsp/proguard-rules.pro | 0 lsp/src/main/AndroidManifest.xml | 0 .../com/itsaky/lsp/SemanticHighlight.java | 0 .../itsaky/lsp/SemanticHighlightsParams.java | 0 .../lsp/services/IDELanguageClient.java | 0 .../lsp/services/IDELanguageClientAware.java | 0 .../lsp/services/IDELanguageServer.java | 0 .../lsp/services/IDETextDocumentService.java | 0 .../lsp/services/IDEWorkspaceService.java | 0 sdk-info/.gitignore | 0 sdk-info/build.gradle | 0 sdk-info/proguard-rules.pro | 0 sdk-info/src/main/AndroidManifest.xml | 0 .../main/java/com/itsaky/apiinfo/ApiInfo.java | 0 .../com/itsaky/apiinfo/models/ClassInfo.java | 0 .../com/itsaky/apiinfo/models/FieldInfo.java | 0 .../java/com/itsaky/apiinfo/models/Info.java | 0 .../com/itsaky/apiinfo/models/MethodInfo.java | 0 .../java/com/itsaky/attrinfo/AttrInfo.java | 0 .../java/com/itsaky/attrinfo/models/Attr.java | 0 .../java/com/itsaky/widgets/WidgetInfo.java | 0 .../com/itsaky/widgets/models/Widget.java | 0 .../java/org/eclipse/jdt/core/Signature.java | 0 .../jdt/core/compiler/CharOperation.java | 0 .../jdt/internal/compiler/ast/ASTNode.java | 0 .../compiler/classfmt/ClassFileConstants.java | 0 .../compiler/parser/ScannerHelper.java | 0 .../jdt/internal/compiler/util/Util.java | 0 sdk-info/src/main/res/raw/attrs.xml | 0 sdk-info/src/main/res/raw/versions.xml | 0 sdk-info/src/main/res/raw/widgets.txt | 0 settings.gradle | 0 treeview/.gitignore | 0 treeview/build.gradle | 0 treeview/proguard-rules.pro | 0 treeview/src/main/AndroidManifest.xml | 0 .../b/atv/holder/SimpleViewHolder.java | 0 .../com/unnamed/b/atv/model/TreeNode.java | 0 .../unnamed/b/atv/view/AndroidTreeView.java | 0 .../b/atv/view/TreeNodeWrapperView.java | 0 .../unnamed/b/atv/view/TwoDScrollView.java | 0 treeview/src/main/res/values/ids.xml | 0 treeview/src/main/res/values/styles.xml | 0 737 files changed, 2833 insertions(+), 1984 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .idea/.gitignore mode change 100644 => 100755 .idea/.name mode change 100644 => 100755 .idea/compiler.xml mode change 100644 => 100755 .idea/copyright/Akash_Yadav.xml mode change 100644 => 100755 .idea/copyright/profiles_settings.xml mode change 100644 => 100755 .idea/jarRepositories.xml mode change 100644 => 100755 .idea/misc.xml mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 app/.gitignore mode change 100644 => 100755 app/build.gradle mode change 100644 => 100755 app/dev.keystore mode change 100644 => 100755 app/dictionary.txt mode change 100644 => 100755 app/google-services.json mode change 100644 => 100755 app/libs/zip4j-2.9.0.jar mode change 100644 => 100755 app/proguard-rules.pro mode change 100644 => 100755 app/src/main/AndroidManifest.xml mode change 100644 => 100755 app/src/main/assets/changelog.json mode change 100644 => 100755 app/src/main/assets/data/arm64-v8a/busybox mode change 100644 => 100755 app/src/main/assets/data/arm64-v8a/libhook.so mode change 100644 => 100755 app/src/main/assets/data/arm64-v8a/libhook2.so mode change 100644 => 100755 app/src/main/assets/data/armeabi-v7a/busybox mode change 100644 => 100755 app/src/main/assets/data/armeabi-v7a/libhook.so mode change 100644 => 100755 app/src/main/assets/data/armeabi-v7a/libhook2.so mode change 100644 => 100755 app/src/main/assets/data/common/d8.jar mode change 100644 => 100755 app/src/main/assets/data/common/gradle-wrapper.zip mode change 100644 => 100755 app/src/main/assets/data/common/jls.jar mode change 100644 => 100755 app/src/main/assets/data/common/logsender.zip mode change 100644 => 100755 app/src/main/assets/fonts/jetbrains-mono.ttf mode change 100644 => 100755 app/src/main/assets/fonts/josefin-sans.ttf mode change 100644 => 100755 app/src/main/assets/fonts/quicksand.ttf mode change 100644 => 100755 app/src/main/assets/licenses.json mode change 100644 => 100755 app/src/main/assets/templates/0.zip mode change 100644 => 100755 app/src/main/assets/templates/1.zip mode change 100644 => 100755 app/src/main/assets/templates/2.zip mode change 100644 => 100755 app/src/main/googlePlay.png mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/AboutActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/DesignerActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/DownloadActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/EditorActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/MainActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/PreferencesActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/SplashActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/TerminalActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/CompletionListAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/DiagnosticItemAdpater.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/EditorPagerAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/MainPagerAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/ModuleInfoAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/OptionsSheetAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/ProjectsListAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/SearchListAdapter.java create mode 100755 app/src/main/java/com/itsaky/androidide/adapters/SimpleIconTextAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java create mode 100755 app/src/main/java/com/itsaky/androidide/adapters/WidgetGroupItemAdapter.java create mode 100755 app/src/main/java/com/itsaky/androidide/adapters/WidgetItemAdapter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/adapters/viewholders/FileTreeViewHolder.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/app/StudioActivity.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/app/StudioApp.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/BaseFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/EditorFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/FileTreeFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/ProjectsFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/preferences/BuildPreferences.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/preferences/GeneralPreferences.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/preferences/IDEPreferences.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/sheets/BaseBottomSheetFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/sheets/LogSheet.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/sheets/OptionsListFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/sheets/ProgressSheet.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/sheets/ProjectInfoSheet.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/fragments/sheets/TextSheetFragment.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/handlers/BuildServiceHandler.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/handlers/FileOptionsHandler.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/handlers/IDEHandler.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/interfaces/DexResultListener.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/interfaces/DiagnosticClickListener.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/interfaces/EditorActivityProvider.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/BaseLanguage.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/groovy/GroovyAnalyzer.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/groovy/GroovyAutoComplete.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/groovy/GroovyLanguage.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/java/JavaAutoComplete.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/java/JavaLanguage.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/logs/LogLanguageImpl.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/xml/XMLAnalyzer.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/xml/XMLAutoComplete.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/xml/XMLLanguage.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/language/xml/completion/XMLCompletionService.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/AsynchronousSocketLauncher.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/LSP.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/LSPClientLauncher.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/LSPProvider.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/LanguageServerWrapper.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/StandardStreamsLauncher.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/TokenModifiers.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/TokenType.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/handlers/JLSHandler.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/handlers/LSPHandler.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/lsp/providers/CodeActionProvider.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/ApkMetadata.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/DiagnosticGroup.java create mode 100755 app/src/main/java/com/itsaky/androidide/models/IconTextListItem.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/License.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/LogLine.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/NewProjectDetails.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/ProjectTemplate.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/SearchResult.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/models/SuggestItem.java create mode 100755 app/src/main/java/com/itsaky/androidide/models/UIWidget.java create mode 100755 app/src/main/java/com/itsaky/androidide/models/UIWidgetGroup.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/project/AndroidProject.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/project/IDEModule.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/project/IDEProject.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/project/IDETask.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/project/ProjectResourceFinder.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/services/Jar2DexService.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/services/LogReceiver.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/services/MessagingService.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/services/builder/BuildListener.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/services/builder/IDEService.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/services/builder/MainThreadBuildListener.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/colorschemes/SchemeAndroidIDE.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/colorschemes/SchemeWombat.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/DefaultLexer.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/Lexer.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/highlighters/Highlighter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/highlighters/JavaHighlighter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/BaseJavaLexer.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/groovy/GroovyLexerImpl.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/java/HighlightRangeHelper.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/java/JavaLexerImpl.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/tokens/Token.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/syntax/lexer/tokens/TokenType.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/BaseGradleTask.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/GradleTask.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/callables/FileTreeCallable.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/callables/LicenseReader.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/callables/ListDirectoryCallable.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/callables/ProjectCreatorCallable.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/callables/ReadFileTask.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/callables/UnzipCallable.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/BaseGradleTasks.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/build/AssembleDebug.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/build/AssembleRelease.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Build.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Bundle.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Clean.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/build/CleanBuild.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/Lint.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/LintDebug.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/LintRelease.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/plugin/InitializeIDEProject.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/DatabindingGenBaseClassesDebug.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/ProcessDebugResources.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/UpdateResourceClassesTask.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/ClassBuilder.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/JSONUtility.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/LSPUtils.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/ProjectFinder.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/RecursiveFileSearcher.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/RuntimeTypeAdapterFactory.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/Symbols.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/utils/TransformUtils.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/Editor.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/EmptyView.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/MaterialBanner.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/NonSwipableViewPager.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/SymbolInputView.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/TooltipLayout.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/VerticalViewPager.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/transition/ArcMotionPlus.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/transition/CubicBezierArc.java mode change 100644 => 100755 app/src/main/java/com/itsaky/androidide/views/transition/ProgressTransition.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/annotations/Experimental.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/interfaces/AutoCompleteProvider.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/interfaces/CodeAnalyzer.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/interfaces/EditorEventListener.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/interfaces/EditorLanguage.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/interfaces/NewlineHandler.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/langs/AbstractCodeAnalyzer.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/langs/AbstractEditorLanguage.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/langs/EmptyLanguage.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/struct/BlockLine.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/struct/NavigationItem.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/struct/Span.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/CachedIndexer.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/CharPosition.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/Content.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/ContentLine.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/ContentListener.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/Cursor.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/FontCache.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/FormatThread.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/Indexer.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/LineNumberCalculator.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/LineRemoveListener.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/NoCacheIndexer.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/ObjectAllocator.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/SpanMapUpdater.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/SpanRecycler.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/TextAnalyzeResult.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/TextAnalyzer.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/TextUtils.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/text/UndoManager.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/util/BinaryHeap.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/util/IntPair.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/util/LongArrayList.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/util/Objects.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/AbstractLayout.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/CursorBlink.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/DefaultCompletionItemAdapter.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorAutoCompleteWindow.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorBasePopupWindow.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorColorScheme.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorCompletionAdapter.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorInputConnection.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorSearcher.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorTextActionModeStarter.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorTextActionWindow.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/EditorTouchEventHandler.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/KeyMetaStates.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/Layout.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/LineBreakLayout.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/MaterialEdgeEffect.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/Row.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/RowIterator.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/SymbolChannel.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/SymbolPairMatch.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/TextActionPopupWindow.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/TextComposeBasePopup.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/WordwrapLayout.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeDarcula.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeEclipse.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeGitHub.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeNotepadXX.java mode change 100644 => 100755 app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeVS2019.java mode change 100644 => 100755 app/src/main/res/anim/popup_in.xml mode change 100644 => 100755 app/src/main/res/anim/popup_out.xml mode change 100644 => 100755 app/src/main/res/animator/dialog_in.xml mode change 100644 => 100755 app/src/main/res/animator/dialog_out.xml create mode 100755 app/src/main/res/color/widget_group_background.xml mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_launcher_background.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/ic_launcher_foreground.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_launcher_background.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/ic_launcher_foreground.png create mode 100755 app/src/main/res/drawable-mdpi/ic_widget_progress.xml mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_launcher_background.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_launcher_background.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png mode change 100644 => 100755 app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png mode change 100644 => 100755 app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png mode change 100644 => 100755 app/src/main/res/drawable-xxxhdpi/template_basic.png mode change 100644 => 100755 app/src/main/res/drawable-xxxhdpi/template_empty.png mode change 100644 => 100755 app/src/main/res/drawable-xxxhdpi/template_kotlin.png mode change 100644 => 100755 app/src/main/res/drawable-xxxhdpi/template_navigation_drawer.jpg mode change 100644 => 100755 app/src/main/res/drawable/bg_ripple.xml mode change 100644 => 100755 app/src/main/res/drawable/bg_ripple_disabled.xml mode change 100644 => 100755 app/src/main/res/drawable/bg_ripple_pressed.xml mode change 100644 => 100755 app/src/main/res/drawable/bg_shadow.xml create mode 100755 app/src/main/res/drawable/bg_widget_group_selected.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_add.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_android.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_bash_commands.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_bug.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_build_output.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_bundle.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_chevron_down.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_chevron_left.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_chevron_right.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_clean.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_clear.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_close.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_close_all.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_close_others.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_close_this.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_code.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_comment_line.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_compilation_error.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_diagnostics.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_drawing.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_email.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_file_copy_path.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_file_delete.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_file_rename.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_file_unknown.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_filetype_activity.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_filetype_enum.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_filetype_interface.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_filter.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_find_references.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_folder.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_goto_definition.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_help.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_hexadecimal.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_info.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_install.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_language_gradle.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_language_java.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_language_json.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_language_kotlin.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_language_xml.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_launcher_foreground.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_lint.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_log.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_min_sdk.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_more_vert_black_20dp.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_new_file.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_new_folder.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_open_project.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_package.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_preview_layout.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_rebuild.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_redo.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_replace.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_run.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_run_debug.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_run_outline.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_run_release.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_save.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_search.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_search_file.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_search_last.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_search_next.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_search_project.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_search_replace.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_settings.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_share.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_stop_daemons.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_sync.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_tab.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_target_sdk.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_telegram.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_terminal.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_text_size.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_uncomment_line.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_undo.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_view.xml mode change 100644 => 100755 app/src/main/res/drawable/ic_website.xml create mode 100755 app/src/main/res/drawable/ic_widget_button.xml create mode 100755 app/src/main/res/drawable/ic_widget_checkbox.xml create mode 100755 app/src/main/res/drawable/ic_widget_checked_textview.xml create mode 100755 app/src/main/res/drawable/ic_widget_edittext.xml create mode 100755 app/src/main/res/drawable/ic_widget_image.xml create mode 100755 app/src/main/res/drawable/ic_widget_linear.xml create mode 100755 app/src/main/res/drawable/ic_widget_radio_button.xml create mode 100755 app/src/main/res/drawable/ic_widget_relative.xml create mode 100755 app/src/main/res/drawable/ic_widget_seekbar.xml create mode 100755 app/src/main/res/drawable/ic_widget_spinner.xml create mode 100755 app/src/main/res/drawable/ic_widget_textview.xml mode change 100644 => 100755 app/src/main/res/drawable/round_content_copy_20.xml mode change 100644 => 100755 app/src/main/res/drawable/round_content_cut_20.xml mode change 100644 => 100755 app/src/main/res/drawable/round_content_paste_20.xml mode change 100644 => 100755 app/src/main/res/drawable/round_select_all_20.xml mode change 100644 => 100755 app/src/main/res/font/josefin_sans.ttf mode change 100644 => 100755 app/src/main/res/font/quicksand.ttf mode change 100644 => 100755 app/src/main/res/layout/activity_about.xml mode change 100644 => 100755 app/src/main/res/layout/activity_designer.xml mode change 100644 => 100755 app/src/main/res/layout/activity_download.xml mode change 100644 => 100755 app/src/main/res/layout/activity_editor.xml mode change 100644 => 100755 app/src/main/res/layout/activity_main.xml mode change 100644 => 100755 app/src/main/res/layout/activity_preferences.xml mode change 100644 => 100755 app/src/main/res/layout/activity_splash.xml mode change 100644 => 100755 app/src/main/res/layout/activity_terminal.xml mode change 100644 => 100755 app/src/main/res/layout/default_completion_result_item.xml mode change 100644 => 100755 app/src/main/res/layout/fragment_editor.xml mode change 100644 => 100755 app/src/main/res/layout/layout_about_items.xml mode change 100644 => 100755 app/src/main/res/layout/layout_banner.xml mode change 100644 => 100755 app/src/main/res/layout/layout_completion_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_completion_window.xml mode change 100644 => 100755 app/src/main/res/layout/layout_create_file_java.xml mode change 100644 => 100755 app/src/main/res/layout/layout_create_project.xml mode change 100644 => 100755 app/src/main/res/layout/layout_create_project_content.xml mode change 100644 => 100755 app/src/main/res/layout/layout_diagnostic_group.xml mode change 100644 => 100755 app/src/main/res/layout/layout_diagnostic_info.xml mode change 100644 => 100755 app/src/main/res/layout/layout_diagnostic_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_dialog_text_input.xml mode change 100644 => 100755 app/src/main/res/layout/layout_editor_file_tree.xml mode change 100644 => 100755 app/src/main/res/layout/layout_filetree_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_module_info_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_nav_header.xml mode change 100644 => 100755 app/src/main/res/layout/layout_optionssheet_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_progress_sheet.xml mode change 100644 => 100755 app/src/main/res/layout/layout_project_details.xml mode change 100644 => 100755 app/src/main/res/layout/layout_projects.xml mode change 100644 => 100755 app/src/main/res/layout/layout_projects_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_search_project.xml mode change 100644 => 100755 app/src/main/res/layout/layout_search_result_group.xml mode change 100644 => 100755 app/src/main/res/layout/layout_search_result_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_sheet.xml create mode 100755 app/src/main/res/layout/layout_simple_icon_text.xml mode change 100644 => 100755 app/src/main/res/layout/layout_symbol_item.xml mode change 100644 => 100755 app/src/main/res/layout/layout_text_size_slider.xml mode change 100644 => 100755 app/src/main/res/layout/text_compose_panel.xml mode change 100644 => 100755 app/src/main/res/layout/text_compose_popup_window.xml mode change 100644 => 100755 app/src/main/res/menu/menu_build_output.xml mode change 100644 => 100755 app/src/main/res/menu/menu_editor.xml mode change 100644 => 100755 app/src/main/res/menu/menu_editor_nav.xml mode change 100644 => 100755 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml mode change 100644 => 100755 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml mode change 100644 => 100755 app/src/main/res/mipmap-hdpi/ic_launcher.png mode change 100644 => 100755 app/src/main/res/mipmap-hdpi/ic_launcher_round.png mode change 100644 => 100755 app/src/main/res/mipmap-mdpi/ic_launcher.png mode change 100644 => 100755 app/src/main/res/mipmap-mdpi/ic_launcher_round.png mode change 100644 => 100755 app/src/main/res/mipmap-xhdpi/ic_launcher.png mode change 100644 => 100755 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png mode change 100644 => 100755 app/src/main/res/mipmap-xxhdpi/ic_launcher.png mode change 100644 => 100755 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png mode change 100644 => 100755 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png mode change 100644 => 100755 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png mode change 100644 => 100755 app/src/main/res/mipmap/box_red.png mode change 100644 => 100755 app/src/main/res/raw/android_bot.json mode change 100644 => 100755 app/src/main/res/values/colors.xml mode change 100644 => 100755 app/src/main/res/values/dimens.xml mode change 100644 => 100755 app/src/main/res/values/strings.xml mode change 100644 => 100755 app/src/main/res/values/styles.xml mode change 100644 => 100755 app/src/main/res/xml/ide_prefs.xml mode change 100644 => 100755 app/src/main/res/xml/motion_about.xml mode change 100644 => 100755 build.gradle mode change 100644 => 100755 common/.gitignore mode change 100644 => 100755 common/build.gradle mode change 100644 => 100755 common/proguard-rules.pro mode change 100644 => 100755 common/src/main/AndroidManifest.xml mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/app/BaseActivity.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/app/BaseApplication.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/interfaces/Filter.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/interfaces/ProjectWriterCallback.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/managers/PreferenceManager.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/managers/VersionedFileManager.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/models/ConstantsBridge.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/models/DexPair.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/models/SaveResult.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/models/SheetOption.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/shell/CommonProcessExecutor.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/shell/IProcessExecutor.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/shell/IProcessExitListener.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/shell/ProcessExecutorFactory.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/shell/ProcessStreamsHolder.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/shell/ShellServer.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/Environment.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/FileUtil.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/InputStreamLineReader.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/InputStreamWriter.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/IntProperty.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/JavaCharacter.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/Logger.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/StudioUtils.java mode change 100644 => 100755 common/src/main/java/com/itsaky/androidide/utils/TypefaceUtils.java mode change 100644 => 100755 common/src/main/java/com/itsaky/toaster/ToastWrapper.java mode change 100644 => 100755 common/src/main/java/com/itsaky/toaster/Toaster.java mode change 100644 => 100755 common/src/main/res/drawable/ic_error.xml mode change 100644 => 100755 common/src/main/res/drawable/ic_ok.xml mode change 100644 => 100755 common/src/main/res/layout/layout_toast.xml mode change 100644 => 100755 common/src/main/res/values/colors.xml mode change 100644 => 100755 common/src/main/res/values/strings.xml mode change 100644 => 100755 emulatorview/.gitignore mode change 100644 => 100755 emulatorview/build.gradle mode change 100644 => 100755 emulatorview/proguard-rules.pro mode change 100644 => 100755 emulatorview/src/main/AndroidManifest.xml mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/SpecialButton.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/SpecialButtonState.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeyButton.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysConstants.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysInfo.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysView.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/ByteQueue.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/JNI.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/KeyHandler.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalBuffer.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalColorScheme.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalColors.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalEmulator.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalOutput.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalRow.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalSession.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TerminalSessionClient.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/TextStyle.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/WcWidth.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/GestureAndScaleRecognizer.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/TerminalRenderer.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/TerminalView.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/TerminalViewClient.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/textselection/CursorController.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/textselection/TextSelectionCursorController.java mode change 100644 => 100755 emulatorview/src/main/java/com/itsaky/terminal/view/textselection/TextSelectionHandleView.java mode change 100644 => 100755 emulatorview/src/main/jniLibs/arm64-v8a/libandroidide-terminal.so mode change 100644 => 100755 emulatorview/src/main/jniLibs/armeabi-v7a/libandroidide-terminal.so mode change 100644 => 100755 emulatorview/src/main/res/drawable/text_select_handle_left_material.xml mode change 100644 => 100755 emulatorview/src/main/res/drawable/text_select_handle_right_material.xml mode change 100644 => 100755 emulatorview/src/main/res/values/strings.xml mode change 100644 => 100755 gradle.properties mode change 100644 => 100755 gradle/dependencies.gradle mode change 100644 => 100755 gradle/wrapper/gradle-wrapper.jar mode change 100644 => 100755 gradle/wrapper/gradle-wrapper.properties mode change 100644 => 100755 gradlew mode change 100644 => 100755 gradlew.bat mode change 100644 => 100755 images/build_output.jpg mode change 100644 => 100755 images/file_tree.jpg mode change 100644 => 100755 images/gradle_buildscript.jpg mode change 100644 => 100755 images/java_completion.jpg mode change 100644 => 100755 images/main_screen.jpg mode change 100644 => 100755 images/terminal.jpg mode change 100644 => 100755 images/xml_completion_attributes.jpg mode change 100644 => 100755 images/xml_completion_enums.jpg mode change 100644 => 100755 images/xml_completion_widgets.jpg mode change 100644 => 100755 javapoet/.gitignore mode change 100644 => 100755 javapoet/build.gradle mode change 100644 => 100755 javapoet/proguard-rules.pro mode change 100644 => 100755 javapoet/src/main/AndroidManifest.xml mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/AnnotationSpec.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/ArrayTypeName.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/ClassName.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/CodeBlock.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/CodeWriter.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/FieldSpec.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/JavaFile.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/LineWrapper.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/MethodSpec.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/NameAllocator.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/ParameterSpec.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/ParameterizedTypeName.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/TypeName.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/TypeSpec.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/TypeVariableName.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/Util.java mode change 100644 => 100755 javapoet/src/main/java/com/squareup/javapoet/WildcardTypeName.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/Completion.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/Completions.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/FilerException.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/RoundEnvironment.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/SupportedAnnotationTypes.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/SupportedOptions.java mode change 100644 => 100755 javapoet/src/main/java/javax/annotation/processing/SupportedSourceVersion.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/AnnotatedConstruct.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/SourceVersion.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/UnknownEntityException.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/AnnotationMirror.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/AnnotationValue.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/AnnotationValueVisitor.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/Element.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/ElementKind.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/ElementVisitor.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/ExecutableElement.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/Modifier.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/Name.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/NestingKind.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/PackageElement.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/Parameterizable.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/QualifiedNameable.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/TypeElement.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/TypeParameterElement.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/UnknownAnnotationValueException.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/UnknownElementException.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/element/VariableElement.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/ArrayType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/DeclaredType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/ErrorType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/ExecutableType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/IntersectionType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/MirroredTypeException.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/MirroredTypesException.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/NoType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/NullType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/PrimitiveType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/ReferenceType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/TypeKind.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/TypeMirror.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/TypeVariable.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/TypeVisitor.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/UnionType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/UnknownTypeException.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/type/WildcardType.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractElementVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractElementVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractElementVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractTypeVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractTypeVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/AbstractTypeVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementFilter.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementKindVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementKindVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementKindVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementScanner6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementScanner7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/ElementScanner8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/Elements.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleElementVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleElementVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleElementVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleTypeVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleTypeVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/SimpleTypeVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/TypeKindVisitor6.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/TypeKindVisitor7.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/TypeKindVisitor8.java mode change 100644 => 100755 javapoet/src/main/java/javax/lang/model/util/Types.java mode change 100644 => 100755 javapoet/src/main/java/javax/tools/FileObject.java mode change 100644 => 100755 javapoet/src/main/java/javax/tools/JavaFileObject.java mode change 100644 => 100755 javapoet/src/main/java/javax/tools/SimpleJavaFileObject.java mode change 100644 => 100755 layout-inflater/.gitignore mode change 100644 => 100755 layout-inflater/build.gradle mode change 100644 => 100755 layout-inflater/proguard-rules.pro mode change 100644 => 100755 layout-inflater/src/main/AndroidManifest.xml mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/AttrType.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/BaseLayoutInflater.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IAttribute.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IAttributeAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IDTable.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IFixedValue.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IInflateListener.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/ILayoutInflater.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IResourceFinder.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IView.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/IViewGroup.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/InflateException.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/LayoutInflaterConfiguration.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/XMLLayoutInflater.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/README.md mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/view/ViewAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/view/ViewGroupAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/AbsSeekBarAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/AbsSpinnerAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/AdapterViewAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/ButtonAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/CheckBoxAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/CheckedTextViewAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/CompondButtonAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/EditTextAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/ImageButtonAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/ImageViewAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/LinearLayoutAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/ProgressBarAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/RadioButtonAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/RelativeLayoutAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/SeekBarAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/SpinnerAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/android/widget/TextViewAttrAdapter.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/impl/BaseView.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/impl/BaseViewGroup.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/impl/UiAttribute.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/impl/UiView.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/impl/UiViewGroup.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/util/Preconditions.java mode change 100644 => 100755 layout-inflater/src/main/java/com/itsaky/layoutinflater/util/ValuesTable.java mode change 100644 => 100755 layout-inflater/src/main/res/values/strings.xml mode change 100644 => 100755 lexers/.gitignore mode change 100644 => 100755 lexers/build.gradle mode change 100644 => 100755 lexers/proguard-rules.pro mode change 100644 => 100755 lexers/src/main/AndroidManifest.xml mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/groovy/GroovyLexer.g4 mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/groovy/GroovyLexer.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaLexer.g4 mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaLexer.interp mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaLexer.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaLexer.tokens mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParser.g4 mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParser.interp mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParser.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParser.tokens mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParserBaseListener.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParserBaseVisitor.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParserListener.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/java/JavaParserVisitor.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocLexer.g4 mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocLexer.interp mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocLexer.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocLexer.tokens mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParser.g4 mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParser.interp mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParser.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParser.tokens mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParserBaseListener.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParserBaseVisitor.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParserListener.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/javadoc/JavadocParserVisitor.java mode change 100644 => 100755 lexers/src/main/java/com/itsaky/androidide/lexers/xml/XMLLexer.java mode change 100644 => 100755 lsp/.gitignore mode change 100644 => 100755 lsp/build.gradle mode change 100644 => 100755 lsp/proguard-rules.pro mode change 100644 => 100755 lsp/src/main/AndroidManifest.xml mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/SemanticHighlight.java mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/SemanticHighlightsParams.java mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/services/IDELanguageClient.java mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/services/IDELanguageClientAware.java mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/services/IDELanguageServer.java mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/services/IDETextDocumentService.java mode change 100644 => 100755 lsp/src/main/java/com/itsaky/lsp/services/IDEWorkspaceService.java mode change 100644 => 100755 sdk-info/.gitignore mode change 100644 => 100755 sdk-info/build.gradle mode change 100644 => 100755 sdk-info/proguard-rules.pro mode change 100644 => 100755 sdk-info/src/main/AndroidManifest.xml mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/apiinfo/ApiInfo.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/apiinfo/models/ClassInfo.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/apiinfo/models/FieldInfo.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/apiinfo/models/Info.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/apiinfo/models/MethodInfo.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/attrinfo/AttrInfo.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/attrinfo/models/Attr.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/widgets/WidgetInfo.java mode change 100644 => 100755 sdk-info/src/main/java/com/itsaky/widgets/models/Widget.java mode change 100644 => 100755 sdk-info/src/main/java/org/eclipse/jdt/core/Signature.java mode change 100644 => 100755 sdk-info/src/main/java/org/eclipse/jdt/core/compiler/CharOperation.java mode change 100644 => 100755 sdk-info/src/main/java/org/eclipse/jdt/internal/compiler/ast/ASTNode.java mode change 100644 => 100755 sdk-info/src/main/java/org/eclipse/jdt/internal/compiler/classfmt/ClassFileConstants.java mode change 100644 => 100755 sdk-info/src/main/java/org/eclipse/jdt/internal/compiler/parser/ScannerHelper.java mode change 100644 => 100755 sdk-info/src/main/java/org/eclipse/jdt/internal/compiler/util/Util.java mode change 100644 => 100755 sdk-info/src/main/res/raw/attrs.xml mode change 100644 => 100755 sdk-info/src/main/res/raw/versions.xml mode change 100644 => 100755 sdk-info/src/main/res/raw/widgets.txt mode change 100644 => 100755 settings.gradle mode change 100644 => 100755 treeview/.gitignore mode change 100644 => 100755 treeview/build.gradle mode change 100644 => 100755 treeview/proguard-rules.pro mode change 100644 => 100755 treeview/src/main/AndroidManifest.xml mode change 100644 => 100755 treeview/src/main/java/com/unnamed/b/atv/holder/SimpleViewHolder.java mode change 100644 => 100755 treeview/src/main/java/com/unnamed/b/atv/model/TreeNode.java mode change 100644 => 100755 treeview/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java mode change 100644 => 100755 treeview/src/main/java/com/unnamed/b/atv/view/TreeNodeWrapperView.java mode change 100644 => 100755 treeview/src/main/java/com/unnamed/b/atv/view/TwoDScrollView.java mode change 100644 => 100755 treeview/src/main/res/values/ids.xml mode change 100644 => 100755 treeview/src/main/res/values/styles.xml diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.idea/.gitignore b/.idea/.gitignore old mode 100644 new mode 100755 index 26d33521a..eaf91e2ac --- a/.idea/.gitignore +++ b/.idea/.gitignore @@ -1,3 +1,3 @@ -# Default ignored files -/shelf/ -/workspace.xml +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name old mode 100644 new mode 100755 diff --git a/.idea/compiler.xml b/.idea/compiler.xml old mode 100644 new mode 100755 index fb7f4a8a4..7d7ec2eaf --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - - - - - + + + + + \ No newline at end of file diff --git a/.idea/copyright/Akash_Yadav.xml b/.idea/copyright/Akash_Yadav.xml old mode 100644 new mode 100755 index 33351c8ad..e3094f0c1 --- a/.idea/copyright/Akash_Yadav.xml +++ b/.idea/copyright/Akash_Yadav.xml @@ -1,6 +1,6 @@ - - - + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml old mode 100644 new mode 100755 index 476a3e706..c06eac70c --- a/.idea/copyright/profiles_settings.xml +++ b/.idea/copyright/profiles_settings.xml @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml old mode 100644 new mode 100755 index 1c6fee5ed..af5b22e87 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -1,35 +1,40 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml old mode 100644 new mode 100755 index 51e88be32..f60769d94 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,18 +1,35 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/app/.gitignore b/app/.gitignore old mode 100644 new mode 100755 diff --git a/app/build.gradle b/app/build.gradle old mode 100644 new mode 100755 index 81127d1ad..a987c873e --- a/app/build.gradle +++ b/app/build.gradle @@ -31,7 +31,9 @@ android { "SmallSp" } - buildFeatures.viewBinding true + buildFeatures { + viewBinding true + } signingConfigs { diff --git a/app/dev.keystore b/app/dev.keystore old mode 100644 new mode 100755 diff --git a/app/dictionary.txt b/app/dictionary.txt old mode 100644 new mode 100755 diff --git a/app/google-services.json b/app/google-services.json old mode 100644 new mode 100755 diff --git a/app/libs/zip4j-2.9.0.jar b/app/libs/zip4j-2.9.0.jar old mode 100644 new mode 100755 diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro old mode 100644 new mode 100755 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/app/src/main/assets/changelog.json b/app/src/main/assets/changelog.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/arm64-v8a/busybox b/app/src/main/assets/data/arm64-v8a/busybox old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/arm64-v8a/libhook.so b/app/src/main/assets/data/arm64-v8a/libhook.so old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/arm64-v8a/libhook2.so b/app/src/main/assets/data/arm64-v8a/libhook2.so old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/armeabi-v7a/busybox b/app/src/main/assets/data/armeabi-v7a/busybox old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/armeabi-v7a/libhook.so b/app/src/main/assets/data/armeabi-v7a/libhook.so old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/armeabi-v7a/libhook2.so b/app/src/main/assets/data/armeabi-v7a/libhook2.so old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/common/d8.jar b/app/src/main/assets/data/common/d8.jar old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/common/gradle-wrapper.zip b/app/src/main/assets/data/common/gradle-wrapper.zip old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/common/jls.jar b/app/src/main/assets/data/common/jls.jar old mode 100644 new mode 100755 diff --git a/app/src/main/assets/data/common/logsender.zip b/app/src/main/assets/data/common/logsender.zip old mode 100644 new mode 100755 diff --git a/app/src/main/assets/fonts/jetbrains-mono.ttf b/app/src/main/assets/fonts/jetbrains-mono.ttf old mode 100644 new mode 100755 diff --git a/app/src/main/assets/fonts/josefin-sans.ttf b/app/src/main/assets/fonts/josefin-sans.ttf old mode 100644 new mode 100755 diff --git a/app/src/main/assets/fonts/quicksand.ttf b/app/src/main/assets/fonts/quicksand.ttf old mode 100644 new mode 100755 diff --git a/app/src/main/assets/licenses.json b/app/src/main/assets/licenses.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/templates/0.zip b/app/src/main/assets/templates/0.zip old mode 100644 new mode 100755 diff --git a/app/src/main/assets/templates/1.zip b/app/src/main/assets/templates/1.zip old mode 100644 new mode 100755 diff --git a/app/src/main/assets/templates/2.zip b/app/src/main/assets/templates/2.zip old mode 100644 new mode 100755 diff --git a/app/src/main/googlePlay.png b/app/src/main/googlePlay.png old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/AboutActivity.java b/app/src/main/java/com/itsaky/androidide/AboutActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/DesignerActivity.java b/app/src/main/java/com/itsaky/androidide/DesignerActivity.java old mode 100644 new mode 100755 index 2f16091d5..d4e58dc40 --- a/app/src/main/java/com/itsaky/androidide/DesignerActivity.java +++ b/app/src/main/java/com/itsaky/androidide/DesignerActivity.java @@ -17,18 +17,43 @@ **************************************************************************************/ package com.itsaky.androidide; -import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.CheckedTextView; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.RadioButton; +import android.widget.RelativeLayout; +import android.widget.SeekBar; +import android.widget.Spinner; import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.core.content.ContextCompat; + import com.blankj.utilcode.util.ThrowableUtils; +import com.itsaky.androidide.adapters.WidgetGroupItemAdapter; +import com.itsaky.androidide.adapters.WidgetItemAdapter; import com.itsaky.androidide.app.StudioActivity; import com.itsaky.androidide.databinding.ActivityDesignerBinding; +import com.itsaky.androidide.models.UIWidget; +import com.itsaky.androidide.models.UIWidgetGroup; import com.itsaky.androidide.utils.Logger; import com.itsaky.layoutinflater.ILayoutInflater; import com.itsaky.layoutinflater.IView; +import com.itsaky.toaster.Toaster; + +import org.jetbrains.annotations.Contract; + +import java.util.ArrayList; +import java.util.List; public class DesignerActivity extends StudioActivity { @@ -36,7 +61,14 @@ public class DesignerActivity extends StudioActivity { public static final String KEY_LAYOUT_PATH = "designer_layoutPath"; private static final Logger LOG = Logger.instance("DesignerActivity"); - + + private final List widgetGroups = new ArrayList<>(); + + private final WidgetItemAdapter.OnWidgetDragListener dragListener = (widget, v, event) -> { + getApp().toast("Dragging: " + widget.getName(), Toaster.Type.INFO); + return true; + }; + @Override protected View bindLayout() { mBinding = ActivityDesignerBinding.inflate(getLayoutInflater()); @@ -46,10 +78,13 @@ public class DesignerActivity extends StudioActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + + final var toggle = new ActionBarDrawerToggle(this, mBinding.getRoot(), mBinding.toolbar, R.string.app_name, R.string.app_name); + mBinding.getRoot().addDrawerListener(toggle); + toggle.syncState(); + setSupportActionBar(mBinding.toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - mBinding.toolbar.setNavigationOnClickListener(v -> onBackPressed()); final Bundle extras = getIntent().getExtras(); final String path = extras.getString(KEY_LAYOUT_PATH, null); @@ -57,25 +92,60 @@ public class DesignerActivity extends StudioActivity { try { final ILayoutInflater inflater = getApp().getLayoutInflater(); inflater.resetContextProvider(newContextProvider()); - final IView view = inflater.inflatePath(path, mBinding.realContainer); - mBinding.realContainer.addView(view.asView()); + final IView view = inflater.inflatePath(path, mBinding.layoutContainer); + mBinding.layoutContainer.addView(view.asView()); } catch (Throwable th) { - mBinding.realContainer.removeAllViews(); - mBinding.realContainer.addView(createErrorText(th)); + mBinding.layoutContainer.removeAllViews(); + mBinding.layoutContainer.addView(createErrorText(th)); LOG.error (getString(R.string.err_cannot_inflate_layout)); } + + setupWidgets(); } + private void setupWidgets() { + final var common = new UIWidgetGroup(getString(R.string.widget_group_android)); + common.addChild(new UIWidget(getString(R.string.widget_button), R.drawable.ic_widget_button, Button.class)); + common.addChild(new UIWidget(getString(R.string.widget_checkbox), R.drawable.ic_widget_checkbox, CheckBox.class)); + common.addChild(new UIWidget(getString(R.string.widget_checked_textview), R.drawable.ic_widget_checked_textview, CheckedTextView.class)); + common.addChild(new UIWidget(getString(R.string.widget_edittext), R.drawable.ic_widget_edittext, EditText.class)); + common.addChild(new UIWidget(getString(R.string.widget_image_button), R.drawable.ic_widget_image, ImageButton.class)); + common.addChild(new UIWidget(getString(R.string.widget_image_view), R.drawable.ic_widget_image, ImageView.class)); + common.addChild(new UIWidget(getString(R.string.widget_progressbar), R.drawable.ic_widget_progress, ProgressBar.class)); + common.addChild(new UIWidget(getString(R.string.widget_radio_button), R.drawable.ic_widget_radio_button, RadioButton.class)); + common.addChild(new UIWidget(getString(R.string.widget_seekbar), R.drawable.ic_widget_seekbar, SeekBar.class)); + common.addChild(new UIWidget(getString(R.string.widget_spinner), R.drawable.ic_widget_spinner, Spinner.class)); + common.addChild(new UIWidget(getString(R.string.widget_textview), R.drawable.ic_widget_textview, TextView.class)); + + // IMPORTANT: Do not select any other groups here + common.setSelected(true); + widgetGroups.add(common); + + final var layouts = new UIWidgetGroup("Layouts"); + layouts.addChild(new UIWidget("LinearLayout", R.drawable.ic_widget_linear, LinearLayout.class)); + layouts.addChild(new UIWidget("RelativeLayout", R.drawable.ic_widget_relative, RelativeLayout.class)); + + widgetGroups.add(layouts); + + final var adapter = new WidgetGroupItemAdapter(widgetGroups, this::showWidgetGroup); + mBinding.groupItems.setAdapter(adapter); + + showWidgetGroup(common); + } + + private void showWidgetGroup (@NonNull UIWidgetGroup group) { + final var children = group.getChildren(); + mBinding.widgetItems.setAdapter(new WidgetItemAdapter(children, dragListener)); + } + + @NonNull + @Contract(pure = true) private ILayoutInflater.ContextProvider newContextProvider() { - return new ILayoutInflater.ContextProvider() { - @Override - public Context getContext() { - return DesignerActivity.this; - } - }; + return () -> DesignerActivity.this; } + @NonNull private TextView createErrorText (Throwable th) { final TextView error = new TextView (this); error.setText(ThrowableUtils.getFullStackTrace(th)); diff --git a/app/src/main/java/com/itsaky/androidide/DownloadActivity.java b/app/src/main/java/com/itsaky/androidide/DownloadActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/EditorActivity.java b/app/src/main/java/com/itsaky/androidide/EditorActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/MainActivity.java b/app/src/main/java/com/itsaky/androidide/MainActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/PreferencesActivity.java b/app/src/main/java/com/itsaky/androidide/PreferencesActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/SplashActivity.java b/app/src/main/java/com/itsaky/androidide/SplashActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/TerminalActivity.java b/app/src/main/java/com/itsaky/androidide/TerminalActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/CompletionListAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/CompletionListAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticItemAdpater.java b/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticItemAdpater.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/EditorPagerAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/EditorPagerAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/MainPagerAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/MainPagerAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/ModuleInfoAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/ModuleInfoAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/OptionsSheetAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/OptionsSheetAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/ProjectsListAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/ProjectsListAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/SearchListAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/SearchListAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/SimpleIconTextAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/SimpleIconTextAdapter.java new file mode 100755 index 000000000..af4cd6240 --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/adapters/SimpleIconTextAdapter.java @@ -0,0 +1,105 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.adapters; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.itsaky.androidide.databinding.LayoutSimpleIconTextBinding; +import com.itsaky.androidide.models.IconTextListItem; + +import java.util.List; + +/** + * A RecyclerView.Adapter which can be used to show a list with an icon and a text. + * + * @author Akash Yadav + */ +public class SimpleIconTextAdapter extends RecyclerView.Adapter { + + private final List items; + private OnBindListener bindListener; + + public SimpleIconTextAdapter(@NonNull List items) { + this.items = items; + } + + public SimpleIconTextAdapter setOnBindListener (OnBindListener listener) { + this.bindListener = listener; + return this; + } + + @NonNull + @Override + public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new VH (LayoutSimpleIconTextBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull VH holder, int position) { + final var binding = holder.binding; + final var item = items.get(position); + + if (this.bindListener != null && this.bindListener.onBind(item, holder, position)) { + return; + } + + final var icon = item.getIconResource(); + + if (icon == -1) { + binding.icon.setVisibility(View.GONE); + } else { + binding.icon.setImageResource(icon); + } + binding.text.setText(item.getText()); + + if (this.bindListener != null) { + this.bindListener.postBind(item, holder, position); + } + } + + @Override + public int getItemCount() { + return items.size(); + } + + public IconTextListItem getItemAt (int index) { + return this.items.get(index); + } + + public static class VH extends RecyclerView.ViewHolder { + + public final LayoutSimpleIconTextBinding binding; + + public VH(@NonNull LayoutSimpleIconTextBinding binding) { + super(binding.getRoot()); + this.binding = binding; + } + + } + + public static interface OnBindListener { + boolean onBind (IconTextListItem item, VH holder, int position); + + default void postBind (IconTextListItem item, VH holder, int position) {} + } +} diff --git a/app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/adapters/WidgetGroupItemAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/WidgetGroupItemAdapter.java new file mode 100755 index 000000000..52125793c --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/adapters/WidgetGroupItemAdapter.java @@ -0,0 +1,60 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.adapters; + +import com.itsaky.androidide.models.IconTextListItem; +import com.itsaky.androidide.models.UIWidgetGroup; + +import java.util.List; + +public class WidgetGroupItemAdapter extends SimpleIconTextAdapter implements SimpleIconTextAdapter.OnBindListener { + + private final OnGroupClickListener clickListener; + + public WidgetGroupItemAdapter(List groups, OnGroupClickListener clickListener) { + super(groups); + this.clickListener = clickListener; + } + + @Override + public boolean onBind(IconTextListItem item, VH holder, int position) { + final var binding = holder.binding; + final var group = (UIWidgetGroup) getItemAt(position); + + if (this.clickListener != null) { + binding.getRoot().setOnClickListener(v -> this.clickListener.onGroupClick(group)); + } + + return false; + } + + @Override + public void postBind(IconTextListItem item, VH holder, int position) { + final var binding = holder.binding; + final var group = (UIWidgetGroup) item; + + if (group.isSelected()) { + + } + } + + public interface OnGroupClickListener { + void onGroupClick(UIWidgetGroup group); + } + +} diff --git a/app/src/main/java/com/itsaky/androidide/adapters/WidgetItemAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/WidgetItemAdapter.java new file mode 100755 index 000000000..2a487e2e0 --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/adapters/WidgetItemAdapter.java @@ -0,0 +1,58 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.adapters; + +import android.view.DragEvent; +import android.view.View; + +import androidx.annotation.NonNull; + +import com.itsaky.androidide.models.IconTextListItem; +import com.itsaky.androidide.models.UIWidget; + +import java.util.List; + +public class WidgetItemAdapter extends SimpleIconTextAdapter implements SimpleIconTextAdapter.OnBindListener { + + private final OnWidgetDragListener dragListener; + + public WidgetItemAdapter(List widgets, OnWidgetDragListener dragListener) { + super(widgets); + this.dragListener = dragListener; + + setOnBindListener(this); + } + + @Override + public boolean onBind(IconTextListItem item, @NonNull VH holder, int position) { + final var binding = holder.binding; + final var widget = (UIWidget) getItemAt(position); + + if (this.dragListener != null) { + binding.getRoot().setOnDragListener((v, event) -> { + return this.dragListener.onDrag(widget, v, event); + }); + } + + return false; // Returning true will not set the text and icon + } + + public static interface OnWidgetDragListener { + boolean onDrag(UIWidget widget, View v, DragEvent event); + } +} diff --git a/app/src/main/java/com/itsaky/androidide/adapters/viewholders/FileTreeViewHolder.java b/app/src/main/java/com/itsaky/androidide/adapters/viewholders/FileTreeViewHolder.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/app/StudioActivity.java b/app/src/main/java/com/itsaky/androidide/app/StudioActivity.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/app/StudioApp.java b/app/src/main/java/com/itsaky/androidide/app/StudioApp.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/BaseFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/BaseFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/EditorFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/EditorFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/FileTreeFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/FileTreeFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/ProjectsFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/ProjectsFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/BuildPreferences.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/BuildPreferences.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/GeneralPreferences.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/GeneralPreferences.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/IDEPreferences.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/IDEPreferences.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sheets/BaseBottomSheetFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/sheets/BaseBottomSheetFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sheets/LogSheet.java b/app/src/main/java/com/itsaky/androidide/fragments/sheets/LogSheet.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sheets/OptionsListFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/sheets/OptionsListFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sheets/ProgressSheet.java b/app/src/main/java/com/itsaky/androidide/fragments/sheets/ProgressSheet.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sheets/ProjectInfoSheet.java b/app/src/main/java/com/itsaky/androidide/fragments/sheets/ProjectInfoSheet.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sheets/TextSheetFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/sheets/TextSheetFragment.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/handlers/BuildServiceHandler.java b/app/src/main/java/com/itsaky/androidide/handlers/BuildServiceHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/handlers/FileOptionsHandler.java b/app/src/main/java/com/itsaky/androidide/handlers/FileOptionsHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/handlers/IDEHandler.java b/app/src/main/java/com/itsaky/androidide/handlers/IDEHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/interfaces/DexResultListener.java b/app/src/main/java/com/itsaky/androidide/interfaces/DexResultListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/interfaces/DiagnosticClickListener.java b/app/src/main/java/com/itsaky/androidide/interfaces/DiagnosticClickListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/interfaces/EditorActivityProvider.java b/app/src/main/java/com/itsaky/androidide/interfaces/EditorActivityProvider.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/BaseLanguage.java b/app/src/main/java/com/itsaky/androidide/language/BaseLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/groovy/GroovyAnalyzer.java b/app/src/main/java/com/itsaky/androidide/language/groovy/GroovyAnalyzer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/groovy/GroovyAutoComplete.java b/app/src/main/java/com/itsaky/androidide/language/groovy/GroovyAutoComplete.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/groovy/GroovyLanguage.java b/app/src/main/java/com/itsaky/androidide/language/groovy/GroovyLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/java/JavaAutoComplete.java b/app/src/main/java/com/itsaky/androidide/language/java/JavaAutoComplete.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/java/JavaLanguage.java b/app/src/main/java/com/itsaky/androidide/language/java/JavaLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/logs/LogLanguageImpl.java b/app/src/main/java/com/itsaky/androidide/language/logs/LogLanguageImpl.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/xml/XMLAnalyzer.java b/app/src/main/java/com/itsaky/androidide/language/xml/XMLAnalyzer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/xml/XMLAutoComplete.java b/app/src/main/java/com/itsaky/androidide/language/xml/XMLAutoComplete.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/xml/XMLLanguage.java b/app/src/main/java/com/itsaky/androidide/language/xml/XMLLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/language/xml/completion/XMLCompletionService.java b/app/src/main/java/com/itsaky/androidide/language/xml/completion/XMLCompletionService.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/AsynchronousSocketLauncher.java b/app/src/main/java/com/itsaky/androidide/lsp/AsynchronousSocketLauncher.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java b/app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/LSP.java b/app/src/main/java/com/itsaky/androidide/lsp/LSP.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/LSPClientLauncher.java b/app/src/main/java/com/itsaky/androidide/lsp/LSPClientLauncher.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/LSPProvider.java b/app/src/main/java/com/itsaky/androidide/lsp/LSPProvider.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/LanguageServerWrapper.java b/app/src/main/java/com/itsaky/androidide/lsp/LanguageServerWrapper.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/StandardStreamsLauncher.java b/app/src/main/java/com/itsaky/androidide/lsp/StandardStreamsLauncher.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/TokenModifiers.java b/app/src/main/java/com/itsaky/androidide/lsp/TokenModifiers.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/TokenType.java b/app/src/main/java/com/itsaky/androidide/lsp/TokenType.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/handlers/JLSHandler.java b/app/src/main/java/com/itsaky/androidide/lsp/handlers/JLSHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/handlers/LSPHandler.java b/app/src/main/java/com/itsaky/androidide/lsp/handlers/LSPHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/lsp/providers/CodeActionProvider.java b/app/src/main/java/com/itsaky/androidide/lsp/providers/CodeActionProvider.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/ApkMetadata.java b/app/src/main/java/com/itsaky/androidide/models/ApkMetadata.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/DiagnosticGroup.java b/app/src/main/java/com/itsaky/androidide/models/DiagnosticGroup.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/IconTextListItem.java b/app/src/main/java/com/itsaky/androidide/models/IconTextListItem.java new file mode 100755 index 000000000..fe394aff8 --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/models/IconTextListItem.java @@ -0,0 +1,26 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.models; + +public interface IconTextListItem { + + String getText (); + + int getIconResource (); + +} diff --git a/app/src/main/java/com/itsaky/androidide/models/License.java b/app/src/main/java/com/itsaky/androidide/models/License.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/LogLine.java b/app/src/main/java/com/itsaky/androidide/models/LogLine.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/NewProjectDetails.java b/app/src/main/java/com/itsaky/androidide/models/NewProjectDetails.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/ProjectTemplate.java b/app/src/main/java/com/itsaky/androidide/models/ProjectTemplate.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/SearchResult.java b/app/src/main/java/com/itsaky/androidide/models/SearchResult.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/SuggestItem.java b/app/src/main/java/com/itsaky/androidide/models/SuggestItem.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/models/UIWidget.java b/app/src/main/java/com/itsaky/androidide/models/UIWidget.java new file mode 100755 index 000000000..ad9b1b84d --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/models/UIWidget.java @@ -0,0 +1,87 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.models; + +import androidx.annotation.DrawableRes; + +import java.util.Objects; + +/** + * Holds data about the widget item in widgets list shown in + * UI Designer screen. + * + * @author Akash Yadav + */ +public class UIWidget implements IconTextListItem { + + private final String name; + private final int icon; + + private final String clazz; + + public UIWidget(String name, @DrawableRes int icon, Class clazz) { + this.name = name; + this.icon = icon; + this.clazz = clazz.getName(); + } + + public String getName() { + return name; + } + + public int getIcon() { + return icon; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + UIWidget widget = (UIWidget) o; + return getIcon() == widget.getIcon() && getName().equals(widget.getName()) && clazz.equals(widget.clazz); + } + + @Override + public int hashCode() { + return Objects.hash(getName(), getIcon(), clazz); + } + + /** + * Get the class of this widget. + * @return The class that this widget represents + * @throws ClassNotFoundException If there is no class with this widget's class name. + * However, this will never be thrown. + */ + public Class asClass () throws ClassNotFoundException { + return getClass().getClassLoader().loadClass(this.clazz); + } + + public String getWidgetClassName () { + return this.clazz; + } + + @Override + public String getText() { + return getName(); + } + + @Override + public int getIconResource() { + return getIcon(); + } +} diff --git a/app/src/main/java/com/itsaky/androidide/models/UIWidgetGroup.java b/app/src/main/java/com/itsaky/androidide/models/UIWidgetGroup.java new file mode 100755 index 000000000..6c76fa92e --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/models/UIWidgetGroup.java @@ -0,0 +1,128 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.models; + +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * Model class for holding data about a group that will be displayed + * in Widgets list in UI Designer screen. + * + * A UIWidgetGroup contains multiple {@link UIWidget}. + * + * @author Akash Yadav + */ +public class UIWidgetGroup implements IconTextListItem { + + /** + * Name of this group. + */ + private final String name; + + /** + * Children of this group. + */ + private final List children; + + /** + * Is this group currently selected in the group list? + */ + private boolean selected; + + public UIWidgetGroup(String name) { + this.name = name; + this.selected = false; + this.children = new ArrayList<>(); + } + + /** + * Get the name of this group. + * @return The name of this group. + */ + public String getName() { + return name; + } + + /** + * Get the children of this group. + * @return The children. + */ + @NonNull + public List getChildren() { + return children; + } + + public void setSelected(boolean selected) { + this.selected = selected; + } + + public boolean isSelected() { + return selected; + } + + /** + * Add this widget to this group. Does nothing if the child is already present. + * @param child The child to add. + * @return This instance for chained method calls. + */ + public UIWidgetGroup addChild (UIWidget child) { + if (children.contains(child)) { + return this; + } + this.children.add(child); + return this; + } + + /** + * Get the child at the given index. + * @param index The index of the child. + * @return The child at the index. + * @throws IndexOutOfBoundsException If the given index is not valid. + */ + public UIWidget getChild (int index ){ + return children.get(index); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + UIWidgetGroup group = (UIWidgetGroup) o; + return isSelected() == group.isSelected() && getName().equals(group.getName()) && getChildren().equals(group.getChildren()); + } + + @Override + public int hashCode() { + return Objects.hash(getName(), getChildren(), isSelected()); + } + + @Override + public String getText() { + return getName(); + } + + @Override + public int getIconResource() { + return -1; + } +} diff --git a/app/src/main/java/com/itsaky/androidide/project/AndroidProject.java b/app/src/main/java/com/itsaky/androidide/project/AndroidProject.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/project/IDEModule.java b/app/src/main/java/com/itsaky/androidide/project/IDEModule.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/project/IDEProject.java b/app/src/main/java/com/itsaky/androidide/project/IDEProject.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/project/IDETask.java b/app/src/main/java/com/itsaky/androidide/project/IDETask.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/project/ProjectResourceFinder.java b/app/src/main/java/com/itsaky/androidide/project/ProjectResourceFinder.java old mode 100644 new mode 100755 index b522ef55b..2a018a560 --- a/app/src/main/java/com/itsaky/androidide/project/ProjectResourceFinder.java +++ b/app/src/main/java/com/itsaky/androidide/project/ProjectResourceFinder.java @@ -1,116 +1,116 @@ -/************************************************************************************ - * This file is part of AndroidIDE. - * - * AndroidIDE 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. - * - * AndroidIDE 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 AndroidIDE. If not, see . - * -**************************************************************************************/ -package com.itsaky.androidide.project; - -import com.itsaky.layoutinflater.IResourceFinder; -import java.io.File; -import java.io.FileFilter; - -public class ProjectResourceFinder implements IResourceFinder { - - private File resDir; - private File color; - private File layout; - private File values; - - private File[] drawables; - private File[] mipmaps; - - @Override - public File inflateDrawable(String name) { - for (File drawable : drawables) { - final File file = findFileWithName(drawable.listFiles(), name); - if (file != null) { - return file; - } - } - return null; - } - - @Override - public File inflateLayout(String name) { - return findFileWithName(this.layout.listFiles(), name); - } - - @Override - public String findString(String name) { - return null; - } - - @Override - public String findColor(String name) { - return null; - } - - @Override - public String[] findArray(String name) { - return null; - } - - @Override - public String findDimension(String name) { - return null; - } - - @Override - public void setInflatingFile(File file) { - setupDirectories(file.getParentFile().getParentFile()); - } - - private void setupDirectories (File resDir) { - this.resDir = resDir; - this.color = new File (resDir, "color"); - this.layout = new File (resDir, "layout"); - this.values = new File (resDir, "values"); - - final File[] drawables = resDir.listFiles(new NameStartsWith ("drawable")); - this.drawables = drawables == null ? new File [0] : drawables; - - final File[] mipmaps = resDir.listFiles(new NameStartsWith ("mipmap")); - this.mipmaps = mipmaps == null ? new File [0] : mipmaps; - } - - private File findFileWithName (File[] files, String name) { - for (File file : files) { - String simpleName = file.getName(); - if (simpleName.contains(".")) { - simpleName = simpleName.substring(simpleName.lastIndexOf(".") + 1); - } - - if (simpleName.equals(name)) { - return file; - } - } - - return null; - } - - private class NameStartsWith implements FileFilter { - - private final String name; - - public NameStartsWith(String name) { - this.name = name; - } - - @Override - public boolean accept(File file) { - return file.getName().startsWith(name); - } - }; -} +/************************************************************************************ + * This file is part of AndroidIDE. + * + * AndroidIDE 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. + * + * AndroidIDE 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 AndroidIDE. If not, see . + * +**************************************************************************************/ +package com.itsaky.androidide.project; + +import com.itsaky.layoutinflater.IResourceFinder; +import java.io.File; +import java.io.FileFilter; + +public class ProjectResourceFinder implements IResourceFinder { + + private File resDir; + private File color; + private File layout; + private File values; + + private File[] drawables; + private File[] mipmaps; + + @Override + public File inflateDrawable(String name) { + for (File drawable : drawables) { + final File file = findFileWithName(drawable.listFiles(), name); + if (file != null) { + return file; + } + } + return null; + } + + @Override + public File inflateLayout(String name) { + return findFileWithName(this.layout.listFiles(), name); + } + + @Override + public String findString(String name) { + return null; + } + + @Override + public String findColor(String name) { + return null; + } + + @Override + public String[] findArray(String name) { + return null; + } + + @Override + public String findDimension(String name) { + return null; + } + + @Override + public void setInflatingFile(File file) { + setupDirectories(file.getParentFile().getParentFile()); + } + + private void setupDirectories (File resDir) { + this.resDir = resDir; + this.color = new File (resDir, "color"); + this.layout = new File (resDir, "layout"); + this.values = new File (resDir, "values"); + + final File[] drawables = resDir.listFiles(new NameStartsWith ("drawable")); + this.drawables = drawables == null ? new File [0] : drawables; + + final File[] mipmaps = resDir.listFiles(new NameStartsWith ("mipmap")); + this.mipmaps = mipmaps == null ? new File [0] : mipmaps; + } + + private File findFileWithName (File[] files, String name) { + for (File file : files) { + String simpleName = file.getName(); + if (simpleName.contains(".")) { + simpleName = simpleName.substring(simpleName.lastIndexOf(".") + 1); + } + + if (simpleName.equals(name)) { + return file; + } + } + + return null; + } + + private class NameStartsWith implements FileFilter { + + private final String name; + + public NameStartsWith(String name) { + this.name = name; + } + + @Override + public boolean accept(File file) { + return file.getName().startsWith(name); + } + }; +} diff --git a/app/src/main/java/com/itsaky/androidide/services/Jar2DexService.java b/app/src/main/java/com/itsaky/androidide/services/Jar2DexService.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/services/LogReceiver.java b/app/src/main/java/com/itsaky/androidide/services/LogReceiver.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/services/MessagingService.java b/app/src/main/java/com/itsaky/androidide/services/MessagingService.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/services/builder/BuildListener.java b/app/src/main/java/com/itsaky/androidide/services/builder/BuildListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/services/builder/IDEService.java b/app/src/main/java/com/itsaky/androidide/services/builder/IDEService.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/services/builder/MainThreadBuildListener.java b/app/src/main/java/com/itsaky/androidide/services/builder/MainThreadBuildListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/colorschemes/SchemeAndroidIDE.java b/app/src/main/java/com/itsaky/androidide/syntax/colorschemes/SchemeAndroidIDE.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/colorschemes/SchemeWombat.java b/app/src/main/java/com/itsaky/androidide/syntax/colorschemes/SchemeWombat.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/DefaultLexer.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/DefaultLexer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/Lexer.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/Lexer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/highlighters/Highlighter.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/highlighters/Highlighter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/highlighters/JavaHighlighter.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/highlighters/JavaHighlighter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/BaseJavaLexer.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/BaseJavaLexer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/groovy/GroovyLexerImpl.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/groovy/GroovyLexerImpl.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/java/HighlightRangeHelper.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/java/HighlightRangeHelper.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/java/JavaLexerImpl.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/impls/java/JavaLexerImpl.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/tokens/Token.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/tokens/Token.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/syntax/lexer/tokens/TokenType.java b/app/src/main/java/com/itsaky/androidide/syntax/lexer/tokens/TokenType.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/BaseGradleTask.java b/app/src/main/java/com/itsaky/androidide/tasks/BaseGradleTask.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/GradleTask.java b/app/src/main/java/com/itsaky/androidide/tasks/GradleTask.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java b/app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/callables/FileTreeCallable.java b/app/src/main/java/com/itsaky/androidide/tasks/callables/FileTreeCallable.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/callables/LicenseReader.java b/app/src/main/java/com/itsaky/androidide/tasks/callables/LicenseReader.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/callables/ListDirectoryCallable.java b/app/src/main/java/com/itsaky/androidide/tasks/callables/ListDirectoryCallable.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/callables/ProjectCreatorCallable.java b/app/src/main/java/com/itsaky/androidide/tasks/callables/ProjectCreatorCallable.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/callables/ReadFileTask.java b/app/src/main/java/com/itsaky/androidide/tasks/callables/ReadFileTask.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/callables/UnzipCallable.java b/app/src/main/java/com/itsaky/androidide/tasks/callables/UnzipCallable.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/BaseGradleTasks.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/BaseGradleTasks.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/AssembleDebug.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/AssembleDebug.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/AssembleRelease.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/AssembleRelease.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Build.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Build.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Bundle.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Bundle.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Clean.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/Clean.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/CleanBuild.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/build/CleanBuild.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/Lint.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/Lint.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/LintDebug.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/LintDebug.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/LintRelease.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/lint/LintRelease.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/plugin/InitializeIDEProject.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/plugin/InitializeIDEProject.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/DatabindingGenBaseClassesDebug.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/DatabindingGenBaseClassesDebug.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/ProcessDebugResources.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/ProcessDebugResources.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/UpdateResourceClassesTask.java b/app/src/main/java/com/itsaky/androidide/tasks/gradle/resources/UpdateResourceClassesTask.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/ClassBuilder.java b/app/src/main/java/com/itsaky/androidide/utils/ClassBuilder.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/JSONUtility.java b/app/src/main/java/com/itsaky/androidide/utils/JSONUtility.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/LSPUtils.java b/app/src/main/java/com/itsaky/androidide/utils/LSPUtils.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/ProjectFinder.java b/app/src/main/java/com/itsaky/androidide/utils/ProjectFinder.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java b/app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/RecursiveFileSearcher.java b/app/src/main/java/com/itsaky/androidide/utils/RecursiveFileSearcher.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/RuntimeTypeAdapterFactory.java b/app/src/main/java/com/itsaky/androidide/utils/RuntimeTypeAdapterFactory.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/Symbols.java b/app/src/main/java/com/itsaky/androidide/utils/Symbols.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/utils/TransformUtils.java b/app/src/main/java/com/itsaky/androidide/utils/TransformUtils.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/Editor.java b/app/src/main/java/com/itsaky/androidide/views/Editor.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/EmptyView.java b/app/src/main/java/com/itsaky/androidide/views/EmptyView.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/MaterialBanner.java b/app/src/main/java/com/itsaky/androidide/views/MaterialBanner.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/NonSwipableViewPager.java b/app/src/main/java/com/itsaky/androidide/views/NonSwipableViewPager.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/SymbolInputView.java b/app/src/main/java/com/itsaky/androidide/views/SymbolInputView.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/TooltipLayout.java b/app/src/main/java/com/itsaky/androidide/views/TooltipLayout.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/VerticalViewPager.java b/app/src/main/java/com/itsaky/androidide/views/VerticalViewPager.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/transition/ArcMotionPlus.java b/app/src/main/java/com/itsaky/androidide/views/transition/ArcMotionPlus.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/transition/CubicBezierArc.java b/app/src/main/java/com/itsaky/androidide/views/transition/CubicBezierArc.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/itsaky/androidide/views/transition/ProgressTransition.java b/app/src/main/java/com/itsaky/androidide/views/transition/ProgressTransition.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/annotations/Experimental.java b/app/src/main/java/io/github/rosemoe/editor/annotations/Experimental.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/interfaces/AutoCompleteProvider.java b/app/src/main/java/io/github/rosemoe/editor/interfaces/AutoCompleteProvider.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/interfaces/CodeAnalyzer.java b/app/src/main/java/io/github/rosemoe/editor/interfaces/CodeAnalyzer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/interfaces/EditorEventListener.java b/app/src/main/java/io/github/rosemoe/editor/interfaces/EditorEventListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/interfaces/EditorLanguage.java b/app/src/main/java/io/github/rosemoe/editor/interfaces/EditorLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/interfaces/NewlineHandler.java b/app/src/main/java/io/github/rosemoe/editor/interfaces/NewlineHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/langs/AbstractCodeAnalyzer.java b/app/src/main/java/io/github/rosemoe/editor/langs/AbstractCodeAnalyzer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/langs/AbstractEditorLanguage.java b/app/src/main/java/io/github/rosemoe/editor/langs/AbstractEditorLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/langs/EmptyLanguage.java b/app/src/main/java/io/github/rosemoe/editor/langs/EmptyLanguage.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/struct/BlockLine.java b/app/src/main/java/io/github/rosemoe/editor/struct/BlockLine.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/struct/NavigationItem.java b/app/src/main/java/io/github/rosemoe/editor/struct/NavigationItem.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/struct/Span.java b/app/src/main/java/io/github/rosemoe/editor/struct/Span.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/CachedIndexer.java b/app/src/main/java/io/github/rosemoe/editor/text/CachedIndexer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/CharPosition.java b/app/src/main/java/io/github/rosemoe/editor/text/CharPosition.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/Content.java b/app/src/main/java/io/github/rosemoe/editor/text/Content.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/ContentLine.java b/app/src/main/java/io/github/rosemoe/editor/text/ContentLine.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/ContentListener.java b/app/src/main/java/io/github/rosemoe/editor/text/ContentListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/Cursor.java b/app/src/main/java/io/github/rosemoe/editor/text/Cursor.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/FontCache.java b/app/src/main/java/io/github/rosemoe/editor/text/FontCache.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/FormatThread.java b/app/src/main/java/io/github/rosemoe/editor/text/FormatThread.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/Indexer.java b/app/src/main/java/io/github/rosemoe/editor/text/Indexer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/LineNumberCalculator.java b/app/src/main/java/io/github/rosemoe/editor/text/LineNumberCalculator.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/LineRemoveListener.java b/app/src/main/java/io/github/rosemoe/editor/text/LineRemoveListener.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/NoCacheIndexer.java b/app/src/main/java/io/github/rosemoe/editor/text/NoCacheIndexer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/ObjectAllocator.java b/app/src/main/java/io/github/rosemoe/editor/text/ObjectAllocator.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/SpanMapUpdater.java b/app/src/main/java/io/github/rosemoe/editor/text/SpanMapUpdater.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/SpanRecycler.java b/app/src/main/java/io/github/rosemoe/editor/text/SpanRecycler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/TextAnalyzeResult.java b/app/src/main/java/io/github/rosemoe/editor/text/TextAnalyzeResult.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/TextAnalyzer.java b/app/src/main/java/io/github/rosemoe/editor/text/TextAnalyzer.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/TextUtils.java b/app/src/main/java/io/github/rosemoe/editor/text/TextUtils.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/text/UndoManager.java b/app/src/main/java/io/github/rosemoe/editor/text/UndoManager.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/util/BinaryHeap.java b/app/src/main/java/io/github/rosemoe/editor/util/BinaryHeap.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/util/IntPair.java b/app/src/main/java/io/github/rosemoe/editor/util/IntPair.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/util/LongArrayList.java b/app/src/main/java/io/github/rosemoe/editor/util/LongArrayList.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/util/Objects.java b/app/src/main/java/io/github/rosemoe/editor/util/Objects.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/AbstractLayout.java b/app/src/main/java/io/github/rosemoe/editor/widget/AbstractLayout.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java b/app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/CursorBlink.java b/app/src/main/java/io/github/rosemoe/editor/widget/CursorBlink.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/DefaultCompletionItemAdapter.java b/app/src/main/java/io/github/rosemoe/editor/widget/DefaultCompletionItemAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorAutoCompleteWindow.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorAutoCompleteWindow.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorBasePopupWindow.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorBasePopupWindow.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorColorScheme.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorColorScheme.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorCompletionAdapter.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorCompletionAdapter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorInputConnection.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorInputConnection.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorSearcher.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorSearcher.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorTextActionModeStarter.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorTextActionModeStarter.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorTextActionWindow.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorTextActionWindow.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/EditorTouchEventHandler.java b/app/src/main/java/io/github/rosemoe/editor/widget/EditorTouchEventHandler.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/KeyMetaStates.java b/app/src/main/java/io/github/rosemoe/editor/widget/KeyMetaStates.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/Layout.java b/app/src/main/java/io/github/rosemoe/editor/widget/Layout.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/LineBreakLayout.java b/app/src/main/java/io/github/rosemoe/editor/widget/LineBreakLayout.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/MaterialEdgeEffect.java b/app/src/main/java/io/github/rosemoe/editor/widget/MaterialEdgeEffect.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/Row.java b/app/src/main/java/io/github/rosemoe/editor/widget/Row.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/RowIterator.java b/app/src/main/java/io/github/rosemoe/editor/widget/RowIterator.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/SymbolChannel.java b/app/src/main/java/io/github/rosemoe/editor/widget/SymbolChannel.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/SymbolPairMatch.java b/app/src/main/java/io/github/rosemoe/editor/widget/SymbolPairMatch.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/TextActionPopupWindow.java b/app/src/main/java/io/github/rosemoe/editor/widget/TextActionPopupWindow.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/TextComposeBasePopup.java b/app/src/main/java/io/github/rosemoe/editor/widget/TextComposeBasePopup.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/WordwrapLayout.java b/app/src/main/java/io/github/rosemoe/editor/widget/WordwrapLayout.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeDarcula.java b/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeDarcula.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeEclipse.java b/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeEclipse.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeGitHub.java b/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeGitHub.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeNotepadXX.java b/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeNotepadXX.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeVS2019.java b/app/src/main/java/io/github/rosemoe/editor/widget/schemes/SchemeVS2019.java old mode 100644 new mode 100755 diff --git a/app/src/main/res/anim/popup_in.xml b/app/src/main/res/anim/popup_in.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/anim/popup_out.xml b/app/src/main/res/anim/popup_out.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/animator/dialog_in.xml b/app/src/main/res/animator/dialog_in.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/animator/dialog_out.xml b/app/src/main/res/animator/dialog_out.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/color/widget_group_background.xml b/app/src/main/res/color/widget_group_background.xml new file mode 100755 index 000000000..3b5f110ec --- /dev/null +++ b/app/src/main/res/color/widget_group_background.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/ic_launcher_background.png b/app/src/main/res/drawable-hdpi/ic_launcher_background.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_launcher_background.png b/app/src/main/res/drawable-mdpi/ic_launcher_background.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/ic_widget_progress.xml b/app/src/main/res/drawable-mdpi/ic_widget_progress.xml new file mode 100755 index 000000000..3062e2fce --- /dev/null +++ b/app/src/main/res/drawable-mdpi/ic_widget_progress.xml @@ -0,0 +1,38 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher_background.png b/app/src/main/res/drawable-xhdpi/ic_launcher_background.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png b/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxxhdpi/template_basic.png b/app/src/main/res/drawable-xxxhdpi/template_basic.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxxhdpi/template_empty.png b/app/src/main/res/drawable-xxxhdpi/template_empty.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxxhdpi/template_kotlin.png b/app/src/main/res/drawable-xxxhdpi/template_kotlin.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxxhdpi/template_navigation_drawer.jpg b/app/src/main/res/drawable-xxxhdpi/template_navigation_drawer.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_ripple.xml b/app/src/main/res/drawable/bg_ripple.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_ripple_disabled.xml b/app/src/main/res/drawable/bg_ripple_disabled.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_ripple_pressed.xml b/app/src/main/res/drawable/bg_ripple_pressed.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_shadow.xml b/app/src/main/res/drawable/bg_shadow.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_widget_group_selected.xml b/app/src/main/res/drawable/bg_widget_group_selected.xml new file mode 100755 index 000000000..af4d526c9 --- /dev/null +++ b/app/src/main/res/drawable/bg_widget_group_selected.xml @@ -0,0 +1,32 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_add.xml b/app/src/main/res/drawable/ic_add.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_android.xml b/app/src/main/res/drawable/ic_android.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_bash_commands.xml b/app/src/main/res/drawable/ic_bash_commands.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_bug.xml b/app/src/main/res/drawable/ic_bug.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_build_output.xml b/app/src/main/res/drawable/ic_build_output.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_bundle.xml b/app/src/main/res/drawable/ic_bundle.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_chevron_down.xml b/app/src/main/res/drawable/ic_chevron_down.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_chevron_left.xml b/app/src/main/res/drawable/ic_chevron_left.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_chevron_right.xml b/app/src/main/res/drawable/ic_chevron_right.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_clean.xml b/app/src/main/res/drawable/ic_clean.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_clear.xml b/app/src/main/res/drawable/ic_clear.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_close.xml b/app/src/main/res/drawable/ic_close.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_close_all.xml b/app/src/main/res/drawable/ic_close_all.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_close_others.xml b/app/src/main/res/drawable/ic_close_others.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_close_this.xml b/app/src/main/res/drawable/ic_close_this.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_code.xml b/app/src/main/res/drawable/ic_code.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_comment_line.xml b/app/src/main/res/drawable/ic_comment_line.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_compilation_error.xml b/app/src/main/res/drawable/ic_compilation_error.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_diagnostics.xml b/app/src/main/res/drawable/ic_diagnostics.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_drawing.xml b/app/src/main/res/drawable/ic_drawing.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_email.xml b/app/src/main/res/drawable/ic_email.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_file_copy_path.xml b/app/src/main/res/drawable/ic_file_copy_path.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_file_delete.xml b/app/src/main/res/drawable/ic_file_delete.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_file_rename.xml b/app/src/main/res/drawable/ic_file_rename.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_file_unknown.xml b/app/src/main/res/drawable/ic_file_unknown.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_filetype_activity.xml b/app/src/main/res/drawable/ic_filetype_activity.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_filetype_enum.xml b/app/src/main/res/drawable/ic_filetype_enum.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_filetype_interface.xml b/app/src/main/res/drawable/ic_filetype_interface.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_filter.xml b/app/src/main/res/drawable/ic_filter.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_find_references.xml b/app/src/main/res/drawable/ic_find_references.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_goto_definition.xml b/app/src/main/res/drawable/ic_goto_definition.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_help.xml b/app/src/main/res/drawable/ic_help.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_hexadecimal.xml b/app/src/main/res/drawable/ic_hexadecimal.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_info.xml b/app/src/main/res/drawable/ic_info.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_install.xml b/app/src/main/res/drawable/ic_install.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_language_gradle.xml b/app/src/main/res/drawable/ic_language_gradle.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_language_java.xml b/app/src/main/res/drawable/ic_language_java.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_language_json.xml b/app/src/main/res/drawable/ic_language_json.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_language_kotlin.xml b/app/src/main/res/drawable/ic_language_kotlin.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_language_xml.xml b/app/src/main/res/drawable/ic_language_xml.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_lint.xml b/app/src/main/res/drawable/ic_lint.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_log.xml b/app/src/main/res/drawable/ic_log.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_min_sdk.xml b/app/src/main/res/drawable/ic_min_sdk.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_more_vert_black_20dp.xml b/app/src/main/res/drawable/ic_more_vert_black_20dp.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_new_file.xml b/app/src/main/res/drawable/ic_new_file.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_new_folder.xml b/app/src/main/res/drawable/ic_new_folder.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_open_project.xml b/app/src/main/res/drawable/ic_open_project.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_package.xml b/app/src/main/res/drawable/ic_package.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_preview_layout.xml b/app/src/main/res/drawable/ic_preview_layout.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_rebuild.xml b/app/src/main/res/drawable/ic_rebuild.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_redo.xml b/app/src/main/res/drawable/ic_redo.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_replace.xml b/app/src/main/res/drawable/ic_replace.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_run.xml b/app/src/main/res/drawable/ic_run.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_run_debug.xml b/app/src/main/res/drawable/ic_run_debug.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_run_outline.xml b/app/src/main/res/drawable/ic_run_outline.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_run_release.xml b/app/src/main/res/drawable/ic_run_release.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_save.xml b/app/src/main/res/drawable/ic_save.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_search_file.xml b/app/src/main/res/drawable/ic_search_file.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_search_last.xml b/app/src/main/res/drawable/ic_search_last.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_search_next.xml b/app/src/main/res/drawable/ic_search_next.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_search_project.xml b/app/src/main/res/drawable/ic_search_project.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_search_replace.xml b/app/src/main/res/drawable/ic_search_replace.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_stop_daemons.xml b/app/src/main/res/drawable/ic_stop_daemons.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_sync.xml b/app/src/main/res/drawable/ic_sync.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_tab.xml b/app/src/main/res/drawable/ic_tab.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_target_sdk.xml b/app/src/main/res/drawable/ic_target_sdk.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_telegram.xml b/app/src/main/res/drawable/ic_telegram.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_terminal.xml b/app/src/main/res/drawable/ic_terminal.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_text_size.xml b/app/src/main/res/drawable/ic_text_size.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_uncomment_line.xml b/app/src/main/res/drawable/ic_uncomment_line.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_undo.xml b/app/src/main/res/drawable/ic_undo.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_view.xml b/app/src/main/res/drawable/ic_view.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_website.xml b/app/src/main/res/drawable/ic_website.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_widget_button.xml b/app/src/main/res/drawable/ic_widget_button.xml new file mode 100755 index 000000000..6f92f63e4 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_button.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_checkbox.xml b/app/src/main/res/drawable/ic_widget_checkbox.xml new file mode 100755 index 000000000..298bc37e8 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_checkbox.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_checked_textview.xml b/app/src/main/res/drawable/ic_widget_checked_textview.xml new file mode 100755 index 000000000..e24b9835c --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_checked_textview.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_edittext.xml b/app/src/main/res/drawable/ic_widget_edittext.xml new file mode 100755 index 000000000..5034d67b1 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_edittext.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_widget_image.xml b/app/src/main/res/drawable/ic_widget_image.xml new file mode 100755 index 000000000..d35859dd5 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_image.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_linear.xml b/app/src/main/res/drawable/ic_widget_linear.xml new file mode 100755 index 000000000..3528e4326 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_linear.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_radio_button.xml b/app/src/main/res/drawable/ic_widget_radio_button.xml new file mode 100755 index 000000000..3937722fa --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_radio_button.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_relative.xml b/app/src/main/res/drawable/ic_widget_relative.xml new file mode 100755 index 000000000..aee41f887 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_relative.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_seekbar.xml b/app/src/main/res/drawable/ic_widget_seekbar.xml new file mode 100755 index 000000000..1b0c1cdc7 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_seekbar.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_widget_spinner.xml b/app/src/main/res/drawable/ic_widget_spinner.xml new file mode 100755 index 000000000..3dbfedba2 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_spinner.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_widget_textview.xml b/app/src/main/res/drawable/ic_widget_textview.xml new file mode 100755 index 000000000..fb98d9932 --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_textview.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/round_content_copy_20.xml b/app/src/main/res/drawable/round_content_copy_20.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/round_content_cut_20.xml b/app/src/main/res/drawable/round_content_cut_20.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/round_content_paste_20.xml b/app/src/main/res/drawable/round_content_paste_20.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/round_select_all_20.xml b/app/src/main/res/drawable/round_select_all_20.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/font/josefin_sans.ttf b/app/src/main/res/font/josefin_sans.ttf old mode 100644 new mode 100755 diff --git a/app/src/main/res/font/quicksand.ttf b/app/src/main/res/font/quicksand.ttf old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/activity_designer.xml b/app/src/main/res/layout/activity_designer.xml old mode 100644 new mode 100755 index 180925999..f4df3e218 --- a/app/src/main/res/layout/activity_designer.xml +++ b/app/src/main/res/layout/activity_designer.xml @@ -1,35 +1,99 @@ - + android:layout_height="match_parent" + android:animateLayoutChanges="true" + tools:context=".DesignerActivity" + tools:openDrawer="start"> - - - + + + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorPrimaryDark" + android:gravity="center" + app:layout_behavior="com.google.android.material.appbar.AppBarLayout$Behavior"> - + - + + + + + + + + + + - - - - + android:layout_gravity="start" + android:fitsSystemWindows="true"> + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_download.xml b/app/src/main/res/layout/activity_download.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/layout/activity_editor.xml b/app/src/main/res/layout/activity_editor.xml old mode 100644 new mode 100755 index 1290844ca..6cf523862 --- a/app/src/main/res/layout/activity_editor.xml +++ b/app/src/main/res/layout/activity_editor.xml @@ -6,7 +6,8 @@ android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/editor_drawerLayout" - android:animateLayoutChanges="true"> + android:animateLayoutChanges="true" + tools:openDrawer="start"> - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_create_project_content.xml b/app/src/main/res/layout/layout_create_project_content.xml old mode 100644 new mode 100755 index 5feffc11e..cbde071d3 --- a/app/src/main/res/layout/layout_create_project_content.xml +++ b/app/src/main/res/layout/layout_create_project_content.xml @@ -1,223 +1,223 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -