├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── 01_QUESTION.yml │ ├── 02_BUG_REPORT.yml │ ├── 03_ENHANCEMENT.yml │ ├── 04_CRASH_REPORT.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ ├── add-comment-for-help-wanted_ci.yml │ ├── android-branch_ci.yml │ ├── android-main_ci.yml │ ├── android-pr_ci.yml │ ├── android-release_ci.yml │ ├── changelog.yml │ ├── close-inactive-issues_ci.yml │ ├── delete-unused-caches_ci.yml │ ├── keep-workflow-packages-up-to-date.yml │ ├── thank-you-issue_ci.yml │ └── validate-gradle-wrapper.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── FAPRW.md ├── FontPatcher ├── bin │ └── scripts │ │ └── name_parser │ │ ├── FontnameParser.py │ │ └── FontnameTools.py ├── font-patcher ├── glyphnames.json ├── patch_fonts.sh ├── readme.md ├── src │ └── glyphs │ │ ├── README.md │ │ ├── Unicode_IEC_symbol_font.otf │ │ ├── codicons │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── codicon.ttf │ │ └── codicon_orig.ttf │ │ ├── devicons │ │ ├── README.md │ │ ├── analyze │ │ ├── devicons.ttf │ │ ├── fixed │ │ │ ├── README.md │ │ │ ├── angularjs-plain.svg │ │ │ ├── awk-plain.svg │ │ │ ├── bash-plain.svg │ │ │ ├── llvm-plain.svg │ │ │ └── nginx-plain.svg │ │ ├── generate │ │ ├── mapping │ │ └── vorillaz │ │ │ ├── README.md │ │ │ ├── clojure_alt.svg │ │ │ ├── database.svg │ │ │ ├── dlang.svg │ │ │ ├── dropbox.svg │ │ │ ├── git_branch.svg │ │ │ ├── git_commit.svg │ │ │ ├── git_compare.svg │ │ │ ├── git_merge.svg │ │ │ ├── git_pull_request.svg │ │ │ ├── gnu.svg │ │ │ ├── javascript_1.svg │ │ │ ├── mootools_badge.svg │ │ │ ├── mozilla.svg │ │ │ ├── requirejs.svg │ │ │ ├── ruby_rough.svg │ │ │ ├── smashing_magazine.svg │ │ │ ├── sublime.svg │ │ │ └── terminal.svg │ │ ├── extraglyphs.sfd │ │ ├── font-awesome-extension.ttf │ │ ├── font-awesome │ │ ├── FontAwesome.otf │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── analyze │ │ ├── generate │ │ ├── mapping │ │ ├── remix │ │ └── remix_mapping │ │ ├── font-logos.ttf │ │ ├── materialdesign │ │ ├── LICENSE │ │ ├── MaterialDesignIconsDesktop.ttf │ │ ├── MaterialDesignIconsDesktop_orig.ttf │ │ ├── README.md │ │ └── materialdesignicons-webfont.ttf │ │ ├── octicons │ │ ├── LICENSE │ │ ├── analyze_octicons │ │ ├── file-symlink-directory-16.svg │ │ ├── file-symlink-directory-24.svg │ │ ├── generate │ │ ├── mapping │ │ └── octicons.ttf │ │ ├── original-source.otf │ │ ├── pomicons │ │ ├── LICENSE │ │ ├── Pomicons.otf │ │ └── README.md │ │ ├── powerline-extra │ │ ├── LICENSE │ │ ├── PowerlineExtraSymbols.otf │ │ └── README.md │ │ ├── powerline-symbols │ │ ├── LICENSE.txt │ │ ├── PowerlineSymbols.otf │ │ └── README.md │ │ └── weather-icons │ │ ├── OFL-FAQ.txt │ │ ├── OFL.txt │ │ └── weathericons-regular-webfont.ttf └── unpatched-fonts │ ├── Bitter.ttf │ ├── Dotness.ttf │ ├── DroidSans.ttf │ ├── FiraCode.ttf │ ├── GreatVibes.ttf │ ├── Hack.ttf │ ├── Lato.ttf │ ├── Lobster.ttf │ ├── Merriweather.ttf │ ├── MiSans.ttf │ ├── Montserrat.ttf │ ├── NotoSans.ttf │ ├── OpenSans.ttf │ ├── Pacifico.ttf │ ├── Quicksand.ttf │ ├── Raleway.ttf │ ├── Roboto.ttf │ └── SourceCodePro.ttf ├── Gemfile ├── Gemfile.lock ├── KnownIssues.md ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── github │ │ ├── creativecodecat │ │ └── components │ │ │ └── views │ │ │ ├── FontAppCompatTextView.kt │ │ │ ├── FontAutoCompleteTextView.kt │ │ │ ├── FontEditText.kt │ │ │ ├── FontRecyclerView.kt │ │ │ ├── FontSearchView.kt │ │ │ └── FontTextClock.kt │ │ └── droidworksstudio │ │ ├── common │ │ ├── ColorExtensions.kt │ │ ├── ContextExtensions.kt │ │ ├── CrashHandler.kt │ │ ├── DonationDialog.kt │ │ ├── FragmentExtensions.kt │ │ ├── ViewExtensions.kt │ │ └── share │ │ │ ├── ShareAppAdapter.kt │ │ │ ├── ShareAppInfo.kt │ │ │ └── ShareUtils.kt │ │ ├── fuzzywuzzy │ │ └── FuzzyFinder.kt │ │ └── mlauncher │ │ ├── CrashReportActivity.kt │ │ ├── MainActivity.kt │ │ ├── MainViewModel.kt │ │ ├── data │ │ ├── AppListItem.kt │ │ ├── Constants.kt │ │ ├── Message.kt │ │ ├── Migration.kt │ │ └── Prefs.kt │ │ ├── helper │ │ ├── FontManager.kt │ │ ├── IconPackHelper.kt │ │ ├── SystemUtils.kt │ │ ├── analytics │ │ │ └── AppUsageMonitor.kt │ │ ├── receivers │ │ │ ├── BatteryReceiver.kt │ │ │ ├── PrivateSpaceReceiver.kt │ │ │ └── WeatherReceiver.kt │ │ └── utils │ │ │ ├── AppDiffCallback.kt │ │ │ ├── AppReloader.kt │ │ │ ├── BiometricHelper.kt │ │ │ ├── MutableLists.kt │ │ │ ├── PrivateSpaceManager.kt │ │ │ └── SimpleEmailSender.kt │ │ ├── init │ │ └── MlauncherInitProvider.kt │ │ ├── listener │ │ ├── OnSwipeTouchListener.kt │ │ └── ViewSwipeTouchListener.kt │ │ ├── mLauncher.kt │ │ ├── services │ │ └── ActionService.kt │ │ ├── style │ │ ├── Color.kt │ │ └── SettingsTheme.kt │ │ └── ui │ │ ├── AppDrawerAdapter.kt │ │ ├── AppDrawerFragment.kt │ │ ├── FavoriteAdapter.kt │ │ ├── FavoriteFragment.kt │ │ ├── HomeFragment.kt │ │ ├── SettingsFragment.kt │ │ ├── components │ │ ├── AZSidebarView.kt │ │ ├── DialogManager.kt │ │ └── LockedBottomSheetDialog.kt │ │ ├── compose │ │ └── SettingsComposable.kt │ │ ├── iconpack │ │ ├── ApplyIconPackActivity.kt │ │ └── CustomIconSelectionActivity.kt │ │ ├── notes │ │ ├── NotesManagerAdapter.kt │ │ └── NotesManagerFragment.kt │ │ └── onboarding │ │ ├── OnboardingActivity.kt │ │ ├── OnboardingAdapter.kt │ │ ├── OnboardingFragment.kt │ │ └── OnboardingPageFragment.kt │ ├── play_store.png │ ├── play_store_features.png │ └── res │ ├── anim │ ├── item_anim_from_bottom.xml │ └── layout_anim_from_bottom.xml │ ├── drawable │ ├── app_battery100.xml │ ├── app_battery25.xml │ ├── app_battery50.xml │ ├── app_battery75.xml │ ├── app_launcher.xml │ ├── branding_image.xml │ ├── button_background.xml │ ├── cloud_dots_icon.xml │ ├── edittext_box.xml │ ├── ic_accessibility.xml │ ├── ic_advanced.xml │ ├── ic_alarm_clock.xml │ ├── ic_app_info.xml │ ├── ic_back.xml │ ├── ic_backup_restore.xml │ ├── ic_browser.xml │ ├── ic_camera.xml │ ├── ic_change_default_launcher.xml │ ├── ic_close.xml │ ├── ic_community.xml │ ├── ic_copy.xml │ ├── ic_current_page.xml │ ├── ic_delete.xml │ ├── ic_donation.xml │ ├── ic_donation_buymeacoffee.xml │ ├── ic_donation_github.xml │ ├── ic_donation_liberapay.xml │ ├── ic_exit.xml │ ├── ic_experimental.xml │ ├── ic_favorite.xml │ ├── ic_feature.xml │ ├── ic_gestures.xml │ ├── ic_help_feedback.xml │ ├── ic_hidden.xml │ ├── ic_info.xml │ ├── ic_location.xml │ ├── ic_lock.xml │ ├── ic_look_feel.xml │ ├── ic_messages.xml │ ├── ic_new_page.xml │ ├── ic_notes.xml │ ├── ic_order_apps.xml │ ├── ic_phone.xml │ ├── ic_photos.xml │ ├── ic_rename.xml │ ├── ic_restart.xml │ ├── ic_send.xml │ ├── ic_settings.xml │ ├── ic_share.xml │ ├── ic_share_app.xml │ ├── ic_tag.xml │ ├── ic_theme.xml │ ├── ic_toast.xml │ ├── ic_unlock.xml │ ├── ic_usage.xml │ ├── ic_word_of_the_day.xml │ ├── launcher_dot_icon.xml │ ├── message_bubble_bg.xml │ ├── niagara_dot_icon.xml │ ├── padlock.xml │ ├── padlock_off.xml │ ├── pin.xml │ ├── pin_off.xml │ ├── spinner_dots_icon.xml │ ├── text_colors_default.xml │ ├── text_colors_light.xml │ ├── visibility.xml │ ├── visibility_off.xml │ └── work_profile.xml │ ├── font │ ├── bank_gothic.ttf │ ├── bitter.ttf │ ├── doto.ttf │ ├── droid_sans.ttf │ ├── fira_code.ttf │ ├── great_vibes.ttf │ ├── hack.ttf │ ├── lato.ttf │ ├── lobster.ttf │ ├── merriweather.ttf │ ├── mi_sans.ttf │ ├── montserrat.ttf │ ├── noto_sans.ttf │ ├── open_sans.ttf │ ├── pacifico.ttf │ ├── quicksand.ttf │ ├── raleway.ttf │ ├── roboto.ttf │ └── source_code_pro.ttf │ ├── layout │ ├── activity_main.xml │ ├── activity_onboarding.xml │ ├── adapter_app_drawer.xml │ ├── dialog_edit_task.xml │ ├── dialog_share_bottom_sheet.xml │ ├── dialog_single_choice.xml │ ├── fragment_app_drawer.xml │ ├── fragment_favorite.xml │ ├── fragment_home.xml │ ├── fragment_notes_manager.xml │ ├── fragment_onboarding.xml │ ├── fragment_onboarding_page_four.xml │ ├── fragment_onboarding_page_one.xml │ ├── fragment_onboarding_page_three.xml │ ├── fragment_onboarding_page_two.xml │ ├── fragment_settings.xml │ ├── home_app_button.xml │ ├── item_message.xml │ ├── item_share_app.xml │ └── item_single_choice.xml │ ├── navigation │ └── nav_graph.xml │ ├── values-ar-rSA │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-de-rDE │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-es-rES │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-fr-rFR │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-hdpi │ └── dimens.xml │ ├── values-it-rIT │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-iw-rIL │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-ja-rJP │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-ko-rKR │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-ldpi │ └── dimens.xml │ ├── values-lt-rLT │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-mdpi │ └── dimens.xml │ ├── values-night-v31 │ └── styles.xml │ ├── values-night │ ├── colors.xml │ └── styles.xml │ ├── values-nl-rNL │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-pl-rPL │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-pt-rPT │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-ru-rRU │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-sk-rSK │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-th-rTH │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-tr-rTR │ ├── languages.xml │ ├── strings.xml │ └── wordoftheday.xml │ ├── values-v31 │ └── styles.xml │ ├── values-xhdpi │ └── dimens.xml │ ├── values-xxhdpi │ └── dimens.xml │ ├── values-xxxhdpi │ └── dimens.xml │ ├── values │ ├── attrs.xml │ ├── colors.xml │ ├── languages.xml │ ├── nontranslatable.xml │ ├── strings.xml │ ├── styles.xml │ └── wordoftheday.xml │ └── xml │ ├── accessibility_service_config.xml │ ├── backup_rules.xml │ ├── blacklist.xml │ ├── data_extraction_rules.xml │ ├── donations.xml │ ├── file_paths.xml │ └── theme.xml ├── build.gradle.kts ├── cliff.toml ├── crowdin.yml ├── fastlane ├── Appfile ├── Fastfile └── metadata │ └── android │ ├── ar-SA │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── de-DE │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── en-US │ ├── full_description.txt │ ├── images │ │ ├── feature.png │ │ ├── icon.png │ │ ├── icon.svg │ │ └── phoneScreenshots │ │ │ ├── 0.png │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ └── 7.png │ ├── short_description.txt │ └── title.txt │ ├── es-ES │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── fr-FR │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── he-IL │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── it-IT │ ├── changelogs │ │ ├── 142.txt │ │ ├── 143.txt │ │ ├── 144.txt │ │ ├── 145.txt │ │ ├── 146.txt │ │ ├── 147.txt │ │ ├── 148.txt │ │ ├── 149.txt │ │ ├── 150.txt │ │ ├── 151.txt │ │ └── 74.txt │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── ja-JP │ ├── changelogs │ │ ├── 142.txt │ │ ├── 143.txt │ │ ├── 144.txt │ │ ├── 145.txt │ │ ├── 146.txt │ │ ├── 147.txt │ │ ├── 148.txt │ │ ├── 149.txt │ │ ├── 150.txt │ │ ├── 151.txt │ │ └── 74.txt │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── ko-KR │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── lt-LT │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── nl-NL │ ├── changelogs │ │ ├── 142.txt │ │ ├── 143.txt │ │ ├── 144.txt │ │ ├── 145.txt │ │ ├── 146.txt │ │ ├── 147.txt │ │ ├── 148.txt │ │ ├── 149.txt │ │ ├── 150.txt │ │ ├── 151.txt │ │ └── 74.txt │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── pl-PL │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── pt-PT │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── ru-RU │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── sk-SK │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── th-TH │ ├── changelogs │ │ ├── 142.txt │ │ ├── 143.txt │ │ ├── 144.txt │ │ ├── 145.txt │ │ ├── 146.txt │ │ ├── 147.txt │ │ ├── 148.txt │ │ ├── 149.txt │ │ ├── 150.txt │ │ ├── 151.txt │ │ └── 74.txt │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ └── tr-TR │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle.kts ├── themes ├── AdaptaDark.mtheme ├── AdaptaLight.mtheme ├── AyuDark.mtheme ├── BreezeDark.mtheme ├── Catppuccin.mtheme ├── Cyberpunk.mtheme ├── Dracula.mtheme ├── GruvboxDark.mtheme ├── GruvboxLight.mtheme ├── Layan.mtheme ├── MaterialDark.mtheme ├── MojaveLight.mtheme ├── Monokai.mtheme ├── NightOwl.mtheme ├── Nord.mtheme ├── OneDark.mtheme ├── Palenight.mtheme ├── README.md ├── SolarizedDark.mtheme ├── SolarizedLight.mtheme ├── TangoDark.mtheme ├── Tomorrow.mtheme ├── UbuntuLight.mtheme ├── getThemeNames.bat └── getThemeNames.sh └── wordoftheday ├── README.md ├── bible.json ├── fortune_cookies.json ├── getFileNames.sh ├── mcdonalds.json ├── random_facts.json └── stoic.json /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | buy_me_a_coffee: CreativeCodeCat 2 | liberapay: CreativeCodeCat 3 | github: [ CreativeCodeCat,DroidWorksStudio ] 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: GitHub Community Support 4 | url: https://github.com/orgs/community/discussions 5 | about: Please ask and answer questions here. 6 | - name: Organization Wide Discussions 7 | url: https://github.com/orgs/DroidWorksStudio/discussions 8 | about: For any discussion within our community 9 | - name: GitHub Security Bug Bounty 10 | url: https://bounty.github.com/ 11 | about: Please report security vulnerabilities here. -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "gradle" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | groups: 13 | gradle-dependencies: 14 | patterns: 15 | - "*" 16 | -------------------------------------------------------------------------------- /.github/workflows/add-comment-for-help-wanted_ci.yml: -------------------------------------------------------------------------------- 1 | # This workflow uses actions that are not certified by GitHub. 2 | # They are provided by a third-party and are governed by 3 | # separate terms of service, privacy policy, and support 4 | # documentation. 5 | 6 | # GitHub recommends pinning actions to a commit SHA. 7 | # To get a newer version, you will need to update the SHA. 8 | # You can also reference a tag or branch, but the action may change without warning. 9 | 10 | name: Create Comment When Help wanted 11 | 12 | on: 13 | issues: 14 | types: 15 | - labeled 16 | 17 | jobs: 18 | add-comment: 19 | if: contains(github.event.label.name, 'Help Wanted') 20 | runs-on: ubuntu-latest 21 | permissions: 22 | issues: write 23 | steps: 24 | - name: Create comment 25 | uses: peter-evans/create-or-update-comment@v4.0.0 26 | with: 27 | token: ${{ secrets.GIT_BOT_TOKEN }} 28 | issue-number: ${{ github.event.issue.number }} 29 | body: | 30 | This issue is available for anyone to work on. **Make sure to reference this issue in your pull request.** :sparkles: Thank you for your contribution! :sparkles: 31 | -------------------------------------------------------------------------------- /.github/workflows/android-branch_ci.yml: -------------------------------------------------------------------------------- 1 | # Builds the project 2 | name: Android Feature Branch CI 3 | 4 | on: 5 | push: 6 | branches: 7 | - '*' 8 | - '*/**' 9 | - '!*main' 10 | workflow_dispatch: 11 | 12 | jobs: 13 | build: 14 | name: Build, Sign & Upload 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: Checkout project 18 | uses: actions/checkout@v4.2.2 19 | with: 20 | token: ${{ secrets.GIT_BOT_TOKEN }} 21 | ref: main 22 | 23 | - name: set up JDK 17 24 | uses: actions/setup-java@v4.7.1 25 | with: 26 | java-version: '17' 27 | distribution: 'temurin' 28 | cache: gradle 29 | 30 | - uses: actions/cache@v4.2.3 31 | with: 32 | path: | 33 | ~/.gradle/caches 34 | ~/.gradle/wrapper 35 | key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} 36 | restore-keys: | 37 | ${{ runner.os }}-gradle- 38 | 39 | - name: Grant execute permission for gradlew 40 | run: chmod +x gradlew 41 | 42 | - name: Build with Gradle 43 | run: ./gradlew clean && ./gradlew assembleDebug 44 | 45 | - name: Upload Artifact 46 | uses: actions/upload-artifact@v4.6.2 47 | with: 48 | name: Signed app apk 49 | path: app/build/outputs/apk/debug/*.apk 50 | retention-days: 3 51 | -------------------------------------------------------------------------------- /.github/workflows/android-main_ci.yml: -------------------------------------------------------------------------------- 1 | # Builds the project, signs an API, and then uploads it 2 | name: Android Main Branch CI 3 | 4 | on: 5 | push: 6 | branches: 7 | - 'main' 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build: 12 | name: Build, Sign & Upload 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Checkout project 16 | uses: actions/checkout@v4.2.2 17 | with: 18 | token: ${{ secrets.GIT_BOT_TOKEN }} 19 | ref: main 20 | 21 | - name: set up JDK 17 22 | uses: actions/setup-java@v4.7.1 23 | with: 24 | java-version: '17' 25 | distribution: 'temurin' 26 | cache: gradle 27 | 28 | - uses: actions/cache@v4.2.3 29 | with: 30 | path: | 31 | ~/.gradle/caches 32 | ~/.gradle/wrapper 33 | key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} 34 | restore-keys: | 35 | ${{ runner.os }}-gradle- 36 | 37 | - name: Grant execute permission for gradlew 38 | run: chmod +x gradlew 39 | 40 | - name: Build with Gradle 41 | run: ./gradlew clean && ./gradlew assembleDebug 42 | -------------------------------------------------------------------------------- /.github/workflows/android-pr_ci.yml: -------------------------------------------------------------------------------- 1 | # Builds the project and uploads a debug APK 2 | name: Android PR CI 3 | 4 | on: 5 | pull_request: 6 | branches: 7 | - 'main' 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build: 12 | name: Build, Sign & Upload 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Checkout project 16 | uses: actions/checkout@v4.2.2 17 | with: 18 | token: ${{ secrets.GIT_BOT_TOKEN }} 19 | ref: main 20 | 21 | - name: set up JDK 17 22 | uses: actions/setup-java@v4.7.1 23 | with: 24 | java-version: '17' 25 | distribution: 'temurin' 26 | cache: gradle 27 | 28 | - uses: actions/cache@v4.2.3 29 | with: 30 | path: | 31 | ~/.gradle/caches 32 | ~/.gradle/wrapper 33 | key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} 34 | restore-keys: | 35 | ${{ runner.os }}-gradle- 36 | 37 | - name: Grant execute permission for gradlew 38 | run: chmod +x gradlew 39 | 40 | - name: Build with Gradle 41 | run: ./gradlew clean && ./gradlew assembleDebug 42 | 43 | - name: Upload Artifact 44 | uses: actions/upload-artifact@v4.6.2 45 | with: 46 | name: Signed app apk 47 | path: app/build/outputs/apk/debug/*.apk 48 | retention-days: 3 49 | -------------------------------------------------------------------------------- /.github/workflows/changelog.yml: -------------------------------------------------------------------------------- 1 | name: Update CHANGELOG.md 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | branches: 8 | - 'main' 9 | workflow_dispatch: 10 | 11 | jobs: 12 | changelog: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Check out repository 16 | uses: actions/checkout@v4.2.2 17 | with: 18 | token: ${{ secrets.GIT_BOT_TOKEN }} 19 | fetch-depth: 0 20 | ref: main 21 | 22 | - name: Generate a changelog 23 | uses: orhun/git-cliff-action@v4.4.2 24 | with: 25 | config: cliff.toml 26 | args: --verbose 27 | env: 28 | OUTPUT: CHANGELOG.md 29 | 30 | - name: Configure git 31 | run: | 32 | git config user.name "${{ secrets.GIT_NAME }}" 33 | git config user.email "${{ secrets.GIT_EMAIL }}" 34 | 35 | - name: Check for changes and commit 36 | env: 37 | GIT_NAME: ${{ secrets.GIT_NAME }} 38 | run: | 39 | if [[ $(git status --porcelain) ]]; then 40 | COMMIT_AUTHOR=$(git log -1 --pretty=%an) 41 | 42 | if [[ "$COMMIT_AUTHOR" != "$GIT_NAME" ]]; then 43 | git add -u 44 | git commit -m "chore(changelog): Update CHANGELOG.md" 45 | git push origin main 46 | else 47 | echo "WARNING: Last commit was already made by $COMMIT_AUTHOR." 48 | fi 49 | else 50 | echo "WARNING: No changes detected." 51 | fi 52 | -------------------------------------------------------------------------------- /.github/workflows/close-inactive-issues_ci.yml: -------------------------------------------------------------------------------- 1 | name: Close Inactive Issues & Pull Requests 2 | 3 | on: 4 | schedule: 5 | - cron: "30 1 * * *" 6 | workflow_dispatch: 7 | 8 | jobs: 9 | close-issues: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: write 13 | pull-requests: write 14 | steps: 15 | - uses: actions/stale@v9.1.0 16 | with: 17 | days-before-issue-stale: 30 18 | days-before-issue-close: 14 19 | stale-issue-label: "Status: Stale" 20 | stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." 21 | close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." 22 | exempt-issue-labels: "Status: Help wanted, Status: Work In Progress, Status: Waiting For a Response, Status: Todo" 23 | days-before-pr-stale: 90 24 | days-before-pr-close: 30 25 | close-issue-reason: "not_planned" 26 | stale-pr-label: "Status: Stale" 27 | close-pr-label: "Status: Stale" 28 | stale-pr-message: "This pull request is stale because it has been open for 30 days with no activity." 29 | close-pr-message: "This pull request was closed because it has been inactive for 14 days since being marked as stale." 30 | exempt-pr-labels: "Status: Help wanted, Status: Work In Progress, Status: Waiting For a Response, Status: Todo" 31 | repo-token: ${{ secrets.GITHUB_TOKEN }} 32 | -------------------------------------------------------------------------------- /.github/workflows/delete-unused-caches_ci.yml: -------------------------------------------------------------------------------- 1 | name: Delete Unused Caches 2 | 3 | on: 4 | schedule: 5 | - cron: "30 1 * * *" 6 | workflow_dispatch: 7 | 8 | jobs: 9 | delete: 10 | runs-on: ubuntu-latest 11 | steps: 12 | # Do other steps like checkout, install, compile, etc. 13 | - uses: MyAlbum/purge-cache@v2.1.0 14 | with: 15 | max-age: 1800 # Cache max 7 days since last use (this is the default) 16 | debug: true # Set to true to output debug info 17 | -------------------------------------------------------------------------------- /.github/workflows/keep-workflow-packages-up-to-date.yml: -------------------------------------------------------------------------------- 1 | name: GitHub Actions Version Updater 2 | 3 | # Controls when the action will run. 4 | on: 5 | workflow_dispatch: 6 | schedule: 7 | # Automatically run on every Sunday 8 | - cron: "0 0 * * 0" 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v4.2.2 16 | with: 17 | # [Required] Access token with `workflow` scope. 18 | token: ${{ secrets.GIT_BOT_TOKEN }} 19 | ref: main 20 | 21 | - name: Run GitHub Actions Version Updater 22 | uses: saadmk11/github-actions-version-updater@v0.8.1 23 | with: 24 | # [Required] Access token with `workflow` scope. 25 | token: ${{ secrets.GIT_BOT_TOKEN }} 26 | -------------------------------------------------------------------------------- /.github/workflows/thank-you-issue_ci.yml: -------------------------------------------------------------------------------- 1 | name: Thank New Reporters 2 | 3 | on: 4 | issues: 5 | types: 6 | - reopened 7 | - opened 8 | 9 | jobs: 10 | comment: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/github-script@v7.0.1 14 | with: 15 | github-token: ${{ secrets.GIT_BOT_TOKEN }} 16 | script: | 17 | github.rest.issues.createComment({ 18 | issue_number: context.issue.number, 19 | owner: context.repo.owner, 20 | repo: context.repo.repo, 21 | body: `👋 Thanks for reporting! 22 | 23 | We will get back to you soon about this issue.` 24 | }) -------------------------------------------------------------------------------- /.github/workflows/validate-gradle-wrapper.yml: -------------------------------------------------------------------------------- 1 | name: Validate Gradle Wrapper 2 | 3 | on: 4 | push: 5 | paths: 6 | - '**/gradle/wrapper/**' 7 | - '**/gradlew' 8 | - '**/gradlew.bat' 9 | pull_request: 10 | paths: 11 | - '**/gradle/wrapper/**' 12 | - '**/gradlew' 13 | - '**/gradlew.bat' 14 | 15 | jobs: 16 | validate: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/checkout@v4.2.2 20 | with: 21 | token: ${{ secrets.GIT_BOT_TOKEN }} 22 | ref: main 23 | 24 | - name: Validate Gradle Wrapper JAR 25 | uses: gradle/wrapper-validation-action@v3.5.0 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | .kotlin 3 | .idea 4 | git-cliff* 5 | bin/* 6 | local.properties 7 | build 8 | pages 9 | wiki 10 | app/release 11 | app/build 12 | app/debug 13 | diff.* 14 | -------------------------------------------------------------------------------- /FontPatcher/patch_fonts.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Create output directory if it doesn't exist 4 | mkdir -p patched-fonts/ 5 | 6 | # Loop through each file in the unpatched-fonts directory 7 | for font in unpatched-fonts/*; do 8 | # Run the font-patcher command on the current file 9 | python3 font-patcher --complete --outputdir patched-fonts/ "$font" --custom ~/.local/share/fonts/siji.ttf 10 | done 11 | 12 | echo "All fonts have been patched successfully!" 13 | 14 | -------------------------------------------------------------------------------- /FontPatcher/readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Nerd Fonts 3 | 4 | This is font-patcher python script (and required source files) from a Nerd Fonts release. 5 | 6 | ## Running 7 | 8 | * To execute run: `fontforge --script ./font-patcher --complete ` 9 | * For more CLI options and help: `fontforge --script ./font-patcher --help` 10 | 11 | ## Further info 12 | 13 | For more information see: 14 | * https://github.com/ryanoasis/nerd-fonts/ 15 | * https://github.com/ryanoasis/nerd-fonts/releases/latest/ 16 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/README.md: -------------------------------------------------------------------------------- 1 | ### Contents 2 | 3 | This directory contains all the glyphs (glyph sets) that the `font-patcher` puts into the fonts. 4 | 5 | If a icon font here is updated, do not forget to update the database file in `bin/script/libs`. 6 | 7 | The 'Seti and Original' icons (in `original-source.otf`) is automatically generated from the glyphs in `src/svgs`. 8 | Do not edit and commit changes to that font directly. 9 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/Unicode_IEC_symbol_font.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/Unicode_IEC_symbol_font.otf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/codicons/README.md: -------------------------------------------------------------------------------- 1 | # Codicons 2 | 3 | For more information have a look at the upstream website: https://github.com/microsoft/vscode-codicons 4 | 5 | ## Source bugs fixed 6 | 7 | Glyph 0xEB40 and 0xEB41 are defective in the original font. We fixed that manually. 8 | 9 | Version: 0.0.35 10 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/codicons/codicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/codicons/codicon.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/codicons/codicon_orig.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/codicons/codicon_orig.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/README.md: -------------------------------------------------------------------------------- 1 | # Devicons 2 | 3 | From the Devicons the non-linemark versions are selected and assembled into a custom 4 | icon font. This font guarantees that the codepoints of existing icons do not change 5 | when other icons are added or removed. 6 | 7 | For more information have a look at the upstream website: https://github.com/devicons/devicon 8 | 9 | The helper scripts need to be called in this order (note the individual prerequisites): 10 | * `analyze` 11 | * `generate` (possibly via `fontforge`) 12 | 13 | Version: 2.16.0.custom 14 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/devicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/devicons/devicons.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/fixed/README.md: -------------------------------------------------------------------------------- 1 | This folder contains some modified icons, where the 2.16.0 svg file of Devicons had some import problem. 2 | 3 | These files will be preferred over the filenames specified in the mapping file. 4 | 5 | Be careful on Devicon updates. 6 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/fixed/angularjs-plain.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/fixed/bash-plain.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/fixed/nginx-plain.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/README.md: -------------------------------------------------------------------------------- 1 | # Vorillaz' Devicons 2 | 3 | Here are some very few icons from the Devicons project before it got forked. 4 | They got dropped when Devicons had been forked. But we find them basic enough 5 | to be important and there are no direct substitudes in other sets. 6 | 7 | Most icons that were dropped on the Devicons for are now also dropped here: 8 | 9 | For more information have a look at the upstream websites: 10 | * https://github.com/vorillaz/devicons 11 | * https://github.com/devicon/devicons 12 | 13 | This is taken directly from the repository default branch, which is ahead of release 1.8.0. 14 | We call it 1.8.1 here, but there is no such release. 15 | 16 | Version: 1.8.1 17 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/database.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/dropbox.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/git_branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/git_commit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/git_compare.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/git_merge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/git_pull_request.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/javascript_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/mootools_badge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/sublime.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/devicons/vorillaz/terminal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/font-awesome-extension.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/font-awesome-extension.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/font-awesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/font-awesome/FontAwesome.otf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/font-awesome/README.md: -------------------------------------------------------------------------------- 1 | # Font Awesome 2 | 3 | For more information have a look at the upstream website: https://github.com/FortAwesome/Font-Awesome 4 | 5 | ## Custom created font file 6 | 7 | The `FontAwesome.otf` here is custom created from the Font Awesome release svgs. 8 | 9 | It does NOT contain all icons from 6.5.1! 10 | 11 | The helper scripts need to be called in this order (note the individual prerequisites): 12 | * `remix` 13 | * `analyze` 14 | * `generate` 15 | 16 | Version: 6.5.1.custom 17 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/font-logos.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/font-logos.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/materialdesign/LICENSE: -------------------------------------------------------------------------------- 1 | Pictogrammers Free License 2 | -------------------------- 3 | 4 | This icon collection is released as free, open source, and GPL friendly by 5 | the [Pictogrammers](http://pictogrammers.com/) icon group. You may use it 6 | for commercial projects, open source projects, or anything really. 7 | 8 | # Icons: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) 9 | Some of the icons are redistributed under the Apache 2.0 license. All other 10 | icons are either redistributed under their respective licenses or are 11 | distributed under the Apache 2.0 license. 12 | 13 | # Fonts: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) 14 | All web and desktop fonts are distributed under the Apache 2.0 license. Web 15 | and desktop fonts contain some icons that are redistributed under the Apache 16 | 2.0 license. All other icons are either redistributed under their respective 17 | licenses or are distributed under the Apache 2.0 license. 18 | 19 | # Code: MIT (https://opensource.org/licenses/MIT) 20 | The MIT license applies to all non-font and non-icon files. 21 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/materialdesign/MaterialDesignIconsDesktop.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/materialdesign/MaterialDesignIconsDesktop.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/materialdesign/MaterialDesignIconsDesktop_orig.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/materialdesign/MaterialDesignIconsDesktop_orig.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/materialdesign/README.md: -------------------------------------------------------------------------------- 1 | ## Contents 2 | 3 | This folder contains the source for the (current) Material Design Icons. 4 | Source is https://github.com/Templarian/MaterialDesign-Font 5 | 6 | Last fetch date is Oct 6, 2022. 7 | 8 | After fetching a new file one needs to correct our cheat-sheet by updating `bin/scripts/lib/i_md.sh`. 9 | Use the tool: 10 | ``` 11 | cd bin/scripts 12 | mv lib/i_md.sh lib/i_md.sh_ 13 | python3 generate-glyph-info-from-set.py --start f0001 -end f1af0 -font ../../src/glyphs/materialdesign/MaterialDesignIconsDesktop.ttf -offset 0 -prefix md > lib/i_md.sh 14 | ``` 15 | 16 | Open old and new definitions shell script and copy the header from the old file to the autogenerated file. Adapt the values in the new file's header. Remove the last line in the new file (it contains the number of glyphs that is needed for the updated header). Yes, that is some manual labor. 17 | 18 | 19 | ## Source bugs fixed 20 | 21 | Glyph 0xF1522 is broken in the original font. We fixed that one glyph manually. 22 | 23 | See https://github.com/Templarian/MaterialDesign-Font/issues/9 24 | 25 | ## Old version 26 | 27 | Also contained is the old (pre Nerd Fonts v3.0.0) Material Design Icons: 28 | 29 | `materialdesignicons-webfont.ttf` 30 | 31 | That is not used, but can be activated by users of the font-patcher by enabling the font in the sourcecode. 32 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/materialdesign/materialdesignicons-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/materialdesign/materialdesignicons-webfont.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/octicons/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 GitHub Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/octicons/analyze_octicons: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # coding=utf8 3 | 4 | # This extracts the names and source and destination codepoints 5 | # of the old octicons font file to keep their codepoints stable 6 | # 7 | # You do not need to redo it, the result is in the repo 8 | # 9 | # Usage: 10 | # fontforge analyze_octicons > mapping 11 | 12 | import fontforge 13 | 14 | octi_orig = "octicons.ttf" 15 | current_cp = 0xF400 16 | 17 | print('# Examining {}'.format(octi_orig)) 18 | 19 | font = fontforge.open(octi_orig) 20 | for glyph in font.glyphs('encoding'): 21 | point = glyph.unicode 22 | if point < 0: 23 | continue 24 | desti = glyph.unicode 25 | if point < 0xF000: 26 | desti = point 27 | else: 28 | desti = current_cp 29 | current_cp += 1 30 | print("{:X} {:X} {}".format(point, desti, glyph.glyphname)) 31 | 32 | font.close() 33 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/octicons/file-symlink-directory-16.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/octicons/file-symlink-directory-24.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/octicons/octicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/octicons/octicons.ttf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/original-source.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/original-source.otf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/pomicons/Pomicons.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/pomicons/Pomicons.otf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/pomicons/README.md: -------------------------------------------------------------------------------- 1 | # Pomicons 2 | 3 | For more information have a look at the upstream website: https://github.com/gabrielelana/pomicons 4 | 5 | Version: 1.001 6 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/powerline-extra/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Ryan L McIntyre 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/powerline-extra/PowerlineExtraSymbols.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/powerline-extra/PowerlineExtraSymbols.otf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/powerline-extra/README.md: -------------------------------------------------------------------------------- 1 | # Powerline Extra 2 | 3 | For more information have a look at the upstream website: https://github.com/ryanoasis/powerline-extra-symbols 4 | 5 | Version: 1.000 (from about 2016) 6 | 7 | ## Source modified 8 | 9 | * Add missing Ice Waveform Mirrored glyph (0xE0CA) 10 | * Add Trigraph Heaven glyph (0x2630) 11 | * Simplify Waveform glyphs (0xE0C8, 0xE0CA) 12 | * Glyph 0xE0B4 and 0xE0B6 got an additional 7% strip on their straight side. 13 | * Add inverse triangular glyphs at 0xE0D6 and 0xE0D7 14 | * Change version of font to 1.100 15 | * Add 'landing platform' to glyphs at 0xE0B8, 0xE0BA, 0xE0BC, and 0xE0BE 16 | * Add 'landing platform' to glyphs at 0xE0C0 and 0xE0C2 17 | * Change version of font to 1.200 18 | 19 | Version: 1.200 (our version) 20 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/powerline-symbols/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2013 Kim Silkebækken and other contributors 2 | https://github.com/powerline/powerline 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/powerline-symbols/PowerlineSymbols.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/powerline-symbols/PowerlineSymbols.otf -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/powerline-symbols/README.md: -------------------------------------------------------------------------------- 1 | # Powerline Symbols 2 | 3 | For more information have a look at the upstream website: https://github.com/powerline/powerline 4 | 5 | ## Source modified 6 | 7 | * Glyph 0xE0B0 and 0xE0B2 got an additional 7% strip on their straight side. 8 | 9 | Version: 1.000 (from about 2013) 10 | -------------------------------------------------------------------------------- /FontPatcher/src/glyphs/weather-icons/weathericons-regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/src/glyphs/weather-icons/weathericons-regular-webfont.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Bitter.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Bitter.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Dotness.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Dotness.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/DroidSans.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/FiraCode.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/FiraCode.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/GreatVibes.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/GreatVibes.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Hack.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Hack.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Lato.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Lato.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Lobster.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Lobster.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Merriweather.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Merriweather.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/MiSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/MiSans.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Montserrat.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Montserrat.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/NotoSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/NotoSans.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/OpenSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/OpenSans.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Pacifico.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Pacifico.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Quicksand.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Quicksand.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Raleway.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Raleway.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/Roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/Roboto.ttf -------------------------------------------------------------------------------- /FontPatcher/unpatched-fonts/SourceCodePro.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/FontPatcher/unpatched-fonts/SourceCodePro.ttf -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | gem "fastlane" 3 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /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 | -dontwarn javax.annotation.processing.Processor 24 | -dontwarn javax.annotation.processing.AbstractProcessor 25 | -dontwarn javax.annotation.processing.SupportedOptions -------------------------------------------------------------------------------- /app/src/main/java/com/github/creativecodecat/components/views/FontAppCompatTextView.kt: -------------------------------------------------------------------------------- 1 | package com.github.creativecodecat.components.views 2 | 3 | import android.content.Context 4 | import android.graphics.Typeface 5 | import android.util.AttributeSet 6 | import androidx.appcompat.widget.AppCompatTextView 7 | import com.github.droidworksstudio.mlauncher.helper.CustomFontView 8 | import com.github.droidworksstudio.mlauncher.helper.FontManager 9 | 10 | 11 | class FontAppCompatTextView @JvmOverloads constructor( 12 | context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 13 | ) : AppCompatTextView(context, attrs, defStyleAttr), CustomFontView { 14 | 15 | init { 16 | FontManager.register(this) 17 | } 18 | 19 | override fun applyFont(typeface: Typeface?) { 20 | this.typeface = typeface 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/creativecodecat/components/views/FontAutoCompleteTextView.kt: -------------------------------------------------------------------------------- 1 | package com.github.creativecodecat.components.views 2 | 3 | import android.content.Context 4 | import android.graphics.Typeface 5 | import android.util.AttributeSet 6 | import android.util.Log 7 | import androidx.appcompat.widget.AppCompatAutoCompleteTextView 8 | import com.github.droidworksstudio.mlauncher.helper.CustomFontView 9 | import com.github.droidworksstudio.mlauncher.helper.FontManager 10 | 11 | class FontAutoCompleteTextView @JvmOverloads constructor( 12 | context: Context, 13 | attrs: AttributeSet? = null, 14 | defStyleAttr: Int = android.R.attr.autoCompleteTextViewStyle 15 | ) : AppCompatAutoCompleteTextView(context, attrs, defStyleAttr), CustomFontView { 16 | 17 | init { 18 | try { 19 | FontManager.register(this) 20 | applyFont(FontManager.getTypeface(context)) 21 | } catch (e: Exception) { 22 | Log.e("FontAutoCompleteTextView", "Font application failed", e) 23 | } 24 | } 25 | 26 | override fun applyFont(typeface: Typeface?) { 27 | try { 28 | if (typeface != null) { 29 | setTypeface(typeface, Typeface.NORMAL) 30 | } 31 | } catch (e: Exception) { 32 | Log.e("FontAutoCompleteTextView", "Failed to apply typeface", e) 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/creativecodecat/components/views/FontEditText.kt: -------------------------------------------------------------------------------- 1 | package com.github.creativecodecat.components.views 2 | 3 | import android.content.Context 4 | import android.graphics.Typeface 5 | import android.util.AttributeSet 6 | import android.util.Log 7 | import androidx.appcompat.widget.AppCompatEditText 8 | import com.github.droidworksstudio.mlauncher.helper.CustomFontView 9 | import com.github.droidworksstudio.mlauncher.helper.FontManager 10 | 11 | class FontEditText @JvmOverloads constructor( 12 | context: Context, 13 | attrs: AttributeSet? = null 14 | ) : AppCompatEditText(context, attrs), CustomFontView { 15 | 16 | init { 17 | try { 18 | FontManager.register(this) 19 | applyFont(FontManager.getTypeface(context)) 20 | } catch (e: Exception) { 21 | Log.e("FontEditText", "Font init failed", e) 22 | } 23 | } 24 | 25 | override fun applyFont(typeface: Typeface?) { 26 | try { 27 | if (typeface != null) { 28 | setTypeface(typeface, Typeface.NORMAL) 29 | } 30 | } catch (e: Exception) { 31 | Log.e("FontEditText", "applyFont failed", e) 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/creativecodecat/components/views/FontSearchView.kt: -------------------------------------------------------------------------------- 1 | package com.github.creativecodecat.components.views 2 | 3 | import android.content.Context 4 | import android.graphics.Typeface 5 | import android.util.AttributeSet 6 | import android.util.Log 7 | import android.widget.EditText 8 | import androidx.appcompat.widget.SearchView 9 | import com.github.droidworksstudio.mlauncher.helper.CustomFontView 10 | import com.github.droidworksstudio.mlauncher.helper.FontManager 11 | 12 | class FontSearchView @JvmOverloads constructor( 13 | context: Context, 14 | attrs: AttributeSet? = null 15 | ) : SearchView(context, attrs), CustomFontView { 16 | 17 | private var searchEditText: EditText? = null 18 | 19 | init { 20 | try { 21 | // Get the internal EditText used for input 22 | searchEditText = findViewById(androidx.appcompat.R.id.search_src_text) 23 | FontManager.register(this) // Register for global font updates 24 | applyFont(FontManager.getTypeface(context)) // Apply font on init 25 | } catch (e: Exception) { 26 | Log.e("FontSearchView", "Font init error", e) 27 | } 28 | } 29 | 30 | override fun applyFont(typeface: Typeface?) { 31 | try { 32 | searchEditText?.typeface = typeface 33 | } catch (e: Exception) { 34 | Log.e("FontSearchView", "Failed to apply font", e) 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/creativecodecat/components/views/FontTextClock.kt: -------------------------------------------------------------------------------- 1 | package com.github.creativecodecat.components.views 2 | 3 | import android.content.Context 4 | import android.graphics.Typeface 5 | import android.util.AttributeSet 6 | import android.widget.TextClock 7 | import com.github.droidworksstudio.mlauncher.helper.CustomFontView 8 | import com.github.droidworksstudio.mlauncher.helper.FontManager 9 | 10 | class FontTextClock @JvmOverloads constructor( 11 | context: Context, attrs: AttributeSet? = null 12 | ) : TextClock(context, attrs), CustomFontView { 13 | 14 | init { 15 | FontManager.register(this) 16 | } 17 | 18 | override fun applyFont(typeface: Typeface?) { 19 | this.typeface = typeface 20 | } 21 | } 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/common/ViewExtensions.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.common 2 | 3 | import android.content.Context 4 | import android.view.View 5 | import android.view.inputmethod.InputMethodManager 6 | 7 | 8 | fun View.showKeyboard() { 9 | if (this.requestFocus()) { 10 | val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager 11 | // Show the soft keyboard 12 | imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT) 13 | } 14 | } 15 | 16 | fun View.hideKeyboard() { 17 | val imm: InputMethodManager? = 18 | context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager? 19 | imm?.hideSoftInputFromWindow(windowToken, 0) 20 | this.clearFocus() 21 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/common/share/ShareAppAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.common.share 2 | 3 | import android.view.LayoutInflater 4 | import android.view.View 5 | import android.view.ViewGroup 6 | import android.widget.ImageView 7 | import android.widget.TextView 8 | import androidx.recyclerview.widget.RecyclerView 9 | import com.github.droidworksstudio.mlauncher.R 10 | 11 | class ShareAppAdapter( 12 | private val apps: List, 13 | private val onClick: (ShareAppInfo) -> Unit 14 | ) : RecyclerView.Adapter() { 15 | 16 | inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { 17 | val icon: ImageView = view.findViewById(R.id.app_icon) 18 | val label: TextView = view.findViewById(R.id.app_label) 19 | } 20 | 21 | override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { 22 | val view = LayoutInflater.from(parent.context) 23 | .inflate(R.layout.item_share_app, parent, false) 24 | return ViewHolder(view) 25 | } 26 | 27 | override fun getItemCount(): Int = apps.size 28 | 29 | override fun onBindViewHolder(holder: ViewHolder, position: Int) { 30 | val app = apps[position] 31 | holder.icon.setImageDrawable(app.icon) 32 | holder.label.text = app.label 33 | holder.itemView.setOnClickListener { onClick(app) } 34 | } 35 | } 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/common/share/ShareAppInfo.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.common.share 2 | 3 | import android.content.Intent 4 | import android.graphics.drawable.Drawable 5 | 6 | data class ShareAppInfo( 7 | val label: String, 8 | val icon: Drawable, 9 | val launchIntent: Intent 10 | ) 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/data/Message.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.data 2 | 3 | import com.squareup.moshi.JsonClass 4 | 5 | @JsonClass(generateAdapter = true) 6 | data class Message( 7 | var text: String, 8 | var timestamp: String, 9 | var category: String, 10 | var priority: String 11 | ) 12 | 13 | @JsonClass(generateAdapter = true) 14 | data class MessageWrong( 15 | var a: String, 16 | var b: String, 17 | var c: String, 18 | var d: String 19 | ) 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/helper/receivers/PrivateSpaceReceiver.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.helper.receivers 2 | 3 | import android.content.BroadcastReceiver 4 | import android.content.Context 5 | import android.content.Intent 6 | import com.github.droidworksstudio.common.getLocalizedString 7 | import com.github.droidworksstudio.common.showLongToast 8 | import com.github.droidworksstudio.mlauncher.R 9 | 10 | class PrivateSpaceReceiver : BroadcastReceiver() { 11 | override fun onReceive(context: Context, intent: Intent?) { 12 | // Check if the received action is for managed profile availability 13 | if (intent?.action == Intent.ACTION_PROFILE_AVAILABLE) { 14 | // Handle the event when the managed profile is available 15 | context.showLongToast(getLocalizedString(R.string.toast_private_space_unlocked)) 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/helper/utils/AppDiffCallback.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.helper.utils 2 | 3 | import androidx.recyclerview.widget.DiffUtil 4 | import com.github.droidworksstudio.mlauncher.data.AppListItem 5 | 6 | // DiffUtil for efficiently handling list updates 7 | class AppDiffCallback( 8 | private val oldList: List, 9 | private val newList: List 10 | ) : DiffUtil.Callback() { 11 | 12 | override fun getOldListSize(): Int = oldList.size 13 | 14 | override fun getNewListSize(): Int = newList.size 15 | 16 | override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { 17 | return oldList[oldItemPosition].activityPackage == newList[newItemPosition].activityPackage 18 | } 19 | 20 | override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { 21 | return oldList[oldItemPosition] == newList[newItemPosition] 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/helper/utils/AppReloader.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.helper.utils 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import androidx.lifecycle.ProcessLifecycleOwner 6 | import androidx.lifecycle.lifecycleScope 7 | import kotlinx.coroutines.CoroutineScope 8 | import kotlinx.coroutines.Dispatchers 9 | import kotlinx.coroutines.delay 10 | import kotlinx.coroutines.launch 11 | 12 | object AppReloader { 13 | fun restartApp(context: Context) { 14 | val packageManager = context.packageManager 15 | val intent = packageManager.getLaunchIntentForPackage(context.packageName) 16 | val componentName = intent?.component 17 | val mainIntent = Intent.makeRestartActivityTask(componentName) 18 | 19 | // Use a lifecycle-aware global scope for the app 20 | val appScope: CoroutineScope = ProcessLifecycleOwner.get().lifecycleScope 21 | 22 | appScope.launch(Dispatchers.Main) { 23 | delay(100) 24 | context.startActivity(mainIntent) 25 | Runtime.getRuntime().exit(0) // Forcefully terminates the current process 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/helper/utils/MutableLists.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.helper.utils 2 | 3 | import android.content.Intent 4 | import com.github.droidworksstudio.mlauncher.data.Message 5 | 6 | // Lists 7 | val initialIntents = mutableListOf() 8 | 9 | val messages = mutableListOf() 10 | 11 | val packageNames = mutableListOf() 12 | 13 | val visibleHideLayouts = mutableListOf() 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/init/MlauncherInitProvider.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.init 2 | 3 | import android.content.ContentProvider 4 | import android.content.ContentValues 5 | import android.database.Cursor 6 | import android.net.Uri 7 | import com.github.droidworksstudio.mlauncher.Mlauncher 8 | 9 | class MlauncherInitProvider : ContentProvider() { 10 | 11 | override fun onCreate(): Boolean { 12 | val context = context?.applicationContext ?: return false 13 | Mlauncher.initialize(context) 14 | return true 15 | } 16 | 17 | override fun query(uri: Uri, projection: Array?, selection: String?, selectionArgs: Array?, sortOrder: String?): Cursor? = 18 | null 19 | 20 | override fun insert(uri: Uri, values: ContentValues?): Uri? = null 21 | override fun delete(uri: Uri, selection: String?, selectionArgs: Array?): Int = 0 22 | override fun update(uri: Uri, values: ContentValues?, selection: String?, selectionArgs: Array?): Int = 0 23 | override fun getType(uri: Uri): String? = null 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/style/Color.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.style 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val textLightHeader = Color(0xFF1A3C91) 6 | val textDarkHeader = Color(0xFF7CAEFF) 7 | val textLight = Color(0xFFFFFFFF) 8 | val textDark = Color(0xFF000000) 9 | val textGray = Color(0xFF858585) 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/ui/onboarding/OnboardingActivity.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.ui.onboarding 2 | 3 | import android.os.Bundle 4 | import android.view.WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 5 | import androidx.appcompat.app.AppCompatActivity 6 | import com.github.droidworksstudio.common.CrashHandler 7 | import com.github.droidworksstudio.mlauncher.R 8 | 9 | class OnboardingActivity : AppCompatActivity() { 10 | 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | // Initialize com.github.droidworksstudio.common.CrashHandler to catch uncaught exceptions 14 | Thread.setDefaultUncaughtExceptionHandler(CrashHandler(applicationContext)) 15 | 16 | setContentView(R.layout.activity_onboarding) 17 | 18 | // Load the OnboardingFragment dynamically 19 | supportFragmentManager.beginTransaction() 20 | .replace(R.id.fragmentContainer, OnboardingFragment()) // FragmentContainer is a FrameLayout or other container in the activity layout 21 | .commit() 22 | 23 | window.addFlags(FLAG_LAYOUT_NO_LIMITS) 24 | } 25 | } 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/droidworksstudio/mlauncher/ui/onboarding/OnboardingAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.github.droidworksstudio.mlauncher.ui.onboarding 2 | 3 | import androidx.fragment.app.Fragment 4 | import androidx.viewpager2.adapter.FragmentStateAdapter 5 | import com.github.droidworksstudio.mlauncher.R 6 | 7 | class OnboardingAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { 8 | 9 | // Return the number of pages 10 | override fun getItemCount(): Int = 4 // Total number of pages in the onboarding flow 11 | 12 | // Return the corresponding fragment for each page 13 | override fun createFragment(position: Int): Fragment { 14 | return when (position) { 15 | 0 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_one) 16 | 1 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_two) 17 | 2 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_three) 18 | 3 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_four) 19 | else -> throw IllegalArgumentException("Invalid page position: $position") 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/play_store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/play_store.png -------------------------------------------------------------------------------- /app/src/main/play_store_features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/play_store_features.png -------------------------------------------------------------------------------- /app/src/main/res/anim/item_anim_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 13 | 14 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/anim/layout_anim_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_battery25.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_battery50.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | 15 | 16 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_battery75.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | 15 | 16 | 20 | 21 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/cloud_dots_icon.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/edittext_box.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_advanced.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_info.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_back.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_browser.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_camera.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 18 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_copy.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_current_page.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_delete.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_donation_github.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_donation_liberapay.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_exit.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_favorite.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_feature.xml: -------------------------------------------------------------------------------- 1 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_help_feedback.xml: -------------------------------------------------------------------------------- 1 | 7 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_hidden.xml: -------------------------------------------------------------------------------- 1 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_info.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_location.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_look_feel.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_messages.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_new_page.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_notes.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_order_apps.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_phone.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_photos.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_rename.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_send.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_usage.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/launcher_dot_icon.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/message_bubble_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/niagara_dot_icon.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/pin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/pin_off.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/spinner_dots_icon.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/text_colors_default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/text_colors_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/visibility.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/work_profile.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/font/bank_gothic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/bank_gothic.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/bitter.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/bitter.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/doto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/doto.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/droid_sans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/droid_sans.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/fira_code.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/fira_code.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/great_vibes.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/great_vibes.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/hack.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/hack.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/lato.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/lato.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/lobster.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/lobster.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/merriweather.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/merriweather.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/mi_sans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/mi_sans.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/montserrat.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/montserrat.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/noto_sans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/noto_sans.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/open_sans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/open_sans.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/pacifico.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/pacifico.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/quicksand.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/quicksand.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/raleway.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/raleway.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/roboto.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/source_code_pro.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/app/src/main/res/font/source_code_pro.ttf -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_onboarding.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_edit_task.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 19 | 20 | 21 | 26 | 27 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_single_choice.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 20 | 21 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_favorite.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 20 | 21 | 28 | 29 | 30 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_onboarding.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/home_app_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_share_app.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 16 | 17 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_single_choice.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/languages.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-de-rDE/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabisch 4 | Niederländisch 5 | Englisch 6 | Französisch 7 | Deutsch 8 | Hebräisch 9 | Italienisch 10 | Japanisch 11 | Koreanisch 12 | Litauisch 13 | Polnisch 14 | Portugiesisch 15 | Russisch 16 | Slowakisch 17 | Spanisch 18 | Thai 19 | Türkisch 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Árabe 4 | Holandés 5 | Inglés 6 | Francés 7 | Alemán 8 | Hebreo 9 | Italiano 10 | Japonés 11 | Coreano 12 | Lituano 13 | Polaco 14 | portugués 15 | Ruso 16 | eslovaco 17 | Español 18 | tailandés 19 | Turco 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr-rFR/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabe 4 | Néerlandais 5 | anglais 6 | français 7 | Allemand 8 | Hébreu 9 | Italien 10 | Japonais 11 | Coréen 12 | Lituanien 13 | polonais 14 | portugais 15 | Russe 16 | slovaque 17 | espagnol 18 | thaïlandais 19 | turc 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-hdpi/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20sp 4 | 16sp 5 | 12sp 6 | 8dp 7 | 6dp 8 | 32sp 9 | 16sp 10 | 14sp 11 | 14sp 12 | 54dp 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-it-rIT/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabo 4 | Olandese 5 | Inglese 6 | Francese 7 | Tedesco 8 | Ebraico 9 | Italiano 10 | Giapponese 11 | Coreano 12 | Lituano 13 | Polacco 14 | portoghese 15 | Russo 16 | Slovacco 17 | Spagnolo 18 | tailandese 19 | Turco 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-iw-rIL/languages.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-ja-rJP/languages.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-ko-rKR/languages.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-ldpi/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20sp 4 | 14sp 5 | 12sp 6 | 8dp 7 | 6dp 8 | 32sp 9 | 14sp 10 | 12sp 11 | 12sp 12 | 54dp 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-lt-rLT/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabų kalba 4 | olandų 5 | Anglų kalba 6 | Prancūzų kalba 7 | Vokiečių kalba 8 | Hebrajų kalba 9 | Italų kalba 10 | Japonų kalba 11 | Korėjiečių kalba 12 | Lietuvių kalba 13 | Lenkų kalba 14 | portugalų 15 | Rusų kalba 16 | slovakų 17 | Ispanų kalba 18 | tajų 19 | Turkų kalba 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-mdpi/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20sp 4 | 14sp 5 | 12sp 6 | 8dp 7 | 6dp 8 | 32sp 9 | 14sp 10 | 12sp 11 | 12sp 12 | 54dp 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl-rNL/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabisch 4 | Nederlands 5 | Engels 6 | Frans 7 | Duitser 8 | Hebreeuws 9 | Italiaans 10 | Japanse 11 | Koreaans 12 | Litouws 13 | Pools 14 | Portugees 15 | Russisch 16 | Slowaaks 17 | Spaans 18 | Thais 19 | Turks 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | arabski 4 | Holenderski 5 | Anglik 6 | Francuzi 7 | Niemiec 8 | Hebrajski 9 | Włoch 10 | Japończyk 11 | Koreańczyk 12 | Litwin 13 | polski 14 | portugalski 15 | Rosjanin 16 | Słowacki 17 | Hiszpan 18 | tajski 19 | Turek 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | árabe 4 | Holandês 5 | Inglês 6 | Francês 7 | Alemão 8 | Hebraico 9 | Italiano 10 | Japonês 11 | Coreano 12 | Lituano 13 | Polaco 14 | Português 15 | Russo 16 | Eslovaco 17 | Espanhol 18 | tailandês 19 | Turco 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/languages.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-sk-rSK/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabský 4 | holandský 5 | Anglický 6 | Francúzsky 7 | Nemecky 8 | Hebrejsky 9 | Taliansky 10 | Japonsky 11 | Kórejský 12 | Litovský 13 | Poľský 14 | portugalčina 15 | Ruský 16 | Slovensky 17 | Španielsky 18 | thajčina 19 | Turecký 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/languages.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-tr-rTR/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arapça 4 | Flemenkçe 5 | İngilizce 6 | Fransızca 7 | Almanca 8 | İbranice 9 | İtalyanca 10 | Japonca 11 | Korece 12 | Litvanyaca 13 | Lehçe 14 | Portekizce 15 | Rusça 16 | Slovakça 17 | İspanyolca 18 | Tayca 19 | Türkçe 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values-xhdpi/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 22sp 4 | 16sp 5 | 10dp 6 | 8dp 7 | 32sp 8 | 16sp 9 | 14sp 10 | 14sp 11 | 54dp 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-xxhdpi/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 26sp 4 | 18sp 5 | 12dp 6 | 10dp 7 | 44sp 8 | 18sp 9 | 16sp 10 | 16sp 11 | 54dp 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-xxxhdpi/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 34sp 4 | 20sp 5 | 14dp 6 | 12dp 7 | 54sp 8 | 22sp 9 | 20sp 10 | 20sp 11 | 54dp 12 | 13 | -------------------------------------------------------------------------------- /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 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/values/languages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arabic 4 | Dutch 5 | English 6 | French 7 | German 8 | Hebrew 9 | Italian 10 | Japanese 11 | Korean 12 | Lithuanian 13 | Polish 14 | Portuguese 15 | Russian 16 | Slovak 17 | Spanish 18 | Thai 19 | Turkish 20 | -------------------------------------------------------------------------------- /app/src/main/res/xml/accessibility_service_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 10 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/xml/blacklist.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/xml/donations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/xml/theme.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | alias(libs.plugins.android.application) apply false 3 | alias(libs.plugins.android.library) apply false 4 | alias(libs.plugins.jetbrains.kotlin.android) apply false 5 | alias(libs.plugins.compose.compiler) apply false 6 | } -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | pull_request_title: 'Lang: Updated Language Files.' 2 | files: 3 | - source: /app/src/main/res/values/strings.xml 4 | translation: /app/src/main/res/values-%android_code%/%original_file_name% 5 | - source: /app/src/main/res/values/languages.xml 6 | translation: /app/src/main/res/values-%android_code%/%original_file_name% 7 | - source: /app/src/main/res/values/wordoftheday.xml 8 | translation: /app/src/main/res/values-%android_code%/%original_file_name% 9 | - source: /fastlane/metadata/android/en-US/*.txt 10 | translation: /fastlane/metadata/android/%locale%/%original_file_name% 11 | -------------------------------------------------------------------------------- /fastlane/Appfile: -------------------------------------------------------------------------------- 1 | json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one 2 | package_name("app.mlauncher") 3 | -------------------------------------------------------------------------------- /fastlane/Fastfile: -------------------------------------------------------------------------------- 1 | # This file contains the fastlane.tools configuration 2 | # You can find the documentation at https://docs.fastlane.tools 3 | # 4 | # For a list of all available actions, check out 5 | # 6 | # https://docs.fastlane.tools/actions 7 | # 8 | # For a list of all available plugins, check out 9 | # 10 | # https://docs.fastlane.tools/plugins/available-plugins 11 | # 12 | 13 | # Uncomment the line if you want fastlane to automatically update itself 14 | # update_fastlane 15 | 16 | default_platform(:android) 17 | 18 | platform :android do 19 | lane :r do 20 | gradle( 21 | task: 'assemble', 22 | build_type: 'Release' 23 | ) 24 | end 25 | 26 | lane :d do 27 | gradle( 28 | task: 'assemble', 29 | build_type: 'Debug' 30 | ) 31 | end 32 | 33 | desc "Deploy a new version to the Google Play" 34 | lane :deploy do 35 | gradle(task: "clean assembleRelease") 36 | upload_to_play_store 37 | end 38 | end 39 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/short_description.txt: -------------------------------------------------------------------------------- 1 | مشغل متعدد ‧ مشغل الشاشة الرئيسية والطقس وواجهة المستخدم البسيطة -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/title.txt: -------------------------------------------------------------------------------- 1 | مشغل متعدد ‧ الشاشة الرئيسية -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Startbildschirm, Wetter und minimaler UI-Launcher -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Startbildschirm -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/feature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/feature.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/0.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Home Screen, Weather & Minimal UI Launcher -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Home Screen -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/short_description.txt: -------------------------------------------------------------------------------- 1 | Lanzador múltiple ‧ Pantalla de inicio, clima y lanzador de interfaz minimalista -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Pantalla de inicio -------------------------------------------------------------------------------- /fastlane/metadata/android/fr-FR/short_description.txt: -------------------------------------------------------------------------------- 1 | Lanceur multiple ‧ Écran d'accueil, météo et lanceur d'interface utilisateur minimal -------------------------------------------------------------------------------- /fastlane/metadata/android/fr-FR/title.txt: -------------------------------------------------------------------------------- 1 | Lanceur multiple ‧ Écran d'accueil -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/short_description.txt: -------------------------------------------------------------------------------- 1 | משגר מרובה ‧ מסך בית, מזג אוויר וממשק משתמש מינימליסטי -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/title.txt: -------------------------------------------------------------------------------- 1 | משגר מרובה ‧ מסך בית -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/142.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.2 2 | 3 | Aumento: 4 | [Feature] - Aggiungi opzione per pagine multiple sulla schermata iniziale. 5 | 6 | Correzioni di bug: 7 | [Bug] Filtro Fisso Fuzzy Se Impostato A 0. 8 | 9 | Supporto linguistico: 10 | [Lingua] File di lingua aggiornati. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/143.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.3 2 | 3 | Aumento: 4 | [Funzione] - Aggiunta la possibilità di non dover rinominare le app se già impostate tramite l'elenco delle app. 5 | 6 | Correzioni di bug: 7 | [Bug] - Risolto il problema con la ridenominazione se si rinominava nuovamente con il nome originale. 8 | [Bug] - Risolti i gesti di scorrimento. 9 | 10 | Supporto linguistico: 11 | 12 | [Lingua] File di lingua aggiornati. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/144.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.4 2 | 3 | Aumento: 4 | [Funzione] - Aggiunto un frammento per riordinare le app. 5 | [Caratteristica] - Aggiunta la possibilità di modificare le dimensioni dell'orologio in modo indipendente. 6 | 7 | Supporto linguistico: 8 | 9 | [Lingua] File di lingua aggiornati. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/145.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.5 2 | 3 | Aumento: 4 | 5 | Aggiunto please_select_app alle app della schermata iniziale (#411) 6 | 7 | Correzioni di bug: 8 | 9 | Risolte le impostazioni di riordino (#416) 10 | Correggere lo spazio dei nomi per il progetto 11 | Risolto il problema con FUNDING.yml 12 | 13 | Pubblicazione: 14 | 15 | Aggiorna la versione di rilascio a 145 (v1.4.5) 16 | 17 | Varie: 18 | 19 | Aggiorna changelog.yml 20 | Aggiunti dettagli sull'app 21 | Icona dell'app modificata 22 | Rinomina il cercatore in FuzzyFinder -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/146.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.6 2 | 3 | Miglioramenti: 4 | 5 | Aggiunto un cercapersone nella schermata iniziale (disabilitato per impostazione predefinita) 6 | 7 | Correzioni di bug: 8 | 9 | Consenti alle app HomeScreen di essere impostate su 0 10 | 11 | Documentazione: 12 | 13 | Aggiorna CHANGELOG.md 14 | 15 | Refactoring: 16 | 17 | Codice pulito aggiungendo richiesta di autorizzazione -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/147.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.7 2 | 3 | Correzioni di bug: 4 | 5 | Risolto il problema con la visualizzazione di RENAME in tutte le aree dell'elenco dell'app. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/148.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.8 2 | 3 | Correzioni di bug: 4 | 5 | Risolto il problema con l'elenco delle app in modo che non mostrasse i duplicati quando sono abilitate le app recenti 6 | Risolto il problema con il sistema di backup poiché non funzionava. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/149.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.9 2 | 3 | Miglioramenti implementati: 4 | 5 | Rinnovato il menu contestuale dell'app 6 | 7 | Correzioni di bug: 8 | 9 | Corretta l'icona dell'app fDroid per la prossima versione. 10 | Aggiunte le impostazioni rapide per ignorare 11 | Carattere nerd aggiornato 12 | 13 | Supporto linguistico: 14 | 15 | File di lingua aggiornati. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/150.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.5.0 2 | 3 | Miglioramenti implementati: 4 | 5 | Aggiunto un pulsante aggiuntivo per la sezione Backup delle impostazioni. 6 | Aggiunta la ricerca Yahoo Brave e Bing. 7 | 8 | Supporto linguistico: 9 | 10 | File di lingua aggiornati. 11 | 12 | Refactoring: 13 | 14 | Elimina le voci duplicate nell'elenco delle applicazioni quando aggiungi un profilo di lavoro. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/151.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.5.1 2 | 3 | Supporto linguistico: 4 | 5 | File di lingua aggiornati. 6 | 7 | Refactoring: 8 | 9 | Design migliorato delle icone delle app grazie all'aggiornamento a un'icona visivamente più accattivante. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/changelogs/74.txt: -------------------------------------------------------------------------------- 1 | Versione: 1.4.1 2 | 3 | Miglioramenti: 4 | [Caratteristica] - Aggiunti gesti di scorrimento a pressione prolungata. 5 | 6 | Supporto linguistico: 7 | [Lingua] File di lingua aggiornati. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Schermata iniziale, meteo e launcher con interfaccia utente minima -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Schermata iniziale -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/142.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.2 2 | 3 | 強化: 4 | [Feature] - ホーム画面上の複数のページのオプションを追加。 5 | 6 | バグの修正: 7 | [Bug] 0を0に設定するとファジィフィルタを修正。 8 | 9 | 言語サポート: 10 | [言語] 言語ファイルを更新しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/143.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.3 2 | 3 | 強化: 4 | [機能] - アプリリストで既に設定されているアプリの名前を変更する必要がない機能を追加しました。 5 | 6 | バグの修正: 7 | [バグ] - 名前を元の名前に戻す場合の名前変更を修正しました。 8 | [バグ] - スワイプジェスチャーを修正しました。 9 | 10 | 言語サポート: 11 | 12 | [言語] 言語ファイルを更新しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/144.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.4 2 | 3 | 強化: 4 | [機能] - アプリの再注文用のフラグメントを追加しました。 5 | [機能] - クロックサイズを個別に変更できる機能を追加しました。 6 | 7 | 言語サポート: 8 | 9 | [言語] 言語ファイルを更新しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/145.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.5 2 | 3 | 強化: 4 | 5 | ホーム画面のアプリに please_select_app を追加しました (#411) 6 | 7 | バグの修正: 8 | 9 | 並べ替え設定を修正しました (#416) 10 | プロジェクトの名前空間を修正する 11 | FUNDING.ymlを修正 12 | 13 | リリース: 14 | 15 | リリース バージョンを 145 (v1.4.5) に更新します。 16 | 17 | その他: 18 | 19 | changelog.yml を更新する 20 | 追加されたアプリの詳細 21 | アプリアイコンを変更しました 22 | ファインダーの名前を FuzzyFinder に変更します -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/146.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.6 2 | 3 | 機能強化: 4 | 5 | ホーム画面のページャーを追加しました(デフォルトでは無効) 6 | 7 | バグの修正: 8 | 9 | ホームスクリーン アプリを 0 に設定できるようにする 10 | 11 | ドキュメンテーション: 12 | 13 | CHANGELOG.md を更新 14 | 15 | リファクタリング: 16 | 17 | 許可要求を追加するコードをクリーンアップしました -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/147.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.7 2 | 3 | バグの修正: 4 | 5 | RENAME がアプリのすべてのリスト領域に表示されるのを修正しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/148.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.8 2 | 3 | バグの修正: 4 | 5 | 最近使ったアプリが有効になっているときに重複したアプリが表示されないようにアプリリストを修正しました 6 | バックアップシステムが動作していなかったため修正しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/149.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.9 2 | 3 | 実装された機能強化: 4 | 5 | アプリのコンテキストメニューを刷新 6 | 7 | バグの修正: 8 | 9 | 次のリリースに向けて fDroid アプリのアイコンを修正しました。 10 | クイック設定バイパスバックを追加 11 | 更新されたオタクフォント 12 | 13 | 言語サポート: 14 | 15 | 言語ファイルを更新しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/150.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.5.0 2 | 3 | 実装された機能強化: 4 | 5 | 設定のバックアップセクションに追加のボタンを追加しました。 6 | Yahoo Brave と Bing 検索を追加しました。 7 | 8 | 言語サポート: 9 | 10 | 言語ファイルを更新しました。 11 | 12 | リファクタリング: 13 | 14 | 仕事用プロファイルを追加するときに、アプリリスト内の重複エントリを削除します。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/151.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.5.1 2 | 3 | 言語サポート: 4 | 5 | 言語ファイルを更新しました。 6 | 7 | リファクタリング: 8 | 9 | より視覚的に魅力的なアイコンに更新することで、アプリ アイコンのデザインが改善されました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/changelogs/74.txt: -------------------------------------------------------------------------------- 1 | バージョン: 1.4.1 2 | 3 | 機能強化: 4 | [機能] - 長押しスワイプジェスチャを追加しました。 5 | 6 | 言語サポート: 7 | [言語] 言語ファイルを更新しました。 -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/full_description.txt: -------------------------------------------------------------------------------- 1 |

