├── .editorconfig ├── .github ├── FUNDING.yml └── workflows │ └── build.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.txt ├── PRIVACY.md ├── README.md ├── build.gradle.kts ├── config ├── checkstyle │ ├── checkstyle.xml │ └── copyright.java.txt ├── lint │ ├── lint-baseline.xml │ └── lint.xml ├── pmd │ └── rules.xml └── scripts │ ├── build_alpha.sh │ ├── retry.sh │ ├── run_emulator_tests.sh │ └── run_emulator_tests_with_retry.sh ├── fastlane └── metadata │ └── android │ └── en-US │ ├── full_description.txt │ ├── images │ └── icon.png │ ├── short_description.txt │ └── title.txt ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── justfile ├── libs ├── redreader-common │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── quantumbadger │ │ └── redreader │ │ └── common │ │ └── time │ │ ├── TimeDuration.kt │ │ ├── TimePeriod.kt │ │ ├── TimeStrings.kt │ │ ├── TimeStringsDebug.kt │ │ └── TimestampUTC.kt └── redreader-datamodel │ ├── .gitignore │ └── build.gradle.kts ├── proguard-rules.pro ├── settings.gradle.kts └── src ├── androidTest └── java │ └── org │ └── quantumbadger │ └── redreader │ └── activities │ ├── BasicUITest.java │ ├── UITestReadSelfPost.java │ └── UITestUtils.java ├── main ├── AndroidManifest.xml ├── assets │ ├── changelog-alpha.txt │ ├── changelog.txt │ ├── fonts │ │ ├── Roboto-Light.ttf │ │ └── VeraMono.ttf │ ├── license.html │ └── reddit_auth.placeholder.txt ├── java │ ├── com │ │ └── github │ │ │ └── lzyzsd │ │ │ └── circleprogress │ │ │ └── DonutProgress.java │ ├── jp │ │ └── tomorrowkey │ │ │ └── android │ │ │ └── gifplayer │ │ │ └── GifDecoder.java │ └── org │ │ └── quantumbadger │ │ └── redreader │ │ ├── RedReader.kt │ │ ├── account │ │ ├── RedditAccount.java │ │ ├── RedditAccountChangeListener.java │ │ ├── RedditAccountId.kt │ │ └── RedditAccountManager.java │ │ ├── activities │ │ ├── AlbumListingActivity.kt │ │ ├── BaseActivity.java │ │ ├── BugReportActivity.java │ │ ├── ChangelogActivity.java │ │ ├── CommentEditActivity.java │ │ ├── CommentListingActivity.java │ │ ├── CommentReplyActivity.java │ │ ├── HtmlViewActivity.java │ │ ├── ImageViewActivity.java │ │ ├── ImgurUploadActivity.java │ │ ├── InboxListingActivity.java │ │ ├── LinkDispatchActivity.java │ │ ├── MainActivity.java │ │ ├── MoreCommentsListingActivity.java │ │ ├── OAuthLoginActivity.java │ │ ├── OptionsMenuUtility.java │ │ ├── PMSendActivity.java │ │ ├── PostListingActivity.java │ │ ├── PostSubmitActivity.java │ │ ├── RedditTermsActivity.kt │ │ ├── RefreshableActivity.java │ │ ├── SessionChangeListener.java │ │ ├── SubredditSearchActivity.java │ │ ├── ViewsBaseActivity.java │ │ └── WebViewActivity.java │ │ ├── adapters │ │ ├── AccountListAdapter.kt │ │ ├── FilteredCommentListingManager.java │ │ ├── GroupedRecyclerViewAdapter.java │ │ ├── GroupedRecyclerViewItemFrameLayout.java │ │ ├── GroupedRecyclerViewItemLoadingSpinner.java │ │ ├── GroupedRecyclerViewItemRRError.java │ │ ├── GroupedRecyclerViewItemView.java │ │ ├── HeaderRecyclerAdapter.java │ │ ├── MainMenuListingManager.java │ │ ├── MainMenuSelectionListener.java │ │ ├── NoFilterAdapter.kt │ │ ├── PostListingManager.java │ │ ├── RedditListingManager.java │ │ ├── SessionListAdapter.java │ │ ├── ShareOrderAdapter.java │ │ └── ShareOrderCallbackListener.java │ │ ├── cache │ │ ├── CacheCompressionType.java │ │ ├── CacheContentProvider.java │ │ ├── CacheDbManager.java │ │ ├── CacheDownload.java │ │ ├── CacheDownloadThread.java │ │ ├── CacheEntry.java │ │ ├── CacheManager.java │ │ ├── CacheRequest.java │ │ ├── CacheRequestCallbacks.java │ │ ├── CacheRequestJSONParser.java │ │ ├── NotifyOutputStream.java │ │ ├── PrioritisedDownloadQueue.java │ │ └── downloadstrategy │ │ │ ├── DownloadStrategy.java │ │ │ ├── DownloadStrategyAlways.java │ │ │ ├── DownloadStrategyIfNotCached.java │ │ │ ├── DownloadStrategyIfTimestampOutsideBounds.kt │ │ │ └── DownloadStrategyNever.java │ │ ├── common │ │ ├── Alarms.java │ │ ├── AndroidCommon.kt │ │ ├── BetterSSB.java │ │ ├── CachedHash.kt │ │ ├── CachedThreadPool.java │ │ ├── CachedValue.java │ │ ├── ChangelogManager.java │ │ ├── ConfigProviders.kt │ │ ├── Constants.java │ │ ├── Consumer.java │ │ ├── DialogUtils.java │ │ ├── DisplayUtils.java │ │ ├── EventListenerSet.java │ │ ├── FeatureFlagHandler.java │ │ ├── FileUtils.java │ │ ├── Fonts.java │ │ ├── FunctionOneArgNoReturn.java │ │ ├── FunctionOneArgWithReturn.java │ │ ├── General.kt │ │ ├── GenerationalCache.java │ │ ├── GenericFactory.java │ │ ├── GenericFactoryNoThrow.java │ │ ├── GlobalConfig.kt │ │ ├── GlobalExceptionHandler.kt │ │ ├── HandlerTimer.java │ │ ├── HasUniqueId.java │ │ ├── HexUtils.java │ │ ├── LinkHandler.kt │ │ ├── ListUtils.java │ │ ├── Locker.java │ │ ├── MediaUtils.java │ │ ├── MutableFloatPoint2D.java │ │ ├── MutableFloatRectangle2D.java │ │ ├── NeverAlwaysOrWifiOnly.java │ │ ├── Optional.java │ │ ├── ParcelHelper.java │ │ ├── ParcelUtils.java │ │ ├── PrefsBackup.java │ │ ├── PrefsUtility.java │ │ ├── PrioritisedCachedThreadPool.java │ │ ├── Priority.kt │ │ ├── RRError.kt │ │ ├── RRThemeAttributes.java │ │ ├── RunnableOnce.java │ │ ├── ScreenreaderPronunciation.java │ │ ├── SerializeUtils.java │ │ ├── SharedPrefsWrapper.java │ │ ├── StringUtils.java │ │ ├── StringUtilsKt.kt │ │ ├── ThreadCheckedVar.java │ │ ├── TimestampBound.java │ │ ├── TorCommon.java │ │ ├── TriggerableThread.java │ │ ├── TriggerableThreadGroup.java │ │ ├── UIThreadRepeatingTimer.java │ │ ├── UnaryOperator.java │ │ ├── UnexpectedInternalStateException.java │ │ ├── UniqueSynchronizedQueue.java │ │ ├── UpdateNotifier.java │ │ ├── UriString.kt │ │ ├── Void.java │ │ ├── collections │ │ │ ├── CollectionStream.java │ │ │ ├── MapStream.java │ │ │ ├── MapStreamRethrowExceptions.java │ │ │ ├── Stack.java │ │ │ ├── Stream.java │ │ │ ├── WeakReferenceListHashMapManager.java │ │ │ └── WeakReferenceListManager.java │ │ ├── datastream │ │ │ ├── ByteArrayCallback.java │ │ │ ├── MemoryDataStream.java │ │ │ ├── MemoryDataStreamInputStream.java │ │ │ ├── SeekableFileInputStream.java │ │ │ └── SeekableInputStream.java │ │ ├── streams │ │ │ ├── FilterStream.java │ │ │ ├── IteratorStream.java │ │ │ ├── Predicate.java │ │ │ └── Stream.java │ │ └── time │ │ │ ├── TimeFormatHelper.kt │ │ │ └── TimeStringsImpl.kt │ │ ├── compose │ │ ├── activity │ │ │ └── ComposeBaseActivity.kt │ │ ├── ctx │ │ │ ├── RRComposeContext.kt │ │ │ └── RRComposeContextTest.kt │ │ ├── net │ │ │ └── NetWrapper.kt │ │ ├── prefs │ │ │ └── ComposePrefs.kt │ │ ├── theme │ │ │ └── ComposeTheme.kt │ │ └── ui │ │ │ ├── AlbumCard.kt │ │ │ ├── AlbumEntryButtons.kt │ │ │ ├── AlbumListItem.kt │ │ │ ├── AlbumScreen.kt │ │ │ ├── NetImage.kt │ │ │ ├── RRButton.kt │ │ │ ├── RRDropdownMenu.kt │ │ │ ├── RRErrorView.kt │ │ │ ├── RRIconButton.kt │ │ │ └── RRLinkButton.kt │ │ ├── fragments │ │ ├── AccountListDialog.java │ │ ├── ChangelogDialog.java │ │ ├── CommentListingFragment.java │ │ ├── CommentPropertiesDialog.java │ │ ├── ErrorPropertiesDialog.java │ │ ├── ImageInfoDialog.java │ │ ├── MainMenuFragment.java │ │ ├── MarkdownPreviewDialog.java │ │ ├── PostListingFragment.java │ │ ├── PostPropertiesDialog.java │ │ ├── PropertiesDialog.java │ │ ├── RRFragment.java │ │ ├── SessionListDialog.java │ │ ├── ShareOrderDialog.java │ │ ├── UserProfileDialog.kt │ │ ├── UserPropertiesDialog.java │ │ ├── WebViewFragment.java │ │ └── postsubmit │ │ │ ├── PostSubmitContentFragment.java │ │ │ └── PostSubmitSubredditSelectionFragment.java │ │ ├── http │ │ ├── FailedRequestBody.java │ │ ├── HTTPBackend.kt │ │ ├── LegacyTLSSocketFactory.java │ │ ├── PostField.kt │ │ ├── body │ │ │ ├── HTTPRequestBody.kt │ │ │ └── multipart │ │ │ │ └── Part.kt │ │ └── okhttp │ │ │ └── OKHTTPBackend.kt │ │ ├── image │ │ ├── AlbumInfo.kt │ │ ├── DeviantArtAPI.java │ │ ├── GetAlbumInfoListener.java │ │ ├── GetImageInfoListener.java │ │ ├── GfycatAPI.java │ │ ├── GifDecoderThread.java │ │ ├── ImageInfo.kt │ │ ├── ImgurAPI.java │ │ ├── ImgurAPIV3.java │ │ ├── LegacySaveImageCallback.java │ │ ├── RedditGalleryAPI.kt │ │ ├── RedditVideosAPI.kt │ │ ├── RedgifsAPI.java │ │ ├── RedgifsAPIV2.java │ │ ├── StreamableAPI.java │ │ └── ThumbnailScaler.java │ │ ├── io │ │ ├── CacheDataSource.java │ │ ├── ExtendedDataInputStream.java │ │ ├── ExtendedDataOutputStream.java │ │ ├── PermanentCache.java │ │ ├── RawObjectDB.java │ │ ├── RedditChangeDataIO.java │ │ ├── RequestResponseHandler.java │ │ ├── ThreadedRawObjectDB.java │ │ ├── UpdatedVersionListener.java │ │ ├── UpdatedVersionListenerNotifier.java │ │ ├── WeakCache.java │ │ ├── WritableHashSet.java │ │ └── WritableObject.java │ │ ├── jsonwrap │ │ ├── JsonArray.java │ │ ├── JsonBoolean.java │ │ ├── JsonDouble.java │ │ ├── JsonLong.java │ │ ├── JsonNull.java │ │ ├── JsonObject.java │ │ ├── JsonString.java │ │ └── JsonValue.java │ │ ├── listingcontrollers │ │ ├── CommentListingController.java │ │ └── PostListingController.java │ │ ├── receivers │ │ ├── BootReceiver.java │ │ ├── NewMessageChecker.java │ │ ├── RegularCachePruner.java │ │ └── announcements │ │ │ ├── Announcement.java │ │ │ ├── AnnouncementDownloader.java │ │ │ ├── Payload.java │ │ │ ├── SignatureHandler.java │ │ │ └── SignedDataSerializer.java │ │ ├── reddit │ │ ├── APIResponseHandler.java │ │ ├── CommentListingRequest.java │ │ ├── Hideable.java │ │ ├── PostCommentSort.java │ │ ├── PostSort.java │ │ ├── RedditAPI.java │ │ ├── RedditCommentListItem.java │ │ ├── RedditFlairChoice.java │ │ ├── RedditPostListItem.java │ │ ├── RedditSubredditHistory.java │ │ ├── RedditSubredditManager.java │ │ ├── SubredditDetails.java │ │ ├── UserCommentSort.java │ │ ├── api │ │ │ ├── RedditAPICommentAction.java │ │ │ ├── RedditAPIIndividualSubredditDataRequester.java │ │ │ ├── RedditAPIIndividualSubredditListRequester.java │ │ │ ├── RedditAPIMultiredditListRequester.java │ │ │ ├── RedditMultiredditSubscriptionManager.java │ │ │ ├── RedditOAuth.kt │ │ │ ├── RedditPostActions.kt │ │ │ ├── RedditSubredditSubscriptionManager.java │ │ │ └── SubredditSubscriptionState.java │ │ ├── kthings │ │ │ ├── ImageMetadata.kt │ │ │ ├── JsonUtils.kt │ │ │ ├── MaybeParseError.kt │ │ │ ├── RedditComment.kt │ │ │ ├── RedditFieldEdited.kt │ │ │ ├── RedditFieldReplies.kt │ │ │ ├── RedditIdAndType.kt │ │ │ ├── RedditListing.kt │ │ │ ├── RedditMediaMetadata.kt │ │ │ ├── RedditMessage.kt │ │ │ ├── RedditMore.kt │ │ │ ├── RedditPost.kt │ │ │ ├── RedditThing.kt │ │ │ ├── RedditThingResponse.kt │ │ │ ├── RedditTimestampUTC.kt │ │ │ └── UrlEncodedString.kt │ │ ├── prepared │ │ │ ├── RedditChangeDataManager.java │ │ │ ├── RedditParsedComment.java │ │ │ ├── RedditParsedPost.kt │ │ │ ├── RedditPreparedMessage.java │ │ │ ├── RedditPreparedPost.java │ │ │ ├── RedditRenderableComment.java │ │ │ ├── RedditRenderableCommentListItem.java │ │ │ ├── RedditRenderableInboxItem.java │ │ │ ├── bodytext │ │ │ │ ├── BlockType.java │ │ │ │ ├── BodyElement.java │ │ │ │ ├── BodyElementBaseButton.java │ │ │ │ ├── BodyElementBullet.java │ │ │ │ ├── BodyElementHorizontalRule.java │ │ │ │ ├── BodyElementLinkButton.java │ │ │ │ ├── BodyElementNumberedListElement.java │ │ │ │ ├── BodyElementQuote.java │ │ │ │ ├── BodyElementRRError.java │ │ │ │ ├── BodyElementSpoilerButton.java │ │ │ │ ├── BodyElementTable.java │ │ │ │ ├── BodyElementTableCell.java │ │ │ │ ├── BodyElementTableRow.java │ │ │ │ ├── BodyElementTextSpanned.java │ │ │ │ ├── BodyElementVerticalSequence.java │ │ │ │ └── DynamicSpanned.java │ │ │ ├── html │ │ │ │ ├── HtmlRawElement.java │ │ │ │ ├── HtmlRawElementBlock.java │ │ │ │ ├── HtmlRawElementBreak.java │ │ │ │ ├── HtmlRawElementBulletList.java │ │ │ │ ├── HtmlRawElementImg.java │ │ │ │ ├── HtmlRawElementInlineErrorMessage.java │ │ │ │ ├── HtmlRawElementLinkButton.java │ │ │ │ ├── HtmlRawElementNumberedList.java │ │ │ │ ├── HtmlRawElementPlainText.java │ │ │ │ ├── HtmlRawElementQuote.java │ │ │ │ ├── HtmlRawElementSpoiler.java │ │ │ │ ├── HtmlRawElementStyledText.java │ │ │ │ ├── HtmlRawElementTable.java │ │ │ │ ├── HtmlRawElementTableCell.java │ │ │ │ ├── HtmlRawElementTableRow.java │ │ │ │ ├── HtmlRawElementTag.java │ │ │ │ ├── HtmlRawElementTagAnchor.java │ │ │ │ ├── HtmlRawElementTagAttributeChange.java │ │ │ │ ├── HtmlRawElementTagCode.java │ │ │ │ ├── HtmlRawElementTagDel.java │ │ │ │ ├── HtmlRawElementTagEmphasis.java │ │ │ │ ├── HtmlRawElementTagH1.java │ │ │ │ ├── HtmlRawElementTagH2.java │ │ │ │ ├── HtmlRawElementTagH3.java │ │ │ │ ├── HtmlRawElementTagH4.java │ │ │ │ ├── HtmlRawElementTagH5.java │ │ │ │ ├── HtmlRawElementTagH6.java │ │ │ │ ├── HtmlRawElementTagHorizontalRule.java │ │ │ │ ├── HtmlRawElementTagPassthrough.java │ │ │ │ ├── HtmlRawElementTagStrong.java │ │ │ │ ├── HtmlRawElementTagSuperscript.java │ │ │ │ ├── HtmlReader.java │ │ │ │ ├── HtmlReaderPeekable.java │ │ │ │ ├── HtmlTextAttributes.java │ │ │ │ └── MalformedHtmlException.java │ │ │ └── markdown │ │ │ │ ├── CharArrSubstring.java │ │ │ │ ├── IntArrayLengthPair.java │ │ │ │ ├── MarkdownLine.java │ │ │ │ ├── MarkdownParagraph.java │ │ │ │ ├── MarkdownParagraphGroup.java │ │ │ │ ├── MarkdownParser.java │ │ │ │ └── MarkdownTokenizer.java │ │ ├── things │ │ │ ├── InvalidSubredditNameException.java │ │ │ ├── RedditSubreddit.java │ │ │ ├── RedditThing.java │ │ │ ├── RedditThingWithIdAndType.java │ │ │ ├── RedditUser.java │ │ │ └── SubredditCanonicalId.java │ │ └── url │ │ │ ├── CommentListingURL.java │ │ │ ├── ComposeMessageURL.java │ │ │ ├── MultiredditPostListURL.java │ │ │ ├── OpaqueSharedURL.java │ │ │ ├── PostCommentListingURL.java │ │ │ ├── PostListingURL.java │ │ │ ├── RedditURLParser.java │ │ │ ├── SearchPostListURL.java │ │ │ ├── SubredditPostListURL.java │ │ │ ├── UnknownCommentListURL.java │ │ │ ├── UnknownPostListURL.java │ │ │ ├── UserCommentListingURL.java │ │ │ ├── UserPostListingURL.java │ │ │ └── UserProfileURL.java │ │ ├── settings │ │ ├── SettingsActivity.java │ │ ├── SettingsFragment.java │ │ └── types │ │ │ ├── AlbumViewMode.kt │ │ │ ├── AppearanceTheme.kt │ │ │ └── SettingSerializer.kt │ │ ├── viewholders │ │ ├── SubredditItemViewHolder.java │ │ ├── VH1Text.java │ │ └── VH3TextIcon.java │ │ └── views │ │ ├── AccessibilityActionManager.kt │ │ ├── AnnouncementView.java │ │ ├── ButtonLoadingSpinnerView.java │ │ ├── FlingableItemView.java │ │ ├── GIFView.java │ │ ├── HorizontalSwipeProgressOverlay.java │ │ ├── IndentView.java │ │ ├── LinkDetailsView.java │ │ ├── LinkifiedTextView.java │ │ ├── LiveDHM.java │ │ ├── LoadMoreCommentsView.java │ │ ├── LoadingSpinnerView.java │ │ ├── PostListingHeader.java │ │ ├── RRAnimation.java │ │ ├── RRAnimationShrinkHeight.java │ │ ├── RRChoreographer.java │ │ ├── RRDHMAnimation.java │ │ ├── RedditCommentView.java │ │ ├── RedditInboxItemView.java │ │ ├── RedditPostHeaderView.java │ │ ├── RedditPostView.java │ │ ├── ScrollbarRecyclerViewManager.java │ │ ├── SearchListingHeader.java │ │ ├── SubredditSearchQuickLinks.java │ │ ├── SubredditToolbar.java │ │ ├── SwipableItemView.java │ │ ├── SwipeHistory.java │ │ ├── bezelmenu │ │ ├── BezelSwipeOverlay.java │ │ ├── SideToolbarOverlay.java │ │ └── VerticalToolbar.java │ │ ├── glview │ │ ├── RRGLSurfaceView.java │ │ ├── Refreshable.java │ │ ├── displaylist │ │ │ ├── RRGLDisplayList.java │ │ │ ├── RRGLDisplayListRenderer.java │ │ │ ├── RRGLRenderable.java │ │ │ ├── RRGLRenderableBlend.java │ │ │ ├── RRGLRenderableColouredQuad.java │ │ │ ├── RRGLRenderableGroup.java │ │ │ ├── RRGLRenderableRenderHooks.java │ │ │ ├── RRGLRenderableScale.java │ │ │ ├── RRGLRenderableTexturedQuad.java │ │ │ └── RRGLRenderableTranslation.java │ │ └── program │ │ │ ├── RRGLContext.java │ │ │ ├── RRGLMatrixStack.java │ │ │ ├── RRGLProgram.java │ │ │ ├── RRGLProgramColour.java │ │ │ ├── RRGLProgramTexture.java │ │ │ ├── RRGLProgramVertices.java │ │ │ └── RRGLTexture.java │ │ ├── imageview │ │ ├── BasicGestureHandler.java │ │ ├── BoundsHelper.java │ │ ├── CoordinateHelper.java │ │ ├── FingerTracker.java │ │ ├── ImageTileSource.java │ │ ├── ImageTileSourceWholeBitmap.java │ │ ├── ImageViewDisplayListManager.java │ │ ├── ImageViewScaleAnimation.java │ │ ├── ImageViewScrollbars.java │ │ ├── ImageViewTileLoader.java │ │ ├── ImageViewTileLoaderThread.java │ │ └── MultiScaleTileManager.java │ │ ├── list │ │ ├── GroupedRecyclerViewItemListItemView.java │ │ ├── GroupedRecyclerViewItemListSectionHeaderView.java │ │ └── ListItemView.java │ │ ├── liststatus │ │ ├── CommentSubThreadView.java │ │ ├── ErrorView.kt │ │ ├── LoadingView.java │ │ └── StatusListItemView.java │ │ ├── video │ │ ├── ExoPlayerSeekableInputStreamDataSource.java │ │ ├── ExoPlayerSeekableInputStreamDataSourceFactory.java │ │ └── ExoPlayerWrapperView.java │ │ └── webview │ │ ├── VideoEnabledWebChromeClient.java │ │ └── WebViewFixed.java └── res │ ├── anim │ └── slide_in_from_bottom.xml │ ├── color │ ├── rr_color_quick_link_button.xml │ └── rr_color_quick_link_button_foreground.xml │ ├── drawable-anydpi-v26 │ ├── icon_foreground.xml │ └── icon_inv_foreground.xml │ ├── drawable-hdpi │ ├── ic_action_add_dark.png │ ├── ic_action_add_light.png │ ├── ic_action_back_dark.png │ ├── ic_action_comments_dark.png │ ├── ic_action_comments_light.png │ ├── ic_action_copy_dark.png │ ├── ic_action_copy_light.png │ ├── ic_action_cross_dark.png │ ├── ic_action_cross_light.png │ ├── ic_action_env_open_dark.png │ ├── ic_action_env_open_light.png │ ├── ic_action_external_dark.png │ ├── ic_action_external_light.png │ ├── ic_action_forward_dark.png │ ├── ic_action_forward_light.png │ ├── ic_action_image_dark.png │ ├── ic_action_image_light.png │ ├── ic_action_info_dark.png │ ├── ic_action_info_light.png │ ├── ic_action_link_dark.png │ ├── ic_action_link_light.png │ ├── ic_action_person_dark.png │ ├── ic_action_person_light.png │ ├── ic_action_reply_dark.png │ ├── ic_action_reply_light.png │ ├── ic_action_save_dark.png │ ├── ic_action_save_light.png │ ├── ic_action_send_dark.png │ ├── ic_action_send_light.png │ ├── ic_action_share_dark.png │ ├── ic_action_share_light.png │ ├── ic_action_tick_dark.png │ ├── ic_action_tick_light.png │ └── icon_notif.png │ ├── drawable-mdpi │ ├── ic_action_add_dark.png │ ├── ic_action_add_light.png │ ├── ic_action_back_dark.png │ ├── ic_action_comments_dark.png │ ├── ic_action_comments_light.png │ ├── ic_action_copy_dark.png │ ├── ic_action_copy_light.png │ ├── ic_action_cross_dark.png │ ├── ic_action_cross_light.png │ ├── ic_action_env_open_dark.png │ ├── ic_action_env_open_light.png │ ├── ic_action_external_dark.png │ ├── ic_action_external_light.png │ ├── ic_action_forward_dark.png │ ├── ic_action_forward_light.png │ ├── ic_action_image_dark.png │ ├── ic_action_image_light.png │ ├── ic_action_info_dark.png │ ├── ic_action_info_light.png │ ├── ic_action_link_dark.png │ ├── ic_action_link_light.png │ ├── ic_action_person_dark.png │ ├── ic_action_person_light.png │ ├── ic_action_reply_dark.png │ ├── ic_action_reply_light.png │ ├── ic_action_save_dark.png │ ├── ic_action_save_light.png │ ├── ic_action_send_dark.png │ ├── ic_action_send_light.png │ ├── ic_action_share_dark.png │ ├── ic_action_share_light.png │ ├── ic_action_tick_dark.png │ ├── ic_action_tick_light.png │ └── icon_notif.png │ ├── drawable-xhdpi │ ├── ic_action_add_dark.png │ ├── ic_action_add_light.png │ ├── ic_action_back_dark.png │ ├── ic_action_comments_dark.png │ ├── ic_action_comments_light.png │ ├── ic_action_copy_dark.png │ ├── ic_action_copy_light.png │ ├── ic_action_cross_dark.png │ ├── ic_action_cross_light.png │ ├── ic_action_env_open_dark.png │ ├── ic_action_env_open_light.png │ ├── ic_action_external_dark.png │ ├── ic_action_external_light.png │ ├── ic_action_forward_dark.png │ ├── ic_action_forward_light.png │ ├── ic_action_image_dark.png │ ├── ic_action_image_light.png │ ├── ic_action_info_dark.png │ ├── ic_action_info_light.png │ ├── ic_action_link_dark.png │ ├── ic_action_link_light.png │ ├── ic_action_person_dark.png │ ├── ic_action_person_light.png │ ├── ic_action_reply_dark.png │ ├── ic_action_reply_light.png │ ├── ic_action_save_dark.png │ ├── ic_action_save_light.png │ ├── ic_action_send_dark.png │ ├── ic_action_send_light.png │ ├── ic_action_share_dark.png │ ├── ic_action_share_light.png │ ├── ic_action_tick_dark.png │ ├── ic_action_tick_light.png │ └── icon_notif.png │ ├── drawable-xxhdpi │ ├── ic_action_add_dark.png │ ├── ic_action_add_light.png │ ├── ic_action_back_dark.png │ ├── ic_action_comments_dark.png │ ├── ic_action_comments_light.png │ ├── ic_action_copy_dark.png │ ├── ic_action_copy_light.png │ ├── ic_action_cross_dark.png │ ├── ic_action_cross_light.png │ ├── ic_action_env_open_dark.png │ ├── ic_action_env_open_light.png │ ├── ic_action_external_dark.png │ ├── ic_action_external_light.png │ ├── ic_action_forward_dark.png │ ├── ic_action_forward_light.png │ ├── ic_action_image_dark.png │ ├── ic_action_image_light.png │ ├── ic_action_info_dark.png │ ├── ic_action_info_light.png │ ├── ic_action_link_dark.png │ ├── ic_action_link_light.png │ ├── ic_action_person_dark.png │ ├── ic_action_person_light.png │ ├── ic_action_reply_dark.png │ ├── ic_action_reply_light.png │ ├── ic_action_save_dark.png │ ├── ic_action_save_light.png │ ├── ic_action_send_dark.png │ ├── ic_action_send_light.png │ ├── ic_action_share_dark.png │ ├── ic_action_share_light.png │ ├── ic_action_tick_dark.png │ ├── ic_action_tick_light.png │ └── icon_notif.png │ ├── drawable-xxxhdpi │ ├── ic_action_add_dark.png │ ├── ic_action_add_light.png │ ├── ic_action_comments_dark.png │ ├── ic_action_comments_light.png │ ├── ic_action_copy_dark.png │ ├── ic_action_copy_light.png │ ├── ic_action_cross_dark.png │ ├── ic_action_cross_light.png │ ├── ic_action_env_open_dark.png │ ├── ic_action_env_open_light.png │ ├── ic_action_external_dark.png │ ├── ic_action_external_light.png │ ├── ic_action_image_dark.png │ ├── ic_action_image_light.png │ ├── ic_action_info_dark.png │ ├── ic_action_info_light.png │ ├── ic_action_link_dark.png │ ├── ic_action_link_light.png │ ├── ic_action_person_dark.png │ ├── ic_action_person_light.png │ ├── ic_action_reply_dark.png │ ├── ic_action_reply_light.png │ ├── ic_action_save_dark.png │ ├── ic_action_save_light.png │ ├── ic_action_send_dark.png │ ├── ic_action_send_light.png │ ├── ic_action_share_dark.png │ ├── ic_action_share_light.png │ ├── ic_action_tick_dark.png │ ├── ic_action_tick_light.png │ └── icon_notif.png │ ├── drawable │ ├── account_search_dark.xml │ ├── account_search_light.xml │ ├── alert_circle_outline.xml │ ├── arrow_down_bold_dark.xml │ ├── arrow_down_bold_light.xml │ ├── arrow_down_bold_periwinkle.xml │ ├── arrow_up_bold_dark.xml │ ├── arrow_up_bold_light.xml │ ├── arrow_up_bold_orangered.xml │ ├── arrow_up_small_dark.xml │ ├── arrow_up_small_light.xml │ ├── bullhorn_mid.xml │ ├── cards_variant.xml │ ├── chevron_down.xml │ ├── chevron_right_dark.xml │ ├── chevron_right_light.xml │ ├── dots_horizontal.xml │ ├── dots_vertical_dark.xml │ ├── dots_vertical_light.xml │ ├── download.xml │ ├── ic_accounts_dark.xml │ ├── ic_action_sent_messages_dark.xml │ ├── ic_action_sent_messages_light.xml │ ├── ic_block_dark.xml │ ├── ic_block_off_dark.xml │ ├── ic_fast_forward_dark.xml │ ├── ic_fast_forward_light.xml │ ├── ic_fast_rewind_dark.xml │ ├── ic_fast_rewind_light.xml │ ├── ic_ff_down_dark.xml │ ├── ic_ff_up_dark.xml │ ├── ic_loading_dark.xml │ ├── ic_refresh_dark.xml │ ├── ic_refresh_light.xml │ ├── ic_search_dark.xml │ ├── ic_settings_dark.xml │ ├── ic_settings_light.xml │ ├── ic_sort_dark.xml │ ├── ic_sort_light.xml │ ├── ic_themes_dark.xml │ ├── ic_time_dark.xml │ ├── ic_time_light.xml │ ├── ic_volume_off_white_24dp.xml │ ├── ic_volume_up_white_24dp.xml │ ├── ic_zoom_in_dark.xml │ ├── ic_zoom_out_dark.xml │ ├── icon_fastforward.xml │ ├── icon_pause.xml │ ├── icon_play.xml │ ├── icon_restart.xml │ ├── icon_rewind.xml │ ├── icon_step_back.xml │ ├── icon_step_forward.xml │ ├── magnify_dark.xml │ ├── magnify_light.xml │ ├── message_plus_dark.xml │ ├── message_plus_light.xml │ ├── pin_dark.xml │ ├── pin_light.xml │ ├── pin_off_dark.xml │ ├── pin_off_light.xml │ ├── play_icon_background_circle_dark.xml │ ├── rr_abc_ic_menu_overflow_material.xml │ ├── rr_actionbar_selector.xml │ ├── rr_list_item_selector.xml │ ├── rr_postlist_commentbutton_background.xml │ ├── rr_postlist_commentbutton_background_highlight.xml │ ├── rr_postlist_commentbutton_selector_main.xml │ ├── rr_postlist_item_background.xml │ ├── rr_postlist_item_background_highlight.xml │ ├── rr_postlist_item_selector_main.xml │ ├── rr_themed_button_selector_dark.xml │ ├── rr_themed_button_selector_light.xml │ ├── star_dark.xml │ ├── star_light.xml │ ├── star_off_dark.xml │ ├── star_off_light.xml │ ├── view_grid.xml │ └── view_list.xml │ ├── layout │ ├── actionbar_search.xml │ ├── actionbar_title.xml │ ├── announcement_view.xml │ ├── avatar.xml │ ├── cached_header.xml │ ├── comment_edit.xml │ ├── comment_reply.xml │ ├── dialog_editbox.xml │ ├── dialog_mainmenu_custom.xml │ ├── dialog_prelogin_prompt.xml │ ├── error_view.xml │ ├── flat_image_button.xml │ ├── fling_hint.xml │ ├── floating_toolbar.xml │ ├── image_view_hidden_accessibility_layout.xml │ ├── inline_images_question_view.xml │ ├── karma.xml │ ├── list_item.xml │ ├── list_item_1_text.xml │ ├── list_item_3_text_icon.xml │ ├── list_item_share_dialog.xml │ ├── list_sectionheader.xml │ ├── load_more_posts.xml │ ├── main_double.xml │ ├── main_menu_subreddit_search_view.xml │ ├── main_single.xml │ ├── no_items_yet.xml │ ├── pm_send.xml │ ├── post_header_toolbar.xml │ ├── post_submit.xml │ ├── reddit_comment.xml │ ├── reddit_post.xml │ ├── reddit_terms_activity.xml │ ├── rr_actionbar.xml │ ├── rr_actionbar_hide_on_scroll.xml │ ├── rr_actionbar_reverse.xml │ ├── scrollbar_recyclerview.xml │ ├── search_listing_header.xml │ ├── single_fragment_layout.xml │ ├── subreddit_header_toolbar.xml │ ├── subreddit_item_view.xml │ ├── subreddit_search_listing.xml │ ├── subreddit_search_quick_links.xml │ ├── subreddit_selection.xml │ ├── user_profile_dialog.xml │ └── web_view_fragment.xml │ ├── mipmap-anydpi-v26 │ ├── icon.xml │ └── icon_inv.xml │ ├── mipmap-hdpi │ ├── icon.png │ └── icon_inv.png │ ├── mipmap-ldpi │ ├── icon.png │ └── icon_inv.png │ ├── mipmap-mdpi │ ├── icon.png │ └── icon_inv.png │ ├── mipmap-tvdpi │ ├── icon.png │ └── icon_inv.png │ ├── mipmap-xhdpi │ ├── icon.png │ └── icon_inv.png │ ├── mipmap-xxhdpi │ ├── icon.png │ └── icon_inv.png │ ├── mipmap-xxxhdpi │ ├── icon.png │ └── icon_inv.png │ ├── values-ar │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-da │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-el │ └── strings.xml │ ├── values-en-rGB │ └── strings.xml │ ├── values-eo │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-eu │ └── strings.xml │ ├── values-fi │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-hi │ └── strings.xml │ ├── values-hu │ └── strings.xml │ ├── values-in │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-lt │ └── strings.xml │ ├── values-mr │ └── strings.xml │ ├── values-ms │ └── strings.xml │ ├── values-my │ └── strings.xml │ ├── values-nb-rNO │ └── strings.xml │ ├── values-nl │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt │ └── strings.xml │ ├── values-ro │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sv │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-zh-rCN │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values │ ├── arrays.xml │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ ├── backup_rules.xml │ ├── data_extraction_rules.xml │ ├── prefs_about.xml │ ├── prefs_accessibility.xml │ ├── prefs_appearance.xml │ ├── prefs_backup_restore.xml │ ├── prefs_behaviour.xml │ ├── prefs_cache.xml │ ├── prefs_developer.xml │ ├── prefs_fonts.xml │ ├── prefs_images_video.xml │ ├── prefs_menus.xml │ ├── prefs_menus_appbar_screen.xml │ ├── prefs_network.xml │ └── prefs_root.xml └── test └── java └── org └── quantumbadger └── redreader └── test ├── announcements ├── AnnouncementRealKeyTest.java ├── AnnouncementTests.java └── SignatureHandlerTests.java ├── general ├── CachedHashTest.kt ├── FileUtilsTest.java ├── GeneralTest.java ├── HexUtilsTests.java ├── MemoryDataStreamTest.java ├── OptionalTest.java ├── SerializeUtilsTests.java └── StringUtilsTest.java ├── markdown └── MarkdownTokenizerTest.java └── reddit └── ImageTests.kt /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | # Unix-style newlines with a newline ending every file 4 | [*] 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = tab 8 | indent_size = 4 9 | continuation_indent_size = 8 10 | 11 | # Set default charset 12 | [*.java] 13 | charset = utf-8 14 | trim_trailing_whitespace = true 15 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [QuantumBadger, Cguy7777] 2 | patreon: QuantumBadger 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Java ### 2 | *.class 3 | 4 | # Package Files # 5 | *.jar 6 | !gradle-wrapper.jar 7 | *.war 8 | *.ear 9 | 10 | ### IntelliJ ### 11 | *.iml 12 | *.ipr 13 | *.iws 14 | .idea/ 15 | gen-external-apklibs/ 16 | 17 | ### Android ### 18 | # built application files 19 | *.apk 20 | *.ap_ 21 | 22 | # files for the dex VM 23 | *.dex 24 | 25 | # generated files 26 | bin/ 27 | gen/ 28 | 29 | # Local configuration file (sdk path, etc) 30 | local.properties 31 | 32 | # Eclipse project files 33 | .classpath 34 | .project 35 | 36 | # Proguard folder generated by Eclipse 37 | proguard/ 38 | 39 | # Proguard folder generated by Intellij 40 | proguard_logs/ 41 | 42 | adt-bundle-windows-x86_64/ 43 | 44 | ### Eclipse ### 45 | *.pydevproject 46 | .metadata 47 | bin/** 48 | tmp/** 49 | tmp/**/* 50 | *.tmp 51 | *.bak 52 | *.swp 53 | *~.nib 54 | .settings/ 55 | .loadpath 56 | 57 | # External tool builders 58 | .externalToolBuilders/ 59 | 60 | # Locally stored "Eclipse launch configurations" 61 | *.launch 62 | 63 | # CDT-specific 64 | .cproject 65 | 66 | # PDT-specific 67 | .buildpath 68 | 69 | ### Maven ### 70 | target/ 71 | 72 | # Gradle 73 | build/ 74 | .gradle/ 75 | 76 | # Kotlin 77 | .kotlin 78 | 79 | reddit_auth.txt 80 | /release/** 81 | /releases/**/** 82 | -------------------------------------------------------------------------------- /config/checkstyle/copyright.java.txt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | -------------------------------------------------------------------------------- /config/lint/lint-baseline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /config/lint/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /config/scripts/retry.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | MAX_TRIES=5 4 | COUNT=0 5 | 6 | while [ $COUNT -lt $MAX_TRIES ]; do 7 | 8 | bash -c "$*" 9 | 10 | if [ $? -eq 0 ]; then 11 | exit 0 12 | fi 13 | 14 | let COUNT=COUNT+1 15 | 16 | echo "Failed attempt $COUNT" 17 | 18 | sleep 5 19 | 20 | done 21 | 22 | echo "Too many failed attempts" 23 | 24 | exit 1 25 | 26 | -------------------------------------------------------------------------------- /config/scripts/run_emulator_tests_with_retry.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | MAX_TRIES=5 4 | COUNT=0 5 | 6 | while [ $COUNT -lt $MAX_TRIES ]; do 7 | 8 | timeout -k 15m 14m ./config/scripts/run_emulator_tests.sh "$*" 9 | 10 | if [ $? -eq 0 ]; then 11 | exit 0 12 | fi 13 | 14 | let COUNT=COUNT+1 15 | 16 | echo "Failed attempt $COUNT" 17 | 18 | sleep 5 19 | 20 | done 21 | 22 | echo "Too many failed attempts" 23 | 24 | exit 1 25 | 26 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 | An unofficial, open-source client for Reddit. 2 | 3 | * Free and open-source Software - no ads/tracking 4 | * Lightweight and fast 5 | * Swipe posts left and right to perform customizable actions, such as upvote/downvote, or save/hide 6 | * Advanced cache management - automatically stores past versions of posts and comments 7 | * Support for multiple accounts 8 | * Two-column tablet mode (can be used on your phone, if it’s big enough) 9 | * Image and comment precaching (optional: always, never, or Wi-Fi only) 10 | * Built-in image viewer, and GIF/video player 11 | * Multiple themes, including night mode, and ultra black for AMOLED displays 12 | * Support for Android 4.0+ 13 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | An unofficial, open-source client for Reddit. 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | RedReader 2 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true 2 | org.gradle.daemon=false 3 | org.gradle.jvmargs=-Xms4096m -Xmx8192m -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- 1 | 2 | precommit: 3 | ./gradlew pmd test checkstyle lint 4 | -------------------------------------------------------------------------------- /libs/redreader-common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libs/redreader-common/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.kotlin.gradle.dsl.JvmTarget 2 | import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile 3 | 4 | buildscript { 5 | repositories { 6 | mavenCentral() 7 | google() 8 | } 9 | } 10 | 11 | plugins { 12 | `java-library` 13 | alias(libs.plugins.kotlin.jvm) 14 | alias(libs.plugins.kotlin.serialization) 15 | } 16 | 17 | java { 18 | JavaVersion.toVersion(libs.versions.java.get()).let { 19 | sourceCompatibility = it 20 | targetCompatibility = it 21 | } 22 | } 23 | 24 | tasks.withType(KotlinJvmCompile::class) { 25 | compilerOptions.jvmTarget.set(JvmTarget.fromTarget(libs.versions.java.get())) 26 | } 27 | 28 | dependencies { 29 | implementation(libs.kotlinx.datetime) 30 | implementation(libs.kotlinx.serialization.json) 31 | } 32 | -------------------------------------------------------------------------------- /libs/redreader-common/src/main/java/org/quantumbadger/redreader/common/time/TimeDuration.kt: -------------------------------------------------------------------------------- 1 | package org.quantumbadger.redreader.common.time 2 | 3 | import kotlin.time.Duration 4 | import kotlin.time.Duration.Companion.days 5 | import kotlin.time.Duration.Companion.hours 6 | import kotlin.time.Duration.Companion.milliseconds 7 | import kotlin.time.Duration.Companion.minutes 8 | import kotlin.time.Duration.Companion.seconds 9 | 10 | data class TimeDuration( 11 | val value: Duration 12 | ) { 13 | fun toMs() = value.inWholeMilliseconds 14 | 15 | fun isLessThan(other: TimeDuration) = value < other.value 16 | fun isGreaterThan(other: TimeDuration) = value > other.value 17 | 18 | companion object { 19 | @JvmStatic 20 | fun ms(value: Long) = TimeDuration(value.milliseconds) 21 | 22 | @JvmStatic 23 | fun secs(value: Long) = TimeDuration(value.seconds) 24 | 25 | @JvmStatic 26 | fun minutes(value: Long) = TimeDuration(value.minutes) 27 | 28 | @JvmStatic 29 | fun hours(value: Long) = TimeDuration(value.hours) 30 | 31 | @JvmStatic 32 | fun days(value: Long) = TimeDuration(value.days) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /libs/redreader-common/src/main/java/org/quantumbadger/redreader/common/time/TimeStrings.kt: -------------------------------------------------------------------------------- 1 | package org.quantumbadger.redreader.common.time 2 | 3 | interface TimeStrings { 4 | val year: String 5 | val years: String 6 | val month: String 7 | val months: String 8 | val day: String 9 | val days: String 10 | val hour: String 11 | val hours: String 12 | val min: String 13 | val mins: String 14 | val sec: String 15 | val secs: String 16 | val ms: String 17 | } 18 | -------------------------------------------------------------------------------- /libs/redreader-common/src/main/java/org/quantumbadger/redreader/common/time/TimeStringsDebug.kt: -------------------------------------------------------------------------------- 1 | package org.quantumbadger.redreader.common.time 2 | 3 | object TimeStringsDebug : TimeStrings { 4 | override val year: String 5 | get() = "year" 6 | override val years: String 7 | get() = "years" 8 | override val month: String 9 | get() = "month" 10 | override val months: String 11 | get() = "months" 12 | override val day: String 13 | get() = "day" 14 | override val days: String 15 | get() = "days" 16 | override val hour: String 17 | get() = "hour" 18 | override val hours: String 19 | get() = "hours" 20 | override val min: String 21 | get() = "min" 22 | override val mins: String 23 | get() = "mins" 24 | override val sec: String 25 | get() = "sec" 26 | override val secs: String 27 | get() = "secs" 28 | override val ms: String 29 | get() = "ms" 30 | } 31 | -------------------------------------------------------------------------------- /libs/redreader-datamodel/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libs/redreader-datamodel/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.kotlin.gradle.dsl.JvmTarget 2 | import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile 3 | 4 | plugins { 5 | `java-library` 6 | alias(libs.plugins.kotlin.jvm) 7 | } 8 | 9 | java { 10 | JavaVersion.toVersion(libs.versions.java.get()).let { 11 | sourceCompatibility = it 12 | targetCompatibility = it 13 | } 14 | } 15 | 16 | tasks.withType(KotlinJvmCompile::class) { 17 | compilerOptions.jvmTarget.set(JvmTarget.fromTarget(libs.versions.java.get())) 18 | } 19 | 20 | dependencies { 21 | implementation(project(":redreader-common")) 22 | } 23 | -------------------------------------------------------------------------------- /proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -dontobfuscate 2 | -keepattributes LineNumberTable,SourceFile,RuntimeVisibleAnnotations,AnnotationDefault,InnerClasses,EnclosingMethod 3 | 4 | -keepclassmembers class * extends org.quantumbadger.redreader.io.WritableObject { 5 | *; 6 | } 7 | 8 | -keepclassmembers class * extends org.quantumbadger.redreader.jsonwrap.JsonObject$JsonDeserializable { 9 | *; 10 | } 11 | 12 | -keepclassmembers class org.quantumbadger.redreader.R { *; } 13 | -keepclassmembers class org.quantumbadger.redreader.R$xml { *; } 14 | -keepclassmembers class org.quantumbadger.redreader.R$string { *; } 15 | 16 | -keepclassmembers class com.github.luben.zstd.* { 17 | *; 18 | } 19 | 20 | -if @kotlinx.serialization.Serializable class ** 21 | { 22 | static **$* *; 23 | } 24 | 25 | -keepnames class <1>$$serializer { # -keepnames suffices; class is kept when serializer() is kept. 26 | static <1>$$serializer INSTANCE; 27 | } 28 | 29 | # Needed for instrumented tests for some reason 30 | -keep class com.google.common.util.concurrent.ListenableFuture { *; } 31 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | 9 | dependencyResolutionManagement { 10 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 11 | repositories { 12 | google() 13 | mavenCentral() 14 | } 15 | } 16 | 17 | include(":redreader-common") 18 | project(":redreader-common").projectDir = File("./libs/redreader-common") 19 | 20 | include(":redreader-datamodel") 21 | project(":redreader-datamodel").projectDir = File("./libs/redreader-datamodel") 22 | -------------------------------------------------------------------------------- /src/main/assets/fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/assets/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /src/main/assets/fonts/VeraMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/assets/fonts/VeraMono.ttf -------------------------------------------------------------------------------- /src/main/assets/reddit_auth.placeholder.txt: -------------------------------------------------------------------------------- 1 | # Copy this file to 'reddit_auth.txt', and put your Reddit client ID in the quotes below. 2 | # Client IDs can be obtained at: https://old.reddit.com/prefs/apps 3 | # Don't put your ID in the placeholder file or commit it to the repo! 4 | 5 | "your ID here" 6 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/account/RedditAccountChangeListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.account; 19 | 20 | public interface RedditAccountChangeListener { 21 | void onRedditAccountChanged(); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/account/RedditAccountId.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | package org.quantumbadger.redreader.account 18 | 19 | import androidx.compose.runtime.Immutable 20 | import org.quantumbadger.redreader.common.asciiLowercase 21 | 22 | @Immutable 23 | data class RedditAccountId(val username: String) { 24 | val canonicalUsername = username.trim().asciiLowercase() 25 | 26 | companion object { 27 | val ANON = RedditAccountId("") 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/adapters/MainMenuSelectionListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.adapters; 19 | 20 | import org.quantumbadger.redreader.fragments.MainMenuFragment; 21 | import org.quantumbadger.redreader.reddit.url.PostListingURL; 22 | 23 | public interface MainMenuSelectionListener { 24 | void onSelected(@MainMenuFragment.MainMenuAction int type); 25 | 26 | void onSelected(PostListingURL url); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/adapters/ShareOrderCallbackListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.adapters; 19 | 20 | public interface ShareOrderCallbackListener { 21 | void onSelectedIntent(int position); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/cache/downloadstrategy/DownloadStrategy.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.cache.downloadstrategy; 19 | 20 | import androidx.compose.runtime.Immutable; 21 | 22 | import org.quantumbadger.redreader.cache.CacheEntry; 23 | 24 | @Immutable 25 | public interface DownloadStrategy { 26 | 27 | boolean shouldDownloadWithoutCheckingCache(); 28 | 29 | boolean shouldDownloadIfCacheEntryFound(final CacheEntry entry); 30 | 31 | boolean shouldDownloadIfNotCached(); 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/Consumer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | public interface Consumer { 21 | void consume(E value); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/FunctionOneArgNoReturn.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | public interface FunctionOneArgNoReturn { 21 | void apply(Param input); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/FunctionOneArgWithReturn.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | public interface FunctionOneArgWithReturn { 21 | Return apply(Param input); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/GenericFactory.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | public interface GenericFactory { 23 | @NonNull E create() throws T; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/GenericFactoryNoThrow.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | public interface GenericFactoryNoThrow { 23 | @NonNull E create(); 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/GlobalConfig.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common 19 | 20 | import androidx.annotation.Keep 21 | import org.quantumbadger.redreader.BuildConfig 22 | 23 | object GlobalConfig { 24 | @JvmField @Keep var appName = BuildConfig.APPLICATION_ID 25 | @JvmField @Keep var appBuildType = BuildConfig.BUILD_TYPE 26 | @JvmField @Keep var appId: String? = null 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/HasUniqueId.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | public interface HasUniqueId { 23 | @NonNull String getUniqueId(); 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/ListUtils.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | import androidx.annotation.NonNull; 21 | import androidx.annotation.Nullable; 22 | 23 | import java.util.List; 24 | 25 | public class ListUtils { 26 | 27 | @Nullable 28 | public static E getLast(@NonNull final List list) { 29 | 30 | if(list.isEmpty()) { 31 | return null; 32 | } 33 | 34 | return list.get(list.size() - 1); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/Locker.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | import java.io.Closeable; 23 | import java.util.concurrent.locks.Lock; 24 | 25 | public class Locker implements Closeable { 26 | 27 | @NonNull private final Lock mLock; 28 | 29 | public Locker(@NonNull final Lock lock) { 30 | mLock = lock; 31 | mLock.lock(); 32 | } 33 | 34 | @Override 35 | public void close() { 36 | mLock.unlock(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/Priority.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common 19 | 20 | data class Priority @JvmOverloads constructor( 21 | @JvmField val primary: Int, 22 | @JvmField val secondary: Int = 0 23 | ) { 24 | fun isHigherPriorityThan(other: Priority): Boolean { 25 | return if (primary != other.primary) { 26 | primary < other.primary 27 | } else { 28 | secondary < other.secondary 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/StringUtilsKt.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | package org.quantumbadger.redreader.common 18 | 19 | fun String.asciiLowercase() = StringUtils.asciiLowercase(this) 20 | 21 | fun String.asciiUppercase() = StringUtils.asciiUppercase(this) 22 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/UnaryOperator.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | public interface UnaryOperator { 21 | R operate(E value); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/UnexpectedInternalStateException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | public class UnexpectedInternalStateException extends RuntimeException { 21 | 22 | public UnexpectedInternalStateException() { 23 | super("The application's internal state is invalid"); 24 | } 25 | 26 | public UnexpectedInternalStateException(final String message) { 27 | super(message); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/Void.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | public final class Void { 23 | 24 | @SuppressWarnings("InstantiationOfUtilityClass") 25 | @NonNull public static final Void INSTANCE = new Void(); 26 | 27 | private Void() {} 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/datastream/ByteArrayCallback.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common.datastream; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | import java.io.IOException; 23 | 24 | public interface ByteArrayCallback { 25 | 26 | void onByteArray( 27 | @NonNull byte[] buf, 28 | int offset, 29 | int length) throws IOException; 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/common/streams/Predicate.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.common.streams; 19 | 20 | public interface Predicate { 21 | boolean matches(E value); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/http/body/multipart/Part.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.http.body.multipart 19 | 20 | sealed interface Part { 21 | data class FormData(val name: String, val value: String) : Part 22 | class FormDataBinary(val name: String, val value: ByteArray) : Part 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/image/GetAlbumInfoListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.image; 19 | 20 | import androidx.annotation.NonNull; 21 | import org.quantumbadger.redreader.common.RRError; 22 | 23 | public interface GetAlbumInfoListener { 24 | 25 | void onFailure(@NonNull RRError error); 26 | 27 | void onSuccess(@NonNull AlbumInfo info); 28 | 29 | void onGalleryRemoved(); 30 | 31 | void onGalleryDataNotPresent(); 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/image/GetImageInfoListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.image; 19 | 20 | import androidx.annotation.NonNull; 21 | import org.quantumbadger.redreader.common.RRError; 22 | 23 | public interface GetImageInfoListener { 24 | void onFailure(@NonNull RRError error); 25 | 26 | void onSuccess(ImageInfo info); 27 | 28 | void onNotAnImage(); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/io/RequestResponseHandler.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.io; 19 | 20 | import org.quantumbadger.redreader.common.time.TimestampUTC; 21 | 22 | public interface RequestResponseHandler { 23 | void onRequestFailed(F failureReason); 24 | 25 | void onRequestSuccess(E result, TimestampUTC timeCached); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/io/UpdatedVersionListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.io; 19 | 20 | public interface UpdatedVersionListener> { 21 | void onUpdatedVersion(V data); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/io/UpdatedVersionListenerNotifier.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.io; 19 | 20 | import org.quantumbadger.redreader.common.collections.WeakReferenceListManager; 21 | 22 | public class UpdatedVersionListenerNotifier> 23 | implements WeakReferenceListManager.ArgOperator, V> { 24 | 25 | @Override 26 | public void operate(final UpdatedVersionListener listener, final V data) { 27 | listener.onUpdatedVersion(data); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/jsonwrap/JsonNull.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.jsonwrap; 19 | 20 | import androidx.annotation.NonNull; 21 | 22 | public class JsonNull extends JsonValue { 23 | 24 | @NonNull public static final JsonNull INSTANCE = new JsonNull(); 25 | 26 | private JsonNull() {} 27 | 28 | @Override 29 | protected void prettyPrint(final int indent, final StringBuilder sb) { 30 | sb.append("null"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/Hideable.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit; 19 | 20 | public interface Hideable { 21 | boolean isVisible(); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/api/SubredditSubscriptionState.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.api; 19 | 20 | public enum SubredditSubscriptionState { 21 | SUBSCRIBED, 22 | SUBSCRIBING, 23 | UNSUBSCRIBING, 24 | NOT_SUBSCRIBED 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/kthings/ImageMetadata.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.kthings 19 | 20 | import android.os.Parcelable 21 | import kotlinx.parcelize.Parcelize 22 | import kotlinx.serialization.Serializable 23 | 24 | @Serializable 25 | @Parcelize 26 | data class ImageMetadata( 27 | val x: Long, 28 | val y: Long, 29 | val u: UrlEncodedString? = null, 30 | val mp4: UrlEncodedString? = null, 31 | val gif: UrlEncodedString? = null, 32 | ) : Parcelable 33 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/kthings/RedditListing.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.kthings 19 | 20 | import android.os.Parcelable 21 | import kotlinx.parcelize.Parcelize 22 | import kotlinx.serialization.Serializable 23 | 24 | @Serializable 25 | @Parcelize 26 | data class RedditListing( 27 | val after: String? = null, 28 | val children: ArrayList> 29 | ) : Parcelable 30 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/kthings/RedditMediaMetadata.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.kthings 19 | 20 | import android.os.Parcelable 21 | import kotlinx.parcelize.Parcelize 22 | import kotlinx.serialization.Serializable 23 | 24 | @Serializable 25 | @Parcelize 26 | data class RedditMediaMetadata( 27 | val status: String, 28 | val e: String, 29 | val m: String, 30 | val s: ImageMetadata, 31 | val id: String, 32 | val p: List? = null 33 | ) : Parcelable 34 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditRenderableInboxItem.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.prepared; 19 | 20 | import org.quantumbadger.redreader.activities.BaseActivity; 21 | 22 | public interface RedditRenderableInboxItem extends RedditRenderableCommentListItem { 23 | void handleInboxClick(BaseActivity activity); 24 | 25 | void handleInboxLongClick(BaseActivity activity); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/prepared/bodytext/BlockType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.prepared.bodytext; 19 | 20 | public enum BlockType { 21 | VERTICAL_SEQUENCE, 22 | NORMAL_TEXT, 23 | HEADER, 24 | LIST_ELEMENT, 25 | TABLE, 26 | TABLE_ROW, 27 | TABLE_CELL, 28 | CODE_BLOCK, 29 | HORIZONTAL_RULE, 30 | QUOTE, 31 | BUTTON, 32 | ERROR 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/prepared/bodytext/DynamicSpanned.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.prepared.bodytext; 19 | 20 | public interface DynamicSpanned { 21 | void addSpanDynamic(Object what, int start, int end, int flags); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/prepared/html/HtmlRawElementTag.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.prepared.html; 19 | 20 | public abstract class HtmlRawElementTag extends HtmlRawElement { 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/things/InvalidSubredditNameException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.things; 19 | 20 | import java.util.Locale; 21 | 22 | public final class InvalidSubredditNameException extends Exception { 23 | public InvalidSubredditNameException(final String subredditName) { 24 | super(String.format( 25 | Locale.US, 26 | "Invalid subreddit name '%s'", 27 | subredditName == null ? "NULL" : subredditName)); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/things/RedditThingWithIdAndType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.things; 19 | 20 | import org.quantumbadger.redreader.reddit.kthings.RedditIdAndType; 21 | 22 | public interface RedditThingWithIdAndType { 23 | String getIdAlone(); 24 | 25 | RedditIdAndType getIdAndType(); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/reddit/url/CommentListingURL.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.reddit.url; 19 | 20 | public abstract class CommentListingURL extends RedditURLParser.RedditURL { 21 | 22 | public abstract CommentListingURL after(String after); 23 | 24 | public abstract CommentListingURL limit(Integer limit); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/settings/types/AlbumViewMode.kt: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.settings.types 19 | 20 | enum class AlbumViewMode( 21 | override val stringValue: String 22 | ): SerializableEnum { 23 | Cards("cards"), 24 | List("list"), 25 | Grid("grid"); 26 | 27 | companion object { 28 | val settingSerializer = EnumSettingSerializer(entries) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/views/glview/Refreshable.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.views.glview; 19 | 20 | public interface Refreshable { 21 | void refresh(); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/quantumbadger/redreader/views/imageview/ImageTileSource.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * This file is part of RedReader. 3 | * 4 | * RedReader is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * RedReader is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with RedReader. If not, see . 16 | ******************************************************************************/ 17 | 18 | package org.quantumbadger.redreader.views.imageview; 19 | 20 | import android.graphics.Bitmap; 21 | 22 | public interface ImageTileSource { 23 | int getWidth(); 24 | 25 | int getHeight(); 26 | 27 | int getHTileCount(); 28 | 29 | int getVTileCount(); 30 | 31 | int getTileSize(); 32 | 33 | Bitmap getTile(int sampleSize, int tileX, int tileY); 34 | 35 | void dispose(); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/res/anim/slide_in_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 27 | 28 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/res/color/rr_color_quick_link_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/main/res/color/rr_color_quick_link_button_foreground.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_add_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_add_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_add_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_add_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_back_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_back_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_comments_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_comments_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_comments_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_comments_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_copy_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_copy_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_copy_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_copy_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_cross_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_cross_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_cross_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_cross_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_env_open_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_env_open_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_env_open_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_env_open_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_external_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_external_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_external_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_external_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_forward_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_forward_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_forward_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_forward_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_image_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_image_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_image_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_image_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_info_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_info_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_info_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_info_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_link_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_link_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_link_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_link_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_person_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_person_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_person_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_person_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_reply_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_reply_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_reply_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_reply_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_save_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_save_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_save_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_save_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_send_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_send_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_send_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_send_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_share_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_share_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_share_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_share_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_tick_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_tick_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/ic_action_tick_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/ic_action_tick_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-hdpi/icon_notif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-hdpi/icon_notif.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_add_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_add_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_add_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_add_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_back_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_back_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_comments_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_comments_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_comments_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_comments_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_copy_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_copy_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_copy_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_copy_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_cross_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_cross_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_cross_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_cross_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_env_open_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_env_open_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_env_open_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_env_open_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_external_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_external_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_external_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_external_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_forward_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_forward_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_forward_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_forward_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_image_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_image_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_image_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_image_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_info_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_info_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_info_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_info_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_link_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_link_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_link_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_link_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_person_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_person_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_person_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_person_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_reply_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_reply_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_reply_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_reply_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_save_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_save_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_save_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_save_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_send_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_send_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_send_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_send_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_share_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_share_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_share_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_share_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_tick_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_tick_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/ic_action_tick_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/ic_action_tick_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-mdpi/icon_notif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-mdpi/icon_notif.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_add_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_add_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_add_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_add_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_back_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_back_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_comments_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_comments_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_comments_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_comments_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_copy_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_copy_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_copy_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_copy_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_cross_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_cross_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_cross_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_cross_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_env_open_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_env_open_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_env_open_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_env_open_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_external_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_external_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_external_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_external_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_forward_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_forward_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_forward_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_forward_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_image_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_image_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_image_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_image_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_info_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_info_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_info_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_info_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_link_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_link_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_link_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_link_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_person_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_person_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_person_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_person_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_reply_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_reply_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_reply_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_reply_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_save_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_save_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_save_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_save_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_send_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_send_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_send_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_send_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_share_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_share_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_share_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_share_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_tick_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_tick_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/ic_action_tick_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/ic_action_tick_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xhdpi/icon_notif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xhdpi/icon_notif.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_add_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_add_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_add_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_add_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_back_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_back_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_comments_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_comments_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_comments_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_comments_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_copy_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_copy_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_copy_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_copy_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_cross_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_cross_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_cross_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_cross_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_env_open_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_env_open_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_env_open_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_env_open_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_external_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_external_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_external_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_external_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_forward_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_forward_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_forward_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_forward_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_image_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_image_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_image_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_image_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_info_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_info_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_info_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_info_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_link_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_link_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_link_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_link_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_person_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_person_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_person_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_person_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_reply_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_reply_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_reply_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_reply_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_save_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_save_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_save_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_save_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_send_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_send_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_send_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_send_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_share_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_share_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_share_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_share_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_tick_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_tick_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/ic_action_tick_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/ic_action_tick_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxhdpi/icon_notif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxhdpi/icon_notif.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_add_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_add_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_add_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_add_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_comments_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_comments_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_comments_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_comments_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_copy_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_copy_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_copy_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_copy_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_cross_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_cross_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_cross_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_cross_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_env_open_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_env_open_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_env_open_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_env_open_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_external_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_external_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_external_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_external_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_image_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_image_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_image_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_image_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_info_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_info_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_info_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_info_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_link_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_link_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_link_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_link_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_person_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_person_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_person_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_person_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_reply_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_reply_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_reply_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_reply_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_save_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_save_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_save_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_save_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_send_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_send_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_send_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_send_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_share_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_share_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_share_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_share_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_tick_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_tick_dark.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/ic_action_tick_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/ic_action_tick_light.png -------------------------------------------------------------------------------- /src/main/res/drawable-xxxhdpi/icon_notif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/drawable-xxxhdpi/icon_notif.png -------------------------------------------------------------------------------- /src/main/res/drawable/account_search_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/account_search_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/alert_circle_outline.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_down_bold_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_down_bold_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_down_bold_periwinkle.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_up_bold_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_up_bold_light.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_up_bold_orangered.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_up_small_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/arrow_up_small_light.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/bullhorn_mid.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/cards_variant.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/drawable/chevron_down.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/drawable/chevron_right_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/chevron_right_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/dots_horizontal.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/drawable/dots_vertical_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/dots_vertical_light.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/res/drawable/download.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_accounts_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_action_sent_messages_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_action_sent_messages_light.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_block_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_block_off_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_fast_forward_dark.xml: -------------------------------------------------------------------------------- 1 | 16 | 21 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_fast_forward_light.xml: -------------------------------------------------------------------------------- 1 | 16 | 22 | 23 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_fast_rewind_dark.xml: -------------------------------------------------------------------------------- 1 | 16 | 21 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_fast_rewind_light.xml: -------------------------------------------------------------------------------- 1 | 16 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_ff_down_dark.xml: -------------------------------------------------------------------------------- 1 | 16 | 21 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_ff_up_dark.xml: -------------------------------------------------------------------------------- 1 | 16 | 21 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_loading_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_refresh_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_refresh_light.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_search_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_settings_dark.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_settings_light.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_sort_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_sort_light.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_themes_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_time_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_time_light.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_volume_off_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_volume_up_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_zoom_in_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/res/drawable/ic_zoom_out_dark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_fastforward.xml: -------------------------------------------------------------------------------- 1 | 15 | 20 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_pause.xml: -------------------------------------------------------------------------------- 1 | 15 | 20 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_play.xml: -------------------------------------------------------------------------------- 1 | 15 | 20 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_restart.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_rewind.xml: -------------------------------------------------------------------------------- 1 | 15 | 20 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_step_back.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/res/drawable/icon_step_forward.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/magnify_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/magnify_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/message_plus_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/message_plus_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/pin_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/pin_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/pin_off_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/pin_off_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/play_icon_background_circle_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_abc_ic_menu_overflow_material.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_actionbar_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_list_item_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_postlist_commentbutton_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_postlist_commentbutton_background_highlight.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_postlist_commentbutton_selector_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_postlist_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_postlist_item_background_highlight.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_postlist_item_selector_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_themed_button_selector_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/rr_themed_button_selector_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/res/drawable/star_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/star_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/star_off_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/star_off_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/drawable/view_grid.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/drawable/view_list.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/res/layout/cached_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /src/main/res/layout/comment_edit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 31 | -------------------------------------------------------------------------------- /src/main/res/layout/flat_image_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /src/main/res/layout/floating_toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 32 | -------------------------------------------------------------------------------- /src/main/res/layout/list_item_1_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /src/main/res/layout/list_sectionheader.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 32 | -------------------------------------------------------------------------------- /src/main/res/layout/load_more_posts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/res/layout/main_single.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/layout/no_items_yet.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 26 | 27 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/main/res/layout/scrollbar_recyclerview.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 16 | 17 | 18 | 19 | 25 | 26 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/main/res/layout/single_fragment_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | -------------------------------------------------------------------------------- /src/main/res/layout/subreddit_search_listing.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/res/mipmap-anydpi-v26/icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/res/mipmap-anydpi-v26/icon_inv.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/res/mipmap-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-hdpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-hdpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-hdpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/mipmap-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-ldpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-ldpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-ldpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/mipmap-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-mdpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-mdpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-mdpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/mipmap-tvdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-tvdpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-tvdpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-tvdpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-xhdpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xhdpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-xhdpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-xxhdpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxhdpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-xxhdpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxxhdpi/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumBadger/RedReader/ea0b596c5107dfd997bbb6b84951ff86a05992de/src/main/res/mipmap-xxxhdpi/icon_inv.png -------------------------------------------------------------------------------- /src/main/res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/res/values-mr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | #FBFBFB 22 | #000000 23 | #333333 24 | #44FFFFFF 25 | #44000000 26 | #33888888 27 | #C6001F 28 | #E0E0E0 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 360.0dip 5 | 600.0dip 6 | 300.0dip 7 | 300.0dip 8 | 9 | -------------------------------------------------------------------------------- /src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | > 25 | 26 | -------------------------------------------------------------------------------- /src/main/res/xml/prefs_about.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 25 | 26 | 29 | 30 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/main/res/xml/prefs_backup_restore.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/res/xml/prefs_developer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | --------------------------------------------------------------------------------