├── fastlane
├── metadata
│ └── android
│ │ ├── en-US
│ │ ├── title.txt
│ │ ├── changelogs
│ │ │ ├── default.txt
│ │ │ ├── 140.txt
│ │ │ ├── 102.txt
│ │ │ ├── 138.txt
│ │ │ ├── 147.txt
│ │ │ ├── 143.txt
│ │ │ ├── 133.txt
│ │ │ ├── 88.txt
│ │ │ ├── 86.txt
│ │ │ ├── 135.txt
│ │ │ ├── 110.txt
│ │ │ ├── 116.txt
│ │ │ ├── 125.txt
│ │ │ ├── 93.txt
│ │ │ └── 128.txt
│ │ ├── short_description.txt
│ │ └── images
│ │ │ ├── icon.png
│ │ │ ├── featureGraphic.png
│ │ │ └── phoneScreenshots
│ │ │ ├── 1.png
│ │ │ ├── 2.png
│ │ │ ├── 3.png
│ │ │ ├── 4.png
│ │ │ ├── 5.png
│ │ │ ├── 6.png
│ │ │ ├── 7.png
│ │ │ └── 8.png
│ │ ├── ja
│ │ └── short_description.txt
│ │ ├── ko
│ │ └── short_description.txt
│ │ ├── zh-CN
│ │ └── short_description.txt
│ │ ├── hy
│ │ └── short_description.txt
│ │ ├── zh-TW
│ │ └── short_description.txt
│ │ ├── be
│ │ └── short_description.txt
│ │ ├── el
│ │ └── short_description.txt
│ │ ├── et
│ │ └── short_description.txt
│ │ ├── fy
│ │ └── short_description.txt
│ │ ├── he
│ │ └── short_description.txt
│ │ ├── lt
│ │ └── short_description.txt
│ │ ├── ru
│ │ └── short_description.txt
│ │ ├── sl
│ │ └── short_description.txt
│ │ ├── sv
│ │ └── short_description.txt
│ │ ├── th
│ │ └── short_description.txt
│ │ ├── uk
│ │ └── short_description.txt
│ │ ├── vi
│ │ └── short_description.txt
│ │ ├── ar
│ │ └── short_description.txt
│ │ ├── bn
│ │ └── short_description.txt
│ │ ├── bs
│ │ └── short_description.txt
│ │ ├── ca
│ │ └── short_description.txt
│ │ ├── cs
│ │ └── short_description.txt
│ │ ├── cy
│ │ └── short_description.txt
│ │ ├── da
│ │ └── short_description.txt
│ │ ├── fa
│ │ └── short_description.txt
│ │ ├── fil
│ │ └── short_description.txt
│ │ ├── ga
│ │ └── short_description.txt
│ │ ├── gd
│ │ └── short_description.txt
│ │ ├── gl
│ │ └── short_description.txt
│ │ ├── hi
│ │ └── short_description.txt
│ │ ├── hr
│ │ └── short_description.txt
│ │ ├── ia
│ │ └── short_description.txt
│ │ ├── ig
│ │ └── short_description.txt
│ │ ├── ka
│ │ └── short_description.txt
│ │ ├── kab
│ │ └── short_description.txt
│ │ ├── my
│ │ └── short_description.txt
│ │ ├── nl
│ │ └── short_description.txt
│ │ ├── no
│ │ └── short_description.txt
│ │ ├── oc
│ │ └── short_description.txt
│ │ ├── pl
│ │ └── short_description.txt
│ │ ├── pt
│ │ └── short_description.txt
│ │ ├── ro
│ │ └── short_description.txt
│ │ ├── si
│ │ └── short_description.txt
│ │ ├── sk
│ │ └── short_description.txt
│ │ ├── ur
│ │ └── short_description.txt
│ │ ├── de
│ │ └── short_description.txt
│ │ ├── es
│ │ └── short_description.txt
│ │ ├── fi
│ │ └── short_description.txt
│ │ ├── hu
│ │ └── short_description.txt
│ │ ├── id
│ │ └── short_description.txt
│ │ ├── is
│ │ └── short_description.txt
│ │ ├── it
│ │ └── short_description.txt
│ │ ├── pt-BR
│ │ └── short_description.txt
│ │ ├── tr
│ │ └── short_description.txt
│ │ ├── eu
│ │ └── short_description.txt
│ │ └── fr
│ │ └── short_description.txt
└── Appfile
├── Gemfile
├── mastodon
├── src
│ ├── main
│ │ ├── res
│ │ │ ├── resources.properties
│ │ │ ├── drawable-nodpi
│ │ │ │ ├── poof.png
│ │ │ │ ├── splash_art_layer0.webp
│ │ │ │ ├── splash_art_layer1.webp
│ │ │ │ ├── splash_art_layer2.webp
│ │ │ │ ├── splash_art_layer3.webp
│ │ │ │ ├── splash_art_layer4.webp
│ │ │ │ └── donation_successful_art.webp
│ │ │ ├── values
│ │ │ │ ├── misc.xml
│ │ │ │ └── urls.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── values-hdpi
│ │ │ │ └── misc.xml
│ │ │ ├── values-tvdpi
│ │ │ │ └── misc.xml
│ │ │ ├── values-xhdpi
│ │ │ │ └── misc.xml
│ │ │ ├── values-xxhdpi
│ │ │ │ └── misc.xml
│ │ │ ├── values-xxxhdpi
│ │ │ │ └── misc.xml
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── scribble.webp
│ │ │ │ └── confirm_email_art.webp
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── xml
│ │ │ │ ├── fileprovider_paths.xml
│ │ │ │ └── network_security_config.xml
│ │ │ ├── drawable-xhdpi
│ │ │ │ └── confirm_email_art.webp
│ │ │ ├── anim
│ │ │ │ ├── no_op_300ms.xml
│ │ │ │ ├── fade_out_fast.xml
│ │ │ │ ├── fragment_enter.xml
│ │ │ │ └── fragment_exit.xml
│ │ │ ├── values-v33
│ │ │ │ └── colors.xml
│ │ │ ├── values-v27
│ │ │ │ └── colors.xml
│ │ │ ├── drawable
│ │ │ │ ├── image_placeholder.xml
│ │ │ │ ├── white_circle.xml
│ │ │ │ ├── rect_4dp.xml
│ │ │ │ ├── empty_8dp.xml
│ │ │ │ ├── rect_12dp.xml
│ │ │ │ ├── rect_24dp.xml
│ │ │ │ ├── round_rect.xml
│ │ │ │ ├── bg_tabbar_badge.xml
│ │ │ │ ├── bg_image_alt_overlay.xml
│ │ │ │ ├── bg_profile_follows_you.xml
│ │ │ │ ├── bg_onboarding_avatar.xml
│ │ │ │ ├── divider_vertical_outline.xml
│ │ │ │ ├── divider_vertical_variant_1dp.xml
│ │ │ │ ├── profile_ava_bg.xml
│ │ │ │ ├── bg_inline_status.xml
│ │ │ │ ├── bg_settings_banner.xml
│ │ │ │ ├── fg_onboarding_ava.xml
│ │ │ │ ├── fg_user_info_ava.xml
│ │ │ │ ├── fg_compose_attachment.xml
│ │ │ │ ├── fg_segmented_button_container.xml
│ │ │ │ ├── bg_m3_surface1.xml
│ │ │ │ ├── bg_m3_surface2.xml
│ │ │ │ ├── bg_m3_surface3.xml
│ │ │ │ ├── fg_link_card_author_chip_ava.xml
│ │ │ │ ├── bg_photo_viewer_bottom.xml
│ │ │ │ ├── ic_boost.xml
│ │ │ │ ├── ic_tab_home.xml
│ │ │ │ ├── bg_ava_badge.xml
│ │ │ │ ├── bg_timeline_gap.xml
│ │ │ │ ├── ic_compose_cw.xml
│ │ │ │ ├── ic_compose_emoji.xml
│ │ │ │ ├── ic_help_selectable.xml
│ │ │ │ ├── ic_tab_search.xml
│ │ │ │ ├── bg_user_info.xml
│ │ │ │ ├── ic_donation_monthly.xml
│ │ │ │ ├── bg_status_action_centered.xml
│ │ │ │ ├── ic_bookmark_20px_selector.xml
│ │ │ │ ├── ic_compose_poll.xml
│ │ │ │ ├── ic_star_selector.xml
│ │ │ │ ├── bg_photo_viewer_action_centered.xml
│ │ │ │ ├── bg_reported_stamp.xml
│ │ │ │ ├── bg_spinner.xml
│ │ │ │ ├── ic_boost_private.xml
│ │ │ │ ├── ic_repeat_selector.xml
│ │ │ │ ├── ic_tab_notifications.xml
│ │ │ │ ├── bg_link_card_author.xml
│ │ │ │ ├── bg_round_ripple.xml
│ │ │ │ ├── bg_alert.xml
│ │ │ │ ├── bg_m3_outlined_text_field_error_nopad.xml
│ │ │ │ ├── bg_onboarding_panel.xml
│ │ │ │ ├── bg_photo_viewer_action.xml
│ │ │ │ ├── bg_status_action.xml
│ │ │ │ ├── divider_inset_16dp.xml
│ │ │ │ ├── bg_link_card_author_chip.xml
│ │ │ │ ├── bg_status_header.xml
│ │ │ │ ├── bg_rect_4dp_ripple.xml
│ │ │ │ ├── ic_baseline_arrow_drop_down_18.xml
│ │ │ │ ├── ic_play_24.xml
│ │ │ │ ├── bg_button_m3_text.xml
│ │ │ │ ├── bg_tabbar.xml
│ │ │ │ ├── bg_button_m3_icon_label.xml
│ │ │ │ ├── bg_button_m3_text_white.xml
│ │ │ │ ├── bg_button_borderless_rounded.xml
│ │ │ │ ├── ic_arrow_drop_down_24px.xml
│ │ │ │ ├── bg_list_item_rounded.xml
│ │ │ │ ├── ic_add_24px.xml
│ │ │ │ ├── ic_baseline_check_18.xml
│ │ │ │ ├── ic_drag_handle_24px.xml
│ │ │ │ ├── ic_home_fill1_24px.xml
│ │ │ │ ├── ic_pause_24.xml
│ │ │ │ ├── ic_pause_48px.xml
│ │ │ │ ├── bg_bottom_sheet.xml
│ │ │ │ ├── bg_photo_viewer_toolbar_button.xml
│ │ │ │ ├── ic_arrow_right_24px.xml
│ │ │ │ ├── bg_custom_emoji.xml
│ │ │ │ ├── bg_quote_post_remove.xml
│ │ │ │ ├── edit_avatar_overlay.xml
│ │ │ │ ├── ic_check_24px.xml
│ │ │ │ ├── ic_play_arrow_48px.xml
│ │ │ │ ├── tab_indicator_m3.xml
│ │ │ │ ├── bg_button_m3_elevated.xml
│ │ │ │ ├── bg_m3_outlined_text_field_error.xml
│ │ │ │ ├── ic_check_20px.xml
│ │ │ │ ├── ic_check_small_16px.xml
│ │ │ │ ├── ic_check_wght700_24px.xml
│ │ │ │ ├── ic_send_24px.xml
│ │ │ │ ├── bg_m3_bottom_bar.xml
│ │ │ │ ├── ic_home_24px.xml
│ │ │ │ ├── ic_arrow_upward_20px.xml
│ │ │ │ ├── ic_star_fill1_24px.xml
│ │ │ │ ├── ic_baseline_close_24.xml
│ │ │ │ ├── ic_actionmode_close.xml
│ │ │ │ ├── bg_tabbar_tab_vector.xml
│ │ │ │ ├── ic_close_20px.xml
│ │ │ │ ├── bg_alert_button.xml
│ │ │ │ ├── ic_boost_24px.xml
│ │ │ │ ├── ic_tune_24px.xml
│ │ │ │ ├── ic_unfold_more_24px.xml
│ │ │ │ ├── ic_bookmark_fill1_20px.xml
│ │ │ │ ├── ic_outline_email_24.xml
│ │ │ │ ├── ic_repeat_24px.xml
│ │ │ │ ├── bg_audio_play_button.xml
│ │ │ │ ├── ic_repeat_fill1_24px.xml
│ │ │ │ ├── ic_star_wght700grad200fill1_20px.xml
│ │ │ │ ├── ic_reply_24px.xml
│ │ │ │ ├── bg_bottom_sheet_handle.xml
│ │ │ │ ├── ic_tag_24px.xml
│ │ │ │ ├── ic_done_all_24px.xml
│ │ │ │ ├── ic_gavel_24px.xml
│ │ │ │ ├── bg_donation_banner.xml
│ │ │ │ ├── ic_outline_link_24.xml
│ │ │ │ ├── bg_popup.xml
│ │ │ │ ├── fg_currency_input.xml
│ │ │ │ ├── fg_link_card.xml
│ │ │ │ ├── ic_logout_24px.xml
│ │ │ │ ├── ic_reply_20px.xml
│ │ │ │ ├── ic_repeat_wght700_20px.xml
│ │ │ │ ├── bg_segmented_button.xml
│ │ │ │ ├── ic_reply_wght700_20px.xml
│ │ │ │ ├── ic_warning_fill1_24px.xml
│ │ │ │ ├── ic_boost_fill_alt_24px.xml
│ │ │ │ ├── ic_filter_alt_24px.xml
│ │ │ │ ├── ic_insert_chart_fill1_24px.xml
│ │ │ │ ├── ic_outline_person_24.xml
│ │ │ │ ├── ic_star_24px.xml
│ │ │ │ ├── bg_m3_filled_text_field_error.xml
│ │ │ │ ├── ic_compose_foreground.xml
│ │ │ │ ├── ic_domain_disabled_24px.xml
│ │ │ │ ├── ic_repeat_20px.xml
│ │ │ │ ├── ic_warning_24px.xml
│ │ │ │ ├── bg_composer_visibility.xml
│ │ │ │ ├── ic_star_20px.xml
│ │ │ │ ├── ic_delete_24px.xml
│ │ │ │ ├── m3_progress.xml
│ │ │ │ ├── ic_repeat_wght700grad200fill1_20px.xml
│ │ │ │ ├── ic_download_20px.xml
│ │ │ │ ├── bg_button_m3_filled.xml
│ │ │ │ ├── bg_handle_help.xml
│ │ │ │ ├── ic_edit_24px.xml
│ │ │ │ ├── bg_button_m3_filled_secondary.xml
│ │ │ │ ├── ic_m3_cancel.xml
│ │ │ │ ├── ic_unfold_more_wght600_15pt_8x20px.xml
│ │ │ │ ├── bg_m3_outlined_text_field_nopad.xml
│ │ │ │ ├── ic_mail_24px.xml
│ │ │ │ ├── ic_notifications_fill1_24px.xml
│ │ │ │ ├── bg_button_m3_tonal.xml
│ │ │ │ ├── bg_button_m3_tonal_error.xml
│ │ │ │ └── ic_open_in_browser_24px.xml
│ │ │ ├── color
│ │ │ │ ├── m3_primary_alpha11.xml
│ │ │ │ ├── m3_primary_alpha5.xml
│ │ │ │ ├── m3_primary_alpha8.xml
│ │ │ │ ├── m3_white_overlay.xml
│ │ │ │ ├── m3_on_surface_variant_alpha40.xml
│ │ │ │ ├── m3_outline_overlay.xml
│ │ │ │ ├── m3_primary_overlay.xml
│ │ │ │ ├── m3_on_primary_overlay.xml
│ │ │ │ ├── m3_on_surface_overlay.xml
│ │ │ │ ├── m3_pressed_overlay.xml
│ │ │ │ ├── m3_on_inverse_surface_overlay.xml
│ │ │ │ ├── m3_on_surface_variant_overlay.xml
│ │ │ │ ├── bg_compose_poll_style_inactive.xml
│ │ │ │ ├── m3_on_secondary_container_overlay.xml
│ │ │ │ ├── poll_option_checkbox.xml
│ │ │ │ ├── m3_radiobutton_tint.xml
│ │ │ │ ├── filter_chip_text.xml
│ │ │ │ ├── selectable_icon_tint.xml
│ │ │ │ ├── text_on_surface_disableable.xml
│ │ │ │ ├── m3_outlined_text_field_label.xml
│ │ │ │ ├── tab_bar_icon.xml
│ │ │ │ ├── text_segmented_button.xml
│ │ │ │ ├── button_text_m3_text.xml
│ │ │ │ ├── action_bar_icons.xml
│ │ │ │ ├── button_text_m3_filled.xml
│ │ │ │ ├── button_text_m3_filled_secondary.xml
│ │ │ │ ├── button_text_m3_tonal.xml
│ │ │ │ ├── button_text_m3_tonal_error.xml
│ │ │ │ └── compose_button.xml
│ │ │ ├── values-night
│ │ │ │ └── colors.xml
│ │ │ ├── color-v31
│ │ │ │ ├── m3_sys_accent3_750.xml
│ │ │ │ └── m3_sys_accent3_850.xml
│ │ │ ├── layout
│ │ │ │ ├── progress_bar.xml
│ │ │ │ ├── alert_birth_date.xml
│ │ │ │ ├── profile_qr_toolbar.xml
│ │ │ │ ├── item_spinner.xml
│ │ │ │ ├── item_list_header_simple.xml
│ │ │ │ ├── large_title.xml
│ │ │ │ ├── item_emoji_section.xml
│ │ │ │ ├── item_generic_list.xml
│ │ │ │ ├── alert_title.xml
│ │ │ │ ├── item_autocomplete_hashtag.xml
│ │ │ │ ├── expanded_title_medium.xml
│ │ │ │ └── item_alert_single_choice_1line.xml
│ │ │ ├── interpolator-v21
│ │ │ │ └── cubic_bezier_default.xml
│ │ │ ├── menu
│ │ │ │ ├── compose.xml
│ │ │ │ ├── compose_edit.xml
│ │ │ │ ├── profile_own.xml
│ │ │ │ ├── settings_edit_filter.xml
│ │ │ │ ├── compose_image_description.xml
│ │ │ │ ├── boost_longtap.xml
│ │ │ │ ├── settings_filter_words_action_mode.xml
│ │ │ │ ├── selectable_list.xml
│ │ │ │ ├── favorite_longtap.xml
│ │ │ │ ├── home.xml
│ │ │ │ ├── standalone_list_timeline.xml
│ │ │ │ ├── notifications.xml
│ │ │ │ └── notification_request.xml
│ │ │ └── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ ├── ic_shortcut_compose.xml
│ │ │ │ └── ic_shortcut_explore.xml
│ │ ├── aidl
│ │ │ └── com
│ │ │ │ └── google
│ │ │ │ └── android
│ │ │ │ └── gms
│ │ │ │ └── common
│ │ │ │ ├── api
│ │ │ │ ├── Status.aidl
│ │ │ │ └── internal
│ │ │ │ │ └── IStatusCallback.aidl
│ │ │ │ ├── internal
│ │ │ │ ├── GetServiceRequest.aidl
│ │ │ │ ├── ConnectionInfo.aidl
│ │ │ │ ├── IGmsServiceBroker.aidl
│ │ │ │ └── IGmsCallbacks.aidl
│ │ │ │ └── moduleinstall
│ │ │ │ ├── ModuleInstallResponse.aidl
│ │ │ │ ├── ModuleAvailabilityResponse.aidl
│ │ │ │ ├── ModuleInstallStatusUpdate.aidl
│ │ │ │ ├── internal
│ │ │ │ ├── ApiFeatureRequest.aidl
│ │ │ │ └── IModuleInstallStatusListener.aidl
│ │ │ │ └── ModuleInstallIntentResponse.aidl
│ │ ├── ic_launcher-playstore.png
│ │ └── java
│ │ │ ├── org
│ │ │ └── joinmastodon
│ │ │ │ └── android
│ │ │ │ ├── api
│ │ │ │ ├── ProgressListener.java
│ │ │ │ ├── DatabaseRunnable.java
│ │ │ │ ├── requests
│ │ │ │ │ ├── lists
│ │ │ │ │ │ ├── DeleteList.java
│ │ │ │ │ │ └── GetLists.java
│ │ │ │ │ ├── tags
│ │ │ │ │ │ ├── GetTag.java
│ │ │ │ │ │ ├── SetTagFollowed.java
│ │ │ │ │ │ └── GetFollowedTags.java
│ │ │ │ │ ├── instance
│ │ │ │ │ │ ├── GetInstanceV1.java
│ │ │ │ │ │ ├── GetCustomEmojis.java
│ │ │ │ │ │ ├── GetInstanceV2.java
│ │ │ │ │ │ └── GetInstanceExtendedDescription.java
│ │ │ │ │ ├── statuses
│ │ │ │ │ │ ├── DeleteStatus.java
│ │ │ │ │ │ ├── GetStatusByID.java
│ │ │ │ │ │ ├── EditStatus.java
│ │ │ │ │ │ ├── SetStatusPinned.java
│ │ │ │ │ │ ├── RevokeStatusQuote.java
│ │ │ │ │ │ ├── SetStatusReblogged.java
│ │ │ │ │ │ ├── SetStatusBookmarked.java
│ │ │ │ │ │ ├── SetStatusFavorited.java
│ │ │ │ │ │ ├── SetStatusConversationMuted.java
│ │ │ │ │ │ ├── TranslateStatus.java
│ │ │ │ │ │ └── GetStatusesByIDs.java
│ │ │ │ │ ├── accounts
│ │ │ │ │ │ ├── GetAccountByID.java
│ │ │ │ │ │ ├── GetOwnAccount.java
│ │ │ │ │ │ ├── GetPreferences.java
│ │ │ │ │ │ ├── RejectFollowRequest.java
│ │ │ │ │ │ ├── SetAccountMuted.java
│ │ │ │ │ │ ├── AcceptFollowRequest.java
│ │ │ │ │ │ ├── SetAccountBlocked.java
│ │ │ │ │ │ ├── GetAccountLists.java
│ │ │ │ │ │ ├── GetAccountFeaturedHashtags.java
│ │ │ │ │ │ ├── GetDomainBlockPreview.java
│ │ │ │ │ │ ├── SetDomainBlocked.java
│ │ │ │ │ │ └── ResendConfirmationEmail.java
│ │ │ │ │ ├── filters
│ │ │ │ │ │ ├── DeleteFilter.java
│ │ │ │ │ │ ├── GetLegacyFilters.java
│ │ │ │ │ │ ├── GetFilters.java
│ │ │ │ │ │ └── KeywordAttribute.java
│ │ │ │ │ ├── notifications
│ │ │ │ │ │ ├── GetNotificationByID.java
│ │ │ │ │ │ ├── GetNotificationsPolicy.java
│ │ │ │ │ │ ├── RespondToNotificationRequest.java
│ │ │ │ │ │ ├── SetNotificationsPolicy.java
│ │ │ │ │ │ └── GetNotificationRequests.java
│ │ │ │ │ ├── markers
│ │ │ │ │ │ └── GetMarkers.java
│ │ │ │ │ └── trends
│ │ │ │ │ │ ├── GetTrendingHashtags.java
│ │ │ │ │ │ └── GetTrendingLinks.java
│ │ │ │ ├── ResultlessMastodonAPIRequest.java
│ │ │ │ ├── RequiredField.java
│ │ │ │ ├── AllFieldsAreRequired.java
│ │ │ │ ├── ObjectValidationException.java
│ │ │ │ ├── WrapperRequest.java
│ │ │ │ ├── MastodonDetailedErrorResponse.java
│ │ │ │ └── session
│ │ │ │ │ └── AccountActivationInfo.java
│ │ │ │ ├── ui
│ │ │ │ ├── views
│ │ │ │ │ └── ChildDrawingOrderCallback.java
│ │ │ │ ├── text
│ │ │ │ │ ├── CodeBlockSpan.java
│ │ │ │ │ ├── MonospaceSpan.java
│ │ │ │ │ ├── DeleteWhenCopiedSpan.java
│ │ │ │ │ ├── ComposeAutocompleteSpan.java
│ │ │ │ │ ├── ComposeHashtagOrMentionSpan.java
│ │ │ │ │ └── NonColoredLinkSpan.java
│ │ │ │ ├── ColorContrastMode.java
│ │ │ │ ├── SimpleViewHolder.java
│ │ │ │ ├── photoviewer
│ │ │ │ │ └── PhotoViewerHost.java
│ │ │ │ ├── viewholders
│ │ │ │ │ └── SimpleListItemViewHolder.java
│ │ │ │ └── tabs
│ │ │ │ │ └── MaterialResources.java
│ │ │ │ ├── events
│ │ │ │ ├── AccountLoggedOutEvent.java
│ │ │ │ ├── EmojiUpdatedEvent.java
│ │ │ │ ├── StatusUpdatedEvent.java
│ │ │ │ ├── StatusDisplaySettingsChangedEvent.java
│ │ │ │ ├── DismissDonationCampaignBannerEvent.java
│ │ │ │ ├── FinishReportFragmentsEvent.java
│ │ │ │ ├── StatusDeletedEvent.java
│ │ │ │ ├── ListDeletedEvent.java
│ │ │ │ ├── PollUpdatedEvent.java
│ │ │ │ ├── NotificationRequestRespondedEvent.java
│ │ │ │ ├── SettingsFilterDeletedEvent.java
│ │ │ │ ├── FinishListCreationFragmentEvent.java
│ │ │ │ ├── SelfUpdateStateChangedEvent.java
│ │ │ │ ├── ListCreatedEvent.java
│ │ │ │ ├── ListUpdatedEvent.java
│ │ │ │ ├── StatusCreatedEvent.java
│ │ │ │ ├── SettingsFilterCreatedOrUpdatedEvent.java
│ │ │ │ ├── AccountRemovedFromListEvent.java
│ │ │ │ ├── NotificationsMarkerUpdatedEvent.java
│ │ │ │ ├── RemoveAccountPostsEvent.java
│ │ │ │ └── AccountAddedToListEvent.java
│ │ │ │ ├── model
│ │ │ │ ├── FilterAction.java
│ │ │ │ ├── PaginatedResponse.java
│ │ │ │ ├── FilterStatus.java
│ │ │ │ ├── StatusQuotePolicy.java
│ │ │ │ ├── EmojiCategory.java
│ │ │ │ ├── ExpandMedia.java
│ │ │ │ ├── TimelineMarkers.java
│ │ │ │ ├── DisplayItemsParent.java
│ │ │ │ ├── ReportReason.java
│ │ │ │ ├── catalog
│ │ │ │ │ ├── CatalogDefaultInstance.java
│ │ │ │ │ └── CatalogCategory.java
│ │ │ │ ├── CacheablePaginatedResponse.java
│ │ │ │ ├── NotificationsPolicy.java
│ │ │ │ ├── FollowSuggestion.java
│ │ │ │ ├── AsyncRefresh.java
│ │ │ │ ├── History.java
│ │ │ │ ├── Marker.java
│ │ │ │ ├── FilterKeyword.java
│ │ │ │ ├── viewmodel
│ │ │ │ │ └── SectionHeaderListItem.java
│ │ │ │ ├── FamiliarFollowers.java
│ │ │ │ └── FilterResult.java
│ │ │ │ ├── fragments
│ │ │ │ ├── AssistContentProviderFragment.java
│ │ │ │ ├── report
│ │ │ │ │ └── ChoiceItem.java
│ │ │ │ └── account_list
│ │ │ │ │ └── StatusRelatedAccountListFragment.java
│ │ │ │ ├── E.java
│ │ │ │ └── utils
│ │ │ │ └── ObjectIdComparator.java
│ │ │ └── com
│ │ │ └── google
│ │ │ └── android
│ │ │ └── gms
│ │ │ └── common
│ │ │ ├── api
│ │ │ └── Scope.java
│ │ │ ├── Feature.java
│ │ │ ├── moduleinstall
│ │ │ ├── ModuleInstallIntentResponse.java
│ │ │ └── ModuleAvailabilityResponse.java
│ │ │ └── internal
│ │ │ └── ConnectionInfo.java
│ └── androidTest
│ │ └── assets
│ │ └── IMG_1010.jpg
├── .gitignore
└── ci_signing.gradle
├── img
└── google-play-badge.png
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .gitignore
├── settings.gradle
├── updateChangelog.sh
└── crowdin.yml
/fastlane/metadata/android/en-US/title.txt:
--------------------------------------------------------------------------------
1 | Mastodon
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/default.txt:
--------------------------------------------------------------------------------
1 | 147.txt
--------------------------------------------------------------------------------
/fastlane/metadata/android/ja/short_description.txt:
--------------------------------------------------------------------------------
1 | 話題が生まれる場所
--------------------------------------------------------------------------------
/fastlane/metadata/android/ko/short_description.txt:
--------------------------------------------------------------------------------
1 | 대화가 이루어지는 곳
--------------------------------------------------------------------------------
/fastlane/metadata/android/zh-CN/short_description.txt:
--------------------------------------------------------------------------------
1 | 对话发生的场所
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "fastlane"
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/hy/short_description.txt:
--------------------------------------------------------------------------------
1 | Որտեղ շփվում են
--------------------------------------------------------------------------------
/fastlane/metadata/android/zh-TW/short_description.txt:
--------------------------------------------------------------------------------
1 | 談天說地閒話家常的好所在
--------------------------------------------------------------------------------
/mastodon/src/main/res/resources.properties:
--------------------------------------------------------------------------------
1 | unqualifiedResLocale=en-US
--------------------------------------------------------------------------------
/fastlane/metadata/android/be/short_description.txt:
--------------------------------------------------------------------------------
1 | Дзе адбываюцца зносіны
--------------------------------------------------------------------------------
/fastlane/metadata/android/el/short_description.txt:
--------------------------------------------------------------------------------
1 | Εκεί που συζητάνε όλοι
--------------------------------------------------------------------------------
/fastlane/metadata/android/et/short_description.txt:
--------------------------------------------------------------------------------
1 | Vestlused toimuvad siin
--------------------------------------------------------------------------------
/fastlane/metadata/android/fy/short_description.txt:
--------------------------------------------------------------------------------
1 | Dêr’t petearen ûntstean
--------------------------------------------------------------------------------
/fastlane/metadata/android/he/short_description.txt:
--------------------------------------------------------------------------------
1 | המקום בו השיחות מתרחשות
--------------------------------------------------------------------------------
/fastlane/metadata/android/lt/short_description.txt:
--------------------------------------------------------------------------------
1 | Kur vyksta pokalbiai
--------------------------------------------------------------------------------
/fastlane/metadata/android/ru/short_description.txt:
--------------------------------------------------------------------------------
1 | Где происходят беседы
--------------------------------------------------------------------------------
/fastlane/metadata/android/sl/short_description.txt:
--------------------------------------------------------------------------------
1 | Kjer potekajo pogovori
--------------------------------------------------------------------------------
/fastlane/metadata/android/sv/short_description.txt:
--------------------------------------------------------------------------------
1 | Där konversationer sker
--------------------------------------------------------------------------------
/fastlane/metadata/android/th/short_description.txt:
--------------------------------------------------------------------------------
1 | ที่ซึ่งการสนทนาเกิดขึ้น
--------------------------------------------------------------------------------
/fastlane/metadata/android/uk/short_description.txt:
--------------------------------------------------------------------------------
1 | Де відбуваються розмови
--------------------------------------------------------------------------------
/fastlane/metadata/android/vi/short_description.txt:
--------------------------------------------------------------------------------
1 | Nơi thảo luận thật sự
--------------------------------------------------------------------------------
/fastlane/metadata/android/ar/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/bn/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/bs/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/ca/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/cs/short_description.txt:
--------------------------------------------------------------------------------
1 | Tam, kde vznikají konverzace
--------------------------------------------------------------------------------
/fastlane/metadata/android/cy/short_description.txt:
--------------------------------------------------------------------------------
1 | Lle mae sgyrsiau yn digwydd
--------------------------------------------------------------------------------
/fastlane/metadata/android/da/short_description.txt:
--------------------------------------------------------------------------------
1 | Hvor samtaler finder sted
--------------------------------------------------------------------------------
/fastlane/metadata/android/fa/short_description.txt:
--------------------------------------------------------------------------------
1 | کجا گفتگوها اتفاق میافتد
--------------------------------------------------------------------------------
/fastlane/metadata/android/fil/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/ga/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/gd/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/gl/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/hi/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/hr/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/ia/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/ig/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/ka/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/kab/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/my/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/nl/short_description.txt:
--------------------------------------------------------------------------------
1 | Waar gesprekken ontstaan
--------------------------------------------------------------------------------
/fastlane/metadata/android/no/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/oc/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/pl/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/pt/short_description.txt:
--------------------------------------------------------------------------------
1 | Onde as conversas acontecem
--------------------------------------------------------------------------------
/fastlane/metadata/android/ro/short_description.txt:
--------------------------------------------------------------------------------
1 | Unde au loc conversațiile
--------------------------------------------------------------------------------
/fastlane/metadata/android/si/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/sk/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/ur/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/de/short_description.txt:
--------------------------------------------------------------------------------
1 | Wo Unterhaltungen stattfinden
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | Where conversations happen
--------------------------------------------------------------------------------
/fastlane/metadata/android/es/short_description.txt:
--------------------------------------------------------------------------------
1 | Donde las conversaciones ocurren
--------------------------------------------------------------------------------
/fastlane/metadata/android/fi/short_description.txt:
--------------------------------------------------------------------------------
1 | Keskustelut tapahtuvat täällä
--------------------------------------------------------------------------------
/fastlane/metadata/android/hu/short_description.txt:
--------------------------------------------------------------------------------
1 | Ahol a beszélgetések történnek
--------------------------------------------------------------------------------
/fastlane/metadata/android/id/short_description.txt:
--------------------------------------------------------------------------------
1 | Tempat di mana percakapan terjadi
--------------------------------------------------------------------------------
/fastlane/metadata/android/is/short_description.txt:
--------------------------------------------------------------------------------
1 | Þar sem samræður eiga sér stað
--------------------------------------------------------------------------------
/fastlane/metadata/android/it/short_description.txt:
--------------------------------------------------------------------------------
1 | Dove avvengono le conversazioni
--------------------------------------------------------------------------------
/fastlane/metadata/android/pt-BR/short_description.txt:
--------------------------------------------------------------------------------
1 | Onde as conversas acontecem
--------------------------------------------------------------------------------
/fastlane/metadata/android/tr/short_description.txt:
--------------------------------------------------------------------------------
1 | Konuşmaların gerçekleştiği yer
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/140.txt:
--------------------------------------------------------------------------------
1 | - Bug fixes and minor improvements
--------------------------------------------------------------------------------
/fastlane/metadata/android/eu/short_description.txt:
--------------------------------------------------------------------------------
1 | Elkarrizketak gertatzen diren lekua
--------------------------------------------------------------------------------
/fastlane/metadata/android/fr/short_description.txt:
--------------------------------------------------------------------------------
1 | Là où les discussions se déroulent
--------------------------------------------------------------------------------
/mastodon/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /release
3 | /debug
4 | *.apk
5 | output-metadata.json
6 |
--------------------------------------------------------------------------------
/img/google-play-badge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/img/google-play-badge.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/102.txt:
--------------------------------------------------------------------------------
1 | - Updated look for link previews and the News tab
2 | - Bug fixes and improvements
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/138.txt:
--------------------------------------------------------------------------------
1 | - You can now see which post you're replying to
2 | - Bug fixes and minor improvements
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/api/Status.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.api;
2 |
3 | parcelable Status;
--------------------------------------------------------------------------------
/mastodon/src/androidTest/assets/IMG_1010.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/androidTest/assets/IMG_1010.jpg
--------------------------------------------------------------------------------
/mastodon/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/poof.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/poof.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/icon.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/values/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 100
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-hdpi/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 150
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-tvdpi/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 133
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-xhdpi/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 200
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-xxhdpi/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 300
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-xxxhdpi/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 400
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-xxxhdpi/scribble.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-xxxhdpi/scribble.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/xml/fileprovider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/featureGraphic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/featureGraphic.png
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/internal/GetServiceRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | parcelable GetServiceRequest;
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/splash_art_layer0.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/splash_art_layer0.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/splash_art_layer1.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/splash_art_layer1.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/splash_art_layer2.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/splash_art_layer2.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/splash_art_layer3.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/splash_art_layer3.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/splash_art_layer4.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/splash_art_layer4.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-xhdpi/confirm_email_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-xhdpi/confirm_email_art.webp
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/fastlane/metadata/android/en-US/images/phoneScreenshots/8.png
--------------------------------------------------------------------------------
/mastodon/src/main/res/anim/no_op_300ms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-xxxhdpi/confirm_email_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-xxxhdpi/confirm_email_art.webp
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/moduleinstall/ModuleInstallResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall;
2 |
3 | parcelable ModuleInstallResponse;
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable-nodpi/donation_successful_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mastodon/mastodon-android/master/mastodon/src/main/res/drawable-nodpi/donation_successful_art.webp
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-v33/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - 0.50
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-v27/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | @color/m3_sys_light_background
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/147.txt:
--------------------------------------------------------------------------------
1 | - You can now quote other people’s posts (if they permit it) when connected to a server that supports it
2 | - Other minor fixes and improvements
3 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/moduleinstall/ModuleAvailabilityResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall;
2 |
3 | parcelable ModuleAvailabilityResponse;
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/moduleinstall/ModuleInstallStatusUpdate.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall;
2 |
3 | parcelable ModuleInstallStatusUpdate;
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/moduleinstall/internal/ApiFeatureRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall.internal;
2 |
3 | parcelable ApiFeatureRequest;
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 | .cxx
10 | local.properties
11 | *.jks
12 | /fastlane/report.xml
13 |
--------------------------------------------------------------------------------
/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("org.joinmastodon.android") # e.g. com.krausefx.app
3 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/moduleinstall/ModuleInstallIntentResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall;
2 |
3 | parcelable ModuleInstallIntentResponse;
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/143.txt:
--------------------------------------------------------------------------------
1 | - You can now see quote posts in the app, in preparation for a future Mastodon release. No way to make them yet, sorry!
2 | - Various fixes and improvements
3 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/ProgressListener.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | public interface ProgressListener{
4 | void onProgress(long transferred, long total);
5 | }
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/image_placeholder.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/white_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/133.txt:
--------------------------------------------------------------------------------
1 | - Fixed custom emojis not loading under some configurations
2 | - Fixed some minor crashes
3 | - The app now sends org.joinmastodon.android as referrer to websites opened from the app
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/rect_4dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/88.txt:
--------------------------------------------------------------------------------
1 | - QR code scanner can now be accessed from the explore page
2 | - You can now pin posts to your profile
3 | - Fixed featured hashtags on profiles not showing the profile's own posts exclusively
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/empty_8dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/rect_12dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/rect_24dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/round_rect.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_primary_alpha11.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_primary_alpha5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_primary_alpha8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/86.txt:
--------------------------------------------------------------------------------
1 | - You can now easily share and scan QR codes to quickly find each other
2 | - We've updated the look of the tab bar to better match current platform guidelines
3 | - Various minor usability improvements
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_tabbar_badge.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #000
4 | @color/m3_sys_dark_primary
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_white_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_image_alt_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_profile_follows_you.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/135.txt:
--------------------------------------------------------------------------------
1 | - You can now accept or reject follow requests from the notifications
2 | - System notifications will now be dismissed when you open the notifications screen in the app
3 | - Various small fixes and improvements
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/views/ChildDrawingOrderCallback.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.views;
2 |
3 | public interface ChildDrawingOrderCallback{
4 | int getChildDrawingOrder(int childCount, int drawingPosition);
5 | }
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_onboarding_avatar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/divider_vertical_outline.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color-v31/m3_sys_accent3_750.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color-v31/m3_sys_accent3_850.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_on_surface_variant_alpha40.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_outline_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_primary_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/progress_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_on_primary_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_on_surface_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/divider_vertical_variant_1dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_pressed_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/profile_ava_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | dependencyResolutionManagement {
2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
3 | repositories {
4 | google()
5 | mavenCentral()
6 | mavenLocal()
7 | }
8 | }
9 | rootProject.name = "Mastodon"
10 | include ':mastodon'
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/api/internal/IStatusCallback.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.api.internal;
2 |
3 | import com.google.android.gms.common.api.Status;
4 |
5 | interface IStatusCallback {
6 | void onResult(in Status status);
7 | }
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/internal/ConnectionInfo.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal;
7 | parcelable ConnectionInfo;
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/AccountLoggedOutEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class AccountLoggedOutEvent{
4 | public String id;
5 |
6 | public AccountLoggedOutEvent(String id){
7 | this.id=id;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_on_inverse_surface_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_on_surface_variant_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_inline_status.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_settings_banner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_onboarding_ava.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_user_info_ava.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/bg_compose_poll_style_inactive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_compose_attachment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_segmented_button_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/interpolator-v21/cubic_bezier_default.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
--------------------------------------------------------------------------------
/updateChangelog.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | version=$(grep 'versionCode' mastodon/build.gradle | cut -w -f 3)
4 | pushd "fastlane/metadata/android/en-US/changelogs"
5 | newFile="$version.txt"
6 | vim "$newFile" || exit 1
7 | rm default.txt
8 | ln -s "$newFile" default.txt
9 | popd
10 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jun 03 23:40:27 MSK 2023
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_on_secondary_container_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_surface1.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_surface2.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_surface3.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/compose.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/110.txt:
--------------------------------------------------------------------------------
1 | - Added option to donate to Mastodon in-app when connected to our flagship server. This option will not appear when using a 3rd party server to avoid confusion. Please check if the 3rd party server you're using accepts donations through their website.
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/poll_option_checkbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_link_card_author_chip_ava.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/compose_edit.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/profile_own.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/FilterAction.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | public enum FilterAction{
6 | @SerializedName("warn")
7 | WARN,
8 | @SerializedName("hide")
9 | HIDE
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_radiobutton_tint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/settings_edit_filter.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/fragments/AssistContentProviderFragment.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.fragments;
2 |
3 | import android.app.assist.AssistContent;
4 |
5 | public interface AssistContentProviderFragment{
6 | void onProvideAssistContent(AssistContent content);
7 | }
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/text/CodeBlockSpan.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.text;
2 |
3 | import android.content.Context;
4 |
5 | public class CodeBlockSpan extends BaseMonospaceSpan{
6 | public CodeBlockSpan(Context context){
7 | super(context);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/text/MonospaceSpan.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.text;
2 |
3 | import android.content.Context;
4 |
5 | public class MonospaceSpan extends BaseMonospaceSpan{
6 | public MonospaceSpan(Context context){
7 | super(context);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/filter_chip_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/selectable_icon_tint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/text_on_surface_disableable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/compose_image_description.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/116.txt:
--------------------------------------------------------------------------------
1 | - We're rolling out grouped notifications for servers that support the feature
2 | - You can now click "show results" on polls without having to submit a vote
3 | - You will now see lines connecting reply chains in threads
4 | - Bug fixes and improvements, obviously!
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/m3_outlined_text_field_label.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/tab_bar_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/text_segmented_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/boost_longtap.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/EmojiUpdatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class EmojiUpdatedEvent{
4 | public String instanceDomain;
5 |
6 | public EmojiUpdatedEvent(String instanceDomain){
7 | this.instanceDomain=instanceDomain;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/anim/fade_out_fast.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/button_text_m3_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_photo_viewer_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_boost.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_tab_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/settings_filter_words_action_mode.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/values/urls.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | https://github.com/mastodon/mastodon-android
4 | https://joinmastodon.org/privacy-policy
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/action_bar_icons.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/button_text_m3_filled.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_ava_badge.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_timeline_gap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_compose_cw.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_compose_emoji.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_help_selectable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_tab_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/selectable_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/button_text_m3_filled_secondary.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/button_text_m3_tonal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/button_text_m3_tonal_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_user_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_donation_monthly.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/PaginatedResponse.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | public class PaginatedResponse{
4 | public T items;
5 | public String maxID;
6 |
7 | public PaginatedResponse(T items, String maxID){
8 | this.items=items;
9 | this.maxID=maxID;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_status_action_centered.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_bookmark_20px_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_compose_poll.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_star_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/DatabaseRunnable.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import android.database.sqlite.SQLiteDatabase;
4 |
5 | import java.io.IOException;
6 |
7 | @FunctionalInterface
8 | public interface DatabaseRunnable{
9 | void run(SQLiteDatabase db) throws IOException;
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_photo_viewer_action_centered.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_reported_stamp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_spinner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_boost_private.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_repeat_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_tab_notifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/StatusUpdatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.Status;
4 |
5 | public class StatusUpdatedEvent{
6 | public Status status;
7 |
8 | public StatusUpdatedEvent(Status status){
9 | this.status=status;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_link_card_author.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/StatusDisplaySettingsChangedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class StatusDisplaySettingsChangedEvent{
4 | public final String accountID;
5 |
6 | public StatusDisplaySettingsChangedEvent(String accountID){
7 | this.accountID=accountID;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/DismissDonationCampaignBannerEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class DismissDonationCampaignBannerEvent{
4 | public final String campaignID;
5 |
6 | public DismissDonationCampaignBannerEvent(String campaignID){
7 | this.campaignID=campaignID;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/FinishReportFragmentsEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class FinishReportFragmentsEvent{
4 | public final String reportAccountID;
5 |
6 | public FinishReportFragmentsEvent(String reportAccountID){
7 | this.reportAccountID=reportAccountID;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/text/DeleteWhenCopiedSpan.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.text;
2 |
3 | /**
4 | * A span to mark character ranges that should be deleted when copied to the clipboard.
5 | * Works with {@link org.joinmastodon.android.ui.views.LinkedTextView}.
6 | */
7 | public class DeleteWhenCopiedSpan{
8 | }
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_round_ripple.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_alert.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_outlined_text_field_error_nopad.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_onboarding_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
9 |
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /mastodon/src/main/res/values/strings.xml
3 | translation: /mastodon/src/main/res/values-%android_code%/strings.xml
4 | - source: /fastlane/metadata/android/en-US/*.txt
5 | translation: /fastlane/metadata/android/%two_letters_code%/%original_file_name%
6 | ignore:
7 | - /fastlane/metadata/android/en-US/title.txt
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/StatusDeletedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class StatusDeletedEvent{
4 | public final String id;
5 | public final String accountID;
6 |
7 | public StatusDeletedEvent(String id, String accountID){
8 | this.id=id;
9 | this.accountID=accountID;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/fragments/report/ChoiceItem.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.fragments.report;
2 |
3 | class ChoiceItem{
4 | public String title, subtitle, id;
5 |
6 | public ChoiceItem(String title, String subtitle, String id){
7 | this.title=title;
8 | this.subtitle=subtitle;
9 | this.id=id;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_photo_viewer_action.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_status_action.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/divider_inset_16dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/FilterStatus.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 | import org.parceler.Parcel;
5 |
6 | @AllFieldsAreRequired
7 | @Parcel
8 | public class FilterStatus extends BaseModel{
9 | public String id;
10 | public String statusId;
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/StatusQuotePolicy.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | public enum StatusQuotePolicy{
6 | @SerializedName("public")
7 | PUBLIC,
8 | @SerializedName("followers")
9 | FOLLOWERS,
10 | @SerializedName("nobody")
11 | NOBODY;
12 | }
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_link_card_author_chip.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_status_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/alert_birth_date.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/ListDeletedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class ListDeletedEvent{
4 | public final String accountID;
5 | public final String listID;
6 |
7 | public ListDeletedEvent(String accountID, String listID){
8 | this.accountID=accountID;
9 | this.listID=listID;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/text/ComposeAutocompleteSpan.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.text;
2 |
3 | import android.text.TextPaint;
4 | import android.text.style.CharacterStyle;
5 |
6 | public class ComposeAutocompleteSpan extends CharacterStyle{
7 | @Override
8 | public void updateDrawState(TextPaint tp){
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_rect_4dp_ripple.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_baseline_arrow_drop_down_18.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_play_24.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/EmojiCategory.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import java.util.List;
4 |
5 | public class EmojiCategory{
6 | public String title;
7 | public List emojis;
8 |
9 | public EmojiCategory(String title, List emojis){
10 | this.title=title;
11 | this.emojis=emojis;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/ExpandMedia.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | public enum ExpandMedia {
6 | @SerializedName("default")
7 | DEFAULT,
8 | @SerializedName("show_all")
9 | SHOW_ALL,
10 | @SerializedName("hide_all")
11 | HIDE_ALL;
12 | }
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/TimelineMarkers.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | public class TimelineMarkers{
4 | public Marker home, notifications;
5 |
6 | @Override
7 | public String toString(){
8 | return "TimelineMarkers{"+
9 | "home="+home+
10 | ", notifications="+notifications+
11 | '}';
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_tabbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/DeleteList.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.lists;
2 |
3 | import org.joinmastodon.android.api.ResultlessMastodonAPIRequest;
4 |
5 | public class DeleteList extends ResultlessMastodonAPIRequest{
6 | public DeleteList(String id){
7 | super(HttpMethod.DELETE, "/lists/"+id);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_icon_label.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_text_white.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/profile_qr_toolbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_borderless_rounded.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_arrow_drop_down_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/ColorContrastMode.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui;
2 |
3 | public enum ColorContrastMode{
4 | DEFAULT,
5 | MEDIUM,
6 | HIGH;
7 |
8 | public static ColorContrastMode fromContrastValue(float value){
9 | if(value>0.75f)
10 | return HIGH;
11 | if(value>0.25f)
12 | return MEDIUM;
13 | return DEFAULT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/moduleinstall/internal/IModuleInstallStatusListener.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall.internal;
2 |
3 | import com.google.android.gms.common.moduleinstall.ModuleInstallStatusUpdate;
4 |
5 | interface IModuleInstallStatusListener {
6 | void onModuleInstallStatusUpdate(in ModuleInstallStatusUpdate statusUpdate) = 0;
7 | }
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_list_item_rounded.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_add_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_baseline_check_18.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_drag_handle_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_home_fill1_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_pause_24.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_pause_48px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/PollUpdatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.Poll;
4 |
5 | public class PollUpdatedEvent{
6 | public String accountID;
7 | public Poll poll;
8 |
9 | public PollUpdatedEvent(String accountID, Poll poll){
10 | this.accountID=accountID;
11 | this.poll=poll;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/DisplayItemsParent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | /**
4 | * A model object from which {@link org.joinmastodon.android.ui.displayitems.StatusDisplayItem}s can be generated.
5 | */
6 | public interface DisplayItemsParent{
7 | String getID();
8 |
9 | default String getAccountID(){
10 | return null;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/color/compose_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/favorite_longtap.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/ResultlessMastodonAPIRequest.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | public abstract class ResultlessMastodonAPIRequest extends MastodonAPIRequest{
6 | public ResultlessMastodonAPIRequest(HttpMethod method, String path){
7 | super(method, path, (Class)null);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/NotificationRequestRespondedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class NotificationRequestRespondedEvent{
4 | public final String accountID, requestID;
5 |
6 | public NotificationRequestRespondedEvent(String accountID, String requestID){
7 | this.accountID=accountID;
8 | this.requestID=requestID;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_bottom_sheet.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_photo_viewer_toolbar_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/SettingsFilterDeletedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class SettingsFilterDeletedEvent{
4 | public final String accountID;
5 | public final String filterID;
6 |
7 | public SettingsFilterDeletedEvent(String accountID, String filterID){
8 | this.accountID=accountID;
9 | this.filterID=filterID;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/ReportReason.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | public enum ReportReason{
6 | PERSONAL,
7 | @SerializedName("spam")
8 | SPAM,
9 | @SerializedName("legal")
10 | LEGAL,
11 | @SerializedName("violation")
12 | VIOLATION,
13 | @SerializedName("other")
14 | OTHER
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/catalog/CatalogDefaultInstance.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model.catalog;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 | import org.joinmastodon.android.model.BaseModel;
5 |
6 | @AllFieldsAreRequired
7 | public class CatalogDefaultInstance extends BaseModel{
8 | public String domain;
9 | public float weight;
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/SimpleViewHolder.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui;
2 |
3 | import android.view.View;
4 |
5 | import androidx.annotation.NonNull;
6 | import androidx.recyclerview.widget.RecyclerView;
7 |
8 | public class SimpleViewHolder extends RecyclerView.ViewHolder{
9 | public SimpleViewHolder(@NonNull View itemView){
10 | super(itemView);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/RequiredField.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Retention(RetentionPolicy.RUNTIME)
9 | @Target(ElementType.FIELD)
10 | public @interface RequiredField{
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/FinishListCreationFragmentEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class FinishListCreationFragmentEvent{
4 | public final String accountID;
5 | public final String listID;
6 |
7 | public FinishListCreationFragmentEvent(String accountID, String listID){
8 | this.accountID=accountID;
9 | this.listID=listID;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_arrow_right_24px.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/tags/GetTag.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.tags;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Hashtag;
5 |
6 | public class GetTag extends MastodonAPIRequest{
7 | public GetTag(String tag){
8 | super(HttpMethod.GET, "/tags/"+tag, Hashtag.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/item_spinner.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/AllFieldsAreRequired.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Retention(RetentionPolicy.RUNTIME)
9 | @Target(ElementType.TYPE)
10 | public @interface AllFieldsAreRequired{
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/SelfUpdateStateChangedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.updater.GithubSelfUpdater;
4 |
5 | public class SelfUpdateStateChangedEvent{
6 | public final GithubSelfUpdater.UpdateState state;
7 |
8 | public SelfUpdateStateChangedEvent(GithubSelfUpdater.UpdateState state){
9 | this.state=state;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_custom_emoji.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_quote_post_remove.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/edit_avatar_overlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_check_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_play_arrow_48px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/tab_indicator_m3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/aidl/com/google/android/gms/common/internal/IGmsServiceBroker.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | import android.os.Bundle;
4 |
5 | import com.google.android.gms.common.internal.IGmsCallbacks;
6 | import com.google.android.gms.common.internal.GetServiceRequest;
7 |
8 | interface IGmsServiceBroker {
9 | void getService(IGmsCallbacks callback, in GetServiceRequest request) = 45;
10 | }
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/ListCreatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.FollowList;
4 |
5 | public class ListCreatedEvent{
6 | public final String accountID;
7 | public final FollowList list;
8 |
9 | public ListCreatedEvent(String accountID, FollowList list){
10 | this.accountID=accountID;
11 | this.list=list;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/ListUpdatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.FollowList;
4 |
5 | public class ListUpdatedEvent{
6 | public final String accountID;
7 | public final FollowList list;
8 |
9 | public ListUpdatedEvent(String accountID, FollowList list){
10 | this.accountID=accountID;
11 | this.list=list;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_elevated.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_outlined_text_field_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_check_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_check_small_16px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_check_wght700_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_send_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/StatusCreatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.Status;
4 |
5 | public class StatusCreatedEvent{
6 | public final Status status;
7 | public final String accountID;
8 |
9 | public StatusCreatedEvent(Status status, String accountID){
10 | this.status=status;
11 | this.accountID=accountID;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/PhotoViewerHost.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.photoviewer;
2 |
3 | import org.joinmastodon.android.model.Status;
4 | import org.joinmastodon.android.ui.displayitems.MediaGridStatusDisplayItem;
5 |
6 | public interface PhotoViewerHost{
7 | void openPhotoViewer(String parentID, Status status, int attachmentIndex, MediaGridStatusDisplayItem.Holder gridHolder);
8 | }
9 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_bottom_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 | -
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_home_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_arrow_upward_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_star_fill1_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/instance/GetInstanceV1.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.instance;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.InstanceV1;
5 |
6 | public class GetInstanceV1 extends MastodonAPIRequest{
7 | public GetInstanceV1(){
8 | super(HttpMethod.GET, "/instance", InstanceV1.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/DeleteStatus.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class DeleteStatus extends MastodonAPIRequest{
7 | public DeleteStatus(String id){
8 | super(HttpMethod.DELETE, "/statuses/"+id, Status.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/GetStatusByID.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class GetStatusByID extends MastodonAPIRequest{
7 | public GetStatusByID(String id){
8 | super(HttpMethod.GET, "/statuses/"+id, Status.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_baseline_close_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/GetAccountByID.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Account;
5 |
6 | public class GetAccountByID extends MastodonAPIRequest{
7 | public GetAccountByID(String id){
8 | super(HttpMethod.GET, "/accounts/"+id, Account.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/GetOwnAccount.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Account;
5 |
6 | public class GetOwnAccount extends MastodonAPIRequest{
7 | public GetOwnAccount(){
8 | super(HttpMethod.GET, "/accounts/verify_credentials", Account.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_actionmode_close.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/anim/fragment_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/anim/fragment_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/GetPreferences.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Preferences;
5 |
6 | public class GetPreferences extends MastodonAPIRequest {
7 | public GetPreferences(){
8 | super(HttpMethod.GET, "/preferences", Preferences.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_tabbar_tab_vector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_close_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/com/google/android/gms/common/api/Scope.java:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.api;
2 |
3 | import org.microg.safeparcel.AutoSafeParcelable;
4 | import org.microg.safeparcel.SafeParceled;
5 |
6 | public class Scope extends AutoSafeParcelable{
7 | @SafeParceled(1)
8 | public int versionCode=1;
9 | @SafeParceled(2)
10 | public String scopeUri;
11 |
12 | public static final Creator CREATOR=new AutoCreator<>(Scope.class);
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_alert_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_boost_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_tune_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_unfold_more_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_bookmark_fill1_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/filters/DeleteFilter.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.filters;
2 |
3 | import org.joinmastodon.android.api.ResultlessMastodonAPIRequest;
4 |
5 | public class DeleteFilter extends ResultlessMastodonAPIRequest{
6 | public DeleteFilter(String id){
7 | super(HttpMethod.DELETE, "/filters/"+id);
8 | }
9 |
10 | @Override
11 | protected String getPathPrefix(){
12 | return "/api/v2";
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/SettingsFilterCreatedOrUpdatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.Filter;
4 |
5 | public class SettingsFilterCreatedOrUpdatedEvent{
6 | public final String accountID;
7 | public final Filter filter;
8 |
9 | public SettingsFilterCreatedOrUpdatedEvent(String accountID, Filter filter){
10 | this.accountID=accountID;
11 | this.filter=filter;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/CacheablePaginatedResponse.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | public class CacheablePaginatedResponse extends PaginatedResponse{
4 | private final boolean fromCache;
5 |
6 | public CacheablePaginatedResponse(T items, String maxID, boolean fromCache){
7 | super(items, maxID);
8 | this.fromCache=fromCache;
9 | }
10 |
11 | public boolean isFromCache(){
12 | return fromCache;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_outline_email_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_repeat_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/EditStatus.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class EditStatus extends MastodonAPIRequest{
7 | public EditStatus(CreateStatus.Request req, String id){
8 | super(HttpMethod.PUT, "/statuses/"+id, Status.class);
9 | setRequestBody(req);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_audio_play_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 | -
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_repeat_fill1_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_star_wght700grad200fill1_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/GetNotificationByID.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.notifications;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Notification;
5 |
6 | public class GetNotificationByID extends MastodonAPIRequest{
7 | public GetNotificationByID(String id){
8 | super(HttpMethod.GET, "/notifications/"+id, Notification.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_reply_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/home.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-anydpi-v26/ic_shortcut_compose.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/mipmap-anydpi-v26/ic_shortcut_explore.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/125.txt:
--------------------------------------------------------------------------------
1 | - New option to use our color theme instead of Material You
2 | - Support for the color contrast setting in Android 15
3 | - You can now crop your profile picture when editing your profile
4 | - You can now long-press "Add media" in the composer to bring up the file picker
5 | - New look for the media viewer
6 | - New follower notifications will now appear grouped
7 | - Directional loading for gaps in timelines: load newer posts when scrolling up, older when down
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_bottom_sheet_handle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetLists.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.lists;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.FollowList;
7 |
8 | import java.util.List;
9 |
10 | public class GetLists extends MastodonAPIRequest>{
11 | public GetLists(){
12 | super(HttpMethod.GET, "/lists", new TypeToken<>(){});
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/AccountRemovedFromListEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class AccountRemovedFromListEvent{
4 | public final String accountID;
5 | public final String listID;
6 | public final String targetAccountID;
7 |
8 | public AccountRemovedFromListEvent(String accountID, String listID, String targetAccountID){
9 | this.accountID=accountID;
10 | this.listID=listID;
11 | this.targetAccountID=targetAccountID;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/NotificationsMarkerUpdatedEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class NotificationsMarkerUpdatedEvent{
4 | public final String accountID;
5 | public final String marker;
6 | public final boolean clearUnread;
7 |
8 | public NotificationsMarkerUpdatedEvent(String accountID, String marker, boolean clearUnread){
9 | this.accountID=accountID;
10 | this.marker=marker;
11 | this.clearUnread=clearUnread;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/NotificationsPolicy.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | public class NotificationsPolicy extends BaseModel{
4 | public boolean filterNewAccounts;
5 | public boolean filterNotFollowers;
6 | public boolean filterNotFollowing;
7 | public boolean filterPrivateMentions;
8 | public Summary summary;
9 |
10 | public static class Summary{
11 | public int pendingNotificationsCount;
12 | public int pendingRequestsCount;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_tag_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/standalone_list_timeline.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/ci_signing.gradle:
--------------------------------------------------------------------------------
1 | // Included into build.gradle when running in a CI pipeline
2 |
3 | android{
4 | signingConfigs{
5 | release{
6 | keyAlias "key0"
7 | keyPassword System.getenv("KEYSTORE_PASSWORD")
8 | storeFile file(System.getenv("KEYSTORE_FILE"))
9 | storePassword System.getenv("KEYSTORE_PASSWORD")
10 | }
11 | }
12 | buildTypes{
13 | release{
14 | signingConfig signingConfigs.release
15 | }
16 | githubRelease{
17 | signingConfig signingConfigs.release
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/mastodon/src/main/java/com/google/android/gms/common/Feature.java:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common;
2 |
3 | import org.microg.safeparcel.AutoSafeParcelable;
4 | import org.microg.safeparcel.SafeParceled;
5 |
6 | public class Feature extends AutoSafeParcelable{
7 | @SafeParceled(1)
8 | public String name;
9 | @SafeParceled(2)
10 | public int oldVersion;
11 | @SafeParceled(3)
12 | public long version=-1;
13 |
14 | public static final Creator CREATOR=new AutoCreator<>(Feature.class);
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/GetNotificationsPolicy.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.notifications;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.NotificationsPolicy;
5 |
6 | public class GetNotificationsPolicy extends MastodonAPIRequest{
7 | public GetNotificationsPolicy(){
8 | super(HttpMethod.GET, "/notifications/policy", NotificationsPolicy.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/item_list_header_simple.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/RemoveAccountPostsEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | public class RemoveAccountPostsEvent{
4 | public final String accountID;
5 | public final String postsByAccountID;
6 | public final boolean isUnfollow;
7 |
8 | public RemoveAccountPostsEvent(String accountID, String postsByAccountID, boolean isUnfollow){
9 | this.accountID=accountID;
10 | this.postsByAccountID=postsByAccountID;
11 | this.isUnfollow=isUnfollow;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_done_all_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_gavel_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/events/AccountAddedToListEvent.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.events;
2 |
3 | import org.joinmastodon.android.model.Account;
4 |
5 | public class AccountAddedToListEvent{
6 | public final String accountID;
7 | public final String listID;
8 | public final Account account;
9 |
10 | public AccountAddedToListEvent(String accountID, String listID, Account account){
11 | this.accountID=accountID;
12 | this.listID=listID;
13 | this.account=account;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/SetStatusPinned.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class SetStatusPinned extends MastodonAPIRequest{
7 | public SetStatusPinned(String id, boolean pinned){
8 | super(HttpMethod.POST, "/statuses/"+id+"/"+(pinned ? "pin" : "unpin"), Status.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/tags/SetTagFollowed.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.tags;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Hashtag;
5 |
6 | public class SetTagFollowed extends MastodonAPIRequest{
7 | public SetTagFollowed(String tag, boolean followed){
8 | super(HttpMethod.POST, "/tags/"+tag+(followed ? "/follow" : "/unfollow"), Hashtag.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_donation_banner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
-
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/notifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/instance/GetCustomEmojis.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.instance;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.Emoji;
7 |
8 | import java.util.List;
9 |
10 | public class GetCustomEmojis extends MastodonAPIRequest>{
11 | public GetCustomEmojis(){
12 | super(HttpMethod.GET, "/custom_emojis", new TypeToken<>(){});
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/instance/GetInstanceV2.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.instance;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.InstanceV2;
5 |
6 | public class GetInstanceV2 extends MastodonAPIRequest{
7 | public GetInstanceV2(){
8 | super(HttpMethod.GET, "/instance", InstanceV2.class);
9 | }
10 |
11 | @Override
12 | protected String getPathPrefix(){
13 | return "/api/v2";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/RevokeStatusQuote.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class RevokeStatusQuote extends MastodonAPIRequest{
7 | public RevokeStatusQuote(String id, String quoteID){
8 | super(HttpMethod.POST, "/statuses/"+id+"/quotes/"+quoteID+"/revoke", Status.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/FollowSuggestion.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.ObjectValidationException;
4 | import org.joinmastodon.android.api.RequiredField;
5 |
6 | public class FollowSuggestion extends BaseModel{
7 | @RequiredField
8 | public Account account;
9 | // public String source;
10 |
11 | @Override
12 | public void postprocess() throws ObjectValidationException{
13 | super.postprocess();
14 | account.postprocess();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_outline_link_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/text/ComposeHashtagOrMentionSpan.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.text;
2 |
3 | import android.graphics.Typeface;
4 | import android.text.TextPaint;
5 |
6 | public class ComposeHashtagOrMentionSpan extends ComposeAutocompleteSpan{
7 | private static final Typeface MEDIUM_TYPEFACE=Typeface.create("sans-serif-medium", 0);
8 |
9 | @Override
10 | public void updateDrawState(TextPaint tp){
11 | tp.setColor(tp.linkColor);
12 | tp.setTypeface(MEDIUM_TYPEFACE);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_popup.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_currency_input.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/E.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android;
2 |
3 | import com.squareup.otto.AsyncBus;
4 |
5 | /**
6 | * Created by grishka on 24.08.15.
7 | */
8 | public class E{
9 | private static AsyncBus bus=new AsyncBus();
10 |
11 | public static void post(Object event){
12 | bus.post(event);
13 | }
14 |
15 | public static void register(Object listener){
16 | bus.register(listener);
17 | }
18 |
19 | public static void unregister(Object listener){
20 | bus.unregister(listener);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/filters/GetLegacyFilters.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.filters;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.LegacyFilter;
7 |
8 | import java.util.List;
9 |
10 | public class GetLegacyFilters extends MastodonAPIRequest>{
11 | public GetLegacyFilters(){
12 | super(HttpMethod.GET, "/filters", new TypeToken<>(){});
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/RespondToNotificationRequest.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.notifications;
2 |
3 | import org.joinmastodon.android.api.ResultlessMastodonAPIRequest;
4 |
5 | public class RespondToNotificationRequest extends ResultlessMastodonAPIRequest{
6 | public RespondToNotificationRequest(String id, boolean allow){
7 | super(HttpMethod.POST, "/notifications/requests/"+id+(allow ? "/accept" : "/dismiss"));
8 | setRequestBody(new Object());
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/fg_link_card.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/RejectFollowRequest.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Relationship;
5 |
6 | public class RejectFollowRequest extends MastodonAPIRequest {
7 | public RejectFollowRequest(String accountID) {
8 | super(HttpMethod.POST, "/follow_requests/" + accountID + "/reject", Relationship.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/SetAccountMuted.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Relationship;
5 |
6 | public class SetAccountMuted extends MastodonAPIRequest{
7 | public SetAccountMuted(String id, boolean muted){
8 | super(HttpMethod.POST, "/accounts/"+id+"/"+(muted ? "mute" : "unmute"), Relationship.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/markers/GetMarkers.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.markers;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.TimelineMarkers;
5 |
6 | public class GetMarkers extends MastodonAPIRequest{
7 | public GetMarkers(){
8 | super(HttpMethod.GET, "/markers", TimelineMarkers.class);
9 | addQueryParameter("timeline[]", "home");
10 | addQueryParameter("timeline[]", "notifications");
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_logout_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_reply_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/93.txt:
--------------------------------------------------------------------------------
1 | - Adjust filters in the Notifications tab to silence unwanted alerts*
2 | - Opt into push notifications when a user posts by tapping the bell 🔔 in the top corner of a user's profile.
3 | - Mute overly active conversation notifications via the More button ⋮ on your posts
4 | - When writing a post, choose Quiet public 🌙 visibility to avoid appearing in feeds or searches
5 | - Improved post legibility with adjusted line height
6 | - Bug fixes
7 |
8 | *Your server must support filtered notifications to see this option.
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/AcceptFollowRequest.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Relationship;
5 |
6 | public class AcceptFollowRequest extends MastodonAPIRequest {
7 | public AcceptFollowRequest(String accountID) {
8 | super(HttpMethod.POST, "/follow_requests/" + accountID + "/authorize", Relationship.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/SetStatusReblogged.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class SetStatusReblogged extends MastodonAPIRequest{
7 | public SetStatusReblogged(String id, boolean reblogged){
8 | super(HttpMethod.POST, "/statuses/"+id+"/"+(reblogged ? "reblog" : "unreblog"), Status.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/text/NonColoredLinkSpan.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.text;
2 |
3 | import android.text.TextPaint;
4 |
5 | public class NonColoredLinkSpan extends LinkSpan{
6 | public NonColoredLinkSpan(String link, OnLinkClickListener listener, Type type, String accountID, Object linkObject, Object parentObject){
7 | super(link, listener, type, accountID, linkObject, parentObject);
8 | }
9 |
10 | @Override
11 | public void updateDrawState(TextPaint tp){
12 | color=tp.getColor();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/viewholders/SimpleListItemViewHolder.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.viewholders;
2 |
3 | import android.content.Context;
4 | import android.view.ViewGroup;
5 |
6 | import org.joinmastodon.android.R;
7 | import org.joinmastodon.android.model.viewmodel.ListItem;
8 |
9 | public class SimpleListItemViewHolder extends ListItemViewHolder>{
10 | public SimpleListItemViewHolder(Context context, ViewGroup parent){
11 | super(context, R.layout.item_generic_list, parent);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_repeat_wght700_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/large_title.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/SetAccountBlocked.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Relationship;
5 |
6 | public class SetAccountBlocked extends MastodonAPIRequest{
7 | public SetAccountBlocked(String id, boolean blocked){
8 | super(HttpMethod.POST, "/accounts/"+id+"/"+(blocked ? "block" : "unblock"), Relationship.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/SetStatusBookmarked.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class SetStatusBookmarked extends MastodonAPIRequest{
7 | public SetStatusBookmarked(String id, boolean bookmarked){
8 | super(HttpMethod.POST, "/statuses/"+id+"/"+(bookmarked ? "bookmark" : "unbookmark"), Status.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/SetStatusFavorited.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class SetStatusFavorited extends MastodonAPIRequest{
7 | public SetStatusFavorited(String id, boolean favorited){
8 | super(HttpMethod.POST, "/statuses/"+id+"/"+(favorited ? "favourite" : "unfavourite"), Status.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/AsyncRefresh.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | import org.joinmastodon.android.api.AllFieldsAreRequired;
6 |
7 | @AllFieldsAreRequired
8 | public class AsyncRefresh extends BaseModel{
9 | public String id;
10 | public RefreshStatus status;
11 | public int resultCount;
12 |
13 | public enum RefreshStatus{
14 | @SerializedName("running")
15 | RUNNING,
16 | @SerializedName("finished")
17 | FINISHED,
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/History.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 | import org.parceler.Parcel;
5 |
6 | @AllFieldsAreRequired
7 | @Parcel
8 | public class History extends BaseModel{
9 | public long day; // unixtime
10 | public int uses;
11 | public int accounts;
12 |
13 | @Override
14 | public String toString(){
15 | return "History{"+
16 | "day="+day+
17 | ", uses="+uses+
18 | ", accounts="+accounts+
19 | '}';
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_segmented_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 | -
9 |
10 |
-
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_reply_wght700_20px.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_warning_fill1_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/GetAccountLists.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.FollowList;
7 |
8 | import java.util.List;
9 |
10 | public class GetAccountLists extends MastodonAPIRequest>{
11 | public GetAccountLists(String id){
12 | super(HttpMethod.GET, "/accounts/"+id+"/lists", new TypeToken<>(){});
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/SetStatusConversationMuted.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Status;
5 |
6 | public class SetStatusConversationMuted extends MastodonAPIRequest{
7 | public SetStatusConversationMuted(String id, boolean muted){
8 | super(HttpMethod.POST, "/statuses/"+id+(muted ? "/mute" : "/unmute"), Status.class);
9 | setRequestBody(new Object());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/TranslateStatus.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.statuses;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.Translation;
5 |
6 | import java.util.Map;
7 |
8 | public class TranslateStatus extends MastodonAPIRequest{
9 | public TranslateStatus(String id, String lang){
10 | super(HttpMethod.POST, "/statuses/"+id+"/translate", Translation.class);
11 | setRequestBody(Map.of("lang", lang));
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_boost_fill_alt_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/item_emoji_section.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_filter_alt_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_insert_chart_fill1_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/item_generic_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/notifications/SetNotificationsPolicy.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.notifications;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 | import org.joinmastodon.android.model.NotificationsPolicy;
5 |
6 | public class SetNotificationsPolicy extends MastodonAPIRequest{
7 | public SetNotificationsPolicy(NotificationsPolicy policy){
8 | super(HttpMethod.PUT, "/notifications/policy", NotificationsPolicy.class);
9 | setRequestBody(policy);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_outline_person_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_star_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallIntentResponse.java:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall;
2 |
3 | import android.app.PendingIntent;
4 |
5 | import org.microg.safeparcel.AutoSafeParcelable;
6 | import org.microg.safeparcel.SafeParceled;
7 |
8 | public class ModuleInstallIntentResponse extends AutoSafeParcelable{
9 | @SafeParceled(1)
10 | public PendingIntent pendingIntent;
11 |
12 | public static final Creator CREATOR=new AutoCreator<>(ModuleInstallIntentResponse.class);
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/ObjectValidationException.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import java.io.IOException;
4 |
5 | public class ObjectValidationException extends IOException{
6 | public ObjectValidationException(){
7 | }
8 |
9 | public ObjectValidationException(String message){
10 | super(message);
11 | }
12 |
13 | public ObjectValidationException(String message, Throwable cause){
14 | super(message, cause);
15 | }
16 |
17 | public ObjectValidationException(Throwable cause){
18 | super(cause);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_filled_text_field_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_compose_foreground.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_domain_disabled_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_repeat_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/menu/notification_request.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/com/google/android/gms/common/moduleinstall/ModuleAvailabilityResponse.java:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.moduleinstall;
2 |
3 | import org.microg.safeparcel.AutoSafeParcelable;
4 | import org.microg.safeparcel.SafeParceled;
5 |
6 | public class ModuleAvailabilityResponse extends AutoSafeParcelable{
7 | @SafeParceled(1)
8 | public boolean modulesAvailable;
9 | @SafeParceled(2)
10 | public int availabilityStatus;
11 |
12 | public static final Creator CREATOR=new AutoCreator<>(ModuleAvailabilityResponse.class);
13 | }
14 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/Marker.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 |
5 | import java.time.Instant;
6 |
7 | @AllFieldsAreRequired
8 | public class Marker extends BaseModel{
9 | public String lastReadId;
10 | public long version;
11 | public Instant updatedAt;
12 |
13 | @Override
14 | public String toString(){
15 | return "Marker{"+
16 | "lastReadId='"+lastReadId+'\''+
17 | ", version="+version+
18 | ", updatedAt="+updatedAt+
19 | '}';
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/catalog/CatalogCategory.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model.catalog;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 | import org.joinmastodon.android.model.BaseModel;
5 |
6 | @AllFieldsAreRequired
7 | public class CatalogCategory extends BaseModel{
8 | public String category;
9 | public int serversCount;
10 |
11 | @Override
12 | public String toString(){
13 | return "CatalogCategory{"+
14 | "category='"+category+'\''+
15 | ", serversCount="+serversCount+
16 | '}';
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_warning_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/alert_title.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/item_autocomplete_hashtag.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_composer_visibility.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 | -
11 |
12 |
13 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_star_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/trends/GetTrendingHashtags.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.trends;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.Hashtag;
7 |
8 | import java.util.List;
9 |
10 | public class GetTrendingHashtags extends MastodonAPIRequest>{
11 | public GetTrendingHashtags(int limit){
12 | super(HttpMethod.GET, "/trends", new TypeToken<>(){});
13 | addQueryParameter("limit", limit+"");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/utils/ObjectIdComparator.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.utils;
2 |
3 | import java.util.Comparator;
4 |
5 | public class ObjectIdComparator implements Comparator{
6 | public static final ObjectIdComparator INSTANCE=new ObjectIdComparator();
7 |
8 | @Override
9 | public int compare(String o1, String o2){
10 | int l1=o1==null ? 0 : o1.length();
11 | int l2=o2==null ? 0 : o2.length();
12 | if(l1!=l2)
13 | return Integer.compare(l1, l2);
14 | if(l1==0)
15 | return 0;
16 | return o1.compareTo(o2);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_delete_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/128.txt:
--------------------------------------------------------------------------------
1 | - Settings are now split into global settings and account-specific settings for each account you're logged into
2 | - Profiles now show who of the people you follow also follows this person
3 | - More easily swap between posts, profiles and hashtags when using search
4 | - We now tell you exactly how many followers you'd lose when blocking a whole server so you can avoid costly mistakes
5 | - Bookmarks and favourites have moved to a new tab on your profile
6 | - The button that loads missing posts is now more upfront about which direction it's going to load in
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/GetAccountFeaturedHashtags.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.Hashtag;
7 |
8 | import java.util.List;
9 |
10 | public class GetAccountFeaturedHashtags extends MastodonAPIRequest>{
11 | public GetAccountFeaturedHashtags(String id){
12 | super(HttpMethod.GET, "/accounts/"+id+"/featured_tags", new TypeToken<>(){});
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/trends/GetTrendingLinks.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.trends;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.Card;
7 |
8 | import java.util.List;
9 |
10 | public class GetTrendingLinks extends MastodonAPIRequest>{
11 | public GetTrendingLinks(int limit){
12 | super(HttpMethod.GET, "/trends/links", new TypeToken<>(){});
13 | addQueryParameter("limit", String.valueOf(limit));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/FilterKeyword.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 | import org.parceler.Parcel;
5 |
6 | @AllFieldsAreRequired
7 | @Parcel
8 | public class FilterKeyword extends BaseModel{
9 | public String id;
10 | public String keyword;
11 | public boolean wholeWord;
12 |
13 | @Override
14 | public String toString(){
15 | return "FilterKeyword{"+
16 | "id='"+id+'\''+
17 | ", keyword='"+keyword+'\''+
18 | ", wholeWord="+wholeWord+
19 | '}';
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/m3_progress.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 | -
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/WrapperRequest.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import me.grishka.appkit.api.APIRequest;
4 |
5 | /**
6 | * Wraps a different API request to allow a chain of requests to be canceled
7 | */
8 | public class WrapperRequest extends APIRequest{
9 | public APIRequest> wrappedRequest;
10 |
11 | @Override
12 | public void cancel(){
13 | if(wrappedRequest!=null)
14 | wrappedRequest.cancel();
15 | }
16 |
17 | @Override
18 | public APIRequest exec(){
19 | throw new UnsupportedOperationException();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/viewmodel/SectionHeaderListItem.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model.viewmodel;
2 |
3 | import org.joinmastodon.android.R;
4 |
5 | import androidx.annotation.StringRes;
6 |
7 | public class SectionHeaderListItem extends ListItem{
8 | public SectionHeaderListItem(String title){
9 | super(title, null, null);
10 | }
11 |
12 | public SectionHeaderListItem(@StringRes int title){
13 | super(title, 0, null);
14 | }
15 |
16 | @Override
17 | public int getItemViewType(){
18 | return R.id.list_item_section_header;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_repeat_wght700grad200fill1_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/filters/GetFilters.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.filters;
2 |
3 | import com.google.gson.reflect.TypeToken;
4 |
5 | import org.joinmastodon.android.api.MastodonAPIRequest;
6 | import org.joinmastodon.android.model.Filter;
7 |
8 | import java.util.List;
9 |
10 | public class GetFilters extends MastodonAPIRequest>{
11 | public GetFilters(){
12 | super(HttpMethod.GET, "/filters", new TypeToken<>(){});
13 | }
14 |
15 | @Override
16 | protected String getPathPrefix(){
17 | return "/api/v2";
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/ui/tabs/MaterialResources.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.ui.tabs;
2 |
3 | import android.content.Context;
4 | import android.content.res.ColorStateList;
5 | import android.content.res.TypedArray;
6 | import android.graphics.drawable.Drawable;
7 |
8 | class MaterialResources{
9 | public static Drawable getDrawable(Context context, TypedArray a, int attr){
10 | return a.getDrawable(attr);
11 | }
12 |
13 | public static ColorStateList getColorStateList(Context context, TypedArray a, int attr){
14 | return a.getColorStateList(attr);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/GetDomainBlockPreview.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 |
5 | public class GetDomainBlockPreview extends MastodonAPIRequest{
6 | public GetDomainBlockPreview(String domain){
7 | super(HttpMethod.GET, "/domain_blocks/preview", Response.class);
8 | addQueryParameter("domain", domain);
9 | }
10 |
11 | public static class Response{
12 | public int followingCount;
13 | public int followersCount;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_download_20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_filled.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
-
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_handle_help.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_edit_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/layout/expanded_title_medium.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/MastodonDetailedErrorResponse.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api;
2 |
3 | import java.util.HashMap;
4 | import java.util.List;
5 | import java.util.Map;
6 |
7 | public class MastodonDetailedErrorResponse extends MastodonErrorResponse{
8 | public Map> detailedErrors;
9 |
10 | public MastodonDetailedErrorResponse(String error, int httpStatus, Throwable exception){
11 | super(error, httpStatus, exception);
12 | }
13 |
14 | public static class FieldError{
15 | public String error;
16 | public String description;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/FamiliarFollowers.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.AllFieldsAreRequired;
4 | import org.joinmastodon.android.api.ObjectValidationException;
5 |
6 | import java.util.List;
7 |
8 | @AllFieldsAreRequired
9 | public class FamiliarFollowers extends BaseModel{
10 | public String id;
11 | public List accounts;
12 |
13 | @Override
14 | public void postprocess() throws ObjectValidationException{
15 | super.postprocess();
16 | for(Account acc:accounts){
17 | acc.postprocess();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/model/FilterResult.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.model;
2 |
3 | import org.joinmastodon.android.api.ObjectValidationException;
4 | import org.joinmastodon.android.api.RequiredField;
5 | import org.parceler.Parcel;
6 |
7 | import java.util.List;
8 |
9 | @Parcel
10 | public class FilterResult extends BaseModel{
11 | @RequiredField
12 | public Filter filter;
13 |
14 | public List keywordMatches;
15 |
16 | @Override
17 | public void postprocess() throws ObjectValidationException{
18 | super.postprocess();
19 | filter.postprocess();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/StatusRelatedAccountListFragment.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.fragments.account_list;
2 |
3 | import android.os.Bundle;
4 |
5 | import org.joinmastodon.android.model.Status;
6 | import org.parceler.Parcels;
7 |
8 | public abstract class StatusRelatedAccountListFragment extends PaginatedAccountListFragment{
9 | protected Status status;
10 |
11 | @Override
12 | public void onCreate(Bundle savedInstanceState){
13 | super.onCreate(savedInstanceState);
14 | status=Parcels.unwrap(getArguments().getParcelable("status"));
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/instance/GetInstanceExtendedDescription.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.instance;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 |
5 | import java.time.Instant;
6 |
7 | public class GetInstanceExtendedDescription extends MastodonAPIRequest{
8 | public GetInstanceExtendedDescription(){
9 | super(HttpMethod.GET, "/instance/extended_description", Response.class);
10 | }
11 |
12 | public static class Response{
13 | public Instant updatedAt;
14 | public String content;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountActivationInfo.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.session;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | public class AccountActivationInfo{
6 | @SerializedName(value="email", alternate="a")
7 | public String email;
8 | @SerializedName(value="last_email_confirmation_resend", alternate="b")
9 | public long lastEmailConfirmationResend;
10 |
11 | public AccountActivationInfo(String email, long lastEmailConfirmationResend){
12 | this.email=email;
13 | this.lastEmailConfirmationResend=lastEmailConfirmationResend;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_filled_secondary.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
-
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_m3_cancel.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_unfold_more_wght600_15pt_8x20px.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_m3_outlined_text_field_nopad.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
-
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_mail_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_notifications_fill1_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_tonal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
-
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/bg_button_m3_tonal_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
-
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/mastodon/src/main/res/drawable/ic_open_in_browser_24px.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/com/google/android/gms/common/internal/ConnectionInfo.java:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | import android.os.Bundle;
4 |
5 | import com.google.android.gms.common.Feature;
6 |
7 | import org.microg.safeparcel.AutoSafeParcelable;
8 | import org.microg.safeparcel.SafeParceled;
9 |
10 | public class ConnectionInfo extends AutoSafeParcelable{
11 | @SafeParceled(1)
12 | public Bundle params;
13 | @SafeParceled(2)
14 | public Feature[] features;
15 | @SafeParceled(3)
16 | public int unknown3;
17 |
18 | public static final Creator CREATOR=new AutoCreator<>(ConnectionInfo.class);
19 | }
20 |
--------------------------------------------------------------------------------
/mastodon/src/main/java/org/joinmastodon/android/api/requests/accounts/SetDomainBlocked.java:
--------------------------------------------------------------------------------
1 | package org.joinmastodon.android.api.requests.accounts;
2 |
3 | import org.joinmastodon.android.api.MastodonAPIRequest;
4 |
5 | public class SetDomainBlocked extends MastodonAPIRequest