マルチランチャー: 読みやすさと操作性を重視して設計された、シンプルでクリーンな Android ランチャー

2 | 3 |

煩雑さを省いて簡単に使えるランチャーをお探しですか? マルチランチャー は、小さなアイコンを明確で読みやすいテキストボタンに置き換え、携帯電話の操作を容易にする、強力でありながらミニマリストな Android ランチャーです。

4 | 5 |

シンプルなホーム画面が必要な場合でも、視認性を高めるために大きなテキストが必要な場合でも、ジェスチャーベースの素早いアクションを好む場合でも、Multi Launcher を使用すると、オプションを多用することなく、完全な制御が可能になります。

6 | 7 |

マルチランチャーを選ぶ理由

8 |
    9 |
  • テキストベースのランチャー: わかりにくいアイコンはありません。アプリにはラベル付きのテキスト ボタンだけが表示されます。
  • 10 |
  • 高度なカスタマイズが可能: レイアウト、フォント サイズ、時計の位置などを調整します。
  • 11 |
  • クイック ジェスチャ: タップ、スワイプ、ロング スワイプを使用して、アプリを開いたり、画面をロックしたり、通知にアクセスしたりします。
  • 12 |
  • 安全: 設定とプライバシーのための生体認証ロック。
  • 13 |
  • 高齢者やシンプルさを好む方に最適: 読みやすく、使いやすく、カスタマイズしやすい。
  • 14 |
