├── .github └── workflows │ └── android.yml ├── .gitignore ├── .idea ├── .gitignore ├── .name ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml ├── kotlinc.xml ├── misc.xml ├── other.xml └── vcs.xml ├── AppIcon ├── OxShellBanner.ase ├── OxShellBanner.png ├── OxShellBannerFree.png ├── OxShellBanner_old.png ├── OxShellIcon.ase ├── OxShellIcon512.ase ├── OxShellIcon512.png ├── OxShellIcon512_old.png ├── OxShellIconBack512.png ├── OxShellIconFree512.png ├── OxShellIconFront512.png ├── OxShellIcon_Back.png ├── OxShellIcon_Front.png ├── OxShellText.png ├── OxWhite512.png ├── banner_free_xhdpi (through clideo.com).png ├── banner_xhdpi (through clideo.com).png ├── icon_free_xhdpi (through clideo.com).png └── icon_xhdpi (through clideo.com).png ├── LICENSE ├── Media ├── GalaxyS23 │ ├── explorer_context.png │ ├── xmb_audio.png │ ├── xmb_explorer.png │ ├── xmb_image.png │ ├── xmb_maps.png │ ├── xmb_other.png │ ├── xmb_productivity.png │ ├── xmb_settings.png │ ├── xmb_social.png │ └── xmb_video.png ├── GalaxyTabS8 │ ├── explorer_context.png │ ├── xmb_audio.png │ ├── xmb_explorer.png │ ├── xmb_image.png │ ├── xmb_maps.png │ ├── xmb_other.png │ ├── xmb_productivity.png │ ├── xmb_settings.png │ ├── xmb_social.png │ └── xmb_video.png ├── GalaxyTabS8Plus │ ├── explorer_context.png │ ├── xmb_audio.png │ ├── xmb_explorer.png │ ├── xmb_image.png │ ├── xmb_maps.png │ ├── xmb_other.png │ ├── xmb_productivity.png │ ├── xmb_settings.png │ ├── xmb_social.png │ └── xmb_video.png └── Old │ ├── file_explorer_context_portrait.png │ ├── xmb_add_app_to_home.png │ ├── xmb_audio.png │ ├── xmb_audio_portrait.png │ ├── xmb_explorer.png │ ├── xmb_explorer_crop.png │ ├── xmb_explorer_portrait.png │ ├── xmb_games.png │ ├── xmb_games_portrait.png │ ├── xmb_other.png │ ├── xmb_productivity.png │ ├── xmb_settings.png │ ├── xmb_social.png │ ├── xmb_social_portrait.png │ ├── xmb_video.png │ └── xmb_video_portrait.png ├── Play Store Listing.txt ├── PrivacyPolicy └── README.md ├── README.md ├── Sounds ├── xmb_music │ ├── xmb_musac (by suzan).mp3 │ ├── xmb_musac (by suzan, normalized and cut).mp3 │ ├── xmb_music.mp3 │ └── xmb_music.sunvox └── xmb_shift │ ├── bass05_C3.wav │ ├── bass12_C5.wav │ ├── bd04_C6.wav │ ├── bd06_C6.wav │ ├── bd09_C6.wav │ ├── bd12_C6.wav │ ├── brokk_G5.wav │ ├── cow_G7.wav │ ├── fm_bass1_C5.wav │ ├── fm_bass_C4.wav │ ├── hihat01_d6.wav │ ├── hihat02_A7.wav │ └── xmb_shift_sounds.sunvox ├── app ├── .gitignore ├── build.gradle ├── keystores │ └── .gitkeep ├── libs │ └── gson-2.9.0.jar ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── Audio │ │ ├── cow_G7.wav │ │ ├── xmb_musac.mp3 │ │ └── xmb_music.mp3 │ ├── Fonts │ │ ├── exo.regular.otf │ │ └── src.txt │ ├── Image │ │ └── inputs │ │ │ ├── asset_gen_a.png │ │ │ ├── asset_gen_b.png │ │ │ ├── asset_gen_c.png │ │ │ ├── asset_gen_dpad_down.png │ │ │ ├── asset_gen_dpad_left.png │ │ │ ├── asset_gen_dpad_right.png │ │ │ ├── asset_gen_dpad_up.png │ │ │ ├── asset_gen_empty.png │ │ │ ├── asset_gen_l1.png │ │ │ ├── asset_gen_l2.png │ │ │ ├── asset_gen_lstick.png │ │ │ ├── asset_gen_r1.png │ │ │ ├── asset_gen_r2.png │ │ │ ├── asset_gen_rstick.png │ │ │ ├── asset_gen_select.png │ │ │ ├── asset_gen_start.png │ │ │ ├── asset_gen_x.png │ │ │ ├── asset_gen_y.png │ │ │ ├── asset_gen_z.png │ │ │ ├── asset_kb.png │ │ │ ├── asset_kb_0.png │ │ │ ├── asset_kb_1.png │ │ │ ├── asset_kb_2.png │ │ │ ├── asset_kb_3.png │ │ │ ├── asset_kb_4.png │ │ │ ├── asset_kb_5.png │ │ │ ├── asset_kb_6.png │ │ │ ├── asset_kb_7.png │ │ │ ├── asset_kb_8.png │ │ │ ├── asset_kb_9.png │ │ │ ├── asset_kb_a.png │ │ │ ├── asset_kb_alt.png │ │ │ ├── asset_kb_apostrophe.png │ │ │ ├── asset_kb_arrow_down.png │ │ │ ├── asset_kb_arrow_left.png │ │ │ ├── asset_kb_arrow_right.png │ │ │ ├── asset_kb_arrow_up.png │ │ │ ├── asset_kb_b.png │ │ │ ├── asset_kb_backspace.png │ │ │ ├── asset_kb_bslash.png │ │ │ ├── asset_kb_c.png │ │ │ ├── asset_kb_close_bracket.png │ │ │ ├── asset_kb_comma.png │ │ │ ├── asset_kb_ctrl.png │ │ │ ├── asset_kb_d.png │ │ │ ├── asset_kb_dash.png │ │ │ ├── asset_kb_del.png │ │ │ ├── asset_kb_e.png │ │ │ ├── asset_kb_empty.png │ │ │ ├── asset_kb_enter.png │ │ │ ├── asset_kb_equal.png │ │ │ ├── asset_kb_esc.png │ │ │ ├── asset_kb_f.png │ │ │ ├── asset_kb_f1.png │ │ │ ├── asset_kb_f10.png │ │ │ ├── asset_kb_f11.png │ │ │ ├── asset_kb_f12.png │ │ │ ├── asset_kb_f2.png │ │ │ ├── asset_kb_f3.png │ │ │ ├── asset_kb_f4.png │ │ │ ├── asset_kb_f5.png │ │ │ ├── asset_kb_f6.png │ │ │ ├── asset_kb_f7.png │ │ │ ├── asset_kb_f8.png │ │ │ ├── asset_kb_f9.png │ │ │ ├── asset_kb_fslash.png │ │ │ ├── asset_kb_g.png │ │ │ ├── asset_kb_grave.png │ │ │ ├── asset_kb_h.png │ │ │ ├── asset_kb_i.png │ │ │ ├── asset_kb_j.png │ │ │ ├── asset_kb_k.png │ │ │ ├── asset_kb_l.png │ │ │ ├── asset_kb_lalt.png │ │ │ ├── asset_kb_lctrl.png │ │ │ ├── asset_kb_lshift.png │ │ │ ├── asset_kb_m.png │ │ │ ├── asset_kb_n.png │ │ │ ├── asset_kb_o.png │ │ │ ├── asset_kb_open_bracket.png │ │ │ ├── asset_kb_p.png │ │ │ ├── asset_kb_period.png │ │ │ ├── asset_kb_q.png │ │ │ ├── asset_kb_r.png │ │ │ ├── asset_kb_ralt.png │ │ │ ├── asset_kb_rctrl.png │ │ │ ├── asset_kb_rshift.png │ │ │ ├── asset_kb_s.png │ │ │ ├── asset_kb_semicolon.png │ │ │ ├── asset_kb_shift.png │ │ │ ├── asset_kb_space.png │ │ │ ├── asset_kb_super.png │ │ │ ├── asset_kb_t.png │ │ │ ├── asset_kb_tab.png │ │ │ ├── asset_kb_u.png │ │ │ ├── asset_kb_v.png │ │ │ ├── asset_kb_w.png │ │ │ ├── asset_kb_x.png │ │ │ ├── asset_kb_y.png │ │ │ ├── asset_kb_z.png │ │ │ ├── asset_ps.png │ │ │ ├── asset_ps_circle.png │ │ │ ├── asset_ps_cross.png │ │ │ ├── asset_ps_dpad_down.png │ │ │ ├── asset_ps_dpad_left.png │ │ │ ├── asset_ps_dpad_right.png │ │ │ ├── asset_ps_dpad_up.png │ │ │ ├── asset_ps_home.png │ │ │ ├── asset_ps_l1.png │ │ │ ├── asset_ps_l2.png │ │ │ ├── asset_ps_lstick.png │ │ │ ├── asset_ps_lstick_down.png │ │ │ ├── asset_ps_lstick_left.png │ │ │ ├── asset_ps_lstick_right.png │ │ │ ├── asset_ps_lstick_up.png │ │ │ ├── asset_ps_options.png │ │ │ ├── asset_ps_r1.png │ │ │ ├── asset_ps_r2.png │ │ │ ├── asset_ps_rstick.png │ │ │ ├── asset_ps_rstick_down.png │ │ │ ├── asset_ps_rstick_left.png │ │ │ ├── asset_ps_rstick_right.png │ │ │ ├── asset_ps_rstick_up.png │ │ │ ├── asset_ps_share.png │ │ │ ├── asset_ps_square.png │ │ │ ├── asset_ps_triangle.png │ │ │ ├── asset_switch.png │ │ │ ├── asset_switch_a.png │ │ │ ├── asset_switch_b.png │ │ │ ├── asset_switch_dpad_down.png │ │ │ ├── asset_switch_dpad_left.png │ │ │ ├── asset_switch_dpad_right.png │ │ │ ├── asset_switch_dpad_up.png │ │ │ ├── asset_switch_home.png │ │ │ ├── asset_switch_l.png │ │ │ ├── asset_switch_lstick.png │ │ │ ├── asset_switch_lstick_down.png │ │ │ ├── asset_switch_lstick_left.png │ │ │ ├── asset_switch_lstick_right.png │ │ │ ├── asset_switch_lstick_up.png │ │ │ ├── asset_switch_minus.png │ │ │ ├── asset_switch_plus.png │ │ │ ├── asset_switch_r.png │ │ │ ├── asset_switch_rstick.png │ │ │ ├── asset_switch_rstick_down.png │ │ │ ├── asset_switch_rstick_left.png │ │ │ ├── asset_switch_rstick_right.png │ │ │ ├── asset_switch_rstick_up.png │ │ │ ├── asset_switch_screenshot.png │ │ │ ├── asset_switch_x.png │ │ │ ├── asset_switch_y.png │ │ │ ├── asset_switch_zl.png │ │ │ ├── asset_switch_zr.png │ │ │ ├── asset_touch_down_hold.png │ │ │ ├── asset_touch_drag_down.png │ │ │ ├── asset_touch_drag_left.png │ │ │ ├── asset_touch_drag_right.png │ │ │ ├── asset_touch_drag_up.png │ │ │ ├── asset_touch_up.png │ │ │ ├── asset_xbox.png │ │ │ ├── asset_xbox_a.png │ │ │ ├── asset_xbox_b.png │ │ │ ├── asset_xbox_dpad_down.png │ │ │ ├── asset_xbox_dpad_left.png │ │ │ ├── asset_xbox_dpad_right.png │ │ │ ├── asset_xbox_dpad_up.png │ │ │ ├── asset_xbox_home.png │ │ │ ├── asset_xbox_lb.png │ │ │ ├── asset_xbox_lstick.png │ │ │ ├── asset_xbox_lstick_down.png │ │ │ ├── asset_xbox_lstick_left.png │ │ │ ├── asset_xbox_lstick_right.png │ │ │ ├── asset_xbox_lstick_up.png │ │ │ ├── asset_xbox_lt.png │ │ │ ├── asset_xbox_menu.png │ │ │ ├── asset_xbox_rb.png │ │ │ ├── asset_xbox_rstick.png │ │ │ ├── asset_xbox_rstick_down.png │ │ │ ├── asset_xbox_rstick_left.png │ │ │ ├── asset_xbox_rstick_right.png │ │ │ ├── asset_xbox_rstick_up.png │ │ │ ├── asset_xbox_rt.png │ │ │ ├── asset_xbox_view.png │ │ │ ├── asset_xbox_x.png │ │ │ ├── asset_xbox_y.png │ │ │ └── src.txt │ └── Shaders │ │ ├── blue_dune.fsh │ │ ├── channel0.png │ │ ├── channel1.png │ │ ├── channel2.png │ │ ├── channel3.png │ │ ├── fallback.fsh │ │ ├── other_dune.fsh │ │ ├── planet.fsh │ │ ├── smooth_cheese.fsh │ │ └── vert.vsh │ ├── ic_launcher-playstore.png │ ├── java │ └── com │ │ └── OxGames │ │ └── OxShell │ │ ├── AccessService.java │ │ ├── Adapters │ │ ├── DetailAdapter.java │ │ ├── DynamicInputAdapter.java │ │ ├── GridAdapter.java │ │ ├── InputRowAdapter.java │ │ └── XMBAdapter.java │ │ ├── Data │ │ ├── DataLocation.java │ │ ├── DataRef.java │ │ ├── DetailItem.java │ │ ├── DynamicInputRow.java │ │ ├── Executable.java │ │ ├── FontRef.java │ │ ├── GridItem.java │ │ ├── HomeItem.java │ │ ├── ImageRef.java │ │ ├── InputType.java │ │ ├── IntentFlags.java │ │ ├── IntentLaunchData.java │ │ ├── IntentPutExtra.java │ │ ├── KeyCombo.java │ │ ├── KeyComboAction.java │ │ ├── Metadata.java │ │ ├── PackagesCache.java │ │ ├── Paths.java │ │ ├── ResImage.java │ │ ├── SettingsKeeper.java │ │ ├── ShortcutsCache.java │ │ └── XMBItem.java │ │ ├── ExplorerActivity.java │ │ ├── FileChooserActivity.java │ │ ├── Helpers │ │ ├── AndroidHelpers.java │ │ ├── AudioPool.java │ │ ├── ExplorerBehaviour.java │ │ ├── InputHandler.java │ │ ├── LogcatHelper.java │ │ ├── MathHelpers.java │ │ ├── MediaPlayer.java │ │ ├── Serialaver.java │ │ ├── ShellCommander.java │ │ └── SlideTouchHandler.java │ │ ├── HomeActivity.java │ │ ├── Interfaces │ │ ├── AdapterListener.java │ │ ├── CustomViewListener.java │ │ ├── DirsCarrier.java │ │ ├── DirsViewListener.java │ │ ├── DynamicInputListener.java │ │ ├── InputReceiver.java │ │ ├── PkgAppsListener.java │ │ ├── QuadConsumer.java │ │ ├── Refreshable.java │ │ ├── SlideTouchListener.java │ │ ├── TriConsumer.java │ │ └── XMBAdapterListener.java │ │ ├── MediaPlayerActivity.java │ │ ├── OxShellApp.java │ │ ├── PagedActivity.java │ │ ├── Views │ │ ├── BetterTextView.java │ │ ├── DebugView.java │ │ ├── DynamicInputItemView.java │ │ ├── DynamicInputRowView.java │ │ ├── DynamicInputView.java │ │ ├── ExplorerView.java │ │ ├── HomeView.java │ │ ├── MediaPlayerView.java │ │ ├── NonConsumableRecyclerView.java │ │ ├── PromptView.java │ │ ├── SettingsDrawer.java │ │ ├── SlideTouchListView.java │ │ ├── TooltipBar.java │ │ └── XMBView.java │ │ └── Wallpaper │ │ ├── GLRenderer.java │ │ ├── GLWallpaperService.java │ │ └── Shader.java │ └── res │ ├── drawable │ ├── banner_free_xhdpi.png │ ├── banner_xhdpi.png │ ├── baseline_adb_24.xml │ ├── baseline_arrow_back_24.xml │ ├── baseline_arrow_drop_down_24.xml │ ├── baseline_close_24.xml │ ├── baseline_fast_forward_24.xml │ ├── baseline_fast_rewind_24.xml │ ├── baseline_fullscreen_24.xml │ ├── baseline_hourglass_empty_24.xml │ ├── baseline_info_24.xml │ ├── baseline_library_music_24.xml │ ├── baseline_pause_24.xml │ ├── baseline_person_24.xml │ ├── baseline_play_arrow_24.xml │ ├── baseline_skip_next_24.xml │ ├── baseline_skip_previous_24.xml │ ├── baseline_video_library_24.xml │ ├── fading_left_edge.xml │ ├── fading_right_edge.xml │ ├── ic_baseline_accessibility_24.xml │ ├── ic_baseline_add_circle_outline_24.xml │ ├── ic_baseline_audio_file_24.xml │ ├── ic_baseline_auto_awesome_24.xml │ ├── ic_baseline_block_24.xml │ ├── ic_baseline_cancel_24.xml │ ├── ic_baseline_check_24.xml │ ├── ic_baseline_construction_24.xml │ ├── ic_baseline_folder_24.xml │ ├── ic_baseline_forum_24.xml │ ├── ic_baseline_games_24.xml │ ├── ic_baseline_headphones_24.xml │ ├── ic_baseline_hide_image_24.xml │ ├── ic_baseline_home_24.xml │ ├── ic_baseline_image_24.xml │ ├── ic_baseline_map_24.xml │ ├── ic_baseline_movie_24.xml │ ├── ic_baseline_newspaper_24.xml │ ├── ic_baseline_photo_camera_24.xml │ ├── ic_baseline_question_mark_24.xml │ ├── ic_baseline_send_time_extension_24.xml │ ├── ic_baseline_settings_24.xml │ ├── ic_baseline_source_24.xml │ ├── ic_baseline_video_file_24.xml │ ├── ic_baseline_view_list_24.xml │ ├── ic_baseline_work_24.xml │ ├── icon_free_xhdpi.png │ ├── icon_xhdpi.png │ ├── ox_white.png │ ├── rounded_outline_shape.xml │ ├── rounded_shape.xml │ └── rounded_spinner.xml │ ├── layout │ ├── activity_chooser.xml │ ├── activity_explorer.xml │ ├── activity_home.xml │ ├── detail_row.xml │ ├── home_context_menu.xml │ ├── xmb_cat.xml │ ├── xmb_inner_item.xml │ └── xmb_item.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ ├── ic_launcher_background.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ ├── ic_launcher_background.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ ├── ic_launcher_background.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_background.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_background.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── values-night │ ├── styles.xml │ └── themes.xml │ ├── values │ ├── attrs.xml │ ├── attrs_explorer_view.xml │ ├── colors.xml │ ├── strings.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ ├── accessibility_service_config.xml │ ├── ox_paper.xml │ └── provider_paths.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.github/workflows/android.yml: -------------------------------------------------------------------------------- 1 | name: Android CI 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v3 16 | - name: set up JDK 17 17 | uses: actions/setup-java@v3 18 | with: 19 | java-version: '17' 20 | distribution: 'temurin' 21 | cache: gradle 22 | 23 | - name: Grant execute permission for gradlew 24 | run: chmod +x gradlew 25 | - name: Build with Gradle 26 | run: ./gradlew assembleDebug 27 | 28 | - name: Create publish bundle 29 | run: mkdir -p build/gh-app-publish/; find app/build/ -iname "*.apk" -exec mv "{}" build/gh-app-publish/ \; 30 | - name: Upload artifacts 31 | uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 32 | with: 33 | name: build-artifacts 34 | retention-days: 14 35 | if-no-files-found: error 36 | path: build/gh-app-publish/ 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | 17 | #Added due to its constant change and non-portable nature 18 | /.idea/deploymentTargetDropDown.xml 19 | 20 | #Private keystore data 21 | /app/keystores 22 | !/app/keystores/.gitkeep 23 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | OxShell -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 116 | 117 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | 29 | 30 | 34 | 35 | 39 | 40 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | -------------------------------------------------------------------------------- /.idea/other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AppIcon/OxShellBanner.ase: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellBanner.ase -------------------------------------------------------------------------------- /AppIcon/OxShellBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellBanner.png -------------------------------------------------------------------------------- /AppIcon/OxShellBannerFree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellBannerFree.png -------------------------------------------------------------------------------- /AppIcon/OxShellBanner_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellBanner_old.png -------------------------------------------------------------------------------- /AppIcon/OxShellIcon.ase: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIcon.ase -------------------------------------------------------------------------------- /AppIcon/OxShellIcon512.ase: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIcon512.ase -------------------------------------------------------------------------------- /AppIcon/OxShellIcon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIcon512.png -------------------------------------------------------------------------------- /AppIcon/OxShellIcon512_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIcon512_old.png -------------------------------------------------------------------------------- /AppIcon/OxShellIconBack512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIconBack512.png -------------------------------------------------------------------------------- /AppIcon/OxShellIconFree512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIconFree512.png -------------------------------------------------------------------------------- /AppIcon/OxShellIconFront512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIconFront512.png -------------------------------------------------------------------------------- /AppIcon/OxShellIcon_Back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIcon_Back.png -------------------------------------------------------------------------------- /AppIcon/OxShellIcon_Front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellIcon_Front.png -------------------------------------------------------------------------------- /AppIcon/OxShellText.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxShellText.png -------------------------------------------------------------------------------- /AppIcon/OxWhite512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/OxWhite512.png -------------------------------------------------------------------------------- /AppIcon/banner_free_xhdpi (through clideo.com).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/banner_free_xhdpi (through clideo.com).png -------------------------------------------------------------------------------- /AppIcon/banner_xhdpi (through clideo.com).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/banner_xhdpi (through clideo.com).png -------------------------------------------------------------------------------- /AppIcon/icon_free_xhdpi (through clideo.com).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/icon_free_xhdpi (through clideo.com).png -------------------------------------------------------------------------------- /AppIcon/icon_xhdpi (through clideo.com).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/AppIcon/icon_xhdpi (through clideo.com).png -------------------------------------------------------------------------------- /Media/GalaxyS23/explorer_context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/explorer_context.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_audio.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_explorer.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_image.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_maps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_maps.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_other.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_productivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_productivity.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_settings.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_social.png -------------------------------------------------------------------------------- /Media/GalaxyS23/xmb_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyS23/xmb_video.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/explorer_context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/explorer_context.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_audio.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_explorer.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_image.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_maps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_maps.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_other.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_productivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_productivity.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_settings.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_social.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8/xmb_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8/xmb_video.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/explorer_context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/explorer_context.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_audio.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_explorer.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_image.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_maps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_maps.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_other.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_productivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_productivity.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_settings.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_social.png -------------------------------------------------------------------------------- /Media/GalaxyTabS8Plus/xmb_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/GalaxyTabS8Plus/xmb_video.png -------------------------------------------------------------------------------- /Media/Old/file_explorer_context_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/file_explorer_context_portrait.png -------------------------------------------------------------------------------- /Media/Old/xmb_add_app_to_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_add_app_to_home.png -------------------------------------------------------------------------------- /Media/Old/xmb_audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_audio.png -------------------------------------------------------------------------------- /Media/Old/xmb_audio_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_audio_portrait.png -------------------------------------------------------------------------------- /Media/Old/xmb_explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_explorer.png -------------------------------------------------------------------------------- /Media/Old/xmb_explorer_crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_explorer_crop.png -------------------------------------------------------------------------------- /Media/Old/xmb_explorer_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_explorer_portrait.png -------------------------------------------------------------------------------- /Media/Old/xmb_games.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_games.png -------------------------------------------------------------------------------- /Media/Old/xmb_games_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_games_portrait.png -------------------------------------------------------------------------------- /Media/Old/xmb_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_other.png -------------------------------------------------------------------------------- /Media/Old/xmb_productivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_productivity.png -------------------------------------------------------------------------------- /Media/Old/xmb_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_settings.png -------------------------------------------------------------------------------- /Media/Old/xmb_social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_social.png -------------------------------------------------------------------------------- /Media/Old/xmb_social_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_social_portrait.png -------------------------------------------------------------------------------- /Media/Old/xmb_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_video.png -------------------------------------------------------------------------------- /Media/Old/xmb_video_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Media/Old/xmb_video_portrait.png -------------------------------------------------------------------------------- /Play Store Listing.txt: -------------------------------------------------------------------------------- 1 | Introducing Ox Shell for Android, a sleek and intuitive home screen experience inspired by the iconic look of a classic video game system. With Ox Shell, you can enjoy easy access to all your favorite apps and games, all while enjoying a visually stunning interface that's sure to impress. 2 | 3 | -- XMB -- 4 | Ox Shell features a horizontal scrolling menu that allows you to quickly navigate through your apps and games. You can easily customize your home screen with your favorite apps and emulators, and the launcher's intuitive design ensures that everything is easy to find and access. 5 | 6 | -- Gamepad Support -- 7 | One of the core features of Ox Shell is its ability to be navigated through with a gamepad. You can even open the app switcher using a gamepad (accessibility permission must be enabled for this feature). The launcher also supports intuitive touch controls. 8 | 9 | -- Live Wallpaper -- 10 | Ox Shell can be used as a live wallpaper service. It allows you to pick from a couple of built-in options or even to set up your own shaders as your device's background. On top of that Ox Shell also doubles as a file explorer. Allowing you to copy, cut, rename files, and more. 11 | 12 | -- File Browser -- 13 | Another core feature of Ox Shell is that it is also a file browser. Ox Shell helps you manage your files by giving you the ability to copy, cut, paste, rename, and delete nearly any file you'd like. You can also launch files into their respective apps if you have created an association for them. Ox Shell comes built-in with associations for images, video, and audio. The file browser also lets you easily install any apk on your device. 14 | 15 | -- Associations -- 16 | Ox Shell gives you the ability to create associations for different file types. Using these associations, you can add a list of launchables directly to your home menu. In essence this allows Ox Shell to be an emulation front end and more. 17 | 18 | -- Music Player -- 19 | The music player in Ox Shell is fully functional. Add any folder from your file system to your home menu and Ox Shell will automatically sort them by artist then album. Ox Shell supports playback controls through the notification center. On top of that, Ox Shell supports customizable shortcuts to control music playback. 20 | 21 | -- Video Player -- 22 | Similar to the music player, Ox Shell is capable of playing videos directly from your home menu. Simply add a folder from your file system to your home menu and watch your media to your heart's content. You can also play videos directly from the file browser or even from a separate app. 23 | 24 | So if you're looking for a home screen experience that's both beautiful and functional, Ox Shell is the perfect choice. With its sleek design, customizable options, and powerful performance, it's the perfect way to take your Android experience to the next level. 25 | 26 | You can build Ox Shell yourself using the github project at https://github.com/oxters168/OxShell 27 | -------------------------------------------------------------------------------- /PrivacyPolicy/README.md: -------------------------------------------------------------------------------- 1 | # Privacy Policy for Ox Shell 2 | Last Updated: Jan. 24, 2024 3 | 4 | Ox Shell is committed to protecting the privacy of its users. 5 | This Privacy Policy outlines the types of information that Ox Shell does not collect. 6 | 7 | ## Information We Do Not Collect: 8 | - Personal Information: We do not collect any personally identifiable information, such as names, addresses, phone numbers, or email addresses. 9 | - Location Information: We do not track or store your location information. 10 | - Device Information: We do not collect any information about the device you are using, including device type, operating system, or device identifiers. 11 | - Usage Data: We do not collect data on how you use the app, including interactions, preferences, or any other usage patterns. 12 | 13 | ## How We Use Information: 14 | Since we do not collect any information, we do not use any data for any purpose. 15 | 16 | ## Third-Party Services: 17 | Ox Shell does not use any third-party services or tools that may collect information about you. 18 | ## Changes to this Privacy Policy: 19 | We reserve the right to update this Privacy Policy at any time. Any changes will be effective immediately upon the posting of the revised Privacy Policy. 20 | ## Contact Us: 21 | If you have any questions or concerns about this Privacy Policy, please contact us at contact@oxgames.co. 22 | 23 | By using Ox Shell, you signify your consent to this Privacy Policy. If you do not agree to this Privacy Policy, please do not use the app. 24 | Thank you for using Ox Shell! 25 | 26 | (Generated by ChatGPT 3.5) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # About Ox Shell 2 | 3 | Ox Shell is a launcher for android. It is an attempt to recreate the feel of a classic video game system. 4 | 5 | 6 | ![xmb3](https://user-images.githubusercontent.com/15348986/221724810-ca4237f8-e889-46b8-9282-a8684b9a2c44.gif) 7 | 8 | 9 | 10 | ## Features 11 | 12 | - [x] Controller support 13 | - [x] Live wallpaper service 14 | - [x] Built in file explorer 15 | - [x] Launch roms directly into emulators that support it 16 | - [x] Create custom associations for roms and other files 17 | - [x] Install and uninstall apps 18 | - [x] Customizable home menu 19 | - [x] Customizable controls 20 | - [x] Use home/recent apps/etc through controller from anywhere 21 | - [ ] Add compression/extraction options to file explorer 22 | - [x] Show prompt before deleting files in file explorer 23 | - [ ] Show which files are in the copy/cut clipboard 24 | - [ ] Show any file operation errors 25 | - [ ] Show progress of file operations 26 | - [ ] Add ftp support to file explorer 27 | - [ ] Add start menu to file explorer that lists locations and is customizable 28 | - [ ] Add more default associations 29 | - [x] Make default generic associations (image/video/audio) 30 | - [ ] Make a chooser in the create association menu to pick a template from the defaults 31 | - [ ] Add more default shaders 32 | - [x] Add UI scale option 33 | - [x] Add text scale option 34 | - [ ] Add setting to choose typeface 35 | - [x] Optimize home menu performance 36 | - [ ] Remember where user was in the home menu when coming back 37 | - [ ] Make it possible to choose a default association for an extension if more than one exists 38 | - [ ] Make it possible to pick which association to launch a file with when multiple exist for it 39 | - [ ] Add gyro/accelerometer support to shaders 40 | - [ ] Support ability to have multiple shader files 41 | - [ ] Make it possible to set values of variables when setting shader as background if the shader has any to be set 42 | - [ ] Add ability to write a shader directly in app with the ability to preview 43 | - [x] Add a video player 44 | - [x] Add a music player 45 | - [ ] Add a photo viewer 46 | - [ ] Make it possible to set the rect of the background image chosen when user setting wallpaper to image 47 | - [ ] Add a web browser 48 | 49 | It'll likely take time for these features to reach, as I am just one developer. 50 | Please consider supporting this project by purchasing it on the store. 51 | 52 | Get it on Google Play 53 | 54 | # Build for Yourself 55 | - Clone the project or download the zip using the green code button above. 56 | - Open Android Studio and browse to the directory you cloned/downloaded to and select it. 57 | 58 |
Creating a debug variant 59 | 60 | * Make sure the build variant selected is debug 61 | * Run it! 62 |
63 |
Creating a release variant 64 | 65 | * Add your keystore file in the `app/keystores` folder 66 | * Create a `keystore.properties` file in the `app/keystores` folder with the following contents: 67 | ``` 68 | storeFile keystores/[keystore-filename] 69 | storePassword [store-password] 70 | keyAlias [key-alias] 71 | keyPassword [key-password] 72 | ``` 73 | * Set your build variant to release 74 | * Run it! 75 |
76 | -------------------------------------------------------------------------------- /Sounds/xmb_music/xmb_musac (by suzan).mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_music/xmb_musac (by suzan).mp3 -------------------------------------------------------------------------------- /Sounds/xmb_music/xmb_musac (by suzan, normalized and cut).mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_music/xmb_musac (by suzan, normalized and cut).mp3 -------------------------------------------------------------------------------- /Sounds/xmb_music/xmb_music.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_music/xmb_music.mp3 -------------------------------------------------------------------------------- /Sounds/xmb_music/xmb_music.sunvox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_music/xmb_music.sunvox -------------------------------------------------------------------------------- /Sounds/xmb_shift/bass05_C3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/bass05_C3.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/bass12_C5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/bass12_C5.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/bd04_C6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/bd04_C6.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/bd06_C6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/bd06_C6.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/bd09_C6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/bd09_C6.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/bd12_C6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/bd12_C6.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/brokk_G5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/brokk_G5.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/cow_G7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/cow_G7.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/fm_bass1_C5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/fm_bass1_C5.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/fm_bass_C4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/fm_bass_C4.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/hihat01_d6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/hihat01_d6.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/hihat02_A7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/hihat02_A7.wav -------------------------------------------------------------------------------- /Sounds/xmb_shift/xmb_shift_sounds.sunvox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/Sounds/xmb_shift/xmb_shift_sounds.sunvox -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/keystores/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/keystores/.gitkeep -------------------------------------------------------------------------------- /app/libs/gson-2.9.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/libs/gson-2.9.0.jar -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | 23 | # Did not work for minify 24 | #-dontwarn sun.reflect.** -------------------------------------------------------------------------------- /app/src/main/assets/Audio/cow_G7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Audio/cow_G7.wav -------------------------------------------------------------------------------- /app/src/main/assets/Audio/xmb_musac.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Audio/xmb_musac.mp3 -------------------------------------------------------------------------------- /app/src/main/assets/Audio/xmb_music.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Audio/xmb_music.mp3 -------------------------------------------------------------------------------- /app/src/main/assets/Fonts/exo.regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Fonts/exo.regular.otf -------------------------------------------------------------------------------- /app/src/main/assets/Fonts/src.txt: -------------------------------------------------------------------------------- 1 | https://www.1001fonts.com/exo-font.html -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_a.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_b.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_c.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_dpad_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_dpad_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_dpad_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_dpad_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_dpad_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_dpad_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_dpad_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_dpad_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_empty.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_l1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_l1.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_l2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_l2.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_lstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_lstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_r1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_r1.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_r2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_r2.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_rstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_rstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_select.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_start.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_x.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_y.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_gen_z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_gen_z.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_0.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_1.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_2.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_3.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_4.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_5.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_6.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_7.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_8.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_9.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_a.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_alt.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_apostrophe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_apostrophe.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_arrow_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_arrow_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_arrow_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_arrow_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_b.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_backspace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_backspace.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_bslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_bslash.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_c.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_close_bracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_close_bracket.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_comma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_comma.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_ctrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_ctrl.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_d.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_dash.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_del.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_del.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_e.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_empty.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_enter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_enter.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_equal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_equal.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_esc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_esc.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f1.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f10.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f11.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f12.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f2.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f3.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f4.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f5.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f6.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f7.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f8.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_f9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_f9.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_fslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_fslash.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_g.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_grave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_grave.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_h.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_i.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_j.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_k.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_l.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_lalt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_lalt.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_lctrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_lctrl.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_lshift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_lshift.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_m.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_n.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_o.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_open_bracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_open_bracket.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_p.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_period.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_period.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_q.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_r.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_ralt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_ralt.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_rctrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_rctrl.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_rshift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_rshift.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_s.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_semicolon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_semicolon.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_shift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_shift.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_space.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_super.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_super.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_t.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_tab.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_u.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_v.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_w.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_x.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_y.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_kb_z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_kb_z.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_circle.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_cross.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_dpad_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_dpad_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_dpad_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_dpad_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_dpad_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_dpad_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_dpad_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_dpad_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_home.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_l1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_l1.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_l2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_l2.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_lstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_lstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_lstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_lstick_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_lstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_lstick_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_lstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_lstick_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_lstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_lstick_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_options.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_r1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_r1.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_r2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_r2.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_rstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_rstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_rstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_rstick_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_rstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_rstick_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_rstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_rstick_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_rstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_rstick_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_share.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_square.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_ps_triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_ps_triangle.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_a.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_b.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_dpad_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_dpad_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_dpad_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_dpad_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_dpad_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_dpad_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_dpad_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_dpad_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_home.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_l.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_lstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_lstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_lstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_lstick_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_lstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_lstick_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_lstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_lstick_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_lstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_lstick_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_minus.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_plus.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_r.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_rstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_rstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_rstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_rstick_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_rstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_rstick_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_rstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_rstick_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_rstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_rstick_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_screenshot.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_x.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_y.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_zl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_zl.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_switch_zr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_switch_zr.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_touch_down_hold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_touch_down_hold.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_touch_drag_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_touch_drag_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_touch_drag_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_touch_drag_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_touch_drag_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_touch_drag_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_touch_drag_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_touch_drag_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_touch_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_touch_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_a.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_b.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_dpad_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_dpad_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_dpad_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_dpad_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_dpad_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_dpad_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_dpad_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_dpad_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_home.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lb.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lstick_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lstick_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lstick_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lstick_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_lt.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_menu.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rb.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rstick.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rstick_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rstick_down.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rstick_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rstick_left.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rstick_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rstick_right.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rstick_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rstick_up.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_rt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_rt.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_view.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_x.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/asset_xbox_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Image/inputs/asset_xbox_y.png -------------------------------------------------------------------------------- /app/src/main/assets/Image/inputs/src.txt: -------------------------------------------------------------------------------- 1 | Purchased from: 2 | https://justfredrik.itch.io/controllers-n-buttons 3 | -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/blue_dune.fsh: -------------------------------------------------------------------------------- 1 | #version 300 es 2 | 3 | precision highp float; 4 | 5 | uniform float iTime; 6 | uniform vec3 iResolution; 7 | 8 | in vec2 textureCoord; 9 | out vec4 fragColor; 10 | 11 | vec3 lerp(vec3 color1, vec3 color2, float value) 12 | { 13 | return value * (color2 - color1) + color1; 14 | } 15 | float wave(float x, float frequency, float speed, float midHeight, float maxHeight) 16 | { 17 | return (sin(frequency * (x + speed * (((1. - (pow(cos(0.002 * (iTime + 400.)), 2.) + 1.) / 2.) + .1) * 2048.))) * (maxHeight - midHeight)) + midHeight; 18 | //return (sin(frequency * (x + speed * iTime)) * (maxHeight - midHeight)) + midHeight; 19 | } 20 | float percentHigh(float currentY, float waveHeight, float maxHeight, float power) 21 | { 22 | float percentWave = max(waveHeight - currentY, 0.0) / maxHeight; 23 | return pow(1.0 - percentWave, power); 24 | } 25 | float waveColor(vec2 uv, float waveHeight, float maxHeight, float frequency, float power) 26 | { 27 | float percentWave = percentHigh(uv.y, waveHeight, maxHeight, power); 28 | return clamp(percentWave + 0.8, 0.0, 1.0); 29 | } 30 | 31 | void main() { 32 | // Normalized pixel coordinates (from 0 to 1) 33 | vec2 uv = textureCoord; 34 | 35 | // Lerped background 36 | vec3 blue = vec3(0.0, 0.4, 1.0); 37 | vec3 blue2 = vec3(0.0, 0.7, 1.0); 38 | float amount = (uv.x + uv.y) / 2.0; 39 | vec3 bg = lerp(blue2, blue, amount); 40 | 41 | // Overlayed sine waves 42 | float midHeight1 = 0.6; 43 | float maxHeight1 = 0.7 + wave(0.0, 4.0, 0.02, 0.0, 0.02); 44 | float power1 = 50.0; //Higher power means thinner line 45 | float frequency1 = 2.0 + wave(0.0, 3.0, 0.03, 0.0, 0.02); 46 | float speed1 = 0.12 + wave(0.0, 2.2, 0.04, 0.0, 0.01); 47 | float waveHeight1 = wave(uv.x, frequency1, speed1, midHeight1, maxHeight1); 48 | float waveCol1 = waveColor(uv, waveHeight1, maxHeight1, frequency1, power1); 49 | 50 | float midHeight2 = 0.62; 51 | float maxHeight2 = 0.74 + wave(0.0, 3.0, 0.04, 0.0, 0.02); 52 | float power2 = 50.0; //Higher power means thinner line 53 | float frequency2 = 2.1 + wave(0.0, 4.0, 0.05, 0.0, 0.02); 54 | float speed2 = 0.08 + wave(0.0, 2.0, 0.02, 0.0, 0.01); 55 | float waveHeight2 = wave(uv.x, frequency2, speed2, midHeight2, maxHeight2); 56 | float waveCol2 = waveColor(uv, waveHeight2, maxHeight2, frequency2, power2); 57 | 58 | vec3 col = bg; 59 | if (uv.y < waveHeight1) 60 | col = waveCol1 * col; 61 | if (uv.y < waveHeight2) 62 | col = waveCol2 * col; 63 | 64 | // Output to screen 65 | fragColor = vec4(col,1.0); 66 | } -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/channel0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Shaders/channel0.png -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/channel1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Shaders/channel1.png -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/channel2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Shaders/channel2.png -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/channel3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/assets/Shaders/channel3.png -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/fallback.fsh: -------------------------------------------------------------------------------- 1 | #version 300 es 2 | precision highp float; 3 | uniform float iTime; 4 | uniform vec2 iResolution; 5 | in vec2 textureCoord; 6 | out vec4 fragColor; 7 | void main() // The entry point for our fragment shader. 8 | { 9 | float loop = sin(mod(iTime / 2., 3.14)); 10 | vec3 col = vec3(vec2(1) - textureCoord.xy, (textureCoord.x + textureCoord.y) / 2.); 11 | fragColor = vec4(abs(vec3(loop) - col.xyz), 1); // Pass the color directly through the pipeline. 12 | } -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/smooth_cheese.fsh: -------------------------------------------------------------------------------- 1 | #version 300 es 2 | 3 | /* 4 | * Title: Smooth Cheese 5 | * Author: Bassel EL Mabsout 6 | * SIMPLEX noise implementation taken from: 7 | * https://www.shadertoy.com/view/XsX3zB 8 | * 9 | * The MIT License 10 | * Copyright © 2013 Nikita Miropolskiy 11 | * 12 | * ( license has been changed from CCA-NC-SA 3.0 to MIT 13 | * 14 | * but thanks for attributing your source code when deriving from this sample 15 | * with a following link: https://www.shadertoy.com/view/XsX3zB ) 16 | */ 17 | 18 | precision highp float; 19 | 20 | uniform float iTime; 21 | uniform vec3 iResolution; 22 | 23 | in vec2 textureCoord; 24 | out vec4 fragColor; 25 | 26 | /* discontinuous pseudorandom uniformly distributed in [-0.5, +0.5]^3 */ 27 | vec3 random3(vec3 c) { 28 | float j = 4096.0*sin(dot(c,vec3(17.0, 59.4, 15.0))); 29 | vec3 r; 30 | r.z = fract(512.0*j); 31 | j *= .125; 32 | r.x = fract(512.0*j); 33 | j *= .125; 34 | r.y = fract(512.0*j); 35 | return r-0.5; 36 | } 37 | 38 | /* skew constants for 3d simplex functions */ 39 | const float F3 = 0.3333333; 40 | const float G3 = 0.1666667; 41 | 42 | /* 3d simplex noise */ 43 | float simplex3d(vec3 p) { 44 | /* 1. find current tetrahedron T and it's four vertices */ 45 | /* s, s+i1, s+i2, s+1.0 - absolute skewed (integer) coordinates of T vertices */ 46 | /* x, x1, x2, x3 - unskewed coordinates of p relative to each of T vertices*/ 47 | /* calculate s and x */ 48 | vec3 s = floor(p + dot(p, vec3(F3))); 49 | vec3 x = p - s + dot(s, vec3(G3)); 50 | 51 | /* calculate i1 and i2 */ 52 | vec3 e = step(vec3(0.0), x - x.yzx); 53 | vec3 i1 = e*(1.0 - e.zxy); 54 | vec3 i2 = 1.0 - e.zxy*(1.0 - e); 55 | 56 | /* x1, x2, x3 */ 57 | vec3 x1 = x - i1 + G3; 58 | vec3 x2 = x - i2 + 2.0*G3; 59 | vec3 x3 = x - 1.0 + 3.0*G3; 60 | 61 | /* 2. find four surflets and store them in d */ 62 | vec4 w, d; 63 | 64 | /* calculate surflet weights */ 65 | w.x = dot(x, x); 66 | w.y = dot(x1, x1); 67 | w.z = dot(x2, x2); 68 | w.w = dot(x3, x3); 69 | 70 | /* w fades from 0.6 at the center of the surflet to 0.0 at the margin */ 71 | w = max(0.6 - w, 0.0); 72 | 73 | /* calculate surflet components */ 74 | d.x = dot(random3(s), x); 75 | d.y = dot(random3(s + i1), x1); 76 | d.z = dot(random3(s + i2), x2); 77 | d.w = dot(random3(s + 1.0), x3); 78 | 79 | /* multiply d by w^4 */ 80 | w *= w; 81 | w *= w; 82 | d *= w; 83 | 84 | /* 3. return the sum of the four surflets */ 85 | return dot(d, vec4(52.0)); 86 | } 87 | 88 | void main() 89 | { 90 | vec2 p = textureCoord; 91 | vec3 p3 = vec3(p, iTime*0.015)+vec3(iTime*0.015,0.0,0.0); 92 | 93 | float value = pow(abs(simplex3d(p3*2.0)),1.5); 94 | float red = 0.5 + 0.5*simplex3d(p3*2.0 + 38274.9); 95 | float green = abs(0.2+0.5*simplex3d(p3*2.0 + 3824.9)); 96 | float blue = abs(simplex3d(p3*2.0 + 98274.9)); 97 | 98 | fragColor = vec4(sqrt(value*vec3(red, green, blue)), 1.0); 99 | } 100 | -------------------------------------------------------------------------------- /app/src/main/assets/Shaders/vert.vsh: -------------------------------------------------------------------------------- 1 | #version 300 es 2 | 3 | uniform mat4 uMVPMatrix; 4 | uniform mat4 uSTMatrix; 5 | 6 | in vec3 inPosition; 7 | in vec2 inTextureCoord; 8 | 9 | out vec2 textureCoord; 10 | out float iTime; 11 | 12 | void main() { 13 | gl_Position = uMVPMatrix * vec4(inPosition.xyz, 1); 14 | textureCoord = (uSTMatrix * vec4(vec2(inTextureCoord.x, 1. - inTextureCoord.y), 0, 0)).xy; 15 | } -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Adapters/DynamicInputAdapter.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Adapters; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.view.ViewGroup; 6 | import android.widget.FrameLayout; 7 | 8 | import androidx.annotation.NonNull; 9 | import androidx.recyclerview.widget.RecyclerView; 10 | 11 | import com.OxGames.OxShell.Data.DynamicInputRow; 12 | import com.OxGames.OxShell.Helpers.AndroidHelpers; 13 | import com.OxGames.OxShell.Interfaces.AdapterListener; 14 | import com.OxGames.OxShell.Views.DynamicInputRowView; 15 | 16 | import java.util.ArrayList; 17 | import java.util.Arrays; 18 | import java.util.List; 19 | 20 | public class DynamicInputAdapter extends RecyclerView.Adapter { 21 | private List items; 22 | private Context context; 23 | private List listeners; 24 | 25 | public DynamicInputAdapter(Context context, DynamicInputRow... items) { 26 | this.context = context; 27 | this.items = new ArrayList(); 28 | if (items != null) 29 | this.items.addAll(Arrays.asList(items)); 30 | listeners = new ArrayList<>(); 31 | } 32 | 33 | public void addListener(AdapterListener listener) { 34 | listeners.add(listener); 35 | } 36 | public void removeListener(AdapterListener listener) { 37 | listeners.remove(listener); 38 | } 39 | public void clearListeners() { 40 | listeners.clear(); 41 | } 42 | 43 | @NonNull 44 | @Override 45 | public DynamicViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { 46 | DynamicInputRowView view = new DynamicInputRowView(context); 47 | view.setFocusable(false); 48 | view.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 49 | return new DynamicViewHolder(view); 50 | } 51 | 52 | @Override 53 | public void onBindViewHolder(@NonNull DynamicViewHolder holder, int position) { 54 | holder.bindItem(items.get(position)); 55 | int dip = Math.round(AndroidHelpers.getScaledDpToPixels(context, 20)); 56 | holder.setPadding(0, 0, 0, position < items.size() - 1 ? dip : 0); 57 | } 58 | 59 | @Override 60 | public int getItemCount() { 61 | return items.size(); 62 | } 63 | 64 | @Override 65 | public void onViewAttachedToWindow(@NonNull DynamicViewHolder holder) { 66 | super.onViewAttachedToWindow(holder); 67 | //Log.d("DynamicInputAdapter", "onViewAttachedToWindow"); 68 | for (AdapterListener listener : listeners) 69 | if (listener != null) 70 | listener.onViewsReady(); 71 | } 72 | 73 | public void clear() { 74 | if (items != null) 75 | items.clear(); 76 | } 77 | 78 | public static class DynamicViewHolder extends RecyclerView.ViewHolder { 79 | public DynamicViewHolder(@NonNull View itemView) { 80 | super(itemView); 81 | } 82 | public void bindItem(DynamicInputRow item) { 83 | ((DynamicInputRowView)itemView).setInputItems(item); 84 | } 85 | public void setPadding(int left, int top, int right, int bottom) { 86 | itemView.setPadding(left, top, right, bottom); 87 | } 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Adapters/GridAdapter.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Adapters; 2 | 3 | import android.database.DataSetObserver; 4 | import android.graphics.Color; 5 | import android.view.LayoutInflater; 6 | import android.widget.BaseAdapter; 7 | import android.content.Context; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | import android.widget.ImageView; 11 | import android.widget.TextView; 12 | 13 | import com.OxGames.OxShell.Data.GridItem; 14 | import com.OxGames.OxShell.R; 15 | 16 | import java.util.ArrayList; 17 | 18 | public class GridAdapter extends BaseAdapter { 19 | private final Context context; 20 | private final ArrayList homeItems; 21 | 22 | public GridAdapter(Context _context, ArrayList _homeItems) { 23 | context = _context; 24 | homeItems = _homeItems; 25 | } 26 | 27 | @Override 28 | public View getView(int position, View view, ViewGroup parent) { 29 | GridItem homeItem = homeItems.get(position); 30 | if (view == null) { 31 | LayoutInflater layoutInflater = LayoutInflater.from(context); 32 | view = layoutInflater.inflate(R.layout.xmb_item, null); 33 | } 34 | 35 | view.setBackgroundColor(homeItem.isSelected ? Color.parseColor("#33EAF0CE") : Color.parseColor("#00000000")); //TODO: implement color theme that can take custom theme from file 36 | 37 | TextView title = view.findViewById(R.id.cat_title); 38 | title.setText(homeItem.title); 39 | 40 | ImageView typeIcon = view.findViewById(R.id.typeIcon); 41 | typeIcon.setImageDrawable(homeItem.getIcon()); 42 | 43 | ImageView typeSuperIcon = view.findViewById(R.id.typeSuperIcon); 44 | typeSuperIcon.setImageDrawable(homeItem.getSuperIcon()); 45 | 46 | //int[] loc = new int[2]; 47 | //view.getLocationInWindow(loc); 48 | //view.getLocationOnScreen(loc); 49 | // int x = AndroidHelpers.getRelativeLeft(view); 50 | // int y = AndroidHelpers.getRelativeTop(view); 51 | // int width = view.getWidth(); 52 | // int height = view.getHeight(); 53 | // homeItem.dim = new Rect(x, y, x + width, y + height); 54 | 55 | return view; 56 | } 57 | @Override 58 | public boolean areAllItemsEnabled() { 59 | return false; 60 | } 61 | @Override 62 | public boolean isEnabled(int position) { 63 | return true; 64 | } 65 | @Override 66 | public void registerDataSetObserver(DataSetObserver observer) { } 67 | @Override 68 | public void unregisterDataSetObserver(DataSetObserver observer) { } 69 | @Override 70 | public int getCount() { 71 | return homeItems.size(); 72 | } 73 | @Override 74 | public long getItemId(int position) { 75 | return position; 76 | } 77 | @Override 78 | public Object getItem(int position) { 79 | return homeItems.get(position); 80 | } 81 | @Override 82 | public boolean hasStableIds() { 83 | return false; 84 | } 85 | @Override 86 | public int getItemViewType(int position) { 87 | return 0; 88 | } 89 | @Override 90 | public int getViewTypeCount() { 91 | return homeItems.size(); 92 | } 93 | @Override 94 | public boolean isEmpty() { 95 | return homeItems.size() <= 0; 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/DataLocation.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | public enum DataLocation { 4 | none, resource, asset, pkg, file, resolverUri, self, 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/DetailItem.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import android.graphics.drawable.Drawable; 4 | 5 | public class DetailItem { 6 | public Object obj; //object 7 | public String leftAlignedText; //string 8 | public String rightAlignedText; 9 | public Drawable icon; //stay 10 | public boolean isCurrentItem; 11 | public boolean isSelected; 12 | 13 | public DetailItem(Drawable _icon, String _leftAlignedText, String _rightAlignedText, Object _obj) { 14 | icon = _icon; 15 | obj = _obj; 16 | leftAlignedText = _leftAlignedText; 17 | rightAlignedText = _rightAlignedText; 18 | } 19 | public boolean hasIcon() { 20 | return icon != null; 21 | } 22 | public Drawable getIcon() { 23 | return icon; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/Executable.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import android.util.Log; 4 | 5 | import java.io.Serializable; 6 | import java.util.UUID; 7 | 8 | public class Executable implements Serializable { 9 | private UUID launchDataRef; 10 | private String path; 11 | 12 | public Executable(UUID launchDataRef, String path) { 13 | this.launchDataRef = launchDataRef; 14 | this.path = path; 15 | } 16 | public void run() { 17 | IntentLaunchData launcher = getLaunchIntent(); 18 | if (launcher != null) { 19 | //if (PackagesCache.isPackageInstalled(launcher.getPackageName())) 20 | launcher.launch(path); 21 | //else 22 | // Log.e("IntentShortcutsView", "Failed to launch, " + launcher.getPackageName() + " is not installed on the device"); 23 | } else 24 | Log.e("IntentShortcutsView", "Failed to launch, launch intent (" + launchDataRef + ") not found"); 25 | } 26 | public IntentLaunchData getLaunchIntent() { 27 | return ShortcutsCache.getIntent(launchDataRef); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/FontRef.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import org.nustaq.serialization.FSTBasicObjectSerializer; 4 | import org.nustaq.serialization.FSTClazzInfo; 5 | import org.nustaq.serialization.FSTObjectInput; 6 | import org.nustaq.serialization.FSTObjectOutput; 7 | 8 | import java.io.IOException; 9 | import java.io.Serializable; 10 | 11 | // do not use this class, this is just for older versions of the app 12 | public class FontRef implements Serializable { 13 | public DataLocation dataType; 14 | public Object fontLoc; 15 | 16 | // public static class FontRefSerializer extends FSTBasicObjectSerializer { 17 | // @Override 18 | // public boolean willHandleClass(Class cl) { 19 | // return cl.equals(FontRef.class); 20 | // } 21 | // @Override 22 | // public void writeObject(FSTObjectOutput out, Object toWrite, FSTClazzInfo clzInfo, FSTClazzInfo.FSTFieldInfo referencedBy, int streamPosition) throws IOException { 23 | // FontRef fontRef = (FontRef)toWrite; 24 | // out.writeObject(fontRef.dataType); 25 | // out.writeObject(fontRef.fontLoc); 26 | // } 27 | // @Override 28 | // public Object instantiate(Class objectClass, FSTObjectInput in, FSTClazzInfo serializationInfo, FSTClazzInfo.FSTFieldInfo referencee, int streamPosition) throws Exception { 29 | // // Map the old fully qualified class name to the new one 30 | // String className = objectClass.getName().replace("FontRef", "DataRef"); 31 | // Class newClass = Class.forName(className); 32 | // 33 | // // Deserialize the object using the new class 34 | // DataLocation locType = (DataLocation)in.readObject(); 35 | // Object loc = in.readObject(); 36 | // return newClass.getConstructor(Object.class, DataLocation.class).newInstance(loc, locType); 37 | // } 38 | // } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/GridItem.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import android.graphics.Rect; 4 | import android.graphics.drawable.Drawable; 5 | import android.view.View; 6 | 7 | import java.io.Serializable; 8 | 9 | public class GridItem implements Serializable { 10 | public String title; 11 | public Object obj; 12 | public transient View view; 13 | public transient boolean isSelected; 14 | //protected transient boolean breaker; 15 | //public transient Rect dim; 16 | 17 | public GridItem(String _title, Object _obj) { 18 | title = _title; 19 | obj = _obj; 20 | } 21 | public Drawable getIcon() { 22 | return null; 23 | } 24 | public Drawable getSuperIcon() { 25 | return null; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/ImageRef.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import android.util.Log; 4 | 5 | import org.nustaq.serialization.FSTBasicObjectSerializer; 6 | import org.nustaq.serialization.FSTClazzInfo; 7 | import org.nustaq.serialization.FSTObjectInput; 8 | import org.nustaq.serialization.FSTObjectOutput; 9 | 10 | import java.io.IOException; 11 | import java.io.Serializable; 12 | 13 | // do not use this class, this is just for older versions of the app 14 | public class ImageRef implements Serializable { 15 | public DataLocation dataType; 16 | public Object imageLoc; 17 | 18 | // public static class ImageRefSerializer extends FSTBasicObjectSerializer { 19 | // @Override 20 | // public boolean willHandleClass(Class cl) { 21 | // return cl.equals(ImageRef.class); 22 | // } 23 | // @Override 24 | // public void writeObject(FSTObjectOutput out, Object toWrite, FSTClazzInfo clzInfo, FSTClazzInfo.FSTFieldInfo referencedBy, int streamPosition) throws IOException { 25 | // ImageRef imageRef = (ImageRef)toWrite; 26 | // out.writeObject(imageRef.dataType); 27 | // out.writeObject(imageRef.imageLoc); 28 | // } 29 | // @Override 30 | // public void readObject(FSTObjectInput in, Object toRead, FSTClazzInfo clzInfo, FSTClazzInfo.FSTFieldInfo referencedBy) throws Exception { 31 | // //super.readObject(in, toRead, clzInfo, referencedBy); 32 | // } 33 | // @Override 34 | // public Object instantiate(Class objectClass, FSTObjectInput in, FSTClazzInfo serializationInfo, FSTClazzInfo.FSTFieldInfo referencee, int streamPosition) throws Exception { 35 | //// // Map the old fully qualified class name to the new one 36 | //// //String className = objectClass.getName().replace("ImageRef", "DataRef"); 37 | //// //Class newClass = Class.forName(className); 38 | //// Log.d("ImageRef", referencee.getName()); 39 | //// 40 | //// // Deserialize the object using the new class 41 | ////// Log.d("ImageRef", "Reading locType"); 42 | ////// DataLocation locType = (DataLocation)in.readObjectInternal(DataLocation.class); 43 | ////// Log.d("ImageRef", "Reading loc"); 44 | ////// Object loc = in.readObjectInternal(null); 45 | //// Log.d("ImageRef", "Reading String"); 46 | //// String fieldName = in.readStringUTF(); 47 | //// Log.d("ImageRef", "Field name " + fieldName); 48 | //// in.registerObject(fieldName, streamPosition, serializationInfo, referencee); 49 | //// Log.d("ImageRef", "Reading locType"); 50 | //// DataLocation locType = (DataLocation)in.readObjectInternal(DataLocation.class); 51 | //// Log.d("ImageRef", "Reading String"); 52 | //// fieldName = in.readStringUTF(); 53 | //// Log.d("ImageRef", "Field name " + fieldName); 54 | //// in.registerObject(fieldName, streamPosition, serializationInfo, referencee); 55 | //// Log.d("ImageRef", "Reading loc"); 56 | //// Object loc = in.readObjectInternal(null); 57 | //// //in.registerObject(loc, streamPosition, serializationInfo, referencee); 58 | //// //return newClass.getConstructor(Object.class, DataLocation.class).newInstance(loc, locType); 59 | //// //return newClass.getMethod("from", Object.class, DataLocation.class).invoke(null, loc, locType); 60 | //// return DataRef.from(loc, locType); 61 | //// ImageRef imgRef = (ImageRef)super.instantiate(objectClass, in, serializationInfo, referencee, streamPosition); 62 | //// return imgRef != null ? DataRef.from(imgRef.imageLoc, imgRef.dataType) : null; 63 | // //return new DataRef(); 64 | // } 65 | // } 66 | } 67 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/InputType.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | public enum InputType { 4 | None, Touch, Keyboard, Playstation, Xbox, Switch 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/IntentPutExtra.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import android.content.Intent; 4 | import android.util.Log; 5 | 6 | import java.io.Serializable; 7 | 8 | public class IntentPutExtra implements Serializable { 9 | private IntentLaunchData.DataType extraType; 10 | private String name; 11 | private Object value; 12 | 13 | public IntentPutExtra(String _name, Object _value, IntentLaunchData.DataType type) { 14 | Log.d("IntentPutExtra", _value + " is " + type); 15 | extraType = type; 16 | name = _name; 17 | value = _value; 18 | } 19 | public IntentPutExtra(String _name, int _value) { 20 | this(_name, _value, IntentLaunchData.DataType.Integer); 21 | } 22 | public IntentPutExtra(String _name, boolean _value) { 23 | this(_name, _value, IntentLaunchData.DataType.Boolean); 24 | } 25 | public IntentPutExtra(String _name, float _value) { 26 | this(_name, _value, IntentLaunchData.DataType.Float); 27 | } 28 | public IntentPutExtra(String _name, String _value) { 29 | this(_name, _value, IntentLaunchData.DataType.String); 30 | } 31 | public IntentPutExtra(String _name, IntentLaunchData.DataType _extraType) { 32 | name = _name; 33 | extraType = _extraType; 34 | } 35 | public String getName() { 36 | return name; 37 | } 38 | // public void setExtraType(IntentLaunchData.DataType _extraType) { extraType = _extraType; } 39 | public IntentLaunchData.DataType getExtraType() { return extraType; } 40 | public Object getValue() { 41 | return value; 42 | } 43 | public void putExtraInto(Intent intent) { 44 | if (extraType == IntentLaunchData.DataType.Integer) 45 | intent.putExtra(name, (int)value); 46 | if (extraType == IntentLaunchData.DataType.Boolean) 47 | intent.putExtra(name, (boolean)value); 48 | if (extraType == IntentLaunchData.DataType.Float) 49 | intent.putExtra(name, (float)value); 50 | if (extraType == IntentLaunchData.DataType.String) 51 | intent.putExtra(name, (String)value); 52 | } 53 | 54 | public static IntentPutExtra parseFrom(String name, String toBeParsed) { 55 | try { 56 | return new IntentPutExtra(name, Integer.parseInt(toBeParsed), IntentLaunchData.DataType.Integer); 57 | } catch (Exception e) {} 58 | try { 59 | return new IntentPutExtra(name, Float.parseFloat(toBeParsed), IntentLaunchData.DataType.Float); 60 | } catch (Exception e) {} 61 | if (toBeParsed.equalsIgnoreCase("true")) 62 | return new IntentPutExtra(name, true, IntentLaunchData.DataType.Boolean); 63 | if (toBeParsed.equalsIgnoreCase("false")) 64 | return new IntentPutExtra(name, false, IntentLaunchData.DataType.Boolean); 65 | // try { 66 | // value = Boolean.parseBoolean(toBeParsed); 67 | // return new IntentPutExtra(name, value, IntentLaunchData.DataType.Boolean); 68 | // } catch (Exception e) {} 69 | 70 | IntentPutExtra extra; 71 | if (toBeParsed.equals(IntentLaunchData.DataType.Uri.toString())) 72 | extra = new IntentPutExtra(name, null, IntentLaunchData.DataType.Uri); 73 | else if (toBeParsed.equals(IntentLaunchData.DataType.AbsolutePath.toString())) 74 | extra = new IntentPutExtra(name, null, IntentLaunchData.DataType.AbsolutePath); 75 | else if (toBeParsed.equals(IntentLaunchData.DataType.FileNameWithExt.toString())) 76 | extra = new IntentPutExtra(name, null, IntentLaunchData.DataType.FileNameWithExt); 77 | else if (toBeParsed.equals(IntentLaunchData.DataType.FileNameWithoutExt.toString())) 78 | extra = new IntentPutExtra(name, null, IntentLaunchData.DataType.FileNameWithoutExt); 79 | else 80 | extra = new IntentPutExtra(name, toBeParsed, IntentLaunchData.DataType.String); 81 | return extra; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/KeyComboAction.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | public class KeyComboAction { 4 | public final KeyCombo keyCombo; 5 | public final Runnable action; 6 | public final String actionDesc; 7 | 8 | public KeyComboAction(KeyCombo keyCombo, Runnable action, String actionDesc) { 9 | this.keyCombo = keyCombo; 10 | this.action = action; 11 | this.actionDesc = actionDesc; 12 | } 13 | public KeyComboAction(KeyCombo keyCombo, Runnable action) { 14 | this(keyCombo, action, null); 15 | } 16 | 17 | // public KeyCombo getKeyCombo() { 18 | // return keyCombo; 19 | // } 20 | // public Runnable getAction() { 21 | // return action; 22 | // } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Data/Paths.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Data; 2 | 3 | import android.os.Environment; 4 | 5 | import com.OxGames.OxShell.Helpers.AndroidHelpers; 6 | import com.OxGames.OxShell.OxShellApp; 7 | 8 | public class Paths { 9 | public static final String STORAGE_DIR_EXTERNAL = AndroidHelpers.combinePaths(Environment.getExternalStorageDirectory().toString(), "/OxShell"); 10 | public static final String STORAGE_DIR_INTERNAL = OxShellApp.getContext().getExternalFilesDir(null).toString(); 11 | //public static final String STORAGE_DIR_INTERNAL = OxShellApp.getCurrentActivity().getFilesDir().toString(); 12 | 13 | public static final String SHADER_ITEMS_DIR_EXTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_EXTERNAL, "Shader"); 14 | public static final String SHADER_ITEMS_DIR_INTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_INTERNAL, "Shader"); 15 | 16 | public static final String LOGCAT_DIR_EXTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_EXTERNAL, "Logs"); 17 | public static final String LOGCAT_DIR_INTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_INTERNAL, "Logs"); 18 | 19 | public static final String SHORTCUTS_DIR_EXTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_EXTERNAL, "Intents"); 20 | public static final String SHORTCUTS_DIR_INTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_INTERNAL, "Intents"); 21 | 22 | public static final String HOME_ITEMS_DIR_EXTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_EXTERNAL, "Home"); 23 | public static final String HOME_ITEMS_DIR_INTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_INTERNAL, "Home"); 24 | public static final String ICONS_DIR_INTERNAL = AndroidHelpers.combinePaths(STORAGE_DIR_INTERNAL, "Icons"); 25 | public static final String HOME_ITEMS_FILE_NAME = "HomeItems"; 26 | public static final String HOME_ITEMS_CATS = "_cats"; 27 | public static final String HOME_ITEMS_DEFAULTS = "_defaults"; 28 | public static final String HOME_ITEMS_APPS = "_apps"; 29 | public static final String HOME_ITEMS_ASSOCS = "_assocs"; 30 | 31 | public static final String SETTINGS_INTERNAL_PATH = AndroidHelpers.combinePaths(STORAGE_DIR_INTERNAL, "Settings"); 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/ExplorerActivity.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell; 2 | 3 | import android.os.Bundle; 4 | import android.view.View; 5 | 6 | import androidx.annotation.Nullable; 7 | 8 | import com.OxGames.OxShell.Data.SettingsKeeper; 9 | import com.OxGames.OxShell.Views.ExplorerView; 10 | 11 | import java.util.function.Consumer; 12 | 13 | public class ExplorerActivity extends PagedActivity { 14 | ExplorerView explorerView; 15 | private Consumer onDynamicInputShown = (onOff) -> { 16 | explorerView.setVisibility(onOff ? View.GONE : View.VISIBLE); 17 | }; 18 | 19 | @Override 20 | protected void onCreate(Bundle savedInstanceState) { 21 | super.onCreate(savedInstanceState); 22 | //Log.d("ExplorerActivity", "onCreate"); 23 | setContentView(R.layout.activity_explorer); 24 | explorerView = findViewById(R.id.explorer_list); 25 | } 26 | 27 | @Override 28 | protected void onPostCreate(@Nullable Bundle savedInstanceState) { 29 | super.onPostCreate(savedInstanceState); 30 | int systemUi = SettingsKeeper.getCurrentSysUIState(); 31 | setMarginsFor(SettingsKeeper.hasStatusBarVisible(systemUi), SettingsKeeper.hasNavBarVisible(systemUi), R.id.explorer_list); 32 | getDynamicInput().addShownListener(onDynamicInputShown); 33 | } 34 | 35 | @Override 36 | protected void onResume() { 37 | super.onResume(); 38 | explorerView.onResume(); 39 | } 40 | @Override 41 | protected void onPause() { 42 | super.onPause(); 43 | explorerView.onPause(); 44 | } 45 | 46 | @Override 47 | protected void onDestroy() { 48 | super.onDestroy(); 49 | getDynamicInput().removeShownListener(onDynamicInputShown); 50 | } 51 | } -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/FileChooserActivity.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell; 2 | 3 | import android.os.Bundle; 4 | import android.view.View; 5 | 6 | import androidx.annotation.Nullable; 7 | 8 | import com.OxGames.OxShell.Data.SettingsKeeper; 9 | import com.OxGames.OxShell.Views.ExplorerView; 10 | 11 | import java.util.function.Consumer; 12 | 13 | public class FileChooserActivity extends PagedActivity { 14 | ExplorerView explorerView; 15 | private Consumer onDynamicInputShown = (onOff) -> { 16 | explorerView.setVisibility(onOff ? View.GONE : View.VISIBLE); 17 | }; 18 | 19 | @Override 20 | protected void onCreate(Bundle savedInstanceState) { 21 | super.onCreate(savedInstanceState); 22 | setContentView(R.layout.activity_chooser); 23 | explorerView = findViewById(R.id.explorer_list); 24 | } 25 | 26 | @Override 27 | protected void onPostCreate(@Nullable Bundle savedInstanceState) { 28 | super.onPostCreate(savedInstanceState); 29 | int systemUi = SettingsKeeper.getCurrentSysUIState(); 30 | setMarginsFor(SettingsKeeper.hasStatusBarVisible(systemUi), SettingsKeeper.hasNavBarVisible(systemUi), R.id.explorer_list); 31 | getDynamicInput().addShownListener(onDynamicInputShown); 32 | } 33 | 34 | @Override 35 | protected void onResume() { 36 | super.onResume(); 37 | explorerView.onResume(); 38 | } 39 | @Override 40 | protected void onPause() { 41 | super.onPause(); 42 | explorerView.onPause(); 43 | } 44 | 45 | @Override 46 | protected void onDestroy() { 47 | super.onDestroy(); 48 | getDynamicInput().removeShownListener(onDynamicInputShown); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Helpers/MathHelpers.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Helpers; 2 | 3 | import android.util.Log; 4 | 5 | public class MathHelpers { 6 | public static final long MS_PER_SEC = 1000L; 7 | public static final long MS_PER_MIN = MS_PER_SEC * 60; 8 | public static final long MS_PER_HR = MS_PER_MIN * 60; 9 | public static final long MS_PER_DAY = MS_PER_HR * 24; 10 | public static final long MS_PER_YEAR = MS_PER_DAY * 365; 11 | 12 | public static int calculateMillisForFps(int fps) { 13 | return Math.round((1f / fps) * 1000); 14 | } 15 | public static String msToTimestamp(long ms) { 16 | long totalTime = ms; 17 | long years = totalTime / MS_PER_YEAR; 18 | totalTime %= MS_PER_YEAR; 19 | long days = totalTime / MS_PER_DAY; 20 | totalTime %= MS_PER_DAY; 21 | long hours = totalTime / MS_PER_HR; 22 | totalTime %= MS_PER_HR; 23 | long minutes = totalTime / MS_PER_MIN; 24 | totalTime %= MS_PER_MIN; 25 | long seconds = totalTime / MS_PER_SEC; 26 | return (years > 0 ? years + ":" : "") + (days > 0 ? (days < 10 ? "00" : (days < 100 ? "0" : "")) + days + ":" : "") + (hours > 0 ? (hours < 10 ? "0" : "") + hours + ":" : "") + (minutes < 10 ? "0" : "") + minutes + ":" + (seconds < 10 ? "0" : "") + seconds; 27 | } 28 | 29 | public static int max(int... values) { 30 | if (values.length <= 0) 31 | throw new IllegalArgumentException("Cannot get max of nothing"); 32 | int max = values[0]; 33 | for (int i = 1; i < values.length; i++) 34 | max = Math.max(max, values[i]); 35 | return max; 36 | } 37 | public static int min(int... values) { 38 | if (values.length <= 0) 39 | throw new IllegalArgumentException("Cannot get min of nothing"); 40 | int min = values[0]; 41 | for (int i = 1; i < values.length; i++) 42 | min = Math.min(min, values[i]); 43 | return min; 44 | } 45 | public static int hash(Integer... values) { 46 | StringBuilder hashMedium = new StringBuilder(); 47 | for (int i = 0; i < values.length; i++) { 48 | hashMedium.append(values[i]); 49 | if (i < values.length - 1) 50 | hashMedium.append(","); 51 | } 52 | int hash = hashMedium.toString().hashCode(); 53 | //Log.d("MathHelpers", hashMedium + " => " + hash); 54 | return hash; 55 | } 56 | public static double roundTo(double value, int places) { 57 | double placesMult = Math.pow(10, places); 58 | return Math.round(value * placesMult) / placesMult; 59 | } 60 | public static float roundTo(float value, int places) { 61 | return (float)roundTo((double)value, places); 62 | } 63 | public static int clamp(int value, int min, int max) { 64 | return Math.min(Math.max(min, value), max); 65 | } 66 | public static float clamp(float value, float min, float max) { 67 | return Math.min(Math.max(min, value), max); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Helpers/Serialaver.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Helpers; 2 | 3 | import android.util.Log; 4 | 5 | 6 | import org.nustaq.serialization.FSTConfiguration; 7 | 8 | import java.io.FileInputStream; 9 | import java.io.FileOutputStream; 10 | import java.io.ObjectInputStream; 11 | import java.io.ObjectOutputStream; 12 | import java.io.Serializable; 13 | import java.io.UnsupportedEncodingException; 14 | import java.nio.charset.StandardCharsets; 15 | 16 | public class Serialaver { 17 | public static void saveFile(Serializable obj, String path) { 18 | try { 19 | FileOutputStream file = new FileOutputStream(path); 20 | ObjectOutputStream out = new ObjectOutputStream(file); 21 | out.writeObject(obj); 22 | out.close(); 23 | file.close(); 24 | } catch(Exception e) { 25 | Log.e("Serialaver", e.getMessage()); 26 | } 27 | } 28 | public static Object loadFile(String path) { 29 | Object obj = null; 30 | 31 | try { 32 | FileInputStream file = new FileInputStream(path); 33 | ObjectInputStream in = new ObjectInputStream(file); 34 | obj = in.readObject(); 35 | in.close(); 36 | file.close(); 37 | } catch (Exception e) { 38 | Log.e("Serialaver", e.getMessage()); 39 | } 40 | return obj; 41 | } 42 | public static void saveAsFSTJSON(Object data, String absPath) { 43 | FSTConfiguration conf = FSTConfiguration.createJsonConfiguration(); 44 | 45 | byte[] bytes = conf.asByteArray(data); 46 | try { 47 | String json = new String(bytes,"UTF-8"); 48 | AndroidHelpers.writeToFile(absPath, json); 49 | } catch (UnsupportedEncodingException e) { 50 | throw new RuntimeException(e); 51 | } 52 | //Object deser = conf.asObject(bytes); 53 | } 54 | public static Object loadFromFSTJSON(String absPath) { 55 | return loadFromFSTJSON(absPath, FSTConfiguration.createJsonConfiguration()); 56 | } 57 | public static Object loadFromFSTJSON(String absPath, FSTConfiguration customConf) { 58 | String json = AndroidHelpers.readFile(absPath); 59 | return customConf.asObject(json.getBytes(StandardCharsets.UTF_8)); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Helpers/ShellCommander.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Helpers; 2 | 3 | import android.util.Log; 4 | 5 | import java.io.BufferedReader; 6 | import java.io.IOException; 7 | import java.io.InputStreamReader; 8 | import java.util.stream.Collectors; 9 | 10 | public class ShellCommander { 11 | public static String run(String command) { 12 | String output = null; 13 | try { 14 | Process process = Runtime.getRuntime().exec(command); 15 | try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { 16 | output = bufferedReader.lines().collect(Collectors.joining(System.lineSeparator())); 17 | } catch (IOException ex) { 18 | Log.e("ShellCommander", ex.getMessage()); 19 | } 20 | } catch (IOException ex) { 21 | Log.e("ShellCommander", ex.getMessage()); 22 | } 23 | return output; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/AdapterListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface AdapterListener { 4 | void onViewsReady(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/CustomViewListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface CustomViewListener { 4 | void onMakeSelection(int index); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/DirsCarrier.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface DirsCarrier { 4 | void clearDirsList(); 5 | void addToDirsList(String dir); 6 | void removeFromDirsList(String dir); 7 | String[] getDirsList(); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/DirsViewListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface DirsViewListener { 4 | void onDirsResult(int resultCode, DirsCarrier output); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/DynamicInputListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | import android.view.View; 4 | 5 | public interface DynamicInputListener { 6 | void onFocusChanged(View view, boolean hasFocus); 7 | void onValuesChanged(); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/InputReceiver.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | import android.view.KeyEvent; 4 | //import android.view.MotionEvent; 5 | 6 | public interface InputReceiver { 7 | // boolean receiveMotionEvent(MotionEvent motion_event); 8 | boolean receiveKeyEvent(KeyEvent key_event); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/PkgAppsListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | import android.content.pm.ResolveInfo; 4 | 5 | import java.util.List; 6 | 7 | public interface PkgAppsListener { 8 | void onQueryApps(List apps); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/QuadConsumer.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | @FunctionalInterface 4 | public interface QuadConsumer { 5 | void accept(T t, U u, V v, W w); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/Refreshable.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface Refreshable { 4 | void refresh(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/SlideTouchListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface SlideTouchListener { 4 | void onSwipeUp(); 5 | void onSwipeDown(); 6 | void onSwipeLeft(); 7 | void onSwipeRight(); 8 | void onClick(); 9 | void onLongClick(); 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/TriConsumer.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | @FunctionalInterface 4 | public interface TriConsumer { 5 | void accept(T t, U u, V v); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Interfaces/XMBAdapterListener.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Interfaces; 2 | 3 | public interface XMBAdapterListener { 4 | void onColumnAdded(int columnIndex); 5 | void onColumnRemoved(int columnIndex); 6 | void onColumnShifted(int fromColIndex, int toColIndex); 7 | void onSubItemAdded(int columnIndex, int localIndex); 8 | void onSubItemRemoved(int columnIndex, int localIndex); 9 | void onInnerItemsChanged(Integer... position); 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/OxGames/OxShell/Views/NonConsumableRecyclerView.java: -------------------------------------------------------------------------------- 1 | package com.OxGames.OxShell.Views; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.MotionEvent; 6 | 7 | import androidx.recyclerview.widget.RecyclerView; 8 | 9 | public class NonConsumableRecyclerView extends RecyclerView { 10 | 11 | public NonConsumableRecyclerView(Context context) { 12 | super(context); 13 | } 14 | 15 | public NonConsumableRecyclerView(Context context, AttributeSet attrs) { 16 | super(context, attrs); 17 | } 18 | 19 | public NonConsumableRecyclerView(Context context, AttributeSet attrs, int defStyle) { 20 | super(context, attrs, defStyle); 21 | } 22 | 23 | @Override 24 | public boolean onInterceptTouchEvent(MotionEvent ev) { 25 | // Do not intercept touch events, allow them to pass through to the view below 26 | return false; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/banner_free_xhdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/drawable/banner_free_xhdpi.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/banner_xhdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/drawable/banner_xhdpi.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_adb_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_arrow_back_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_arrow_drop_down_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_close_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_fast_forward_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_fast_rewind_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_fullscreen_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_hourglass_empty_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_info_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_library_music_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_pause_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_person_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_play_arrow_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_skip_next_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_skip_previous_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_video_library_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fading_left_edge.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fading_right_edge.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_accessibility_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_add_circle_outline_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_audio_file_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_auto_awesome_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_block_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_cancel_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_check_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_construction_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_folder_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_forum_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_games_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_headphones_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_hide_image_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_home_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_image_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_map_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_movie_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_newspaper_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_photo_camera_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_question_mark_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_send_time_extension_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_settings_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_source_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_video_file_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_view_list_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_work_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_free_xhdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/drawable/icon_free_xhdpi.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_xhdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/drawable/icon_xhdpi.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ox_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/drawable/ox_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_outline_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_spinner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 12 | 13 | 14 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_chooser.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/detail_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | 22 | 23 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/home_context_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/xmb_cat.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 12 | 13 | 22 | 23 | 39 | 40 | 41 | 44 | 45 | 51 | 52 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /app/src/main/res/layout/xmb_inner_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | 21 | 22 | 28 | 29 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /app/src/main/res/layout/xmb_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 12 | 13 | 22 | 23 | 40 | 41 | 42 | 43 | 46 | 47 | 53 | 54 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-hdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-mdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_explorer_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #EAF0CE 4 | #C0C5C1 5 | #7D8491 6 | #574B60 7 | #3F334D 8 | 9 | #FFFFFFFF 10 | 11 | #33EAF0CE 12 | #00000000 13 | 14 | #FFBB86FC 15 | #FF6200EE 16 | #FF3700B3 17 | #FF03DAC5 18 | #FF018786 19 | #FF000000 20 | #FFFFFFFF 21 | #FF039BE5 22 | #FF01579B 23 | #FF40C4FF 24 | #FF00B0FF 25 | #66000000 26 | #FF29B6F6 27 | #FFBDBDBD 28 | #FF757575 29 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ox Paper 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/xml/accessibility_service_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/xml/ox_paper.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = '1.6.21' 4 | repositories { 5 | google() 6 | mavenCentral() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:8.1.4' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | mavenCentral() 21 | jcenter() // Warning: this repository is going to shut down soon 22 | maven { url 'https://jitpack.io' } 23 | } 24 | } 25 | 26 | task clean(type: Delete) { 27 | delete rootProject.buildDir 28 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | android.defaults.buildfeatures.buildconfig=true 19 | android.nonTransitiveRClass=false 20 | android.nonFinalResIds=false -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxters168/OxShell/c79fbad16ca72e2c0c5aa91cfebc7b0434ab0d59/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jun 21 17:27:26 EDT 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "OxShell" 2 | include ':app' 3 | 4 | // for when modifying ShaderView 5 | //include ':shader_view' 6 | //project(':shader_view').projectDir = new File('../Libraries/ShaderView/lib') --------------------------------------------------------------------------------