├── .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 |
--------------------------------------------------------------------------------