15 | 16 |

主な特徴:

17 |
    18 |
  • カスタム アプリ名: アプリの名前を、自分のイメージに合うように変更します。
  • 19 |
  • 柔軟なレイアウト: 自分に合った方法でアプリを整理します。
  • 20 |
  • 時計と日付のカスタマイズ: ウィジェットを好きな場所に配置できます。
  • 21 |
  • アプリ使用状況分析: 各アプリに費やした時間を確認します。
  • 22 |
  • ジェスチャーショートカット: ダブルタップ、スワイプなどのカスタムアクションを設定します。
  • 23 |
24 | 25 |

アクセシビリティ機能:

26 |

このアプリは AccessibilityService API を使用して次のことを行います:

27 |
    28 |
  • ジェスチャーで画面をロックします
  • 29 |
  • 電源メニューを開く
  • 30 |
  • 通知ドロワーを下に引いてください
  • 31 |
32 | 33 |

Multi Launcher はあなたのプライバシーを尊重します。 これらの機能は個人データを収集または共有しません。

34 | 35 |

派手で雑然としたランチャーに飽きて、シンプルでスタイリッシュ、そして機能的なものを求めているなら、 マルチランチャー が完璧なホーム画面ソリューションです。

36 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/short_description.txt: -------------------------------------------------------------------------------- 1 | マルチランチャー‧ホーム画面、天気、最小限のUIランチャー -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/title.txt: -------------------------------------------------------------------------------- 1 | マルチランチャー‧ホーム画面 -------------------------------------------------------------------------------- /fastlane/metadata/android/ko-KR/full_description.txt: -------------------------------------------------------------------------------- 1 |

