├── app ├── .gitignore ├── src │ ├── main │ │ ├── java │ │ │ └── me │ │ │ │ └── saket │ │ │ │ └── dank │ │ │ │ ├── reddit │ │ │ │ ├── Subreddit.kt │ │ │ │ ├── package-info.java │ │ │ │ ├── jraw │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── JrawUsers.kt │ │ │ │ └── RedditModule.kt │ │ │ │ ├── ui │ │ │ │ ├── UiEvent.java │ │ │ │ ├── package-info.java │ │ │ │ ├── giphy │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── GiphyGif.java │ │ │ │ ├── media │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── VideoNotCachedYetException.java │ │ │ │ │ ├── ImgurResponse.java │ │ │ │ │ ├── MediaAlbumItem.java │ │ │ │ │ ├── MediaFragmentCallbacks.java │ │ │ │ │ ├── gfycat │ │ │ │ │ │ └── GfycatOauthResponse.java │ │ │ │ │ ├── StreamableRepository.kt │ │ │ │ │ └── IncorrectMediaUrlParsingData.java │ │ │ │ ├── user │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── messages │ │ │ │ │ │ ├── MessagesRefreshState.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── MessageClickEvent.java │ │ │ │ │ ├── UserSession.java │ │ │ │ │ └── UserProfile.kt │ │ │ │ ├── compose │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── OnLinkInsertListener.java │ │ │ │ │ ├── MarkdownAction.java │ │ │ │ │ └── SimpleIdentifiable.kt │ │ │ │ ├── submission │ │ │ │ │ ├── PrivateSubredditException.java │ │ │ │ │ ├── SubredditNotFoundException.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── events │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── SubmissionMediaLoadFailed.java │ │ │ │ │ │ ├── SubmissionImageLoadStarted.java │ │ │ │ │ │ ├── SubmissionVideoLoadStarted.java │ │ │ │ │ │ ├── SubmissionCommentsLoadFailed.java │ │ │ │ │ │ ├── SubmissionImageLoadSucceeded.java │ │ │ │ │ │ ├── SubmissionNsfwContentFiltered.java │ │ │ │ │ │ ├── SubmissionVideoLoadSucceeded.java │ │ │ │ │ │ ├── SubmissionContentResolvingFailed.java │ │ │ │ │ │ ├── SubmissionContentResolvingStarted.java │ │ │ │ │ │ ├── SubmissionViewFullCommentsClicked.java │ │ │ │ │ │ ├── SubmissionCommentsRefreshClicked.java │ │ │ │ │ │ ├── ReplyDiscardClickEvent.java │ │ │ │ │ │ ├── MarkMessageAsReadRequested.java │ │ │ │ │ │ ├── ReplyInsertGifClickEvent.java │ │ │ │ │ │ ├── SubmissionChangeCommentSortClicked.java │ │ │ │ │ │ ├── SubmissionRequestChanged.java │ │ │ │ │ │ ├── SubmissionCommentSortChanged.java │ │ │ │ │ │ ├── InlineReplyRequestEvent.java │ │ │ │ │ │ ├── ReplyRetrySendClickEvent.java │ │ │ │ │ │ ├── SubmissionChanged.java │ │ │ │ │ │ ├── ReplyItemViewBindEvent.java │ │ │ │ │ │ ├── ReplySendClickEvent.java │ │ │ │ │ │ ├── CommentClicked.java │ │ │ │ │ │ └── ContributionVoteSwipeEvent.java │ │ │ │ │ ├── adapter │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── SubmissionCommentRowType.java │ │ │ │ │ ├── SubmissionVideoClickEvent.java │ │ │ │ │ ├── SubmissionUi.java │ │ │ │ │ ├── FocusedComment.java │ │ │ │ │ ├── DraftStore.java │ │ │ │ │ └── SubmissionAndComments.kt │ │ │ │ ├── webview │ │ │ │ │ └── package-info.java │ │ │ │ ├── subreddit │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── events │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── SubredditScreenCreateEvent.java │ │ │ │ │ │ └── SubredditSubmissionClickEvent.java │ │ │ │ │ ├── uimodels │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── SubredditChangeEvent.java │ │ │ │ │ ├── SubredditUi.java │ │ │ │ │ └── SubredditUserProfileIconType.java │ │ │ │ ├── appshortcuts │ │ │ │ │ ├── AppShortcutScreenUiModel.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── AppShortcutPlaceholderUiModel.java │ │ │ │ ├── preferences │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── adapter │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── UserPreferencesScreenUiModel.java │ │ │ │ │ ├── events │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── UserPreferenceClickListener.java │ │ │ │ │ │ ├── UserPreferenceSwitchToggleEvent.java │ │ │ │ │ │ └── UserPreferenceButtonClickEvent.java │ │ │ │ │ ├── gestures │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── GesturePreferenceUiModel.java │ │ │ │ │ ├── UserPreferenceNestedScreen.java │ │ │ │ │ └── PreferenceButtonClickHandler.java │ │ │ │ ├── UiChange.java │ │ │ │ ├── authentication │ │ │ │ │ └── package-info.java │ │ │ │ ├── subscriptions │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── SubredditFlexboxLayoutManager.java │ │ │ │ ├── DankDialogFragment.java │ │ │ │ ├── splash │ │ │ │ │ └── SplashActivity.java │ │ │ │ └── ScreenSavedState.java │ │ │ │ ├── data │ │ │ │ ├── SwipeEvent.java │ │ │ │ ├── OnLoginRequireListener.java │ │ │ │ ├── package-info.java │ │ │ │ ├── CachePreFillThing.java │ │ │ │ ├── exceptions │ │ │ │ │ ├── InvalidImgurAlbumException.java │ │ │ │ │ ├── ImgurApiRequestRateLimitReachedException.java │ │ │ │ │ └── ImgurApiUploadRateLimitReachedException.java │ │ │ │ ├── StubPublicContribution.java │ │ │ │ ├── AppInfo.java │ │ │ │ ├── EmptyState.java │ │ │ │ ├── FileSize.java │ │ │ │ ├── ErrorState.java │ │ │ │ ├── FullNameType.java │ │ │ │ ├── ActivityResult.java │ │ │ │ └── UserPreferences.java │ │ │ │ ├── utils │ │ │ │ ├── SafeFunction.java │ │ │ │ ├── package-info.java │ │ │ │ ├── glide │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── DankAppGlideModule.java │ │ │ │ ├── okhttp │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── OkHttpRequestWriteProgressListener.java │ │ │ │ │ └── OkHttpResponseReadProgressListener.java │ │ │ │ ├── lifecycle │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── LifecycleOwner.java │ │ │ │ │ ├── DialogLifecycleEvent.java │ │ │ │ │ ├── ActivityLifecycleEvent.java │ │ │ │ │ ├── FragmentLifecycleEvent.java │ │ │ │ │ └── ViewLifecycleEvent.java │ │ │ │ ├── markdown │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── markwon │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── MarkdownTextView.java │ │ │ │ │ │ └── SpoilerLabelSpan.java │ │ │ │ ├── itemanimators │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── SlideLeftAlphaAnimator.java │ │ │ │ │ ├── SubmissionCommentsItemAnimator.java │ │ │ │ │ └── SlideUpAlphaAnimator.java │ │ │ │ ├── Function0.java │ │ │ │ ├── InfinitelyScrollableRecyclerViewAdapter.java │ │ │ │ ├── Units.java │ │ │ │ ├── AutoValueMoshiAdapterFactory.java │ │ │ │ ├── DeviceInfo.java │ │ │ │ ├── BackPressCallback.java │ │ │ │ ├── SimpleTextWatcher.java │ │ │ │ ├── SimpleRecyclerViewOnChildAttachStateChangeListener.java │ │ │ │ ├── LinearSmoothScrollerWithVerticalSnapPref.java │ │ │ │ ├── PersistableBundleUtils.java │ │ │ │ ├── Themes.java │ │ │ │ ├── Cursors.java │ │ │ │ ├── RxPreferencesEnumTypeAdapter.java │ │ │ │ └── Dates.java │ │ │ │ ├── package-info.java │ │ │ │ ├── di │ │ │ │ └── package-info.java │ │ │ │ ├── cache │ │ │ │ ├── package-info.java │ │ │ │ └── MoshiStoreJsonParser.java │ │ │ │ ├── reply │ │ │ │ ├── package-info.java │ │ │ │ ├── DraftSaveResult.java │ │ │ │ └── ReplyDraft.java │ │ │ │ ├── vote │ │ │ │ ├── package-info.java │ │ │ │ ├── VoteDirectionX.kt │ │ │ │ └── SimpleVotable.kt │ │ │ │ ├── notifs │ │ │ │ ├── package-info.java │ │ │ │ └── NotificationConstants.java │ │ │ │ ├── widgets │ │ │ │ ├── package-info.java │ │ │ │ ├── swipe │ │ │ │ │ ├── SwipeDirection.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── ViewHolderWithSwipeActions.java │ │ │ │ │ ├── SwipeActionIconView.java │ │ │ │ │ ├── SwipeActions.java │ │ │ │ │ └── SwipeAction.java │ │ │ │ ├── prefs │ │ │ │ │ └── package-info.java │ │ │ │ ├── span │ │ │ │ │ └── package-info.java │ │ │ │ ├── InboxUI │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── SimpleExpandablePageStateChangeCallbacks.java │ │ │ │ ├── binoculars │ │ │ │ │ └── package-info.java │ │ │ │ ├── SeekBarWithFullHeightProgress.java │ │ │ │ ├── ImageButtonWithDisabledTint.java │ │ │ │ └── EditTextWithPrefix.java │ │ │ │ ├── analytics │ │ │ │ ├── package-info.java │ │ │ │ ├── AnalyticsDaggerModule.java │ │ │ │ └── CrashReporter.java │ │ │ │ ├── walkthrough │ │ │ │ ├── package-info.java │ │ │ │ └── TextSwitcherWithDistinctCheck.java │ │ │ │ ├── deeplinks │ │ │ │ └── AppDeepLinkModule.java │ │ │ │ └── urlparser │ │ │ │ ├── RedditLink.java │ │ │ │ ├── UnresolvedMediaLink.java │ │ │ │ ├── RedditHostedVideoDashPlaylist.java │ │ │ │ ├── ExternalLink.java │ │ │ │ ├── RedditUserLink.java │ │ │ │ ├── MediaLink.java │ │ │ │ ├── RedditSubredditLink.java │ │ │ │ └── RedditCommentLink.java │ │ ├── assets │ │ │ ├── bifocals.otf │ │ │ ├── roboto_regular.ttf │ │ │ ├── Inter-UI-Medium.otf │ │ │ ├── Inter-UI-Regular.otf │ │ │ ├── readertrial-medium.otf │ │ │ ├── readertrial-regular.otf │ │ │ ├── relativetrial-book.otf │ │ │ ├── relativetrial-faux.otf │ │ │ ├── relativetrial-medium.otf │ │ │ ├── visuelttrial-regular.otf │ │ │ ├── LaFabriqueTrial-Regular.otf │ │ │ ├── LaFabriqueTrial-SemiBold.otf │ │ │ ├── RobotoCondensed-Regular.ttf │ │ │ ├── TranscriptTrial-Regular.otf │ │ │ ├── relativetrial-mono12pitch.otf │ │ │ ├── basis-grotesque-trial-medium.otf │ │ │ └── basis-grotesque-trial-regular.otf │ │ └── res │ │ │ ├── font │ │ │ ├── bifocals.otf │ │ │ ├── roboto_bold.ttf │ │ │ ├── roboto_light.ttf │ │ │ ├── roboto_thin.ttf │ │ │ ├── roboto_italic.ttf │ │ │ ├── roboto_medium.ttf │ │ │ ├── roboto_regular.ttf │ │ │ ├── ibmplexsans_text.ttf │ │ │ ├── ibmplexsans_medium.ttf │ │ │ ├── ibmplexsans_regular.ttf │ │ │ ├── roboto_bold_italic.ttf │ │ │ ├── roboto_light_italic.ttf │ │ │ ├── roboto_thin_italic.ttf │ │ │ ├── ibmplexsans_semibold.ttf │ │ │ ├── roboto_medium_italic.ttf │ │ │ ├── ibmplexsans_condensed_medium.ttf │ │ │ ├── ibmplexsans_condensed_regular.ttf │ │ │ └── ibmplexsans_condensed_semibold.ttf │ │ │ ├── drawable │ │ │ ├── dank_cat.jpg │ │ │ ├── ic_launcher_180.png │ │ │ ├── background_subreddit_submission_nsfw.xml │ │ │ ├── background_appshortcut_preview_launcher_icon.xml │ │ │ ├── background_submission_link_favicon_circle.xml │ │ │ ├── background_submission_self_thumbnail.xml │ │ │ ├── shape_user_profile_popup_image_placeholder.xml │ │ │ ├── ic_shortcut_subreddit_background.xml │ │ │ ├── background_submission_image_scroll_hint.xml │ │ │ ├── background_submission_header_archived_label.xml │ │ │ ├── background_popup_window.xml │ │ │ ├── background_submission_comment_reply.xml │ │ │ ├── background_submission_self_text.xml │ │ │ ├── background_mediaalbumviewer_error_state.xml │ │ │ ├── background_message_content.xml │ │ │ ├── background_submission_comment_options.xml │ │ │ ├── background_submission_link.xml │ │ │ ├── background_media_progress_bar_file_size.xml │ │ │ ├── background_submission_toolbar_shadows.xml │ │ │ ├── background_submission_view_full_thread.xml │ │ │ ├── background_mediaalbumviewer_options_gradient.xml │ │ │ ├── background_splash.xml │ │ │ ├── ic_arrow_back_20dp.xml │ │ │ ├── ic_done_24dp.xml │ │ │ ├── ic_send_20dp.xml │ │ │ ├── ic_drag_handle_24dp.xml │ │ │ ├── ic_arrow_downward_18dp.xml │ │ │ ├── ic_delete_20dp.xml │ │ │ ├── ic_format_italic_24dp.xml │ │ │ ├── ic_format_quote_24dp.xml │ │ │ ├── ic_sort_16dp.xml │ │ │ ├── ic_sort_20dp.xml │ │ │ ├── ic_archive_32dp.xml │ │ │ ├── ic_reply_24dp.xml │ │ │ ├── ic_arrow_upward_12dp.xml │ │ │ ├── ic_arrow_upward_24dp.xml │ │ │ ├── ic_close_20dp.xml │ │ │ ├── ic_reply_white_24dp.xml │ │ │ ├── ic_arrow_downward_24dp.xml │ │ │ ├── ic_text_fields_20dp.xml │ │ │ ├── ic_text_fields_24dp.xml │ │ │ ├── ic_arrow_forward_12dp.xml │ │ │ ├── ic_save_20dp.xml │ │ │ ├── ic_toolbar_close_24dp.xml │ │ │ ├── background_dialog.xml │ │ │ ├── ic_save_24dp.xml │ │ │ ├── ic_code_24dp.xml │ │ │ ├── ic_mail_24dp.xml │ │ │ ├── ic_fullscreen_24dp.xml │ │ │ ├── ic_subreddits_20dp.xml │ │ │ ├── ic_subreddits_24dp.xml │ │ │ ├── ic_configure_app_shortcuts_foreground.xml │ │ │ ├── ic_error_24dp.xml │ │ │ ├── submission_seekbar_video_progress.xml │ │ │ ├── ic_person_12dp.xml │ │ │ ├── ic_smartphone_20dp.xml │ │ │ ├── ic_add_circle_24dp.xml │ │ │ ├── ic_mail_unread_24dp.xml │ │ │ ├── ic_textsms_24dp.xml │ │ │ ├── ic_image_24dp.xml │ │ │ ├── ic_edit_24dp.xml │ │ │ ├── ic_gif_32dp.xml │ │ │ ├── ic_redo_24dp.xml │ │ │ ├── ic_submission_24dp.xml │ │ │ ├── ic_undo_24dp.xml │ │ │ ├── ic_more_vert_24dp.xml │ │ │ ├── ic_open_in_new_tab_24dp.xml │ │ │ ├── ic_copy_20dp.xml │ │ │ ├── ic_network_cell_20dp.xml │ │ │ ├── touchindicator_submission_thumbnail.xml │ │ │ ├── ic_mode_comment_16dp.xml │ │ │ ├── ic_done_all_24dp.xml │ │ │ ├── ic_more_horiz_24dp.xml │ │ │ ├── ic_cloud_download_24dp.xml │ │ │ ├── ic_shortcut_subreddit.xml │ │ │ ├── ic_time_20dp.xml │ │ │ ├── ic_configure_app_shortcuts.xml │ │ │ ├── ic_photo_library_24dp.xml │ │ │ ├── ic_unsave_20dp.xml │ │ │ ├── ic_unsave_24dp.xml │ │ │ ├── ic_link_20dp.xml │ │ │ ├── ic_link_24dp.xml │ │ │ ├── ic_logout_24dp.xml │ │ │ ├── ic_refresh_18dp.xml │ │ │ ├── ic_user_profile_20dp.xml │ │ │ ├── ic_user_profile_24dp.xml │ │ │ ├── ic_search_24dp.xml │ │ │ ├── ic_lock_32dp.xml │ │ │ ├── ic_volume_up_24dp.xml │ │ │ ├── ic_refresh_24dp.xml │ │ │ ├── ic_block_20dp.xml │ │ │ ├── ic_block_24dp.xml │ │ │ ├── ic_format_header_pound.xml │ │ │ ├── ic_format_bold_24dp.xml │ │ │ ├── ic_shortcut_subreddit_foreground.xml │ │ │ ├── ic_person_outline_16dp.xml │ │ │ ├── ic_adb_24dp.xml │ │ │ ├── ic_network_wifi_20dp.xml │ │ │ ├── ic_volume_off_24dp.xml │ │ │ ├── ic_share_24dp.xml │ │ │ ├── ic_share_20dp.xml │ │ │ ├── background_addlink_paste_from_clipboard_offer.xml │ │ │ ├── ic_look_and_feel_24dp.xml │ │ │ ├── ic_sync_disabled_20dp.xml │ │ │ ├── ic_format_superscript.xml │ │ │ ├── ic_visibility_off_20dp.xml │ │ │ ├── ic_visibility_off_24dp.xml │ │ │ └── ic_google_chrome_20dp.xml │ │ │ ├── values │ │ │ ├── ids.xml │ │ │ ├── integers.xml │ │ │ ├── strings_progress_with_file_size.xml │ │ │ └── attrs_fab_transform.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── drawable-hdpi │ │ │ ├── emoji_waving_hand.png │ │ │ ├── ic_status_bar_20dp.png │ │ │ └── ic_status_bar_24dp.png │ │ │ ├── drawable-mdpi │ │ │ ├── emoji_waving_hand.png │ │ │ ├── ic_status_bar_20dp.png │ │ │ └── ic_status_bar_24dp.png │ │ │ ├── drawable-xhdpi │ │ │ ├── emoji_waving_hand.png │ │ │ ├── ic_status_bar_20dp.png │ │ │ └── ic_status_bar_24dp.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── emoji_waving_hand.png │ │ │ ├── ic_status_bar_20dp.png │ │ │ └── ic_status_bar_24dp.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── emoji_waving_hand.png │ │ │ ├── ic_status_bar_20dp.png │ │ │ ├── ic_status_bar_24dp.png │ │ │ ├── giphy_attribution_dark.png │ │ │ └── giphy_attribution_light.png │ │ │ ├── values-v24 │ │ │ └── colors.xml │ │ │ ├── transition │ │ │ ├── popupwindow_exit.xml │ │ │ └── popupwindow_enter.xml │ │ │ ├── values-land │ │ │ └── dimens.xml │ │ │ ├── anim │ │ │ ├── fade_in_300.xml │ │ │ ├── fade_out_300.xml │ │ │ ├── nothing.xml │ │ │ ├── dialog_fade_in.xml │ │ │ ├── dialog_fade_out.xml │ │ │ ├── chromecustomtab_exit_to_bottom.xml │ │ │ ├── chromecustomtab_enter_from_bottom.xml │ │ │ ├── submission_options_viewflipper_mainmenu_enter.xml │ │ │ ├── submission_options_viewflipper_mainmenu_exit.xml │ │ │ ├── submission_options_viewflipper_submenu_enter.xml │ │ │ ├── submission_options_viewflipper_submenu_exit.xml │ │ │ ├── uploadimage_slide_and_fade_out_to_top.xml │ │ │ ├── uploadimage_slide_and_fade_in_from_bottom.xml │ │ │ ├── gesture_walkthroughs_slide_and_fade_out_to_top.xml │ │ │ └── gesture_walkthroughs_slide_and_fade_in_from_bottom.xml │ │ │ ├── layout │ │ │ ├── popup_menu_submissions_sorting_mode.xml │ │ │ ├── list_item_subreddit.xml │ │ │ ├── list_item_submission_comments_load_error.xml │ │ │ ├── list_item_submission_comments_load_progress.xml │ │ │ ├── list_item_gesture_preference_section_header.xml │ │ │ ├── activity_submission_fragment.xml │ │ │ ├── list_item_submission_comment_view_full_thread.xml │ │ │ └── custom_empty_state.xml │ │ │ ├── drawable-v26 │ │ │ ├── ic_shortcut_subreddit.xml │ │ │ └── ic_configure_app_shortcuts.xml │ │ │ ├── xml │ │ │ └── file_provider_paths.xml │ │ │ └── menu │ │ │ ├── menu_webview.xml │ │ │ ├── menu_share_image.xml │ │ │ ├── menu_share_video.xml │ │ │ ├── menu_subredditpicker_overflow_menu.xml │ │ │ ├── menu_subredditpicker_subreddit_options.xml │ │ │ ├── menu_compose_reply.xml │ │ │ └── menu_comment_sorting_mode.xml │ ├── test │ │ └── resources │ │ │ └── mockito-extensions │ │ │ └── org.mockito.plugins.MockMaker │ └── debug │ │ └── res │ │ └── values │ │ └── app_constants.xml └── proguard-rules.pro ├── markdownhints ├── .gitignore ├── src │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── me │ │ │ └── saket │ │ │ └── dank │ │ │ └── markdownhints │ │ │ ├── SimpleTextWatcher.java │ │ │ ├── spans │ │ │ ├── InlineCodeSpan.java │ │ │ ├── IndentedCodeBlockSpan.java │ │ │ └── HeadingSpanWithLevel.java │ │ │ └── MarkdownHintsSpanWriter.java │ └── test │ │ └── java │ │ └── me │ │ └── saket │ │ └── dank │ │ └── markdownhints │ │ └── ExampleUnitTest.java └── proguard-rules.pro ├── settings.gradle ├── jrebel.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── libs └── threetenbp-1.3.6-sources.jar ├── .gitignore └── gradle.properties /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /markdownhints/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':markdownhints' 2 | -------------------------------------------------------------------------------- /jrebel.properties: -------------------------------------------------------------------------------- 1 | gradleLogLevel=trace 2 | agentLogLevel=trace 3 | experimental=true 4 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/reddit/Subreddit.kt: -------------------------------------------------------------------------------- 1 | package me.saket.dank.reddit 2 | 3 | interface Subreddit 4 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/UiEvent.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui; 2 | 3 | public interface UiEvent { 4 | } 5 | -------------------------------------------------------------------------------- /app/src/main/assets/bifocals.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/bifocals.otf -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /libs/threetenbp-1.3.6-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/libs/threetenbp-1.3.6-sources.jar -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/SwipeEvent.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.data; 2 | 3 | public interface SwipeEvent { 4 | } 5 | -------------------------------------------------------------------------------- /app/src/main/res/font/bifocals.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/bifocals.otf -------------------------------------------------------------------------------- /app/src/main/assets/roboto_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/roboto_regular.ttf -------------------------------------------------------------------------------- /app/src/main/res/drawable/dank_cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable/dank_cat.jpg -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_bold.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_light.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_thin.ttf -------------------------------------------------------------------------------- /app/src/main/assets/Inter-UI-Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/Inter-UI-Medium.otf -------------------------------------------------------------------------------- /app/src/main/assets/Inter-UI-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/Inter-UI-Regular.otf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_italic.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_medium.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_regular.ttf -------------------------------------------------------------------------------- /app/src/main/assets/readertrial-medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/readertrial-medium.otf -------------------------------------------------------------------------------- /app/src/main/assets/readertrial-regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/readertrial-regular.otf -------------------------------------------------------------------------------- /app/src/main/assets/relativetrial-book.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/relativetrial-book.otf -------------------------------------------------------------------------------- /app/src/main/assets/relativetrial-faux.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/relativetrial-faux.otf -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_text.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_text.ttf -------------------------------------------------------------------------------- /app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/assets/relativetrial-medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/relativetrial-medium.otf -------------------------------------------------------------------------------- /app/src/main/assets/visuelttrial-regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/visuelttrial-regular.otf -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable/ic_launcher_180.png -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_medium.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_regular.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_bold_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_bold_italic.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_light_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_light_italic.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_thin_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_thin_italic.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | # Enables mocking of final classes in Mockito. 2 | 3 | mock-maker-inline 4 | -------------------------------------------------------------------------------- /app/src/main/assets/LaFabriqueTrial-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/LaFabriqueTrial-Regular.otf -------------------------------------------------------------------------------- /app/src/main/assets/LaFabriqueTrial-SemiBold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/LaFabriqueTrial-SemiBold.otf -------------------------------------------------------------------------------- /app/src/main/assets/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /app/src/main/assets/TranscriptTrial-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/TranscriptTrial-Regular.otf -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_semibold.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_medium_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/roboto_medium_italic.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/assets/relativetrial-mono12pitch.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/relativetrial-mono12pitch.otf -------------------------------------------------------------------------------- /markdownhints/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /app/src/main/assets/basis-grotesque-trial-medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/basis-grotesque-trial-medium.otf -------------------------------------------------------------------------------- /app/src/main/assets/basis-grotesque-trial-regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/assets/basis-grotesque-trial-regular.otf -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/emoji_waving_hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-hdpi/emoji_waving_hand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_status_bar_20dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-hdpi/ic_status_bar_20dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_status_bar_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-hdpi/ic_status_bar_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/emoji_waving_hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-mdpi/emoji_waving_hand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_status_bar_20dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-mdpi/ic_status_bar_20dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_status_bar_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-mdpi/ic_status_bar_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/emoji_waving_hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xhdpi/emoji_waving_hand.png -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/SafeFunction.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils; 2 | 3 | public interface SafeFunction { 4 | 5 | O apply(I input); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_status_bar_20dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xhdpi/ic_status_bar_20dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_status_bar_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xhdpi/ic_status_bar_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/emoji_waving_hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxhdpi/emoji_waving_hand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_20dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxhdpi/ic_status_bar_20dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxhdpi/ic_status_bar_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/emoji_waving_hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxxhdpi/emoji_waving_hand.png -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_condensed_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_condensed_medium.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_condensed_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_condensed_regular.ttf -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_status_bar_20dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxxhdpi/ic_status_bar_20dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_status_bar_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxxhdpi/ic_status_bar_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/font/ibmplexsans_condensed_semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/font/ibmplexsans_condensed_semibold.ttf -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/OnLoginRequireListener.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.data; 2 | 3 | public interface OnLoginRequireListener { 4 | void onLoginRequired(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/di/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.di; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/giphy_attribution_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxxhdpi/giphy_attribution_dark.png -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/cache/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.cache; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.data; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/reply/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.reply; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/vote/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.vote; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/giphy_attribution_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingarajsankaravelu/Dank/master/app/src/main/res/drawable-xxxhdpi/giphy_attribution_light.png -------------------------------------------------------------------------------- /app/src/main/res/values-v24/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @color/color_accent 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/notifs/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.notifs; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/reddit/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.reddit; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/giphy/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.giphy; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/media/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.media; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/user/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.user; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.widgets; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/swipe/SwipeDirection.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.widgets.swipe; 2 | 3 | public enum SwipeDirection { 4 | END_TO_START, 5 | START_TO_END, 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/res/transition/popupwindow_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/analytics/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.analytics; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/compose/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.compose; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/submission/PrivateSubredditException.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.submission; 2 | 3 | public class PrivateSubredditException extends RuntimeException { 4 | } 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/webview/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.webview; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/reddit/jraw/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.reddit.jraw; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/submission/SubredditNotFoundException.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.submission; 2 | 3 | public class SubredditNotFoundException extends RuntimeException { 4 | } 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/submission/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.submission; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/subreddit/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.subreddit; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/glide/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils.glide; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/okhttp/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils.okhttp; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/walkthrough/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.walkthrough; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/prefs/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.widgets.prefs; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/span/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.widgets.span; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/swipe/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.widgets.swipe; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/appshortcuts/AppShortcutScreenUiModel.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.appshortcuts; 2 | 3 | public interface AppShortcutScreenUiModel { 4 | 5 | long adapterId(); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/appshortcuts/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.appshortcuts; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/preferences/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.preferences; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/lifecycle/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils.lifecycle; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/markdown/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils.markdown; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/InboxUI/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.widgets.InboxUI; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/UiChange.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui; 2 | 3 | /** 4 | * @param Type of UI. 5 | */ 6 | public interface UiChange { 7 | 8 | void render(T ui); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/authentication/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.authentication; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/compose/OnLinkInsertListener.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.compose; 2 | 3 | public interface OnLinkInsertListener { 4 | void onLinkInsert(String title, String url); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/subscriptions/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.subscriptions; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/user/messages/MessagesRefreshState.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.user.messages; 2 | 3 | public enum MessagesRefreshState { 4 | IN_FLIGHT, 5 | IDLE, 6 | ERROR 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/user/messages/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.user.messages; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/binoculars/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.widgets.binoculars; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/submission/events/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.submission.events; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/subreddit/events/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.subreddit.events; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/itemanimators/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils.itemanimators; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/lifecycle/LifecycleOwner.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils.lifecycle; 2 | 3 | public interface LifecycleOwner { 4 | 5 | LifecycleStreams lifecycle(); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/preferences/adapter/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.preferences.adapter; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/preferences/events/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.preferences.events; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/preferences/gestures/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.preferences.gestures; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/submission/adapter/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.submission.adapter; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/subreddit/uimodels/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.ui.subreddit.uimodels; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/markdown/markwon/package-info.java: -------------------------------------------------------------------------------- 1 | @ParametersAreNonnullByDefault 2 | package me.saket.dank.utils.markdown.markwon; 3 | 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @dimen/spacing12 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/deeplinks/AppDeepLinkModule.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.deeplinks; 2 | 3 | import com.airbnb.deeplinkdispatch.DeepLinkModule; 4 | 5 | @DeepLinkModule 6 | public class AppDeepLinkModule { 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_subreddit_submission_nsfw.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/lifecycle/DialogLifecycleEvent.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils.lifecycle; 2 | 3 | public enum DialogLifecycleEvent { 4 | START, 5 | STOP, 6 | RESUME, 7 | PAUSE, 8 | DESTROY 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/media/VideoNotCachedYetException.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.media; 2 | 3 | import java.util.NoSuchElementException; 4 | 5 | public class VideoNotCachedYetException extends NoSuchElementException { 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/lifecycle/ActivityLifecycleEvent.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils.lifecycle; 2 | 3 | public enum ActivityLifecycleEvent { 4 | START, 5 | STOP, 6 | RESUME, 7 | PAUSE, 8 | DESTROY 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/lifecycle/FragmentLifecycleEvent.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils.lifecycle; 2 | 3 | public enum FragmentLifecycleEvent { 4 | START, 5 | STOP, 6 | RESUME, 7 | PAUSE, 8 | DESTROY 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/DankDialogFragment.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui; 2 | 3 | import me.saket.dank.utils.lifecycle.LifecycleOwnerDialogFragment; 4 | 5 | public class DankDialogFragment extends LifecycleOwnerDialogFragment { 6 | } 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values/app_constants.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Dank (d) 4 | me.saket.dank.debug.fileprovider 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/CachePreFillThing.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.data; 2 | 3 | /** 4 | * Things that can be pre-filled in cache. 5 | */ 6 | public enum CachePreFillThing { 7 | COMMENTS, 8 | IMAGES, 9 | LINK_METADATA 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fade_in_300.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/lifecycle/ViewLifecycleEvent.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils.lifecycle; 2 | 3 | public enum ViewLifecycleEvent { 4 | ATTACH, 5 | DETACH, 6 | START, 7 | STOP, 8 | RESUME, 9 | PAUSE, 10 | DESTROY 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fade_out_300.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 250 4 | 250 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/Function0.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils; 2 | 3 | /** 4 | * Because Func0 no longer exists in RxJava2. 5 | * 6 | * TODO: Convert to Supplier. 7 | */ 8 | public interface Function0 { 9 | T calculate(); 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/exceptions/InvalidImgurAlbumException.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.data.exceptions; 2 | 3 | /** 4 | * Thrown when Imgur returns no images for a link. 5 | */ 6 | public class InvalidImgurAlbumException extends RuntimeException { 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_appshortcut_preview_launcher_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_link_favicon_circle.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_self_thumbnail.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_user_profile_popup_image_placeholder.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shortcut_subreddit_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/preferences/UserPreferenceNestedScreen.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.preferences; 2 | 3 | import android.view.View; 4 | 5 | public interface UserPreferenceNestedScreen { 6 | 7 | void setNavigationOnClickListener(View.OnClickListener listener); 8 | } 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Aug 19 17:11:42 IST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/popup_menu_submissions_sorting_mode.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/InfinitelyScrollableRecyclerViewAdapter.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils; 2 | 3 | public interface InfinitelyScrollableRecyclerViewAdapter { 4 | 5 | /** 6 | * Decorators == headers, footers, etc. 7 | */ 8 | int getItemCountMinusDecorators(); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/widgets/swipe/ViewHolderWithSwipeActions.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.widgets.swipe; 2 | 3 | /** 4 | * ViewHolder that wraps a {@link SwipeableLayout} for RecyclerView rows. 5 | */ 6 | public interface ViewHolderWithSwipeActions { 7 | SwipeableLayout getSwipeableLayout(); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_image_scroll_hint.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/nothing.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_header_archived_label.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/exceptions/ImgurApiRequestRateLimitReachedException.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.data.exceptions; 2 | 3 | /** 4 | * Thrown when Dank runs out Imgur rate limits, in order to avoid over-billing. 5 | */ 6 | public class ImgurApiRequestRateLimitReachedException extends RuntimeException { 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/data/exceptions/ImgurApiUploadRateLimitReachedException.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.data.exceptions; 2 | 3 | /** 4 | * Thrown when Dank runs out Imgur rate limits, in order to avoid over-billing. 5 | */ 6 | public class ImgurApiUploadRateLimitReachedException extends RuntimeException { 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_popup_window.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_comment_reply.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/dialog_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/dialog_fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_self_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/chromecustomtab_exit_to_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_mediaalbumviewer_error_state.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_message_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_comment_options.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_link.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/chromecustomtab_enter_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_media_progress_bar_file_size.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_progress_with_file_size.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | %d B 4 | %d KB 5 | %d MB 6 | %d GB 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/submission_options_viewflipper_mainmenu_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/submission_options_viewflipper_mainmenu_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/submission_options_viewflipper_submenu_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/submission_options_viewflipper_submenu_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_toolbar_shadows.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/analytics/AnalyticsDaggerModule.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.analytics; 2 | 3 | import dagger.Module; 4 | import dagger.Provides; 5 | 6 | @Module 7 | public class AnalyticsDaggerModule { 8 | 9 | @Provides 10 | static CrashReporter crashReporter(BugsnagCrashReporter bugsnag) { 11 | return bugsnag; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/compose/MarkdownAction.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.compose; 2 | 3 | public enum MarkdownAction { 4 | BOLD, 5 | ITALIC, 6 | INSERT_TEXT_EMOJI, 7 | INSERT_LINK, 8 | INSERT_IMAGE, 9 | INSERT_GIF, 10 | STRIKE_THROUGH, 11 | QUOTE, 12 | SUPERSCRIPT, 13 | INLINE_CODE, 14 | HEADING, 15 | SPOILER 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/utils/okhttp/OkHttpRequestWriteProgressListener.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.utils.okhttp; 2 | 3 | /** 4 | * For listening to response read progress with {@link OkHttpRequestWriteProgressListener}. 5 | */ 6 | public interface OkHttpRequestWriteProgressListener { 7 | 8 | void update(long bytesRead, long totalBytes); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_submission_view_full_thread.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/preferences/events/UserPreferenceClickListener.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.preferences.events; 2 | 3 | import me.saket.dank.ui.preferences.PreferenceButtonClickHandler; 4 | 5 | public interface UserPreferenceClickListener { 6 | 7 | void onClick(PreferenceButtonClickHandler clickHandler, UserPreferenceButtonClickEvent event); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/me/saket/dank/ui/submission/events/SubmissionMediaLoadFailed.java: -------------------------------------------------------------------------------- 1 | package me.saket.dank.ui.submission.events; 2 | 3 | import me.saket.dank.ui.UiEvent; 4 | 5 | public class SubmissionMediaLoadFailed implements UiEvent { 6 | 7 | public static SubmissionMediaLoadFailed create() { 8 | return new SubmissionMediaLoadFailed(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/list_item_subreddit.xml: -------------------------------------------------------------------------------- 1 | 2 |