멀티 런처: 가독성과 제어를 위해 제작된 깔끔하고 간단한 안드로이드 런처

2 | 3 |

복잡함을 없애고 간편하게 사용할 수 있는 런처를 찾고 계신가요? 멀티 런처 는 작은 아이콘을 명확하고 읽기 쉬운 텍스트 버튼으로 대체하여 휴대전화를 더 쉽게 탐색할 수 있도록 하는 강력하면서도 미니멀한 안드로이드 런처입니다.

4 | 5 |

간단한 홈 화면을 원하든, 눈에 잘 띄도록 큰 텍스트가 필요하든, 아니면 제스처 기반의 빠른 동작을 선호하든, Multi Launcher는 너무 많은 옵션 없이 완벽한 제어 기능을 제공합니다.

6 | 7 |

왜 멀티 런처를 선택해야 하나요?

8 |
    9 |
  • 텍스트 기반 런처: 헷갈리는 아이콘은 없습니다. 앱에 맞는 라벨이 붙은 텍스트 버튼만 있습니다.
  • 10 |
  • 높은 수준의 사용자 정의 가능: 레이아웃, 글꼴 크기, 시계 위치 등을 조정합니다.
  • 11 |
  • 빠른 제스처: 탭, 스와이프, 길게 스와이프를 사용하여 앱을 열고, 화면을 잠그고, 알림에 액세스하세요.
  • 12 |
  • 보안: 설정 및 개인 정보 보호를 위한 생체 인식 잠금.
  • 13 |
  • 노년층이나 단순함을 좋아하는 사람에게 적합: 읽기, 사용, 사용자 지정이 쉽습니다.
  • 14 |
15 | 16 |

주요 기능:

17 |
    18 |
  • 사용자 지정 앱 이름: 앱의 이름을 내가 생각하는 대로 변경하세요.
  • 19 |
  • 유연한 레이아웃: 사용자에게 맞는 방식으로 앱을 구성하세요.
  • 20 |
  • 시계 및 날짜 사용자 지정: 위젯을 원하는 곳에 배치하세요.
  • 21 |
  • 앱 사용 정보: 각 앱에서 얼마나 많은 시간을 사용하는지 확인하세요.
  • 22 |
  • 제스처 단축키: 두 번 탭, 스와이프 등에 대한 사용자 지정 동작을 설정합니다.
  • 23 |
24 | 25 |

접근성 기능:

26 |

이 앱은 AccessibilityService API 를 사용하여 다음을 수행합니다.

27 |
    28 |
  • 제스처로 화면 잠금
  • 29 |
  • 전원 메뉴를 엽니다
  • 30 |
  • 알림 서랍을 아래로 당기세요
  • 31 |
32 | 33 |

멀티 런처는 귀하의 개인정보를 존중합니다. 이러한 기능은 개인 데이터를 수집하거나 공유하지 않습니다.

34 | 35 |

화려하고 복잡한 런처에 지쳐 간단하고, 세련되고, 강력한 기능을 원하신다면 멀티 런처 가 완벽한 홈 화면 솔루션입니다.

36 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ko-KR/short_description.txt: -------------------------------------------------------------------------------- 1 | 멀티 런처 ‧ 홈 화면, 날씨 및 미니멀 UI 런처 -------------------------------------------------------------------------------- /fastlane/metadata/android/ko-KR/title.txt: -------------------------------------------------------------------------------- 1 | 멀티 런처 ‧ 홈 화면 -------------------------------------------------------------------------------- /fastlane/metadata/android/lt-LT/short_description.txt: -------------------------------------------------------------------------------- 1 | Kelių langų paleidėjas ‧ Pradinis ekranas, orų prognozė ir minimalistinės sąsajos paleidėjas -------------------------------------------------------------------------------- /fastlane/metadata/android/lt-LT/title.txt: -------------------------------------------------------------------------------- 1 | Kelių paleidėjų programa ‧ Pradinis ekranas -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/142.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.2 2 | 3 | Verbetering: 4 | [Feature] - Voeg optie toe voor meerdere pagina's op het startscherm. 5 | 6 | Bugfixes: 7 | [Bug] Vast Fuzzy Filter indien ingesteld op 0. 8 | 9 | Taalondersteuning: 10 | [Taal] Bijgewerkte taalbestanden. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/143.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.3 2 | 3 | Verbetering: 4 | [Feature] - De mogelijkheid toegevoegd om apps niet te hernoemen als deze al zijn ingesteld via de app-lijst. 5 | 6 | Bugfixes: 7 | [Bug] - Hernoemen opgelost bij hernoemen naar de oorspronkelijke naam. 8 | [Bug] - De veegbewegingen zijn opgelost. 9 | 10 | Taalondersteuning: 11 | 12 | [Taal] Bijgewerkte taalbestanden. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/144.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.4 2 | 3 | Verbetering: 4 | [Feature] - Een fragment toegevoegd voor het opnieuw bestellen van apps. 5 | [Feature] - De mogelijkheid toegevoegd om de klokgrootte onafhankelijk te wijzigen. 6 | 7 | Taalondersteuning: 8 | 9 | [Taal] Bijgewerkte taalbestanden. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/145.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.5 2 | 3 | Verbetering: 4 | 5 | Please_select_app toegevoegd aan de startscherm-apps (#411) 6 | 7 | Bugfixes: 8 | 9 | De instellingen voor het opnieuw ordenen opgelost (#416) 10 | Naamruimte voor het project repareren 11 | Vaste FUNDING.yml 12 | 13 | Uitgave: 14 | 15 | Update de releaseversie naar 145 (v1.4.5) 16 | 17 | Gemengd: 18 | 19 | Update changelog.yml 20 | App-details toegevoegd 21 | Gewijzigd app-pictogram 22 | Hernoem de zoeker naar FuzzyFinder -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/146.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.6 2 | 3 | Verbeteringen: 4 | 5 | Een startscherm-pager toegevoegd (standaard uitgeschakeld) 6 | 7 | Bugfixes: 8 | 9 | Toestaan dat HomeScreen-apps op 0 worden ingesteld 10 | 11 | Documentatie: 12 | 13 | Update CHANGELOG.md 14 | 15 | Refactoring: 16 | 17 | Code opgeschoond waarbij toestemmingsverzoek is toegevoegd -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/147.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.7 2 | 3 | Bugfixes: 4 | 5 | Probleem opgelost dat RENAME niet werd weergegeven in alle lijstgebieden van de app. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/148.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.8 2 | 3 | Bugfixes: 4 | 5 | Probleem opgelost dat de app-lijst geen duplicaten weergeeft wanneer recente apps zijn ingeschakeld 6 | Het back-upsysteem is gerepareerd omdat het niet werkte. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/149.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.9 2 | 3 | Geïmplementeerde verbeteringen: 4 | 5 | Het app-contextmenu vernieuwd 6 | 7 | Bugfixes: 8 | 9 | Het fDroid app-pictogram opgelost voor de volgende release. 10 | Snelle instellingen toegevoegd Terug 11 | Bijgewerkt Nerd-lettertype 12 | 13 | Taalondersteuning: 14 | 15 | Bijgewerkte taalbestanden. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/150.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.5.0 2 | 3 | Geïmplementeerde verbeteringen: 4 | 5 | Een extra knop toegevoegd voor het back-upgedeelte van de instellingen. 6 | Yahoo Brave en Bing-zoekopdracht toegevoegd. 7 | 8 | Taalondersteuning: 9 | 10 | Bijgewerkte taalbestanden. 11 | 12 | Refactoring: 13 | 14 | Elimineer dubbele vermeldingen in de sollicitatielijst bij het toevoegen van een werkprofiel. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/151.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.5.1 2 | 3 | Taalondersteuning: 4 | 5 | Bijgewerkte taalbestanden. 6 | 7 | Refactoring: 8 | 9 | Verbeterd app-pictogramontwerp door bij te werken naar een visueel aantrekkelijker pictogram. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/changelogs/74.txt: -------------------------------------------------------------------------------- 1 | Versie: 1.4.1 2 | 3 | Verbeteringen: 4 | [Feature] - Lange-druk-veeggebaren toegevoegd. 5 | 6 | Taalondersteuning: 7 | [Taal] Bijgewerkte taalbestanden. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Startscherm, Weer & Minimale UI Launcher -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Startscherm -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Ekran główny, Pogoda i Minimalistyczny interfejs użytkownika Launcher -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Ekran główny -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-PT/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Ecrã inicial, meteorologia e iniciador de interface minimalista -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-PT/title.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Ecrã inicial -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/short_description.txt: -------------------------------------------------------------------------------- 1 | Multi Launcher ‧ Домашний экран, погода и минимальный пользовательский интерфейс Launcher -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/title.txt: -------------------------------------------------------------------------------- 1 | Мульти-лаунчер ‧ Главный экран -------------------------------------------------------------------------------- /fastlane/metadata/android/sk-SK/short_description.txt: -------------------------------------------------------------------------------- 1 | Viaceré spúšťače ‧ Domovská obrazovka, spúšťač s počasím a minimalistickým používateľským rozhraním -------------------------------------------------------------------------------- /fastlane/metadata/android/sk-SK/title.txt: -------------------------------------------------------------------------------- 1 | Viacnásobný spúšťač ‧ Domovská obrazovka -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/142.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.2 2 | 3 | การเพิ่มประสิทธิภาพ: 4 | [คุณสมบัติ] - เพิ่มตัวเลือกสำหรับหลายหน้าบนหน้าจอหลัก 5 | 6 | แก้ไขข้อผิดพลาด: 7 | [Bug] แก้ไข Fuzzy Filter หากตั้งค่าเป็น 0 8 | 9 | รองรับภาษา: 10 | [ภาษา] อัปเดตไฟล์ภาษา -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/143.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.3 2 | 3 | การเพิ่มประสิทธิภาพ: 4 | [คุณสมบัติ] - เพิ่มความสามารถในการไม่ต้องเปลี่ยนชื่อแอพหากตั้งค่าผ่านรายการแอพแล้ว 5 | 6 | แก้ไขข้อผิดพลาด: 7 | [Bug] - แก้ไขการเปลี่ยนชื่อหากเปลี่ยนชื่อกลับเป็นชื่อเดิม 8 | [ข้อบกพร่อง] - แก้ไขท่าทางการปัดนิ้ว 9 | 10 | รองรับภาษา: 11 | 12 | [ภาษา] อัปเดตไฟล์ภาษา -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/144.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.4 2 | 3 | การเพิ่มประสิทธิภาพ: 4 | [คุณสมบัติ] - เพิ่มส่วนสำหรับการเรียงลำดับแอปอีกครั้ง 5 | [คุณสมบัติ] - เพิ่มความสามารถในการเปลี่ยนขนาดนาฬิกาได้อย่างอิสระ 6 | 7 | รองรับภาษา: 8 | 9 | [ภาษา] อัปเดตไฟล์ภาษา -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/145.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.5 2 | 3 | การเพิ่มประสิทธิภาพ: 4 | 5 | เพิ่ม please_select_app ในแอปหน้าจอหลัก (#411) 6 | 7 | แก้ไขข้อผิดพลาด: 8 | 9 | แก้ไขการตั้งค่าการเรียงลำดับใหม่ (#416) 10 | แก้ไขเนมสเปซสำหรับโครงการ 11 | แก้ไข FUNDING.yml 12 | 13 | ปล่อย: 14 | 15 | อัปเดตเวอร์ชันวางจำหน่ายเป็น 145 (v1.4.5) 16 | 17 | เบ็ดเตล็ด: 18 | 19 | อัพเดต changelog.yml 20 | เพิ่มรายละเอียดแอปแล้ว 21 | เปลี่ยนไอคอนแอพแล้ว 22 | เปลี่ยนชื่อเครื่องมือค้นหาเป็น FuzzyFinder -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/146.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.6 2 | 3 | การปรับปรุง: 4 | 5 | เพิ่มเพจเจอร์หน้าจอหลัก (ปิดใช้งานโดยค่าเริ่มต้น) 6 | 7 | แก้ไขข้อผิดพลาด: 8 | 9 | อนุญาตให้แอปหน้าจอหลักตั้งค่าเป็น 0 10 | 11 | เอกสารประกอบ: 12 | 13 | อัปเดต CHANGELOG.md 14 | 15 | ปรับปรุงโครงสร้าง: 16 | 17 | ทำความสะอาดรหัสเพิ่มคำขอการอนุญาต -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/147.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.7 2 | 3 | แก้ไขข้อผิดพลาด: 4 | 5 | แก้ไข RENAME ไม่ให้แสดงในทุกพื้นที่รายการของแอป -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/148.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.8 2 | 3 | แก้ไขข้อผิดพลาด: 4 | 5 | แก้ไขรายการแอปไม่ให้แสดงรายการซ้ำเมื่อเปิดใช้งานแอปล่าสุด 6 | แก้ไขระบบสำรองข้อมูลเนื่องจากใช้งานไม่ได้ -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/149.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.9 2 | 3 | การปรับปรุงที่นำไปใช้: 4 | 5 | ปรับปรุงเมนูบริบทของแอปใหม่ 6 | 7 | แก้ไขข้อผิดพลาด: 8 | 9 | แก้ไขไอคอนแอป fDroid สำหรับรุ่นถัดไป 10 | เพิ่มการตั้งค่าด่วนบายพาสกลับ 11 | อัปเดตแบบอักษร Nerd 12 | 13 | รองรับภาษา: 14 | 15 | อัปเดตไฟล์ภาษา -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/150.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.5.0 2 | 3 | การปรับปรุงที่นำไปใช้: 4 | 5 | เพิ่มปุ่มพิเศษสำหรับส่วนการสำรองข้อมูลของการตั้งค่า 6 | เพิ่มการค้นหา Yahoo Brave และ Bing 7 | 8 | รองรับภาษา: 9 | 10 | อัปเดตไฟล์ภาษา 11 | 12 | ปรับปรุงโครงสร้าง: 13 | 14 | กำจัดรายการที่ซ้ำกันใน applist เมื่อเพิ่มโปรไฟล์งาน -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/151.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.5.1 2 | 3 | รองรับภาษา: 4 | 5 | อัปเดตไฟล์ภาษา 6 | 7 | ปรับปรุงโครงสร้าง: 8 | 9 | ปรับปรุงการออกแบบไอคอนแอพโดยอัปเดตเป็นไอคอนที่ดึงดูดสายตามากขึ้น -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/changelogs/74.txt: -------------------------------------------------------------------------------- 1 | เวอร์ชัน: 1.4.1 2 | 3 | การปรับปรุง: 4 | [คุณสมบัติ] - เพิ่มท่าทางการปัดแบบกดแบบยาว 5 | 6 | รองรับภาษา: 7 | [ภาษา] อัปเดตไฟล์ภาษา -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/short_description.txt: -------------------------------------------------------------------------------- 1 | ตัวเรียกใช้งานหลายตัว ‧ หน้าจอหลัก สภาพอากาศ และตัวเรียกใช้งาน UI ขั้นต่ำ -------------------------------------------------------------------------------- /fastlane/metadata/android/th-TH/title.txt: -------------------------------------------------------------------------------- 1 | ตัวเรียกใช้งานหลายตัว ‧ หน้าจอหลัก -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/short_description.txt: -------------------------------------------------------------------------------- 1 | Çoklu Başlatıcı ‧ Ana Ekran, Hava Durumu ve Minimal UI Başlatıcı -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/title.txt: -------------------------------------------------------------------------------- 1 | Çoklu Başlatıcı ‧ Ana Ekran -------------------------------------------------------------------------------- /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 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 | # Automatically convert third-party libraries to use AndroidX 19 | android.enableJetifier=false 20 | # Kotlin code style for this project: "official" or "obsolete": 21 | kotlin.code.style=official 22 | org.gradle.unsafe.configuration-cache=true 23 | android.nonTransitiveRClass=false 24 | android.nonFinalResIds=false -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DroidWorksStudio/mLauncher/59e8aa81ed89ccc2cc08c8ccb688f8edc1635f33/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Mar 07 13:23:24 GMT 2025 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | @file:Suppress("UnstableApiUsage") 2 | 3 | pluginManagement { 4 | repositories { 5 | gradlePluginPortal() 6 | google() 7 | mavenCentral() 8 | } 9 | } 10 | 11 | dependencyResolutionManagement { 12 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 13 | repositories { 14 | google() 15 | mavenCentral() 16 | maven(url = "https://jitpack.io") 17 | } 18 | } 19 | 20 | include(":app") 21 | rootProject.name = "mLauncher" -------------------------------------------------------------------------------- /themes/AdaptaDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF2E3436", 3 | "APP_COLOR": "#FFA8A8A8", 4 | "DATE_COLOR": "#FF8C8C8C", 5 | "ALARM_CLOCK_COLOR": "#FFFF8700", 6 | "CLOCK_COLOR": "#FFA4CC8A", 7 | "BATTERY_COLOR": "#FFFBB73A", 8 | "DAILY_WORD_COLOR": "#FFD7AFAF", 9 | "NOTES_BACKGROUND_COLOR": "#FF2E3436", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF3B4D57", 11 | "BUBBLE_MESSAGE_COLOR": "#FFA8A8A8", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFFBB73A", 13 | "BUBBLE_CATEGORY_COLOR": "#FFFF8700", 14 | "INPUT_MESSAGE_COLOR": "#FFD7AFAF", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF8C8C8C" 16 | } -------------------------------------------------------------------------------- /themes/AdaptaLight.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FFF0F0F0", 3 | "APP_COLOR": "#FF4E4E4E", 4 | "DATE_COLOR": "#FF7F7F7F", 5 | "ALARM_CLOCK_COLOR": "#FFD15F00", 6 | "CLOCK_COLOR": "#FF6A9B67", 7 | "BATTERY_COLOR": "#FFFBB73A", 8 | "DAILY_WORD_COLOR": "#FFD7AFAF", 9 | "NOTES_BACKGROUND_COLOR": "#FFF0F0F0", 10 | "BUBBLE_BACKGROUND_COLOR": "#FFD1E4D6", 11 | "BUBBLE_MESSAGE_COLOR": "#FF4E4E4E", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFFBB73A", 13 | "BUBBLE_CATEGORY_COLOR": "#FFD15F00", 14 | "INPUT_MESSAGE_COLOR": "#FFD7AFAF", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF7F7F7F" 16 | } -------------------------------------------------------------------------------- /themes/AyuDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF0A0A0A", 3 | "APP_COLOR": "#FFD1D1D1", 4 | "DATE_COLOR": "#FFA5A5A5", 5 | "ALARM_CLOCK_COLOR": "#FFF44747", 6 | "CLOCK_COLOR": "#FFA0C980", 7 | "BATTERY_COLOR": "#FF4E91D8", 8 | "DAILY_WORD_COLOR": "#FFF78C6C", 9 | "NOTES_BACKGROUND_COLOR": "#FF0A0A0A", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF131313", 11 | "BUBBLE_MESSAGE_COLOR": "#FFD1D1D1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFA0C980", 13 | "BUBBLE_CATEGORY_COLOR": "#FFF44747", 14 | "INPUT_MESSAGE_COLOR": "#FFF78C6C", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFA5A5A5" 16 | } -------------------------------------------------------------------------------- /themes/BreezeDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF2E3436", 3 | "APP_COLOR": "#FFA8A8A8", 4 | "DATE_COLOR": "#FF8C8C8C", 5 | "ALARM_CLOCK_COLOR": "#FFFF8700", 6 | "CLOCK_COLOR": "#FFA4CC8A", 7 | "BATTERY_COLOR": "#FFFBB73A", 8 | "DAILY_WORD_COLOR": "#FFD7AFAF", 9 | "NOTES_BACKGROUND_COLOR": "#FF2E3436", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF3B4D57", 11 | "BUBBLE_MESSAGE_COLOR": "#FFA8A8A8", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFFBB73A", 13 | "BUBBLE_CATEGORY_COLOR": "#FFFF8700", 14 | "INPUT_MESSAGE_COLOR": "#FFD7AFAF", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF8C8C8C" 16 | } -------------------------------------------------------------------------------- /themes/Catppuccin.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF181926", 3 | "APP_COLOR": "#FFC6A0F6", 4 | "DATE_COLOR": "#FFF5BDE6", 5 | "ALARM_CLOCK_COLOR": "#FFF5A97F", 6 | "CLOCK_COLOR": "#FF8AADF4", 7 | "BATTERY_COLOR": "#FFEED49F", 8 | "DAILY_WORD_COLOR": "#FFA6DA95", 9 | "NOTES_BACKGROUND_COLOR": "#FF181926", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF1E2030", 11 | "BUBBLE_MESSAGE_COLOR": "#FFEED49F", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFC6A0F6", 13 | "BUBBLE_CATEGORY_COLOR": "#FFF5BDE6", 14 | "INPUT_MESSAGE_COLOR": "#FFF5E0DC", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF6C7086" 16 | } -------------------------------------------------------------------------------- /themes/Cyberpunk.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF1A1B26", 3 | "APP_COLOR": "#FFC4C7D4", 4 | "DATE_COLOR": "#FFF4B8A1", 5 | "ALARM_CLOCK_COLOR": "#FFF27B6D", 6 | "CLOCK_COLOR": "#FF67E4C7", 7 | "BATTERY_COLOR": "#FF00FFAC", 8 | "DAILY_WORD_COLOR": "#FFFF00B5", 9 | "NOTES_BACKGROUND_COLOR": "#FF1A1B26", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF2A2A2E", 11 | "BUBBLE_MESSAGE_COLOR": "#FFC4C7D4", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFF4B8A1", 13 | "BUBBLE_CATEGORY_COLOR": "#FFF27B6D", 14 | "INPUT_MESSAGE_COLOR": "#FF67E4C7", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFFF00B5" 16 | } -------------------------------------------------------------------------------- /themes/Dracula.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF282A36", 3 | "APP_COLOR": "#FFF8F8F2", 4 | "DATE_COLOR": "#FF6272A4", 5 | "ALARM_CLOCK_COLOR": "#FFFF79C6", 6 | "CLOCK_COLOR": "#FF50FA7B", 7 | "BATTERY_COLOR": "#FFFFB86C", 8 | "DAILY_WORD_COLOR": "#FF8BE9FD", 9 | "NOTES_BACKGROUND_COLOR": "#FF282A36", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF44475A", 11 | "BUBBLE_MESSAGE_COLOR": "#FFF8F8F2", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF6272A4", 13 | "BUBBLE_CATEGORY_COLOR": "#FFFF79C6", 14 | "INPUT_MESSAGE_COLOR": "#FF50FA7B", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF8BE9FD" 16 | } -------------------------------------------------------------------------------- /themes/GruvboxDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF282828", 3 | "APP_COLOR": "#FFD5C4A1", 4 | "DATE_COLOR": "#FFB8BB26", 5 | "ALARM_CLOCK_COLOR": "#FF9D0006", 6 | "CLOCK_COLOR": "#FF458588", 7 | "BATTERY_COLOR": "#FFB16286", 8 | "DAILY_WORD_COLOR": "#FFD79921", 9 | "NOTES_BACKGROUND_COLOR": "#FF282828", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF3C3836", 11 | "BUBBLE_MESSAGE_COLOR": "#FFD5C4A1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFB8BB26", 13 | "BUBBLE_CATEGORY_COLOR": "#FFA89984", 14 | "INPUT_MESSAGE_COLOR": "#FF9D0006", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFD79921" 16 | } -------------------------------------------------------------------------------- /themes/GruvboxLight.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FFFBF1C7", 3 | "APP_COLOR": "#FF928374", 4 | "DATE_COLOR": "#FF504945", 5 | "ALARM_CLOCK_COLOR": "#FF9D0006", 6 | "CLOCK_COLOR": "#FF458588", 7 | "BATTERY_COLOR": "#FFB16286", 8 | "DAILY_WORD_COLOR": "#FFD79921", 9 | "NOTES_BACKGROUND_COLOR": "#FFFBF1C7", 10 | "BUBBLE_BACKGROUND_COLOR": "#FFF2E5BC", 11 | "BUBBLE_MESSAGE_COLOR": "#FF928374", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFB16286", 13 | "BUBBLE_CATEGORY_COLOR": "#FFA89984", 14 | "INPUT_MESSAGE_COLOR": "#FF9D0006", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFD79921" 16 | } -------------------------------------------------------------------------------- /themes/Layan.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF2C3E50", 3 | "APP_COLOR": "#FFECF0F1", 4 | "DATE_COLOR": "#FF95A5A6", 5 | "ALARM_CLOCK_COLOR": "#FFE74C3C", 6 | "CLOCK_COLOR": "#FF2ECC71", 7 | "BATTERY_COLOR": "#FF8E44AD", 8 | "DAILY_WORD_COLOR": "#FFF39C12", 9 | "NOTES_BACKGROUND_COLOR": "#FF2C3E50", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF34495E", 11 | "BUBBLE_MESSAGE_COLOR": "#FFECF0F1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF95A5A6", 13 | "BUBBLE_CATEGORY_COLOR": "#FF2ECC71", 14 | "INPUT_MESSAGE_COLOR": "#FFE74C3C", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFF39C12" 16 | } -------------------------------------------------------------------------------- /themes/MaterialDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF121212", 3 | "APP_COLOR": "#FFE1E1E1", 4 | "DATE_COLOR": "#FF9E9E9E", 5 | "ALARM_CLOCK_COLOR": "#FFFF5722", 6 | "CLOCK_COLOR": "#FF8BC34A", 7 | "BATTERY_COLOR": "#FFFFC107", 8 | "DAILY_WORD_COLOR": "#FF2196F3", 9 | "NOTES_BACKGROUND_COLOR": "#FF121212", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF333333", 11 | "BUBBLE_MESSAGE_COLOR": "#FFE1E1E1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF9E9E9E", 13 | "BUBBLE_CATEGORY_COLOR": "#FFFF5722", 14 | "INPUT_MESSAGE_COLOR": "#FF8BC34A", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFFFC107" 16 | } -------------------------------------------------------------------------------- /themes/MojaveLight.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FFF0F0F0", 3 | "APP_COLOR": "#FF585858", 4 | "DATE_COLOR": "#FF4A4A4A", 5 | "ALARM_CLOCK_COLOR": "#FFD64B38", 6 | "CLOCK_COLOR": "#FFA2C10D", 7 | "BATTERY_COLOR": "#FFF2C01C", 8 | "DAILY_WORD_COLOR": "#FFED7A4C", 9 | "NOTES_BACKGROUND_COLOR": "#FFF0F0F0", 10 | "BUBBLE_BACKGROUND_COLOR": "#FFDFDFDF", 11 | "BUBBLE_MESSAGE_COLOR": "#FF585858", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFA2C10D", 13 | "BUBBLE_CATEGORY_COLOR": "#FFD64B38", 14 | "INPUT_MESSAGE_COLOR": "#FFF2C01C", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFED7A4C" 16 | } -------------------------------------------------------------------------------- /themes/Monokai.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF272822", 3 | "APP_COLOR": "#FFF8F8F2", 4 | "DATE_COLOR": "#FF75715E", 5 | "ALARM_CLOCK_COLOR": "#FFF92672", 6 | "CLOCK_COLOR": "#FFA6E22E", 7 | "BATTERY_COLOR": "#FF66D9EF", 8 | "DAILY_WORD_COLOR": "#FFF4BF75", 9 | "NOTES_BACKGROUND_COLOR": "#FF272822", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF3E3D32", 11 | "BUBBLE_MESSAGE_COLOR": "#FFF8F8F2", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFA6E22E", 13 | "BUBBLE_CATEGORY_COLOR": "#FFF92672", 14 | "INPUT_MESSAGE_COLOR": "#FFF4BF75", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF66D9EF" 16 | } -------------------------------------------------------------------------------- /themes/NightOwl.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF011627", 3 | "APP_COLOR": "#FFA6ACCD", 4 | "DATE_COLOR": "#FF4EC9B0", 5 | "ALARM_CLOCK_COLOR": "#FFF07178", 6 | "CLOCK_COLOR": "#FFA3B9A6", 7 | "BATTERY_COLOR": "#FF7F9B9A", 8 | "DAILY_WORD_COLOR": "#FF82AAFF", 9 | "NOTES_BACKGROUND_COLOR": "#FF011627", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF233344", 11 | "BUBBLE_MESSAGE_COLOR": "#FFA6ACCD", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF4EC9B0", 13 | "BUBBLE_CATEGORY_COLOR": "#FFF07178", 14 | "INPUT_MESSAGE_COLOR": "#FF82AAFF", 15 | "INPUT_MESSAGEHINT_COLOR": "#FF7F9B9A" 16 | } -------------------------------------------------------------------------------- /themes/Nord.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF2E3440", 3 | "APP_COLOR": "#FFD8DEE9", 4 | "DATE_COLOR": "#FF88C0D0", 5 | "ALARM_CLOCK_COLOR": "#FFBF616A", 6 | "CLOCK_COLOR": "#FFA3BE8C", 7 | "BATTERY_COLOR": "#FF5E81AC", 8 | "DAILY_WORD_COLOR": "#FFEBCB8B", 9 | "NOTES_BACKGROUND_COLOR": "#FF2E3440", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF434C5E", 11 | "BUBBLE_MESSAGE_COLOR": "#FFD8DEE9", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF88C0D0", 13 | "BUBBLE_CATEGORY_COLOR": "#FFA3BE8C", 14 | "INPUT_MESSAGE_COLOR": "#FFBF616A", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFEBCB8B" 16 | } -------------------------------------------------------------------------------- /themes/OneDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF282C34", 3 | "APP_COLOR": "#FFABB2BF", 4 | "DATE_COLOR": "#FF61AFEF", 5 | "ALARM_CLOCK_COLOR": "#FFE06C75", 6 | "CLOCK_COLOR": "#FF98C379", 7 | "BATTERY_COLOR": "#FFD19A66", 8 | "DAILY_WORD_COLOR": "#FFE5C07B", 9 | "NOTES_BACKGROUND_COLOR": "#FF282C34", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF3E4451", 11 | "BUBBLE_MESSAGE_COLOR": "#FFABB2BF", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF61AFEF", 13 | "BUBBLE_CATEGORY_COLOR": "#FFE06C75", 14 | "INPUT_MESSAGE_COLOR": "#FF98C379", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFD19A66" 16 | } -------------------------------------------------------------------------------- /themes/Palenight.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF2A2B3C", 3 | "APP_COLOR": "#FFC7CDD1", 4 | "DATE_COLOR": "#FF82A0BB", 5 | "ALARM_CLOCK_COLOR": "#FFE44D59", 6 | "CLOCK_COLOR": "#FF9FDD58", 7 | "BATTERY_COLOR": "#FF9AC0D2", 8 | "DAILY_WORD_COLOR": "#FFF6A7D5", 9 | "NOTES_BACKGROUND_COLOR": "#FF2A2B3C", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF343849", 11 | "BUBBLE_MESSAGE_COLOR": "#FFC7CDD1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF82A0BB", 13 | "BUBBLE_CATEGORY_COLOR": "#FFE44D59", 14 | "INPUT_MESSAGE_COLOR": "#FF9FDD58", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFF6A7D5" 16 | } -------------------------------------------------------------------------------- /themes/SolarizedDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF002B36", 3 | "APP_COLOR": "#FF93A1A1", 4 | "DATE_COLOR": "#FF657B83", 5 | "ALARM_CLOCK_COLOR": "#FFD33682", 6 | "CLOCK_COLOR": "#FF2AA198", 7 | "BATTERY_COLOR": "#FF6C71C4", 8 | "DAILY_WORD_COLOR": "#FFB58900", 9 | "NOTES_BACKGROUND_COLOR": "#FF002B36", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF073642", 11 | "BUBBLE_MESSAGE_COLOR": "#FF93A1A1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF268BD2", 13 | "BUBBLE_CATEGORY_COLOR": "#FF6C71C4", 14 | "INPUT_MESSAGE_COLOR": "#FFD33682", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFB58900" 16 | } -------------------------------------------------------------------------------- /themes/SolarizedLight.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FFFDF6E3", 3 | "APP_COLOR": "#FF93A1A1", 4 | "DATE_COLOR": "#FF657B83", 5 | "ALARM_CLOCK_COLOR": "#FFD33682", 6 | "CLOCK_COLOR": "#FF2AA198", 7 | "BATTERY_COLOR": "#FF6C71C4", 8 | "DAILY_WORD_COLOR": "#FFB58900", 9 | "NOTES_BACKGROUND_COLOR": "#FFFDF6E3", 10 | "BUBBLE_BACKGROUND_COLOR": "#FFEEE8D5", 11 | "BUBBLE_MESSAGE_COLOR": "#FF93A1A1", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF268BD2", 13 | "BUBBLE_CATEGORY_COLOR": "#FF6C71C4", 14 | "INPUT_MESSAGE_COLOR": "#FFD33682", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFB58900" 16 | } -------------------------------------------------------------------------------- /themes/TangoDark.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF2E3436", 3 | "APP_COLOR": "#FFFCE94F", 4 | "DATE_COLOR": "#FFC4A000", 5 | "ALARM_CLOCK_COLOR": "#FFC17D11", 6 | "CLOCK_COLOR": "#FF8AE234", 7 | "BATTERY_COLOR": "#FFF15C00", 8 | "DAILY_WORD_COLOR": "#FFCE5C00", 9 | "NOTES_BACKGROUND_COLOR": "#FF2E3436", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF2A2A2A", 11 | "BUBBLE_MESSAGE_COLOR": "#FFFCE94F", 12 | "BUBBLE_TIMEDATE_COLOR": "#FFC4A000", 13 | "BUBBLE_CATEGORY_COLOR": "#FFC17D11", 14 | "INPUT_MESSAGE_COLOR": "#FF8AE234", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFF15C00" 16 | } -------------------------------------------------------------------------------- /themes/Tomorrow.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FF1D1F21", 3 | "APP_COLOR": "#FFC5C8C6", 4 | "DATE_COLOR": "#FF81A2BE", 5 | "ALARM_CLOCK_COLOR": "#FFCC6666", 6 | "CLOCK_COLOR": "#FFB5BD68", 7 | "BATTERY_COLOR": "#FFF0C674", 8 | "DAILY_WORD_COLOR": "#FFE7C547", 9 | "NOTES_BACKGROUND_COLOR": "#FF1D1F21", 10 | "BUBBLE_BACKGROUND_COLOR": "#FF373B41", 11 | "BUBBLE_MESSAGE_COLOR": "#FFC5C8C6", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF81A2BE", 13 | "BUBBLE_CATEGORY_COLOR": "#FFB5BD68", 14 | "INPUT_MESSAGE_COLOR": "#FFCC6666", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFF0C674" 16 | } -------------------------------------------------------------------------------- /themes/UbuntuLight.mtheme: -------------------------------------------------------------------------------- 1 | { 2 | "BACKGROUND_COLOR": "#FFE4E4E4", 3 | "APP_COLOR": "#FF4C4C4C", 4 | "DATE_COLOR": "#FF8A8A8A", 5 | "ALARM_CLOCK_COLOR": "#FFD65F5F", 6 | "CLOCK_COLOR": "#FFA2C39C", 7 | "BATTERY_COLOR": "#FFF19C42", 8 | "DAILY_WORD_COLOR": "#FFF5A623", 9 | "NOTES_BACKGROUND_COLOR": "#FFE4E4E4", 10 | "BUBBLE_BACKGROUND_COLOR": "#FFD0D0D0", 11 | "BUBBLE_MESSAGE_COLOR": "#FF4C4C4C", 12 | "BUBBLE_TIMEDATE_COLOR": "#FF8A8A8A", 13 | "BUBBLE_CATEGORY_COLOR": "#FFD65F5F", 14 | "INPUT_MESSAGE_COLOR": "#FFA2C39C", 15 | "INPUT_MESSAGEHINT_COLOR": "#FFF19C42" 16 | } -------------------------------------------------------------------------------- /themes/getThemeNames.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM Echo a blank line 3 | echo. 4 | 5 | REM Loop through all .mtheme files in the current directory 6 | for %%f in (*.mtheme) do ( 7 | REM Output the file in the desired format 8 | echo - [Download %%~nf Theme](%%f^) 9 | ) 10 | 11 | REM Echo a blank line 12 | echo. 13 | 14 | pause 15 | -------------------------------------------------------------------------------- /themes/getThemeNames.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Loop through all .mtheme files in the current directory 4 | for file in *.mtheme; do 5 | # Check if the file exists to avoid errors if no .mtheme files are found 6 | if [ -f "$file" ]; then 7 | # Output the file in the desired format 8 | echo " - [Download $(basename "$file" .mtheme) Theme]($file)" 9 | fi 10 | done 11 | 12 | -------------------------------------------------------------------------------- /wordoftheday/README.md: -------------------------------------------------------------------------------- 1 | # WordOfTheDay Folder 2 | 3 | This folder contains exported WordOfTheDay for the MultiLauncher. WordOfTheDay are stored as `.json` files, which are JSON-based and contain the 4 | WordOfTheDay related 5 | `SharedPreferences` settings. 6 | 7 | ## Importing a WordOfTheDay 8 | 9 | 1. Open the MultiLauncher settings. 10 | 2. Navigate to the advanced section. 11 | 3. Click `Word of The Day` to Import. 12 | 4. Select an `.json` file from your device. 13 | 5. The WordOfTheDay settings will be applied after verification. 14 | 15 | ## `.json` File Format 16 | 17 | - The `.json` file is an XML file containing key-value pairs corresponding to `SharedPreferences` settings. 18 | - Keys follow the format `keyName` to ensure compatibility with the launcher. 19 | - Examples: 20 | - [Download bible WordOfTheDay](bible.json) 21 | - [Download fortune_cookies WordOfTheDay](fortune_cookies.json) 22 | - [Download random_facts WordOfTheDay](random_facts.json) 23 | - [Download stoic WordOfTheDay](stoic.json) 24 | 25 | ## Notes 26 | 27 | - Only valid `.json` files will be imported. 28 | - If an invalid file is detected, an error message will be shown. 29 | 30 | For any issues, refer to the launcher documentation or contact support. 31 | -------------------------------------------------------------------------------- /wordoftheday/getFileNames.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Loop through all .mtheme files in the current directory 4 | for file in *.json; do 5 | # Check if the file exists to avoid errors if no .mtheme files are found 6 | if [ -f "$file" ]; then 7 | # Output the file in the desired format 8 | echo " - [Download $(basename "$file" .json) Theme]($file)" 9 | fi 10 | done 11 | 12 | --------------------------------------------------------------------------------