├── .codecov.yml ├── .github ├── CONTRIBUTING.md ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── assets │ ├── direct-apk-download.png │ ├── feature_graphic.png │ ├── first.png │ ├── fourth.png │ ├── sec.png │ ├── third.png │ └── web_hi_res_512.png ├── .github_changelog_generator ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── fastaccess-public ├── proguard-rules.pro └── src │ ├── debug │ ├── google-services.json │ └── res │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ └── values │ │ ├── secrets.xml │ │ └── strings.xml │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── colors.json │ ├── emojis.json │ ├── fonts │ │ └── app_font.ttf │ ├── highlight │ │ ├── js │ │ │ ├── prettify.js │ │ │ ├── prettify_line_number.js │ │ │ └── scrollto.js │ │ └── styles │ │ │ ├── prettify.css │ │ │ ├── prettify_dark.css │ │ │ └── themes │ │ │ ├── agate.css │ │ │ ├── androidstudio.css │ │ │ ├── arduino-light.css │ │ │ ├── arta.css │ │ │ ├── ascetic.css │ │ │ ├── atelier-cave-dark.css │ │ │ ├── atelier-cave-light.css │ │ │ ├── atelier-dune-dark.css │ │ │ ├── atelier-dune-light.css │ │ │ ├── atelier-estuary-dark.css │ │ │ ├── atelier-estuary-light.css │ │ │ ├── atelier-forest-dark.css │ │ │ ├── atelier-forest-light.css │ │ │ ├── atelier-heath-dark.css │ │ │ ├── atelier-heath-light.css │ │ │ ├── atelier-lakeside-dark.css │ │ │ ├── atelier-lakeside-light.css │ │ │ ├── atelier-plateau-dark.css │ │ │ ├── atelier-plateau-light.css │ │ │ ├── atelier-savanna-dark.css │ │ │ ├── atelier-savanna-light.css │ │ │ ├── atelier-seaside-dark.css │ │ │ ├── atelier-seaside-light.css │ │ │ ├── atelier-sulphurpool-dark.css │ │ │ ├── atelier-sulphurpool-light.css │ │ │ ├── atom-one-dark.css │ │ │ ├── atom-one-light.css │ │ │ ├── brown-paper.css │ │ │ ├── codepen-embed.css │ │ │ ├── color-brewer.css │ │ │ ├── darcula.css │ │ │ ├── dark.css │ │ │ ├── darkula.css │ │ │ ├── default.css │ │ │ ├── docco.css │ │ │ ├── dracula.css │ │ │ ├── far.css │ │ │ ├── foundation.css │ │ │ ├── github-gist.css │ │ │ ├── github.css │ │ │ ├── googlecode.css │ │ │ ├── grayscale.css │ │ │ ├── gruvbox-dark.css │ │ │ ├── gruvbox-light.css │ │ │ ├── hopscotch.css │ │ │ ├── hybrid.css │ │ │ ├── idea.css │ │ │ ├── ir-black.css │ │ │ ├── kimbie.dark.css │ │ │ ├── kimbie.light.css │ │ │ ├── magula.css │ │ │ ├── mono-blue.css │ │ │ ├── monokai-sublime.css │ │ │ ├── monokai.css │ │ │ ├── obsidian.css │ │ │ ├── ocean.css │ │ │ ├── paraiso-dark.css │ │ │ ├── paraiso-light.css │ │ │ ├── pojoaque.css │ │ │ ├── purebasic.css │ │ │ ├── qtcreator_dark.css │ │ │ ├── qtcreator_light.css │ │ │ ├── railscasts.css │ │ │ ├── rainbow.css │ │ │ ├── routeros.css │ │ │ ├── school-book.css │ │ │ ├── solarized-dark.css │ │ │ ├── solarized-light.css │ │ │ ├── sunburst.css │ │ │ ├── tomorrow-night-blue.css │ │ │ ├── tomorrow-night-bright.css │ │ │ ├── tomorrow-night-eighties.css │ │ │ ├── tomorrow-night.css │ │ │ ├── tomorrow.css │ │ │ ├── vs.css │ │ │ ├── vs2015.css │ │ │ ├── xcode.css │ │ │ ├── xt256.css │ │ │ └── zenburn.css │ └── md │ │ ├── github.css │ │ ├── github_dark.css │ │ ├── intercept-hash.js │ │ └── intercept-touch.js │ ├── graphql │ └── github │ │ ├── PinnedRepos.graphql │ │ ├── PullRequestTimeline.graphql │ │ ├── RepoProject.graphql │ │ └── schema.json │ ├── java │ └── com │ │ ├── fastaccess │ │ ├── App.java │ │ ├── GlideModule.kt │ │ ├── data │ │ │ ├── dao │ │ │ │ ├── AccessTokenModel.java │ │ │ │ ├── AppLanguageModel.java │ │ │ │ ├── AssigneesRequestModel.java │ │ │ │ ├── AuthModel.java │ │ │ │ ├── BranchesModel.java │ │ │ │ ├── CommentRequestModel.java │ │ │ │ ├── CommitCountModel.java │ │ │ │ ├── CommitFileChanges.java │ │ │ │ ├── CommitFileListModel.java │ │ │ │ ├── CommitFileModel.java │ │ │ │ ├── CommitLinesModel.java │ │ │ │ ├── CommitListModel.java │ │ │ │ ├── CommitRequestModel.java │ │ │ │ ├── CreateGistModel.java │ │ │ │ ├── CreateIssueModel.java │ │ │ │ ├── CreateMilestoneModel.java │ │ │ │ ├── EditRepoFileModel.kt │ │ │ │ ├── EditReviewCommentModel.java │ │ │ │ ├── FilesListModel.java │ │ │ │ ├── FilterOptionsModel.java │ │ │ │ ├── FirebaseTrendingConfigModel.kt │ │ │ │ ├── FragmentPagerAdapterModel.java │ │ │ │ ├── GistHubErrorsModel.java │ │ │ │ ├── GitCommitListModel.java │ │ │ │ ├── GitCommitModel.java │ │ │ │ ├── GitHubErrorResponse.java │ │ │ │ ├── GitHubStatusModel.kt │ │ │ │ ├── GithubFileModel.java │ │ │ │ ├── GithubState.java │ │ │ │ ├── GroupedNotificationModel.java │ │ │ │ ├── GroupedReviewModel.java │ │ │ │ ├── ImgurReponseModel.java │ │ │ │ ├── IssueEventAdapterModel.java │ │ │ │ ├── IssueRequestModel.java │ │ │ │ ├── IssuesPageable.java │ │ │ │ ├── LabelListModel.java │ │ │ │ ├── LabelModel.java │ │ │ │ ├── LanguageColorModel.java │ │ │ │ ├── LicenseModel.java │ │ │ │ ├── LockIssuePrModel.java │ │ │ │ ├── MarkdownModel.java │ │ │ │ ├── MergeRequestModel.java │ │ │ │ ├── MergeResponseModel.java │ │ │ │ ├── MilestoneModel.java │ │ │ │ ├── NameParser.java │ │ │ │ ├── NotificationSoundModel.kt │ │ │ │ ├── NotificationSubjectModel.java │ │ │ │ ├── NotificationSubscriptionBodyModel.java │ │ │ │ ├── Pageable.java │ │ │ │ ├── PayloadModel.java │ │ │ │ ├── PostReactionModel.java │ │ │ │ ├── ProUsersModel.java │ │ │ │ ├── ProjectCardModel.java │ │ │ │ ├── ProjectColumnModel.java │ │ │ │ ├── ProjectsModel.java │ │ │ │ ├── PullRequestAdapterModel.java │ │ │ │ ├── PullRequestStatusModel.java │ │ │ │ ├── PullsIssuesParser.java │ │ │ │ ├── ReactionsModel.java │ │ │ │ ├── ReleasesAssetsListModel.java │ │ │ │ ├── ReleasesAssetsModel.java │ │ │ │ ├── RenameModel.java │ │ │ │ ├── RepoPathsManager.java │ │ │ │ ├── RepoPermissionsModel.java │ │ │ │ ├── RepoSubscriptionModel.java │ │ │ │ ├── ReviewCommentModel.java │ │ │ │ ├── ReviewModel.java │ │ │ │ ├── ReviewRequestModel.java │ │ │ │ ├── SearchCodeModel.java │ │ │ │ ├── SettingsModel.java │ │ │ │ ├── SimpleUrlsModel.java │ │ │ │ ├── SparseBooleanArrayParcelable.java │ │ │ │ ├── StatusesModel.java │ │ │ │ ├── TabsCountStateModel.java │ │ │ │ ├── TeamsModel.java │ │ │ │ ├── TimelineModel.java │ │ │ │ ├── TopicsModel.java │ │ │ │ ├── TreeResponseModel.java │ │ │ │ ├── TrendingModel.kt │ │ │ │ ├── UsersListModel.java │ │ │ │ ├── WikiModel.java │ │ │ │ ├── converters │ │ │ │ │ ├── BaseConverter.java │ │ │ │ │ ├── CommitConverter.java │ │ │ │ │ ├── CommitFilesConverter.java │ │ │ │ │ ├── CommitsConverter.java │ │ │ │ │ ├── GistConverter.java │ │ │ │ │ ├── GitCommitConverter.java │ │ │ │ │ ├── GitHubFilesConverter.java │ │ │ │ │ ├── GitHubStateConverter.java │ │ │ │ │ ├── IssueConverter.java │ │ │ │ │ ├── LabelConverter.java │ │ │ │ │ ├── LabelsListConverter.java │ │ │ │ │ ├── LicenseConverter.java │ │ │ │ │ ├── MilestoneConverter.java │ │ │ │ │ ├── NotificationSubjectConverter.java │ │ │ │ │ ├── PayloadConverter.java │ │ │ │ │ ├── PullRequestConverter.java │ │ │ │ │ ├── ReactionsConverter.java │ │ │ │ │ ├── ReleasesAssetsConverter.java │ │ │ │ │ ├── RenameConverter.java │ │ │ │ │ ├── RepoConverter.java │ │ │ │ │ ├── RepoPermissionConverter.java │ │ │ │ │ ├── TeamConverter.java │ │ │ │ │ ├── TopicsConverter.java │ │ │ │ │ ├── UserConverter.java │ │ │ │ │ └── UsersConverter.java │ │ │ │ ├── model │ │ │ │ │ ├── AbstractComment.java │ │ │ │ │ ├── AbstractCommit.java │ │ │ │ │ ├── AbstractEvent.java │ │ │ │ │ ├── AbstractFastHubNotification.java │ │ │ │ │ ├── AbstractGist.java │ │ │ │ │ ├── AbstractIssue.java │ │ │ │ │ ├── AbstractIssueEvent.java │ │ │ │ │ ├── AbstractLogin.java │ │ │ │ │ ├── AbstractNotification.java │ │ │ │ │ ├── AbstractNotificationQueue.java │ │ │ │ │ ├── AbstractPinnedGists.java │ │ │ │ │ ├── AbstractPinnedIssues.java │ │ │ │ │ ├── AbstractPinnedPullRequests.java │ │ │ │ │ ├── AbstractPinnedRepos.java │ │ │ │ │ ├── AbstractPullRequest.java │ │ │ │ │ ├── AbstractRelease.java │ │ │ │ │ ├── AbstractRepo.java │ │ │ │ │ ├── AbstractRepoFile.java │ │ │ │ │ ├── AbstractSearchHistory.java │ │ │ │ │ ├── AbstractUser.java │ │ │ │ │ └── AbstractViewerFile.java │ │ │ │ ├── timeline │ │ │ │ │ ├── AuthorModel.java │ │ │ │ │ ├── CommentEvent.java │ │ │ │ │ ├── GenericEvent.java │ │ │ │ │ ├── ParentsModel.java │ │ │ │ │ ├── PullRequestCommitModel.java │ │ │ │ │ └── SourceModel.java │ │ │ │ ├── types │ │ │ │ │ ├── EventsType.java │ │ │ │ │ ├── FilesType.java │ │ │ │ │ ├── GitEntryType.java │ │ │ │ │ ├── IssueEventType.java │ │ │ │ │ ├── IssueState.java │ │ │ │ │ ├── MyIssuesType.java │ │ │ │ │ ├── NotificationReason.java │ │ │ │ │ ├── NotificationType.java │ │ │ │ │ ├── ReactionTypes.java │ │ │ │ │ ├── ReviewStateType.java │ │ │ │ │ └── StatusStateType.java │ │ │ │ └── wiki │ │ │ │ │ ├── FirebaseWikiConfigModel.kt │ │ │ │ │ ├── WikiContentModel.kt │ │ │ │ │ └── WikiSideBarModel.kt │ │ │ └── service │ │ │ │ ├── ContentService.kt │ │ │ │ ├── GistService.java │ │ │ │ ├── ImgurService.java │ │ │ │ ├── IssueService.java │ │ │ │ ├── LoginRestService.java │ │ │ │ ├── NotificationService.java │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── ProjectsService.kt │ │ │ │ ├── PullRequestService.java │ │ │ │ ├── ReactionsService.java │ │ │ │ ├── RepoService.java │ │ │ │ ├── ReviewService.java │ │ │ │ ├── ScrapService.kt │ │ │ │ ├── SearchService.java │ │ │ │ └── UserRestService.java │ │ ├── helper │ │ │ ├── ActivityHelper.java │ │ │ ├── AnimHelper.java │ │ │ ├── AppHelper.java │ │ │ ├── BundleConstant.java │ │ │ ├── Bundler.java │ │ │ ├── CustomTabsHelper.java │ │ │ ├── DeviceNameGetter.java │ │ │ ├── FileHelper.java │ │ │ ├── GithubConfigHelper.java │ │ │ ├── InputHelper.java │ │ │ ├── Logger.java │ │ │ ├── ObjectsCompat.java │ │ │ ├── ParcelableHelper.kt │ │ │ ├── ParseDateFormat.java │ │ │ ├── PrefGetter.java │ │ │ ├── PrefHelper.java │ │ │ ├── RxHelper.java │ │ │ ├── TypeFaceHelper.java │ │ │ └── ViewHelper.java │ │ ├── provider │ │ │ ├── colors │ │ │ │ └── ColorsProvider.java │ │ │ ├── emoji │ │ │ │ ├── Emoji.java │ │ │ │ ├── EmojiLoader.java │ │ │ │ ├── EmojiManager.java │ │ │ │ ├── EmojiParser.java │ │ │ │ ├── EmojiTrie.java │ │ │ │ └── Fitzpatrick.java │ │ │ ├── fabric │ │ │ │ └── FabricProvider.kt │ │ │ ├── fcm │ │ │ │ └── PushNotificationService.java │ │ │ ├── gson │ │ │ │ └── ToGsonProvider.java │ │ │ ├── markdown │ │ │ │ ├── CachedComments.kt │ │ │ │ ├── MarkDownProvider.java │ │ │ │ └── extension │ │ │ │ │ ├── emoji │ │ │ │ │ ├── Emoji.java │ │ │ │ │ ├── EmojiExtension.java │ │ │ │ │ └── internal │ │ │ │ │ │ ├── EmojiDelimiterProcessor.java │ │ │ │ │ │ └── EmojiNodeRenderer.java │ │ │ │ │ └── mention │ │ │ │ │ ├── Mention.java │ │ │ │ │ ├── MentionExtension.java │ │ │ │ │ └── internal │ │ │ │ │ ├── MentionDelimiterProcessor.java │ │ │ │ │ └── MentionNodeRenderer.java │ │ │ ├── rest │ │ │ │ ├── ApolloProdivder.kt │ │ │ │ ├── ImgurProvider.java │ │ │ │ ├── LoginProvider.java │ │ │ │ ├── RepoQueryProvider.java │ │ │ │ ├── RestProvider.java │ │ │ │ ├── converters │ │ │ │ │ └── GithubResponseConverter.java │ │ │ │ ├── interceptors │ │ │ │ │ ├── AuthenticationInterceptor.kt │ │ │ │ │ ├── ContentTypeInterceptor.kt │ │ │ │ │ └── PaginationInterceptor.java │ │ │ │ ├── jsoup │ │ │ │ │ └── JsoupProvider.java │ │ │ │ └── loadmore │ │ │ │ │ └── OnLoadMore.java │ │ │ ├── scheme │ │ │ │ ├── LinkParserHelper.java │ │ │ │ └── SchemeParser.java │ │ │ ├── tasks │ │ │ │ ├── git │ │ │ │ │ └── GithubActionService.java │ │ │ │ ├── notification │ │ │ │ │ ├── NotificationSchedulerJobTask.java │ │ │ │ │ └── ReadNotificationService.java │ │ │ │ └── version │ │ │ │ │ └── CheckVersionService.kt │ │ │ ├── theme │ │ │ │ └── ThemeEngine.kt │ │ │ └── timeline │ │ │ │ ├── CommentsHelper.java │ │ │ │ ├── HtmlHelper.java │ │ │ │ ├── ReactionsProvider.java │ │ │ │ ├── TimelineConverter.kt │ │ │ │ ├── TimelineProvider.java │ │ │ │ └── handler │ │ │ │ ├── BetterLinkMovementExtended.java │ │ │ │ ├── CodeBackgroundRoundedSpan.java │ │ │ │ ├── DrawableHandler.java │ │ │ │ ├── EmojiHandler.java │ │ │ │ ├── HeaderHandler.kt │ │ │ │ ├── HrHandler.java │ │ │ │ ├── HrSpan.java │ │ │ │ ├── ItalicHandler.java │ │ │ │ ├── LinkHandler.java │ │ │ │ ├── ListsHandler.java │ │ │ │ ├── MarginHandler.java │ │ │ │ ├── PreTagHandler.java │ │ │ │ ├── QuoteHandler.java │ │ │ │ ├── StrikethroughHandler.java │ │ │ │ ├── SubScriptHandler.java │ │ │ │ ├── SuperScriptHandler.java │ │ │ │ ├── TableHandler.java │ │ │ │ ├── UnderlineHandler.java │ │ │ │ └── drawable │ │ │ │ ├── DrawableGetter.java │ │ │ │ ├── GlideDrawableTarget.java │ │ │ │ └── UrlDrawable.java │ │ └── ui │ │ │ ├── adapter │ │ │ ├── AssigneesAdapter.java │ │ │ ├── BranchesAdapter.java │ │ │ ├── ColumnCardAdapter.kt │ │ │ ├── CommentsAdapter.java │ │ │ ├── CommitCommentsAdapter.kt │ │ │ ├── CommitFilesAdapter.java │ │ │ ├── CommitLinesAdapter.java │ │ │ ├── CommitsAdapter.java │ │ │ ├── EmojiAdapter.kt │ │ │ ├── FastHubNotificationsAdapter.kt │ │ │ ├── FeedsAdapter.java │ │ │ ├── FragmentsPagerAdapter.java │ │ │ ├── GistFilesAdapter.java │ │ │ ├── GistsAdapter.java │ │ │ ├── IssuesAdapter.java │ │ │ ├── IssuesTimelineAdapter.java │ │ │ ├── LabelColorsAdapter.java │ │ │ ├── LabelsAdapter.java │ │ │ ├── LoginAdapter.kt │ │ │ ├── MilestonesAdapter.java │ │ │ ├── NotificationsAdapter.java │ │ │ ├── PinnedReposAdapter.java │ │ │ ├── ProfileOrgsAdapter.java │ │ │ ├── ProfilePinnedReposAdapter.kt │ │ │ ├── ProjectsAdapter.kt │ │ │ ├── PullRequestAdapter.java │ │ │ ├── ReleasesAdapter.java │ │ │ ├── RepoFilePathsAdapter.java │ │ │ ├── RepoFilesAdapter.java │ │ │ ├── ReposAdapter.java │ │ │ ├── ReviewCommentsAdapter.java │ │ │ ├── SearchCodeAdapter.java │ │ │ ├── SettingsAdapter.java │ │ │ ├── SimpleListAdapter.java │ │ │ ├── SpinnerAdapter.java │ │ │ ├── TeamsAdapter.java │ │ │ ├── TopicsAdapter.java │ │ │ ├── TrendingAdapter.kt │ │ │ ├── UsersAdapter.java │ │ │ ├── callback │ │ │ │ ├── OnToggleView.java │ │ │ │ └── ReactionsCallback.java │ │ │ └── viewholder │ │ │ │ ├── AssigneesViewHolder.java │ │ │ │ ├── ColumnCardViewHolder.kt │ │ │ │ ├── CommentsViewHolder.java │ │ │ │ ├── CommitCommentsViewHolder.kt │ │ │ │ ├── CommitLinesViewHolder.java │ │ │ │ ├── CommitThreadViewHolder.kt │ │ │ │ ├── CommitsViewHolder.java │ │ │ │ ├── EmojiViewHolder.kt │ │ │ │ ├── FastHubNotificationViewHolder.kt │ │ │ │ ├── FeedsViewHolder.java │ │ │ │ ├── GistFilesViewHolder.java │ │ │ │ ├── GistsViewHolder.java │ │ │ │ ├── GroupedReviewsViewHolder.java │ │ │ │ ├── IssueDetailsViewHolder.java │ │ │ │ ├── IssueTimelineViewHolder.java │ │ │ │ ├── IssuesViewHolder.java │ │ │ │ ├── LabelColorsViewHolder.java │ │ │ │ ├── LabelsViewHolder.java │ │ │ │ ├── LoginViewHolder.kt │ │ │ │ ├── MilestonesViewHolder.java │ │ │ │ ├── NotificationsHeaderViewHolder.java │ │ │ │ ├── NotificationsViewHolder.java │ │ │ │ ├── PinnedReposViewHolder.java │ │ │ │ ├── ProfileOrgsViewHolder.java │ │ │ │ ├── ProfilePinnedReposViewHolder.kt │ │ │ │ ├── ProjectViewHolder.kt │ │ │ │ ├── PullRequestFilesViewHolder.java │ │ │ │ ├── PullRequestViewHolder.java │ │ │ │ ├── PullStatusViewHolder.java │ │ │ │ ├── ReleasesViewHolder.java │ │ │ │ ├── RepoFilePathsViewHolder.java │ │ │ │ ├── RepoFilesViewHolder.java │ │ │ │ ├── ReposViewHolder.java │ │ │ │ ├── ReviewCommentsViewHolder.java │ │ │ │ ├── ReviewsViewHolder.kt │ │ │ │ ├── SearchCodeViewHolder.java │ │ │ │ ├── SimpleViewHolder.java │ │ │ │ ├── TeamsViewHolder.java │ │ │ │ ├── TimelineCommentsViewHolder.java │ │ │ │ ├── TrendingViewHolder.kt │ │ │ │ ├── UnknownTypeViewHolder.kt │ │ │ │ └── UsersViewHolder.java │ │ │ ├── base │ │ │ ├── BaseActivity.java │ │ │ ├── BaseBottomSheetDialog.java │ │ │ ├── BaseDialogFragment.java │ │ │ ├── BaseFragment.java │ │ │ ├── BaseMvpBottomSheetDialogFragment.java │ │ │ ├── MainNavDrawer.kt │ │ │ └── mvp │ │ │ │ ├── BaseMvp.java │ │ │ │ └── presenter │ │ │ │ └── BasePresenter.java │ │ │ ├── modules │ │ │ ├── about │ │ │ │ └── FastHubAboutActivity.java │ │ │ ├── changelog │ │ │ │ ├── ChangelogBottomSheetDialog.java │ │ │ │ ├── ChangelogMvp.java │ │ │ │ └── ChangelogPresenter.java │ │ │ ├── code │ │ │ │ └── CodeViewerActivity.java │ │ │ ├── editor │ │ │ │ ├── EditorActivity.kt │ │ │ │ ├── EditorMvp.kt │ │ │ │ ├── EditorPresenter.kt │ │ │ │ ├── comment │ │ │ │ │ └── CommentEditorFragment.kt │ │ │ │ ├── emoji │ │ │ │ │ ├── EmojiBottomSheet.kt │ │ │ │ │ ├── EmojiMvp.kt │ │ │ │ │ └── EmojiPresenter.kt │ │ │ │ └── popup │ │ │ │ │ ├── EditorLinkImageDialogFragment.java │ │ │ │ │ ├── EditorLinkImageMvp.java │ │ │ │ │ └── EditorLinkImagePresenter.java │ │ │ ├── feeds │ │ │ │ ├── FeedsFragment.java │ │ │ │ ├── FeedsMvp.java │ │ │ │ └── FeedsPresenter.java │ │ │ ├── filter │ │ │ │ ├── chooser │ │ │ │ │ ├── FilterAddChooserListener.java │ │ │ │ │ └── FilterChooserBottomSheetDialog.java │ │ │ │ └── issues │ │ │ │ │ ├── FilterIssuesActivity.java │ │ │ │ │ ├── FilterIssuesActivityMvp.java │ │ │ │ │ ├── FilterIssuesActivityPresenter.java │ │ │ │ │ └── fragment │ │ │ │ │ ├── FilterIssueFragment.java │ │ │ │ │ ├── FilterIssuePresenter.java │ │ │ │ │ └── FilterIssuesMvp.java │ │ │ ├── gists │ │ │ │ ├── GistsFragment.java │ │ │ │ ├── GistsListActivity.java │ │ │ │ ├── GistsMvp.java │ │ │ │ ├── GistsPresenter.java │ │ │ │ ├── create │ │ │ │ │ ├── CreateGistActivity.java │ │ │ │ │ ├── CreateGistMvp.java │ │ │ │ │ ├── CreateGistPresenter.java │ │ │ │ │ └── dialog │ │ │ │ │ │ ├── AddGistBottomSheetDialog.kt │ │ │ │ │ │ ├── AddGistMvp.kt │ │ │ │ │ │ └── AddGistPresenter.kt │ │ │ │ ├── gist │ │ │ │ │ ├── GistActivity.java │ │ │ │ │ ├── GistMvp.java │ │ │ │ │ ├── GistPresenter.java │ │ │ │ │ ├── comments │ │ │ │ │ │ ├── GistCommentsFragment.java │ │ │ │ │ │ ├── GistCommentsMvp.java │ │ │ │ │ │ └── GistCommentsPresenter.java │ │ │ │ │ └── files │ │ │ │ │ │ ├── GistFilesListFragment.java │ │ │ │ │ │ ├── GistFilesListMvp.java │ │ │ │ │ │ └── GistFilesListPresenter.java │ │ │ │ └── starred │ │ │ │ │ ├── StarredGistsFragment.java │ │ │ │ │ ├── StarredGistsMvp.java │ │ │ │ │ └── StarredGistsPresenter.java │ │ │ ├── login │ │ │ │ ├── LoginActivity.java │ │ │ │ ├── LoginMvp.java │ │ │ │ ├── LoginPresenter.java │ │ │ │ └── chooser │ │ │ │ │ ├── LoginChooserActivity.kt │ │ │ │ │ ├── LoginChooserMvp.kt │ │ │ │ │ └── LoginChooserPresenter.kt │ │ │ ├── main │ │ │ │ ├── MainActivity.java │ │ │ │ ├── MainMvp.java │ │ │ │ ├── MainPresenter.java │ │ │ │ ├── donation │ │ │ │ │ ├── CheckPurchaseActivity.kt │ │ │ │ │ ├── DonateActivity.kt │ │ │ │ │ └── DonationActivity.java │ │ │ │ ├── drawer │ │ │ │ │ ├── AccountDrawerFragment.kt │ │ │ │ │ └── MainDrawerFragment.kt │ │ │ │ ├── issues │ │ │ │ │ ├── MyIssuesFragment.java │ │ │ │ │ ├── MyIssuesMvp.java │ │ │ │ │ ├── MyIssuesPresenter.java │ │ │ │ │ └── pager │ │ │ │ │ │ ├── MyIssuesPagerFragment.java │ │ │ │ │ │ ├── MyIssuesPagerMvp.java │ │ │ │ │ │ └── MyIssuesPagerPresenter.java │ │ │ │ ├── notifications │ │ │ │ │ └── FastHubNotificationDialog.kt │ │ │ │ ├── orgs │ │ │ │ │ ├── OrgListDialogFragment.java │ │ │ │ │ ├── OrgListDialogMvp.java │ │ │ │ │ └── OrgListDialogPresenter.java │ │ │ │ ├── playstore │ │ │ │ │ └── PlayStoreWarningActivity.kt │ │ │ │ ├── premium │ │ │ │ │ ├── GmsTaskListeners.java │ │ │ │ │ ├── PremiumActivity.kt │ │ │ │ │ ├── PremiumMvp.kt │ │ │ │ │ └── PremiumPresenter.kt │ │ │ │ └── pullrequests │ │ │ │ │ ├── MyPullRequestFragment.java │ │ │ │ │ ├── MyPullRequestsMvp.java │ │ │ │ │ ├── MyPullRequestsPresenter.java │ │ │ │ │ └── pager │ │ │ │ │ ├── MyPullsPagerFragment.java │ │ │ │ │ ├── MyPullsPagerMvp.java │ │ │ │ │ └── MyPullsPagerPresenter.java │ │ │ ├── notification │ │ │ │ ├── NotificationActivity.java │ │ │ │ ├── all │ │ │ │ │ ├── AllNotificationsFragment.java │ │ │ │ │ ├── AllNotificationsMvp.java │ │ │ │ │ └── AllNotificationsPresenter.java │ │ │ │ ├── callback │ │ │ │ │ └── OnNotificationChangedListener.java │ │ │ │ ├── fasthub │ │ │ │ │ ├── FastHubNotificationsFragment.kt │ │ │ │ │ ├── FastHubNotificationsMvp.kt │ │ │ │ │ └── FastHubNotificationsPresenter.kt │ │ │ │ └── unread │ │ │ │ │ ├── UnreadNotificationMvp.java │ │ │ │ │ ├── UnreadNotificationsFragment.java │ │ │ │ │ └── UnreadNotificationsPresenter.java │ │ │ ├── parser │ │ │ │ └── LinksParserActivity.java │ │ │ ├── pinned │ │ │ │ ├── PinnedReposActivity.java │ │ │ │ ├── gist │ │ │ │ │ ├── PinnedGistFragment.java │ │ │ │ │ ├── PinnedGistMvp.java │ │ │ │ │ └── PinnedGistPresenter.java │ │ │ │ ├── issue │ │ │ │ │ ├── PinnedIssueFragment.java │ │ │ │ │ ├── PinnedIssueMvp.java │ │ │ │ │ └── PinnedIssuePresenter.java │ │ │ │ ├── pullrequest │ │ │ │ │ ├── PinnedPullRequestFragment.java │ │ │ │ │ ├── PinnedPullRequestMvp.java │ │ │ │ │ └── PinnedPullRequestPresenter.java │ │ │ │ └── repo │ │ │ │ │ ├── PinnedReposFragment.java │ │ │ │ │ ├── PinnedReposMvp.java │ │ │ │ │ └── PinnedReposPresenter.java │ │ │ ├── profile │ │ │ │ ├── ProfilePagerFragment.java │ │ │ │ ├── ProfilePagerMvp.java │ │ │ │ ├── ProfilePagerPresenter.java │ │ │ │ ├── followers │ │ │ │ │ ├── ProfileFollowersFragment.java │ │ │ │ │ ├── ProfileFollowersMvp.java │ │ │ │ │ └── ProfileFollowersPresenter.java │ │ │ │ ├── following │ │ │ │ │ ├── ProfileFollowingFragment.java │ │ │ │ │ ├── ProfileFollowingMvp.java │ │ │ │ │ └── ProfileFollowingPresenter.java │ │ │ │ ├── gists │ │ │ │ │ ├── ProfileGistsFragment.java │ │ │ │ │ ├── ProfileGistsMvp.java │ │ │ │ │ └── ProfileGistsPresenter.java │ │ │ │ ├── org │ │ │ │ │ ├── OrgProfileOverviewFragment.java │ │ │ │ │ ├── OrgProfileOverviewMvp.java │ │ │ │ │ ├── OrgProfileOverviewPresenter.java │ │ │ │ │ ├── members │ │ │ │ │ │ ├── OrgMembersFragment.java │ │ │ │ │ │ ├── OrgMembersMvp.java │ │ │ │ │ │ └── OrgMembersPresenter.java │ │ │ │ │ ├── project │ │ │ │ │ │ └── OrgProjectActivity.kt │ │ │ │ │ ├── repos │ │ │ │ │ │ ├── OrgReposFragment.java │ │ │ │ │ │ ├── OrgReposMvp.java │ │ │ │ │ │ └── OrgReposPresenter.java │ │ │ │ │ └── teams │ │ │ │ │ │ ├── OrgTeamFragment.java │ │ │ │ │ │ ├── OrgTeamMvp.java │ │ │ │ │ │ ├── OrgTeamPresenter.java │ │ │ │ │ │ └── details │ │ │ │ │ │ ├── TeamPagerActivity.java │ │ │ │ │ │ ├── members │ │ │ │ │ │ ├── TeamMembersFragment.java │ │ │ │ │ │ ├── TeamMembersMvp.java │ │ │ │ │ │ └── TeamMembersPresenter.java │ │ │ │ │ │ └── repos │ │ │ │ │ │ ├── TeamReposFragment.java │ │ │ │ │ │ ├── TeamReposMvp.java │ │ │ │ │ │ └── TeamReposPresenter.java │ │ │ │ ├── overview │ │ │ │ │ ├── ProfileOverviewFragment.java │ │ │ │ │ ├── ProfileOverviewMvp.java │ │ │ │ │ └── ProfileOverviewPresenter.java │ │ │ │ ├── repos │ │ │ │ │ ├── ProfileReposFilterBottomSheetDialog.java │ │ │ │ │ ├── ProfileReposFragment.java │ │ │ │ │ ├── ProfileReposMvp.java │ │ │ │ │ └── ProfileReposPresenter.java │ │ │ │ └── starred │ │ │ │ │ ├── ProfileStarredFragment.java │ │ │ │ │ ├── ProfileStarredMvp.java │ │ │ │ │ └── ProfileStarredPresenter.java │ │ │ ├── repos │ │ │ │ ├── DummyFragment.java │ │ │ │ ├── RepoPagerActivity.java │ │ │ │ ├── RepoPagerMvp.java │ │ │ │ ├── RepoPagerPresenter.java │ │ │ │ ├── code │ │ │ │ │ ├── RepoCodePagerFragment.java │ │ │ │ │ ├── RepoCodePagerMvp.java │ │ │ │ │ ├── RepoCodePagerPresenter.java │ │ │ │ │ ├── commit │ │ │ │ │ │ ├── RepoCommitsFragment.java │ │ │ │ │ │ ├── RepoCommitsMvp.java │ │ │ │ │ │ ├── RepoCommitsPresenter.java │ │ │ │ │ │ ├── details │ │ │ │ │ │ │ ├── CommitPagerActivity.java │ │ │ │ │ │ │ ├── CommitPagerMvp.java │ │ │ │ │ │ │ ├── CommitPagerPresenter.java │ │ │ │ │ │ │ ├── comments │ │ │ │ │ │ │ │ ├── CommitCommentsFragment.java │ │ │ │ │ │ │ │ ├── CommitCommentsMvp.java │ │ │ │ │ │ │ │ └── CommitCommentsPresenter.java │ │ │ │ │ │ │ └── files │ │ │ │ │ │ │ │ ├── CommitFilesFragment.java │ │ │ │ │ │ │ │ ├── CommitFilesMvp.java │ │ │ │ │ │ │ │ ├── CommitFilesPresenter.java │ │ │ │ │ │ │ │ └── CommitFilesSingleton.java │ │ │ │ │ │ ├── history │ │ │ │ │ │ │ └── FileCommitHistoryActivity.kt │ │ │ │ │ │ └── viewer │ │ │ │ │ │ │ └── FullCommitFileActivity.java │ │ │ │ │ ├── contributors │ │ │ │ │ │ ├── RepoContributorsFragment.java │ │ │ │ │ │ ├── RepoContributorsMvp.java │ │ │ │ │ │ └── RepoContributorsPresenter.java │ │ │ │ │ ├── files │ │ │ │ │ │ ├── RepoFilesFragment.java │ │ │ │ │ │ ├── RepoFilesMvp.java │ │ │ │ │ │ ├── RepoFilesPresenter.java │ │ │ │ │ │ ├── activity │ │ │ │ │ │ │ └── RepoFilesActivity.java │ │ │ │ │ │ └── paths │ │ │ │ │ │ │ ├── RepoFilePathFragment.java │ │ │ │ │ │ │ ├── RepoFilePathMvp.java │ │ │ │ │ │ │ └── RepoFilePathPresenter.java │ │ │ │ │ ├── prettifier │ │ │ │ │ │ ├── ViewerFragment.java │ │ │ │ │ │ ├── ViewerMvp.java │ │ │ │ │ │ └── ViewerPresenter.java │ │ │ │ │ └── releases │ │ │ │ │ │ ├── ReleasesListActivity.java │ │ │ │ │ │ ├── RepoReleasesFragment.java │ │ │ │ │ │ ├── RepoReleasesMvp.java │ │ │ │ │ │ └── RepoReleasesPresenter.java │ │ │ │ ├── extras │ │ │ │ │ ├── assignees │ │ │ │ │ │ ├── AssigneesDialogFragment.java │ │ │ │ │ │ ├── AssigneesMvp.java │ │ │ │ │ │ └── AssigneesPresenter.java │ │ │ │ │ ├── branches │ │ │ │ │ │ ├── BranchesFragment.kt │ │ │ │ │ │ ├── BranchesMvp.kt │ │ │ │ │ │ ├── BranchesPresenter.kt │ │ │ │ │ │ └── pager │ │ │ │ │ │ │ ├── BranchesPagerFragment.kt │ │ │ │ │ │ │ └── BranchesPagerListener.kt │ │ │ │ │ ├── labels │ │ │ │ │ │ ├── LabelsDialogFragment.java │ │ │ │ │ │ ├── LabelsMvp.java │ │ │ │ │ │ ├── LabelsPresenter.java │ │ │ │ │ │ └── create │ │ │ │ │ │ │ ├── CreateLabelDialogFragment.java │ │ │ │ │ │ │ ├── CreateLabelMvp.java │ │ │ │ │ │ │ └── CreateLabelPresenter.java │ │ │ │ │ ├── license │ │ │ │ │ │ ├── RepoLicenseBottomSheet.kt │ │ │ │ │ │ ├── RepoLicenseMvp.kt │ │ │ │ │ │ └── RepoLicensePresenter.kt │ │ │ │ │ ├── locking │ │ │ │ │ │ ├── LockIssuePrBottomSheetDialog.kt │ │ │ │ │ │ └── LockIssuePrCallback.kt │ │ │ │ │ ├── milestone │ │ │ │ │ │ ├── MilestoneDialogFragment.java │ │ │ │ │ │ ├── MilestoneMvp.java │ │ │ │ │ │ ├── MilestonePresenter.java │ │ │ │ │ │ └── create │ │ │ │ │ │ │ ├── CreateMilestoneDialogFragment.java │ │ │ │ │ │ │ ├── CreateMilestoneMvp.java │ │ │ │ │ │ │ ├── CreateMilestonePresenter.java │ │ │ │ │ │ │ └── MilestoneDialogFragment.java │ │ │ │ │ ├── misc │ │ │ │ │ │ ├── RepoMiscDialogFragment.java │ │ │ │ │ │ ├── RepoMiscMVp.java │ │ │ │ │ │ └── RepoMiscPresenter.java │ │ │ │ │ └── popup │ │ │ │ │ │ ├── IssuePopupFragment.java │ │ │ │ │ │ ├── IssuePopupMvp.java │ │ │ │ │ │ └── IssuePopupPresenter.java │ │ │ │ ├── git │ │ │ │ │ ├── EditRepoFileActivity.kt │ │ │ │ │ ├── EditRepoFileMvp.kt │ │ │ │ │ ├── EditRepoFilePresenter.kt │ │ │ │ │ └── delete │ │ │ │ │ │ ├── DeleteContentFileCallback.kt │ │ │ │ │ │ └── DeleteFileBottomSheetFragment.kt │ │ │ │ ├── issues │ │ │ │ │ ├── RepoIssuesPagerFragment.java │ │ │ │ │ ├── RepoIssuesPagerMvp.java │ │ │ │ │ ├── RepoIssuesPagerPresenter.java │ │ │ │ │ ├── create │ │ │ │ │ │ ├── CreateIssueActivity.java │ │ │ │ │ │ ├── CreateIssueMvp.java │ │ │ │ │ │ └── CreateIssuePresenter.java │ │ │ │ │ └── issue │ │ │ │ │ │ ├── RepoClosedIssuesFragment.java │ │ │ │ │ │ ├── RepoIssuesMvp.java │ │ │ │ │ │ ├── RepoIssuesPresenter.java │ │ │ │ │ │ ├── RepoOpenedIssuesFragment.java │ │ │ │ │ │ └── details │ │ │ │ │ │ ├── IssuePagerActivity.java │ │ │ │ │ │ ├── IssuePagerMvp.java │ │ │ │ │ │ ├── IssuePagerPresenter.java │ │ │ │ │ │ └── timeline │ │ │ │ │ │ ├── IssueTimelineFragment.java │ │ │ │ │ │ ├── IssueTimelineMvp.java │ │ │ │ │ │ └── IssueTimelinePresenter.java │ │ │ │ ├── projects │ │ │ │ │ ├── RepoProjectsFragmentPager.kt │ │ │ │ │ ├── columns │ │ │ │ │ │ ├── ProjectColumnFragment.kt │ │ │ │ │ │ ├── ProjectColumnMvp.kt │ │ │ │ │ │ └── ProjectColumnPresenter.kt │ │ │ │ │ ├── crud │ │ │ │ │ │ └── ProjectCurdDialogFragment.kt │ │ │ │ │ ├── details │ │ │ │ │ │ ├── ProjectPagerActivity.kt │ │ │ │ │ │ ├── ProjectPagerMvp.kt │ │ │ │ │ │ └── ProjectPagerPresenter.kt │ │ │ │ │ └── list │ │ │ │ │ │ ├── RepoProjectFragment.kt │ │ │ │ │ │ ├── RepoProjectMvp.kt │ │ │ │ │ │ └── RepoProjectPresenter.kt │ │ │ │ ├── pull_requests │ │ │ │ │ ├── RepoPullRequestPagerFragment.java │ │ │ │ │ ├── RepoPullRequestPagerMvp.java │ │ │ │ │ ├── RepoPullRequestPagerPresenter.java │ │ │ │ │ └── pull_request │ │ │ │ │ │ ├── RepoPullRequestFragment.java │ │ │ │ │ │ ├── RepoPullRequestMvp.java │ │ │ │ │ │ ├── RepoPullRequestPresenter.java │ │ │ │ │ │ ├── details │ │ │ │ │ │ ├── PullRequestPagerActivity.java │ │ │ │ │ │ ├── PullRequestPagerMvp.java │ │ │ │ │ │ ├── PullRequestPagerPresenter.java │ │ │ │ │ │ ├── commits │ │ │ │ │ │ │ ├── PullRequestCommitsFragment.java │ │ │ │ │ │ │ ├── PullRequestCommitsMvp.java │ │ │ │ │ │ │ └── PullRequestCommitsPresenter.java │ │ │ │ │ │ ├── files │ │ │ │ │ │ │ ├── PullRequestFilesFragment.java │ │ │ │ │ │ │ ├── PullRequestFilesMvp.java │ │ │ │ │ │ │ ├── PullRequestFilesPresenter.java │ │ │ │ │ │ │ └── fullscreen │ │ │ │ │ │ │ │ ├── FullScreenFileChangeActivity.kt │ │ │ │ │ │ │ │ ├── FullScreenFileChangeMvp.kt │ │ │ │ │ │ │ │ └── FullScreenFileChangePresenter.kt │ │ │ │ │ │ └── timeline │ │ │ │ │ │ │ └── timeline │ │ │ │ │ │ │ ├── PullRequestTimelineFragment.java │ │ │ │ │ │ │ ├── PullRequestTimelineMvp.java │ │ │ │ │ │ │ └── PullRequestTimelinePresenter.java │ │ │ │ │ │ └── merge │ │ │ │ │ │ ├── MergePullReqeustMvp.java │ │ │ │ │ │ ├── MergePullRequestDialogFragment.java │ │ │ │ │ │ └── MergePullRequestPresenter.java │ │ │ │ ├── reactions │ │ │ │ │ ├── ReactionsDialogFragment.java │ │ │ │ │ ├── ReactionsDialogMvp.java │ │ │ │ │ └── ReactionsDialogPresenter.java │ │ │ │ └── wiki │ │ │ │ │ ├── WikiActivity.kt │ │ │ │ │ ├── WikiMvp.kt │ │ │ │ │ └── WikiPresenter.kt │ │ │ ├── reviews │ │ │ │ ├── AddReviewDialogFragment.kt │ │ │ │ ├── callback │ │ │ │ │ └── ReviewCommentListener.kt │ │ │ │ └── changes │ │ │ │ │ ├── ReviewChangesActivity.kt │ │ │ │ │ ├── ReviewChangesMvp.kt │ │ │ │ │ └── ReviewChangesPresenter.kt │ │ │ ├── search │ │ │ │ ├── SearchActivity.java │ │ │ │ ├── SearchMvp.java │ │ │ │ ├── SearchPresenter.java │ │ │ │ ├── SearchUserActivity.kt │ │ │ │ ├── code │ │ │ │ │ ├── SearchCodeFragment.java │ │ │ │ │ ├── SearchCodeMvp.java │ │ │ │ │ └── SearchCodePresenter.java │ │ │ │ ├── issues │ │ │ │ │ ├── SearchIssuesFragment.java │ │ │ │ │ ├── SearchIssuesMvp.java │ │ │ │ │ └── SearchIssuesPresenter.java │ │ │ │ ├── repos │ │ │ │ │ ├── SearchReposFragment.java │ │ │ │ │ ├── SearchReposMvp.java │ │ │ │ │ ├── SearchReposPresenter.java │ │ │ │ │ └── files │ │ │ │ │ │ ├── SearchFileActivity.java │ │ │ │ │ │ ├── SearchFileMvp.java │ │ │ │ │ │ └── SearchFilePresenter.java │ │ │ │ └── users │ │ │ │ │ ├── SearchUsersFragment.java │ │ │ │ │ ├── SearchUsersMvp.java │ │ │ │ │ └── SearchUsersPresenter.java │ │ │ ├── settings │ │ │ │ ├── LanguageBottomSheetDialog.java │ │ │ │ ├── SettingsActivity.java │ │ │ │ ├── category │ │ │ │ │ ├── SettingsCategoryActivity.java │ │ │ │ │ ├── SettingsCategoryFragment.java │ │ │ │ │ ├── SettingsCategoryMvp.java │ │ │ │ │ └── SettingsCategoryPresenter.java │ │ │ │ └── sound │ │ │ │ │ ├── NotificationSoundBottomSheet.kt │ │ │ │ │ ├── NotificationSoundMvp.kt │ │ │ │ │ └── NotificationSoundPresenter.kt │ │ │ ├── theme │ │ │ │ ├── ThemeActivity.kt │ │ │ │ ├── code │ │ │ │ │ ├── ThemeCodeActivity.kt │ │ │ │ │ ├── ThemeCodeMvp.kt │ │ │ │ │ └── ThemeCodePresenter.kt │ │ │ │ └── fragment │ │ │ │ │ ├── ThemeFragment.kt │ │ │ │ │ ├── ThemeFragmentMvp.kt │ │ │ │ │ └── ThemeFragmentPresenter.kt │ │ │ ├── trending │ │ │ │ ├── TrendingActivity.kt │ │ │ │ ├── TrendingMvp.kt │ │ │ │ ├── TrendingPresenter.kt │ │ │ │ └── fragment │ │ │ │ │ ├── TrendingFragment.kt │ │ │ │ │ ├── TrendingFragmentMvp.kt │ │ │ │ │ └── TrendingFragmentPresenter.kt │ │ │ └── user │ │ │ │ ├── UserPagerActivity.java │ │ │ │ ├── UserPagerMvp.java │ │ │ │ └── UserPagerPresenter.java │ │ │ └── widgets │ │ │ ├── AppbarRefreshLayout.java │ │ │ ├── AutoLinearLayout.java │ │ │ ├── AvatarLayout.java │ │ │ ├── CardsPagerTransformerBasic.kt │ │ │ ├── ColorPickerPreference.java │ │ │ ├── DiffLineSpan.java │ │ │ ├── FloatingActionButtonBehavior.java │ │ │ ├── FontAutoCompleteEditText.java │ │ │ ├── FontButton.java │ │ │ ├── FontCheckbox.java │ │ │ ├── FontEditText.java │ │ │ ├── FontRadioButton.java │ │ │ ├── FontSwitchView.java │ │ │ ├── FontTextView.java │ │ │ ├── ForegroundImageView.java │ │ │ ├── ForegroundRelativeLayout.java │ │ │ ├── LabelSpan.java │ │ │ ├── NestedCoordinatorLayout.java │ │ │ ├── SpannableBuilder.java │ │ │ ├── StateLayout.java │ │ │ ├── TabletBehavior.java │ │ │ ├── ViewPagerView.java │ │ │ ├── color │ │ │ └── ColorGenerator.java │ │ │ ├── contributions │ │ │ ├── ContributionsDay.java │ │ │ ├── ContributionsProvider.java │ │ │ ├── GitHubContributionsView.java │ │ │ └── utils │ │ │ │ ├── ColorsUtils.java │ │ │ │ └── DatesUtils.java │ │ │ ├── dialog │ │ │ ├── ListDialogView.java │ │ │ ├── MessageDialogView.java │ │ │ └── ProgressDialogFragment.java │ │ │ ├── markdown │ │ │ ├── MarkDownLayout.kt │ │ │ └── MarkdownEditText.kt │ │ │ └── recyclerview │ │ │ ├── BaseRecyclerAdapter.java │ │ │ ├── BaseViewHolder.java │ │ │ ├── BottomPaddingDecoration.java │ │ │ ├── DynamicRecyclerView.java │ │ │ ├── InsetDividerDecoration.java │ │ │ ├── ProgressBarViewHolder.java │ │ │ ├── layout_manager │ │ │ ├── GridManager.java │ │ │ ├── LinearManager.java │ │ │ └── StaggeredManager.java │ │ │ └── scroll │ │ │ ├── InfiniteScroll.java │ │ │ └── RecyclerViewFastScroller.java │ │ ├── prettifier │ │ └── pretty │ │ │ ├── NestedWebView.java │ │ │ ├── PrettifyWebView.java │ │ │ ├── callback │ │ │ └── MarkDownInterceptorInterface.java │ │ │ └── helper │ │ │ ├── CodeThemesHelper.java │ │ │ ├── GithubHelper.java │ │ │ └── PrettifyHelper.java │ │ └── zzhoujay │ │ └── markdown │ │ └── style │ │ ├── CodeSpan.java │ │ ├── FontSpan.java │ │ ├── LinkSpan.java │ │ └── MarkDownQuoteSpan.java │ └── res │ ├── animator │ ├── cardview_selector.xml │ ├── minus_to_plus.xml │ ├── plus_minus_rotate.xml │ └── plus_to_minus.xml │ ├── color │ └── search_tab_highlighter.xml │ ├── drawable-nodpi │ └── web_hi_res_512.png │ ├── drawable-small │ └── splash_screen_drawable.xml │ ├── drawable-v26 │ ├── ic_app_shortcut_github.xml │ ├── ic_app_shortcut_issues.xml │ ├── ic_app_shortcut_pinned.xml │ ├── ic_app_shortcut_profile.xml │ └── ic_app_shortcut_pull_requests.xml │ ├── drawable-xxxhdpi │ ├── ic_edittext.9.png │ └── ic_timeline_arrow_left.9.png │ ├── drawable │ ├── arrow_toggle_drawable.xml │ ├── asl_follow.xml │ ├── avd_follow.xml │ ├── avd_unfollow.xml │ ├── bottom_border.xml │ ├── circle_shape.xml │ ├── fastscroller_bubble.xml │ ├── ic_add.xml │ ├── ic_add_emoji.xml │ ├── ic_announcement.xml │ ├── ic_app_shortcut_github.xml │ ├── ic_app_shortcut_github_foreground.xml │ ├── ic_app_shortcut_issues.xml │ ├── ic_app_shortcut_issues_foreground.xml │ ├── ic_app_shortcut_pinned.xml │ ├── ic_app_shortcut_pinned_foreground.xml │ ├── ic_app_shortcut_profile.xml │ ├── ic_app_shortcut_profile_foreground.xml │ ├── ic_app_shortcut_pull_requests.xml │ ├── ic_app_shortcut_pull_requests_foreground.xml │ ├── ic_arrow_drop_down.xml │ ├── ic_arrow_drop_up.xml │ ├── ic_arrow_right.xml │ ├── ic_at.xml │ ├── ic_back.xml │ ├── ic_backup.xml │ ├── ic_blank.xml │ ├── ic_block.xml │ ├── ic_book.xml │ ├── ic_bookmark.xml │ ├── ic_branch.xml │ ├── ic_brower.xml │ ├── ic_brush.xml │ ├── ic_bug.xml │ ├── ic_check.xml │ ├── ic_check_small.xml │ ├── ic_checkbox.xml │ ├── ic_checkbox_empty.xml │ ├── ic_checkbox_empty_small.xml │ ├── ic_checkbox_small.xml │ ├── ic_circle_small.xml │ ├── ic_clear.xml │ ├── ic_clear_all.xml │ ├── ic_clear_black.xml │ ├── ic_code.xml │ ├── ic_color_lens.xml │ ├── ic_comment.xml │ ├── ic_comment_small.xml │ ├── ic_copy.xml │ ├── ic_crop_square.xml │ ├── ic_done.xml │ ├── ic_download.xml │ ├── ic_edit.xml │ ├── ic_email.xml │ ├── ic_eye.xml │ ├── ic_eye_off.xml │ ├── ic_fasthub_mascot.xml │ ├── ic_feedback.xml │ ├── ic_file_document.xml │ ├── ic_file_multi.xml │ ├── ic_filter.xml │ ├── ic_folder.xml │ ├── ic_follow.xml │ ├── ic_fork.xml │ ├── ic_fork_small.xml │ ├── ic_format_bold.xml │ ├── ic_format_italic.xml │ ├── ic_format_list_bulleted.xml │ ├── ic_format_quote.xml │ ├── ic_format_strikethrough.xml │ ├── ic_format_underlined.xml │ ├── ic_fullscreen.xml │ ├── ic_gists.xml │ ├── ic_github.xml │ ├── ic_github_dark.xml │ ├── ic_github_shortcut.xml │ ├── ic_group.xml │ ├── ic_header_one.xml │ ├── ic_header_three.xml │ ├── ic_header_two.xml │ ├── ic_heart.xml │ ├── ic_heart_full.xml │ ├── ic_home.xml │ ├── ic_image.xml │ ├── ic_incognito.xml │ ├── ic_incognito_avatar.xml │ ├── ic_info.xml │ ├── ic_info_outline.xml │ ├── ic_inline_code.xml │ ├── ic_insert_link.xml │ ├── ic_issue_closed.xml │ ├── ic_issue_closed_small.xml │ ├── ic_issue_opened.xml │ ├── ic_issue_opened_small.xml │ ├── ic_issues.xml │ ├── ic_issues_shortcut.xml │ ├── ic_issues_small.xml │ ├── ic_label.xml │ ├── ic_language.xml │ ├── ic_language_small.xml │ ├── ic_license.xml │ ├── ic_lightblub.xml │ ├── ic_list_numbers.xml │ ├── ic_location.xml │ ├── ic_lock.xml │ ├── ic_logout.xml │ ├── ic_menu.xml │ ├── ic_merge.xml │ ├── ic_milestone.xml │ ├── ic_minus.xml │ ├── ic_money.xml │ ├── ic_newline.xml │ ├── ic_notification.xml │ ├── ic_notifications_none.xml │ ├── ic_overflow.xml │ ├── ic_people.xml │ ├── ic_person.xml │ ├── ic_pin.xml │ ├── ic_pin_filled.xml │ ├── ic_pin_shortcut.xml │ ├── ic_profile.xml │ ├── ic_profile_shortcut.xml │ ├── ic_project.xml │ ├── ic_pull_requests.xml │ ├── ic_pull_requests_shortcut.xml │ ├── ic_pull_requests_small.xml │ ├── ic_push.xml │ ├── ic_redo.xml │ ├── ic_repo.xml │ ├── ic_restore.xml │ ├── ic_restricted.xml │ ├── ic_ring.xml │ ├── ic_ring_sound.xml │ ├── ic_rocket.xml │ ├── ic_search.xml │ ├── ic_send.xml │ ├── ic_settings.xml │ ├── ic_share.xml │ ├── ic_slack.xml │ ├── ic_star.xml │ ├── ic_star_filled.xml │ ├── ic_star_small.xml │ ├── ic_storage_small.xml │ ├── ic_submodule.xml │ ├── ic_subscribe.xml │ ├── ic_support.xml │ ├── ic_sync.xml │ ├── ic_time.xml │ ├── ic_time_small.xml │ ├── ic_title.xml │ ├── ic_track_changes.xml │ ├── ic_trash.xml │ ├── ic_trending.xml │ ├── ic_undo.xml │ ├── ic_unfollow.xml │ ├── ic_unlock.xml │ ├── ic_unsubscribe.xml │ ├── ic_update.xml │ ├── ic_wrap_text.xml │ ├── left_border.xml │ ├── rect_shape.xml │ ├── right_border.xml │ ├── scrim.xml │ ├── splash_screen_drawable.xml │ ├── toolbar_shadow_up.xml │ └── top_border.xml │ ├── layouts │ ├── main_layouts │ │ ├── layout-land │ │ │ ├── bottom_fab.xml │ │ │ ├── fragment_container.xml │ │ │ ├── header_title_with_toolbar.xml │ │ │ ├── issues_bottom_navigation.xml │ │ │ ├── main_bottom_navigation.xml │ │ │ ├── profile_follow_action_layout.xml │ │ │ └── repo_file_header_layout.xml │ │ ├── layout-sw600dp │ │ │ ├── bottom_fab.xml │ │ │ ├── fragment_container.xml │ │ │ ├── header_title_with_toolbar.xml │ │ │ ├── issues_bottom_navigation.xml │ │ │ ├── main_bottom_navigation.xml │ │ │ └── repo_file_header_layout.xml │ │ └── layout │ │ │ ├── accounts_menu_layout.xml │ │ │ ├── activity_fragment_layout.xml │ │ │ ├── activity_main_view.xml │ │ │ ├── activity_search_file.xml │ │ │ ├── activity_search_user.xml │ │ │ ├── activity_settings.xml │ │ │ ├── activity_settings_category.xml │ │ │ ├── add_banner_layout.xml │ │ │ ├── add_gist_file_layout.xml │ │ │ ├── add_review_dialog_layout.xml │ │ │ ├── bottom_fab.xml │ │ │ ├── branches_tabbed_viewpager.xml │ │ │ ├── centered_tabbed_viewpager.xml │ │ │ ├── comment_box_layout.xml │ │ │ ├── commit_file_full_layout.xml │ │ │ ├── commit_pager_activity.xml │ │ │ ├── commit_with_branch_layout.xml │ │ │ ├── create_gist_layout.xml │ │ │ ├── create_issue_layout.xml │ │ │ ├── create_label_layout.xml │ │ │ ├── create_milestone_layout.xml │ │ │ ├── delete_repo_file_layout.xml │ │ │ ├── dialog_picker.xml │ │ │ ├── edit_project_column_note_layout.xml │ │ │ ├── edit_repo_file_layout.xml │ │ │ ├── editor_layout.xml │ │ │ ├── emoji_popup_layout.xml │ │ │ ├── fab_micro_grid_refresh_list.xml │ │ │ ├── filter_bottom_sheet.xml │ │ │ ├── filter_issues_popup.xml │ │ │ ├── filter_issues_prs_layout.xml │ │ │ ├── fragment_container.xml │ │ │ ├── full_screen_file_changes_layout.xml │ │ │ ├── general_viewer_layout.xml │ │ │ ├── gists_activity_layout.xml │ │ │ ├── gists_pager_layout.xml │ │ │ ├── header_title_with_toolbar.xml │ │ │ ├── icon_row_item.xml │ │ │ ├── issue_pager_activity.xml │ │ │ ├── issue_popup_layout.xml │ │ │ ├── issues_bottom_navigation.xml │ │ │ ├── license_viewer_layout.xml │ │ │ ├── login_chooser_layout.xml │ │ │ ├── login_form_layout.xml │ │ │ ├── main_bottom_navigation.xml │ │ │ ├── main_nav_fragment_layout.xml │ │ │ ├── markdown_buttons_layout.xml │ │ │ ├── markdown_link_image_dialog_layout.xml │ │ │ ├── merge_dialog_layout.xml │ │ │ ├── micro_grid_refresh_list.xml │ │ │ ├── milestone_dialog_layout.xml │ │ │ ├── notification_activity_layout.xml │ │ │ ├── notifications_bottom_sheet_layout.xml │ │ │ ├── picker_dialog.xml │ │ │ ├── playstore_review_layout_warning.xml │ │ │ ├── pro_features_layout.xml │ │ │ ├── profile_follow_action_layout.xml │ │ │ ├── project_columns_layout.xml │ │ │ ├── projects_activity_layout.xml │ │ │ ├── pull_request_files_layout.xml │ │ │ ├── repo_file_header_layout.xml │ │ │ ├── repo_file_layout.xml │ │ │ ├── repo_header_icons_layout.xml │ │ │ ├── repo_pager_activity.xml │ │ │ ├── review_changes_bottom_layout.xml │ │ │ ├── review_comment_dialog_layout.xml │ │ │ ├── search_layout.xml │ │ │ ├── settings_layout.xml │ │ │ ├── small_grid_refresh_list.xml │ │ │ ├── submit_review_layout.xml │ │ │ ├── support_development_layout.xml │ │ │ ├── tabbed_pager_layout.xml │ │ │ ├── tabbed_viewpager.xml │ │ │ ├── tending_buttons_layout.xml │ │ │ ├── theme_code_layout.xml │ │ │ ├── theme_layout.xml │ │ │ ├── theme_viewpager.xml │ │ │ ├── title_header_layout.xml │ │ │ ├── toolbar_activity_layout.xml │ │ │ ├── trending_activity_layout.xml │ │ │ ├── vertical_refresh_list.xml │ │ │ ├── view_pager_activity_layout.xml │ │ │ └── wiki_activity_layout.xml │ ├── other_layouts │ │ ├── layout-land │ │ │ └── appbar_start_margin.xml │ │ ├── layout-sw600dp │ │ │ └── appbar_start_margin.xml │ │ └── layout │ │ │ ├── appbar_elevation_dark.xml │ │ │ ├── appbar_start_margin.xml │ │ │ ├── appbar_tabbed_elevation.xml │ │ │ ├── avatar_layout.xml │ │ │ ├── dialog_guide_layout.xml │ │ │ ├── drawer_header.xml │ │ │ ├── empty_layout.xml │ │ │ ├── fastscroller_layout.xml │ │ │ ├── home_button.xml │ │ │ ├── lock_issue_pr_dialog.xml │ │ │ ├── message_dialog.xml │ │ │ ├── nav_menu_layout.xml │ │ │ ├── progress_dialog_layout.xml │ │ │ ├── simple_footer_list_dialog.xml │ │ │ ├── simple_list_dialog.xml │ │ │ ├── single_container_layout.xml │ │ │ └── state_layout.xml │ └── row_layouts │ │ ├── layout-sw600dp │ │ ├── login_row_item_menu.xml │ │ └── repos_row_item_menu.xml │ │ └── layout │ │ ├── add_filter_row_layout.xml │ │ ├── branches_row_item.xml │ │ ├── column_card_row_layout.xml │ │ ├── comments_dropdown_layout.xml │ │ ├── comments_row_item.xml │ │ ├── commit_file_row_item.xml │ │ ├── commit_line_row_item.xml │ │ ├── emoji_row_item.xml │ │ ├── fasthub_notification_row_item.xml │ │ ├── feeds_row_item.xml │ │ ├── feeds_row_no_image_item.xml │ │ ├── file_path_row_item.xml │ │ ├── gist_files_row_item.xml │ │ ├── grouped_commit_comment_row.xml │ │ ├── grouped_review_timeline_row_item.xml │ │ ├── issue_detail_header_row_item.xml │ │ ├── issue_no_image_row_item.xml │ │ ├── issue_row_item.xml │ │ ├── issue_timeline_row_item.xml │ │ ├── label_row_item.xml │ │ ├── login_row_item.xml │ │ ├── login_row_item_menu.xml │ │ ├── milestone_row_item.xml │ │ ├── no_emojies_comments_row_item.xml │ │ ├── notification_header_row_item.xml │ │ ├── notifications_row_item.xml │ │ ├── org_profile_overview_layout.xml │ │ ├── preference_widget_color.xml │ │ ├── profile_org_row_item.xml │ │ ├── profile_overview_layout.xml │ │ ├── profile_pinned_repo_row_item.xml │ │ ├── progress_layout.xml │ │ ├── pull_status_row_item.xml │ │ ├── pullrequest_file_row_item.xml │ │ ├── releases_row_item.xml │ │ ├── repo_files_row_item.xml │ │ ├── repos_row_item.xml │ │ ├── repos_row_item_menu.xml │ │ ├── repos_row_no_image_item.xml │ │ ├── review_comments_row_item.xml │ │ ├── review_timeline_row_item.xml │ │ ├── simple_color_row_item.xml │ │ ├── simple_row_item.xml │ │ ├── topics_row_item.xml │ │ ├── trending_row_item.xml │ │ ├── unknown_row_item.xml │ │ └── users_small_row_item.xml │ ├── menu-land │ └── bottom_nav_menu.xml │ ├── menu-sw600dp │ ├── bottom_nav_menu.xml │ ├── repo_bottom_nav_menu.xml │ └── repo_with_project_bottom_nav_menu.xml │ ├── menu │ ├── add_menu.xml │ ├── bottom_nav_menu.xml │ ├── comments_menu.xml │ ├── commit_row_menu.xml │ ├── done_menu.xml │ ├── download_browser_menu.xml │ ├── download_share_menu.xml │ ├── drawer_menu.xml │ ├── dynamic_trending_menu.xml │ ├── filter_fab_menu.xml │ ├── filter_issue_state_menu.xml │ ├── gist_menu.xml │ ├── issue_menu.xml │ ├── link_popup_menu.xml │ ├── notification_menu.xml │ ├── project_card_menu.xml │ ├── pull_request_menu.xml │ ├── repo_bottom_nav_menu.xml │ ├── repo_menu.xml │ ├── repo_with_project_bottom_nav_menu.xml │ ├── search_menu.xml │ ├── share_menu.xml │ ├── trending_menu.xml │ └── wrap_menu_option.xml │ ├── mipmap-anydpi-v26 │ └── ic_launcher.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-nodpi │ └── foreground.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ └── ic_launcher.png │ ├── raw │ └── changelog.html │ ├── values-ar │ └── strings.xml │ ├── values-bg │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-in │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko │ └── strings.xml │ ├── values-land │ └── dimens.xml │ ├── values-lt │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt-rPT │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sw600dp-land │ └── dimens.xml │ ├── values-sw600dp │ └── dimens.xml │ ├── values-sw720dp-land │ └── dimens.xml │ ├── values-sw720dp │ └── dimens.xml │ ├── values-tr │ └── strings.xml │ ├── values-w820dp-land │ └── dimens.xml │ ├── values-w820dp │ └── dimens.xml │ ├── values-zh-rCN │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values │ ├── arrays.xml │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── paths.xml │ ├── strings.xml │ ├── styles.xml │ ├── theme_amlod.xml │ ├── theme_attrs.xml │ ├── theme_bluish.xml │ ├── theme_dark.xml │ ├── theme_light.xml │ ├── theme_midnight.xml │ └── themes.xml │ └── xml │ ├── about_settings.xml │ ├── backup_settings.xml │ ├── behaviour_settings.xml │ ├── customization_settings.xml │ ├── fasthub_settings.xml │ ├── language_settings.xml │ └── notification_settings.xml ├── build.gradle ├── debug_gradle.properties ├── fasthub_as_settings.jar ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── privacy_policy.html └── settings.gradle /.codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | token: b3275f76-a606-4c63-9b5c-1c58ef7acba0 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: FastHub 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: https://paypal.me/imkosh 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[FR]" 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/assets/direct-apk-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/direct-apk-download.png -------------------------------------------------------------------------------- /.github/assets/feature_graphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/feature_graphic.png -------------------------------------------------------------------------------- /.github/assets/first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/first.png -------------------------------------------------------------------------------- /.github/assets/fourth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/fourth.png -------------------------------------------------------------------------------- /.github/assets/sec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/sec.png -------------------------------------------------------------------------------- /.github/assets/third.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/third.png -------------------------------------------------------------------------------- /.github/assets/web_hi_res_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/.github/assets/web_hi_res_512.png -------------------------------------------------------------------------------- /.github_changelog_generator: -------------------------------------------------------------------------------- 1 | since-tag=4.5.6 2 | issues-wo-labels=false 3 | issue-line-labels=true 4 | exclude-labels=Type: Invalid,Type: Duplicate,Type: Unknown,Type: Question,Type: No API,Type: Work as Intended,Type: Can't Reproduce,Status: Won't Fix 5 | include-labels=Status: Completed 6 | bug-labels=Type: Bug 7 | enhancement-labels=Type: Enhancement,Type: Feature Request -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .DS_Store 5 | /build 6 | /release_gradle.properties 7 | /.idea/ 8 | /app/google-services.json 9 | /app/build/ 10 | /app/src/main/res/values/secrets.xml 11 | /app/fastaccess-key 12 | /changelog_generator 13 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /google-services.json 3 | -------------------------------------------------------------------------------- /app/fastaccess-public: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/fastaccess-public -------------------------------------------------------------------------------- /app/src/debug/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/debug/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/debug/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/debug/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/debug/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/debug/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/debug/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/debug/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FastHub Debug 4 | -------------------------------------------------------------------------------- /app/src/main/assets/fonts/app_font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/main/assets/fonts/app_font.ttf -------------------------------------------------------------------------------- /app/src/main/assets/highlight/styles/themes/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0px; 11 | color: black; 12 | } 13 | 14 | .hljs-string, 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-symbol, 18 | .hljs-bullet, 19 | .hljs-section, 20 | .hljs-addition, 21 | .hljs-attribute, 22 | .hljs-link { 23 | color: #888; 24 | } 25 | 26 | .hljs-comment, 27 | .hljs-quote, 28 | .hljs-meta, 29 | .hljs-deletion { 30 | color: #ccc; 31 | } 32 | 33 | .hljs-keyword, 34 | .hljs-selector-tag, 35 | .hljs-section, 36 | .hljs-name, 37 | .hljs-type, 38 | .hljs-strong { 39 | font-weight: bold; 40 | } 41 | 42 | .hljs-emphasis { 43 | font-style: italic; 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/assets/highlight/styles/themes/darkula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Deprecated due to a typo in the name and left here for compatibility purpose only. 3 | Please use darcula.css instead. 4 | */ 5 | 6 | @import url('darcula.css'); 7 | -------------------------------------------------------------------------------- /app/src/main/graphql/github/PinnedRepos.graphql: -------------------------------------------------------------------------------- 1 | query getPinnedRepos($login: String!) { 2 | user(login: $login) { 3 | pinnedRepositories(first: 100) { 4 | edges { 5 | node { 6 | name 7 | url 8 | issues(states: [OPEN]) { 9 | totalCount 10 | } 11 | pullRequests(states: [OPEN]) { 12 | totalCount 13 | } 14 | stargazers { 15 | totalCount 16 | } 17 | forks { 18 | totalCount 19 | } 20 | primaryLanguage { 21 | name 22 | color 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/GlideModule.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess 2 | 3 | import com.bumptech.glide.annotation.GlideModule 4 | import com.bumptech.glide.module.AppGlideModule 5 | 6 | 7 | @GlideModule 8 | class GlideModule : AppGlideModule() -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/AssigneesRequestModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.List; 4 | 5 | import lombok.Getter; 6 | import lombok.NoArgsConstructor; 7 | import lombok.Setter; 8 | 9 | /** 10 | * Created by Kosh on 05 Mar 2017, 12:01 PM 11 | */ 12 | 13 | @Getter @Setter @NoArgsConstructor 14 | public class AssigneesRequestModel { 15 | private List assignees; 16 | private List reviewers; 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/CommitFileListModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * Created by Kosh on 12 Feb 2017, 12:06 AM 7 | */ 8 | 9 | public class CommitFileListModel extends ArrayList {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/CommitListModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import com.fastaccess.data.dao.model.Commit; 4 | 5 | import java.util.ArrayList; 6 | 7 | /** 8 | * Created by Kosh on 12 Feb 2017, 12:10 AM 9 | */ 10 | 11 | public class CommitListModel extends ArrayList {} 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/CreateMilestoneModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import lombok.Getter; 6 | import lombok.NoArgsConstructor; 7 | import lombok.Setter; 8 | 9 | /** 10 | * Created by Kosh on 05 Mar 2017, 2:30 AM 11 | */ 12 | 13 | @Getter @Setter @NoArgsConstructor 14 | public class CreateMilestoneModel { 15 | private String title; 16 | private String description; 17 | @SerializedName("due_on") private String dueOn; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/GistHubErrorsModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import lombok.Getter; 4 | import lombok.NoArgsConstructor; 5 | import lombok.Setter; 6 | 7 | /** 8 | * Created by Kosh on 18 Feb 2017, 2:10 PM 9 | */ 10 | 11 | @Getter @Setter @NoArgsConstructor class GistHubErrorsModel { 12 | private String resource; 13 | private String field; 14 | private String code; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/GitCommitListModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * Created by Kosh on 12 Feb 2017, 12:14 AM 7 | */ 8 | 9 | public class GitCommitListModel extends ArrayList {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/GitHubErrorResponse.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.List; 4 | 5 | import lombok.Getter; 6 | import lombok.NoArgsConstructor; 7 | import lombok.Setter; 8 | 9 | /** 10 | * Created by Kosh on 18 Feb 2017, 2:09 PM 11 | */ 12 | 13 | @Getter @Setter @NoArgsConstructor 14 | public class GitHubErrorResponse { 15 | private String message; 16 | private String documentation_url; 17 | private List errors; 18 | 19 | @Override public String toString() { 20 | return "GitHubErrorResponse{" + 21 | "message='" + message + '\'' + 22 | ", documentation_url='" + documentation_url + '\'' + 23 | ", errors=" + errors + 24 | '}'; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | /** 6 | * Created by Hashemsergani on 18.10.17. 7 | */ 8 | data class GitHubStatusModel( 9 | @SerializedName("status") var status: GithubStatus? = null 10 | ) 11 | 12 | data class GithubStatus( 13 | @SerializedName("description") var description: String? = null, 14 | @SerializedName("indicator") var indicator: String? = null 15 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/GithubFileModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.io.Serializable; 4 | import java.util.HashMap; 5 | 6 | /** 7 | * Created by Kosh on 10 Feb 2017, 9:46 PM 8 | */ 9 | 10 | 11 | public class GithubFileModel extends HashMap implements Serializable {} -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/LabelListModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * Created by Kosh on 12 Feb 2017, 1:32 PM 7 | */ 8 | 9 | public class LabelListModel extends ArrayList {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/LockIssuePrModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | 8 | /** 9 | * Created by Kosh on 10.02.18. 10 | */ 11 | @NoArgsConstructor @AllArgsConstructor @Getter @Setter public class LockIssuePrModel { 12 | private boolean locked; 13 | private String activeLockReason; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/NotificationSoundModel.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao 2 | 3 | import android.net.Uri 4 | 5 | /** 6 | * Created by kosh on 23/07/2017. 7 | */ 8 | class NotificationSoundModel(val name: String? = null, val uri: Uri? = null, val isSelected: Boolean = false) -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/NotificationSubscriptionBodyModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | /** 8 | * Created by Hashemsergani on 14.10.17. 9 | */ 10 | 11 | @AllArgsConstructor @Getter @Setter public class NotificationSubscriptionBodyModel { 12 | private Boolean subscribed; 13 | private Boolean ignored; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/ReleasesAssetsListModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * Created by Kosh on 31 Dec 2016, 1:28 PM 7 | */ 8 | 9 | public class ReleasesAssetsListModel extends ArrayList {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/RepoSubscriptionModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.Date; 4 | 5 | import lombok.Getter; 6 | import lombok.NoArgsConstructor; 7 | import lombok.Setter; 8 | 9 | /** 10 | * Created by Kosh on 14 Mar 2017, 9:10 PM 11 | */ 12 | 13 | @Getter @Setter @NoArgsConstructor 14 | public class RepoSubscriptionModel { 15 | private boolean subscribed; 16 | private boolean ignored; 17 | private Date createdAt; 18 | private String url; 19 | private String repositoryUrl; 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/TopicsModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * Created by Kosh on 09 May 2017, 7:52 PM 7 | */ 8 | 9 | public class TopicsModel extends ArrayList {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/TreeResponseModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import com.fastaccess.data.dao.model.RepoFile; 4 | 5 | import java.util.List; 6 | 7 | import lombok.Getter; 8 | import lombok.NoArgsConstructor; 9 | import lombok.Setter; 10 | 11 | /** 12 | * Created by Kosh on 12 Apr 2017, 1:12 PM 13 | */ 14 | 15 | @NoArgsConstructor @Getter @Setter public class TreeResponseModel { 16 | private String sha; 17 | private String url; 18 | boolean truncated; 19 | List tree; 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/UsersListModel.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao; 2 | 3 | import com.fastaccess.data.dao.model.User; 4 | 5 | import java.util.ArrayList; 6 | 7 | /** 8 | * Created by Kosh on 12 Feb 2017, 1:33 PM 9 | */ 10 | 11 | public class UsersListModel extends ArrayList {} 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/CommitConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.model.Commit; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 7:58 PM 7 | */ 8 | 9 | public class CommitConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return Commit.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/CommitFilesConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.CommitFileListModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:37 PM 7 | */ 8 | 9 | public class CommitFilesConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return CommitFileListModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/CommitsConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.CommitListModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:37 PM 7 | */ 8 | 9 | public class CommitsConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return CommitListModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/GistConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.model.Gist; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:30 PM 7 | */ 8 | 9 | public class GistConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return Gist.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/GitCommitConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.GitCommitModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:42 PM 7 | */ 8 | 9 | public class GitCommitConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return GitCommitModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/GitHubFilesConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.GithubFileModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:21 PM 7 | */ 8 | 9 | public class GitHubFilesConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return GithubFileModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/GitHubStateConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.GithubState; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:41 PM 7 | */ 8 | 9 | public class GitHubStateConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return GithubState.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/IssueConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.model.Issue; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:30 PM 7 | */ 8 | 9 | public class IssueConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return Issue.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/LabelConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.LabelModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:30 PM 7 | */ 8 | 9 | public class LabelConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return LabelModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/LabelsListConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.LabelListModel; 4 | 5 | /** 6 | * Created by Kosh on 11 Feb 2017, 11:43 PM 7 | */ 8 | 9 | public class LabelsListConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return LabelListModel.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/LicenseConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.LicenseModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:33 PM 7 | */ 8 | 9 | public class LicenseConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return LicenseModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/MilestoneConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.MilestoneModel; 4 | 5 | /** 6 | * Created by Kosh on 11 Feb 2017, 11:43 PM 7 | */ 8 | 9 | public class MilestoneConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return MilestoneModel.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/NotificationSubjectConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.NotificationSubjectModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 7:58 PM 7 | */ 8 | 9 | public class NotificationSubjectConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return NotificationSubjectModel.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/PayloadConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.PayloadModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:39 PM 7 | */ 8 | 9 | public class PayloadConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return PayloadModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/PullRequestConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.model.PullRequest; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 7:58 PM 7 | */ 8 | 9 | public class PullRequestConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return PullRequest.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/ReactionsConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.ReactionsModel; 4 | 5 | /** 6 | * Created by Kosh on 06 May 2017, 4:53 PM 7 | */ 8 | 9 | public class ReactionsConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return ReactionsModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/ReleasesAssetsConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.ReleasesAssetsListModel; 4 | 5 | /** 6 | * Created by Kosh on 11 Feb 2017, 11:43 PM 7 | */ 8 | 9 | public class ReleasesAssetsConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return ReleasesAssetsListModel.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/RenameConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.RenameModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:29 PM 7 | */ 8 | 9 | public class RenameConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return RenameModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/RepoConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.model.Repo; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 7:58 PM 7 | */ 8 | 9 | public class RepoConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return Repo.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/RepoPermissionConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.RepoPermissionsModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:33 PM 7 | */ 8 | 9 | public class RepoPermissionConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return RepoPermissionsModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/TeamConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.TeamsModel; 4 | import com.fastaccess.data.dao.model.User; 5 | 6 | /** 7 | * Created by Kosh on 15 Mar 2017, 7:58 PM 8 | */ 9 | 10 | public class TeamConverter extends BaseConverter { 11 | 12 | @Override protected Class getTypeClass() { 13 | return TeamsModel.class; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/TopicsConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.TopicsModel; 4 | 5 | /** 6 | * Created by Kosh on 09 May 2017, 7:54 PM 7 | */ 8 | 9 | public class TopicsConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return TopicsModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/UserConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.model.User; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 7:58 PM 7 | */ 8 | 9 | public class UserConverter extends BaseConverter { 10 | 11 | @Override protected Class getTypeClass() { 12 | return User.class; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/converters/UsersConverter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.converters; 2 | 3 | import com.fastaccess.data.dao.UsersListModel; 4 | 5 | /** 6 | * Created by Kosh on 15 Mar 2017, 8:26 PM 7 | */ 8 | 9 | public class UsersConverter extends BaseConverter { 10 | @Override protected Class getTypeClass() { 11 | return UsersListModel.class; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/types/FilesType.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.types; 2 | 3 | import androidx.annotation.DrawableRes; 4 | 5 | import com.fastaccess.R; 6 | 7 | /** 8 | * Created by Kosh on 17 Feb 2017, 7:45 PM 9 | */ 10 | 11 | public enum FilesType { 12 | file(R.drawable.ic_file_document), 13 | dir(R.drawable.ic_folder), 14 | blob(R.drawable.ic_file_document), 15 | tree(R.drawable.ic_folder), 16 | symlink(R.drawable.ic_submodule); 17 | 18 | int icon; 19 | 20 | FilesType(int icon) { 21 | this.icon = icon; 22 | } 23 | 24 | @DrawableRes public int getIcon() { 25 | return icon > 0 ? icon : R.drawable.ic_file_document; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/types/GitEntryType.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.types; 2 | 3 | public enum GitEntryType { 4 | commit, 5 | tree, 6 | blob 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/types/IssueState.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.types; 2 | 3 | import androidx.annotation.StringRes; 4 | 5 | import com.fastaccess.R; 6 | 7 | public enum IssueState { 8 | open(R.string.opened), 9 | closed(R.string.closed), 10 | all(R.string.all); 11 | 12 | int status; 13 | 14 | IssueState(@StringRes int status) { 15 | this.status = status; 16 | } 17 | 18 | @StringRes public int getStatus() { 19 | return status; 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/types/MyIssuesType.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.types; 2 | 3 | /** 4 | * Created by Kosh on 30 Apr 2017, 1:03 PM 5 | */ 6 | 7 | public enum MyIssuesType { 8 | CREATED, 9 | ASSIGNED, 10 | MENTIONED, 11 | REVIEW, 12 | PARTICIPATED 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/types/NotificationReason.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.types; 2 | 3 | public enum NotificationReason { 4 | subscribed, 5 | manual, 6 | author, 7 | comment, 8 | mention, 9 | team_mention, 10 | state_change, 11 | assign, 12 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/types/NotificationType.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.types; 2 | 3 | import com.fastaccess.R; 4 | 5 | /** 6 | * Created by Kosh on 19 Apr 2017, 7:57 PM 7 | */ 8 | 9 | public enum NotificationType { 10 | PullRequest(R.drawable.ic_pull_requests), 11 | Issue(R.drawable.ic_issues), 12 | Commit(R.drawable.ic_push); 13 | 14 | int drawableRes; 15 | 16 | NotificationType(int drawableRes) { 17 | this.drawableRes = drawableRes; 18 | } 19 | 20 | public int getDrawableRes() { 21 | return drawableRes > 0 ? drawableRes : R.drawable.ic_issues; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/dao/wiki/WikiSideBarModel.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.dao.wiki 2 | 3 | import android.os.Parcel 4 | import com.fastaccess.helper.KotlinParcelable 5 | import com.fastaccess.helper.parcelableCreator 6 | 7 | /** 8 | * Created by Kosh on 13 Jun 2017, 8:03 PM 9 | */ 10 | data class WikiSideBarModel( 11 | val title: String? = null, 12 | val link: String? = null 13 | ) : KotlinParcelable { 14 | companion object { 15 | @JvmField val CREATOR = parcelableCreator(::WikiSideBarModel) 16 | } 17 | 18 | constructor(source: Parcel) : this( 19 | source.readString(), 20 | source.readString() 21 | ) 22 | 23 | override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) { 24 | writeString(title) 25 | writeString(link) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/service/ImgurService.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.service; 2 | 3 | import androidx.annotation.Nullable; 4 | 5 | import com.fastaccess.data.dao.ImgurReponseModel; 6 | 7 | import okhttp3.RequestBody; 8 | import retrofit2.http.Body; 9 | import retrofit2.http.POST; 10 | import retrofit2.http.Query; 11 | import io.reactivex.Observable; 12 | 13 | /** 14 | * Created by Kosh on 15 Apr 2017, 8:06 PM 15 | */ 16 | 17 | public interface ImgurService { 18 | @POST("image") 19 | Observable postImage(@Nullable @Query("title") String title, @Body RequestBody body); 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/data/service/ScrapService.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.data.service 2 | 3 | 4 | import io.reactivex.Observable 5 | import retrofit2.Response 6 | import retrofit2.http.GET 7 | import retrofit2.http.Path 8 | import retrofit2.http.Query 9 | 10 | /** 11 | * Created by Kosh on 02 Jun 2017, 12:58 PM 12 | */ 13 | 14 | interface ScrapService { 15 | 16 | @GET("{lan}") fun getTrending(@Path("lan") lan: String?, @Query("since") since: String?): Observable> 17 | 18 | @GET("{path}") fun getWiki(@Path(value = "path", encoded = true) path: String?): Observable 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/helper/GithubConfigHelper.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.helper; 2 | 3 | import com.fastaccess.BuildConfig; 4 | 5 | /** 6 | * Created by thermatk on 12.04.17. 7 | */ 8 | 9 | public class GithubConfigHelper { 10 | private static final String REDIRECT_URL = "fasthub://login"; 11 | 12 | public static String getRedirectUrl() { 13 | return REDIRECT_URL; 14 | } 15 | 16 | public static String getClientId() { 17 | return BuildConfig.GITHUB_CLIENT_ID; 18 | } 19 | 20 | public static String getSecret() { 21 | return BuildConfig.GITHUB_SECRET; 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/helper/ObjectsCompat.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.helper; 2 | 3 | import androidx.annotation.Nullable; 4 | 5 | /** 6 | * Created by Kosh on 18 Apr 2017, 10:57 PM 7 | */ 8 | 9 | public class ObjectsCompat { 10 | 11 | public static boolean nonNull(@Nullable Object obj) { 12 | return obj != null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/helper/ParcelableHelper.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.helper 2 | 3 | import android.os.Parcel 4 | import android.os.Parcelable 5 | 6 | interface KotlinParcelable : Parcelable { 7 | override fun describeContents() = 0 8 | override fun writeToParcel(dest: Parcel, flags: Int) 9 | } 10 | 11 | inline fun parcelableCreator(crossinline create: (Parcel) -> T) = object : Parcelable.Creator { 12 | override fun createFromParcel(source: Parcel) = create(source) 13 | override fun newArray(size: Int) = arrayOfNulls(size) 14 | } 15 | 16 | fun Parcel.readBooleanCompat() = readInt() != 0 17 | 18 | fun Parcel.writeBooleanCompat(value: Boolean) = writeInt(if (value) 1 else 0) 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/helper/TypeFaceHelper.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.helper; 2 | 3 | import android.content.Context; 4 | import android.graphics.Typeface; 5 | import android.widget.TextView; 6 | 7 | /** 8 | * Created by Kosh on 17/12/15 10:25 PM 9 | */ 10 | public class TypeFaceHelper { 11 | 12 | private static Typeface typeFace; 13 | 14 | public static void generateTypeface(Context context) { 15 | typeFace = Typeface.createFromAsset(context.getAssets(), "fonts/app_font.ttf"); 16 | } 17 | 18 | public static void applyTypeface(TextView textView) { 19 | textView.setTypeface(typeFace); 20 | } 21 | 22 | public static Typeface getTypeface() { 23 | return typeFace; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/markdown/extension/emoji/Emoji.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.markdown.extension.emoji; 2 | 3 | import org.commonmark.node.CustomNode; 4 | import org.commonmark.node.Delimited; 5 | 6 | /** 7 | * Created by kosh on 20/08/2017. 8 | */ 9 | 10 | public class Emoji extends CustomNode implements Delimited { 11 | 12 | private static final String DELIMITER = ":"; 13 | 14 | @Override public String getOpeningDelimiter() { 15 | return DELIMITER; 16 | } 17 | 18 | @Override public String getClosingDelimiter() { 19 | return DELIMITER; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/markdown/extension/mention/Mention.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.markdown.extension.mention; 2 | 3 | import org.commonmark.node.CustomNode; 4 | import org.commonmark.node.Delimited; 5 | 6 | /** 7 | * Created by kosh on 20/08/2017. 8 | */ 9 | 10 | public class Mention extends CustomNode implements Delimited { 11 | 12 | private static final String DELIMITER = "@"; 13 | 14 | @Override public String getOpeningDelimiter() { 15 | return DELIMITER; 16 | } 17 | 18 | @Override public String getClosingDelimiter() { 19 | return " "; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/rest/ApolloProdivder.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.rest 2 | 3 | import com.apollographql.apollo.ApolloClient 4 | import com.fastaccess.BuildConfig 5 | import com.fastaccess.helper.PrefGetter 6 | import com.fastaccess.provider.scheme.LinkParserHelper 7 | 8 | /** 9 | * Created by Hashemsergani on 12.09.17. 10 | */ 11 | 12 | object ApolloProdivder { 13 | 14 | fun getApollo(enterprise: Boolean) = ApolloClient.builder() 15 | .serverUrl("${if (enterprise && PrefGetter.isEnterprise()) { 16 | "${LinkParserHelper.getEndpoint(PrefGetter.getEnterpriseUrl())}/" 17 | } else { 18 | BuildConfig.REST_URL 19 | }}graphql") 20 | .okHttpClient(RestProvider.provideOkHttpClient()) 21 | .build() 22 | 23 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/rest/interceptors/ContentTypeInterceptor.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.rest.interceptors 2 | 3 | import okhttp3.Interceptor 4 | import okhttp3.Response 5 | 6 | /** 7 | * Created by Kosh on 05 Jul 2017, 8:14 PM 8 | */ 9 | 10 | class ContentTypeInterceptor : Interceptor { 11 | override fun intercept(chain: Interceptor.Chain): Response { 12 | val request = chain.request() 13 | return chain.proceed(request.newBuilder() 14 | .addHeader("Accept", "application/vnd.github.v3+json") 15 | .addHeader("Content-type", "application/vnd.github.v3+json") 16 | .method(request.method, request.body) 17 | .build()) 18 | } 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/timeline/handler/ItalicHandler.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.timeline.handler; 2 | 3 | import android.graphics.Typeface; 4 | import android.text.SpannableStringBuilder; 5 | 6 | import com.zzhoujay.markdown.style.FontSpan; 7 | 8 | import net.nightwhistler.htmlspanner.TagNodeHandler; 9 | 10 | import org.htmlcleaner.TagNode; 11 | 12 | /** 13 | * Created by Kosh on 06 May 2017, 11:02 AM 14 | */ 15 | 16 | public class ItalicHandler extends TagNodeHandler { 17 | 18 | public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) { 19 | builder.setSpan(new FontSpan(1, Typeface.ITALIC), start, builder.length(), 33); 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/timeline/handler/StrikethroughHandler.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.timeline.handler; 2 | 3 | import android.text.SpannableStringBuilder; 4 | import android.text.style.StrikethroughSpan; 5 | 6 | import net.nightwhistler.htmlspanner.TagNodeHandler; 7 | 8 | import org.htmlcleaner.TagNode; 9 | 10 | public class StrikethroughHandler extends TagNodeHandler { 11 | 12 | @Override public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) { 13 | builder.setSpan(new StrikethroughSpan(), start, end, 33); 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/timeline/handler/SubScriptHandler.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.timeline.handler; 2 | 3 | import android.text.SpannableStringBuilder; 4 | import android.text.style.RelativeSizeSpan; 5 | import android.text.style.SubscriptSpan; 6 | 7 | import net.nightwhistler.htmlspanner.TagNodeHandler; 8 | 9 | import org.htmlcleaner.TagNode; 10 | 11 | public class SubScriptHandler extends TagNodeHandler { 12 | 13 | @Override public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) { 14 | builder.setSpan(new SubscriptSpan(), start, end, 33); 15 | builder.setSpan(new RelativeSizeSpan(0.8f), start, end, 33); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/timeline/handler/SuperScriptHandler.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.timeline.handler; 2 | 3 | import android.text.SpannableStringBuilder; 4 | import android.text.style.RelativeSizeSpan; 5 | import android.text.style.SuperscriptSpan; 6 | 7 | import net.nightwhistler.htmlspanner.TagNodeHandler; 8 | 9 | import org.htmlcleaner.TagNode; 10 | 11 | public class SuperScriptHandler extends TagNodeHandler { 12 | 13 | @Override public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) { 14 | builder.setSpan(new SuperscriptSpan(), start, end, 33); 15 | builder.setSpan(new RelativeSizeSpan(0.8f), start, end, 33); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/provider/timeline/handler/UnderlineHandler.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.provider.timeline.handler; 2 | 3 | import android.text.SpannableStringBuilder; 4 | import android.text.style.UnderlineSpan; 5 | 6 | import net.nightwhistler.htmlspanner.TagNodeHandler; 7 | 8 | import org.htmlcleaner.TagNode; 9 | 10 | public class UnderlineHandler extends TagNodeHandler { 11 | 12 | @Override public void handleTagNode(TagNode tagNode, SpannableStringBuilder spannableStringBuilder, int start, int end) { 13 | spannableStringBuilder.setSpan(new UnderlineSpan(), start, end, 33); 14 | } 15 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/adapter/callback/OnToggleView.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.adapter.callback; 2 | 3 | public interface OnToggleView { 4 | void onToggle(long id, boolean isCollapsed); 5 | 6 | boolean isCollapsed(long id); 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/adapter/callback/ReactionsCallback.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.adapter.callback; 2 | 3 | /** 4 | * Created by Kosh on 03 Apr 2017, 2:52 PM 5 | */ 6 | 7 | public interface ReactionsCallback { 8 | boolean isPreviouslyReacted(long id, int vId); 9 | 10 | boolean isCallingApi(long id, int vId); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/adapter/viewholder/UnknownTypeViewHolder.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.adapter.viewholder 2 | 3 | import android.view.View 4 | import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder 5 | 6 | /** 7 | * Created by kosh on 07/08/2017. 8 | */ 9 | class UnknownTypeViewHolder(view: View) : BaseViewHolder(view) { 10 | override fun bind(t: Any) {} //DO NOTHING 11 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/changelog/ChangelogMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.changelog; 2 | 3 | import androidx.annotation.Nullable; 4 | 5 | import com.fastaccess.ui.base.mvp.BaseMvp; 6 | 7 | /** 8 | * Created by Kosh on 28 May 2017, 10:53 AM 9 | */ 10 | 11 | public interface ChangelogMvp { 12 | 13 | interface View extends BaseMvp.FAView { 14 | void onChangelogLoaded(@Nullable String html); 15 | } 16 | 17 | interface Presenter { 18 | void onLoadChangelog(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/editor/emoji/EmojiMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.editor.emoji 2 | 3 | import com.fastaccess.provider.emoji.Emoji 4 | import com.fastaccess.ui.base.mvp.BaseMvp 5 | import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder 6 | 7 | /** 8 | * Created by kosh on 17/08/2017. 9 | */ 10 | interface EmojiMvp { 11 | 12 | interface View : BaseMvp.FAView, BaseViewHolder.OnItemClickListener { 13 | fun clearAdapter() 14 | fun onAddEmoji(emoji: Emoji) 15 | } 16 | 17 | interface Presenter { 18 | fun onLoadEmoji() 19 | } 20 | 21 | interface EmojiCallback { 22 | fun onEmojiAdded(emoji: Emoji?) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/editor/popup/EditorLinkImageMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.editor.popup; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.Nullable; 5 | 6 | import com.fastaccess.ui.base.mvp.BaseMvp; 7 | 8 | import java.io.File; 9 | 10 | /** 11 | * Created by Kosh on 15 Apr 2017, 9:06 PM 12 | */ 13 | 14 | public interface EditorLinkImageMvp { 15 | 16 | interface EditorLinkCallback { 17 | void onAppendLink(@Nullable String title, @Nullable String link, boolean isLink); 18 | } 19 | 20 | interface View extends BaseMvp.FAView { 21 | void onUploaded(@Nullable String title, @Nullable String link); 22 | } 23 | 24 | interface Presenter { 25 | void onSubmit(@Nullable String title, @NonNull File file); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/filter/chooser/FilterAddChooserListener.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.filter.chooser; 2 | 3 | /** 4 | * Created by Kosh on 10 Apr 2017, 12:19 PM 5 | */ 6 | 7 | public interface FilterAddChooserListener { 8 | 9 | void onAddSelected(); 10 | 11 | void onSearchSelected(); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/filter/issues/FilterIssuesActivityMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.filter.issues; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import com.fastaccess.ui.base.mvp.BaseMvp; 6 | 7 | /** 8 | * Created by Kosh on 09 Apr 2017, 6:19 PM 9 | */ 10 | 11 | public interface FilterIssuesActivityMvp { 12 | 13 | interface View extends BaseMvp.FAView { 14 | void onSetCount(int count, boolean isOpen); 15 | } 16 | 17 | interface Presenter { 18 | void onStart(@NonNull String login, @NonNull String repoId); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/gists/create/dialog/AddGistMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.gists.create.dialog 2 | 3 | import com.fastaccess.data.dao.FilesListModel 4 | import com.fastaccess.ui.base.mvp.BaseMvp 5 | import com.fastaccess.ui.modules.editor.emoji.EmojiMvp 6 | import com.fastaccess.ui.modules.editor.popup.EditorLinkImageMvp 7 | import com.fastaccess.ui.widgets.markdown.MarkDownLayout 8 | 9 | /** 10 | * Created by kosh on 14/08/2017. 11 | */ 12 | interface AddGistMvp { 13 | 14 | interface View : BaseMvp.FAView, EditorLinkImageMvp.EditorLinkCallback, MarkDownLayout.MarkdownListener, EmojiMvp.EmojiCallback 15 | interface Presenter 16 | interface AddGistFileListener { 17 | fun onFileAdded(file: FilesListModel, position: Int? = -1) 18 | } 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/gists/create/dialog/AddGistPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.gists.create.dialog 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter 4 | 5 | /** 6 | * Created by kosh on 14/08/2017. 7 | */ 8 | class AddGistPresenter : BasePresenter(), AddGistMvp.Presenter -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/login/chooser/LoginChooserMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.login.chooser 2 | 3 | import com.fastaccess.data.dao.model.Login 4 | import com.fastaccess.ui.base.mvp.BaseMvp 5 | import com.fastaccess.ui.modules.settings.LanguageBottomSheetDialog 6 | import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder 7 | 8 | interface LoginChooserMvp { 9 | 10 | interface View : BaseMvp.FAView, LanguageBottomSheetDialog.LanguageDialogListener, 11 | BaseViewHolder.OnItemClickListener { 12 | fun onAccountsLoaded(accounts: List?) 13 | } 14 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/login/chooser/LoginChooserPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.login.chooser 2 | 3 | import com.fastaccess.data.dao.model.Login 4 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter 5 | 6 | class LoginChooserPresenter : BasePresenter() { 7 | init { 8 | manageObservable(Login.getAccounts().toList() 9 | .toObservable() 10 | .doOnNext { sendToView { view -> view.onAccountsLoaded(it) } }) 11 | } 12 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/main/issues/pager/MyIssuesPagerMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.main.issues.pager; 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp; 4 | import com.fastaccess.ui.modules.repos.RepoPagerMvp; 5 | 6 | /** 7 | * Created by Kosh on 26 Mar 2017, 12:15 AM 8 | */ 9 | 10 | public interface MyIssuesPagerMvp { 11 | 12 | interface View extends BaseMvp.FAView, RepoPagerMvp.TabsBadgeListener {} 13 | 14 | interface Presenter {} 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/main/issues/pager/MyIssuesPagerPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.main.issues.pager; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 26 Mar 2017, 12:17 AM 7 | */ 8 | 9 | public class MyIssuesPagerPresenter extends BasePresenter implements MyIssuesPagerMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/main/orgs/OrgListDialogMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.main.orgs; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.Nullable; 5 | 6 | import com.fastaccess.data.dao.model.User; 7 | import com.fastaccess.ui.base.mvp.BaseMvp; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | /** 13 | * Created by Kosh on 15 Apr 2017, 1:53 PM 14 | */ 15 | 16 | public interface OrgListDialogMvp { 17 | 18 | interface View extends BaseMvp.FAView { 19 | void onNotifyAdapter(@Nullable List items); 20 | 21 | } 22 | 23 | interface Presenter { 24 | void onLoadOrgs(); 25 | 26 | @NonNull ArrayList getOrgs(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/main/premium/PremiumMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.main.premium 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp 4 | 5 | /** 6 | * Created by kosh on 15/07/2017. 7 | */ 8 | interface PremiumMvp { 9 | 10 | interface View : BaseMvp.FAView { 11 | fun onSuccessfullyActivated() 12 | fun onNoMatch() 13 | } 14 | 15 | interface Presenter { 16 | fun onCheckPromoCode(promo: String) 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/main/pullrequests/pager/MyPullsPagerMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.main.pullrequests.pager; 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp; 4 | import com.fastaccess.ui.modules.repos.RepoPagerMvp; 5 | 6 | /** 7 | * Created by Kosh on 26 Mar 2017, 12:15 AM 8 | */ 9 | 10 | public interface MyPullsPagerMvp { 11 | 12 | interface View extends BaseMvp.FAView, RepoPagerMvp.TabsBadgeListener {} 13 | 14 | interface Presenter {} 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/main/pullrequests/pager/MyPullsPagerPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.main.pullrequests.pager; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 26 Mar 2017, 12:17 AM 7 | */ 8 | 9 | public class MyPullsPagerPresenter extends BasePresenter implements MyPullsPagerMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/notification/callback/OnNotificationChangedListener.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.notification.callback; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import com.fastaccess.data.dao.GroupedNotificationModel; 6 | 7 | public interface OnNotificationChangedListener { 8 | 9 | void onNotificationChanged(@NonNull GroupedNotificationModel notification, int index); 10 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/notification/fasthub/FastHubNotificationsMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.notification.fasthub 2 | 3 | import com.fastaccess.data.dao.model.FastHubNotification 4 | import com.fastaccess.ui.base.mvp.BaseMvp 5 | import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder 6 | 7 | /** 8 | * Created by Kosh on 19.11.17. 9 | */ 10 | interface FastHubNotificationsMvp { 11 | 12 | interface View : BaseMvp.FAView, BaseViewHolder.OnItemClickListener { 13 | fun notifyAdapter(items: List?) 14 | } 15 | 16 | interface Presenter { 17 | fun getData(): List 18 | fun load() 19 | } 20 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/profile/ProfilePagerMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.profile; 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp; 4 | 5 | /** 6 | * Created by Kosh on 03 Dec 2016, 7:59 AM 7 | */ 8 | 9 | public interface ProfilePagerMvp { 10 | 11 | interface View extends BaseMvp.FAView { 12 | void onNavigateToFollowers(); 13 | 14 | void onNavigateToFollowing(); 15 | 16 | void onCheckType(boolean isOrg); 17 | 18 | } 19 | 20 | interface Presenter extends BaseMvp.FAPresenter {} 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/profile/ProfilePagerPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.profile; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 03 Dec 2016, 8:00 AM 7 | */ 8 | 9 | class ProfilePagerPresenter extends BasePresenter implements ProfilePagerMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/profile/org/OrgProfileOverviewMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.profile.org; 2 | 3 | import android.os.Bundle; 4 | import androidx.annotation.NonNull; 5 | import androidx.annotation.Nullable; 6 | 7 | import com.fastaccess.data.dao.model.User; 8 | import com.fastaccess.ui.base.mvp.BaseMvp; 9 | 10 | /** 11 | * Created by Kosh on 03 Dec 2016, 7:59 AM 12 | */ 13 | 14 | public interface OrgProfileOverviewMvp { 15 | 16 | interface View extends BaseMvp.FAView { 17 | void onInitViews(@Nullable User userModel); 18 | } 19 | 20 | interface Presenter extends BaseMvp.FAPresenter { 21 | void onFragmentCreated(@Nullable Bundle bundle); 22 | 23 | void onWorkOffline(@NonNull String login); 24 | 25 | @NonNull String getLogin(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/DummyFragment.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos; 2 | 3 | import android.os.Bundle; 4 | import androidx.annotation.Nullable; 5 | import androidx.fragment.app.Fragment; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.fastaccess.R; 11 | 12 | /** 13 | * Created by Kosh on 11 Mar 2017, 12:10 AM 14 | */ 15 | 16 | public class DummyFragment extends Fragment { 17 | 18 | @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 19 | return inflater.inflate(R.layout.single_container_layout, container, false); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.code; 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp; 4 | import com.fastaccess.ui.modules.repos.RepoPagerMvp; 5 | 6 | /** 7 | * Created by Kosh on 31 Dec 2016, 1:35 AM 8 | */ 9 | 10 | public interface RepoCodePagerMvp { 11 | 12 | interface View extends BaseMvp.FAView, RepoPagerMvp.TabsBadgeListener { 13 | boolean canPressBack(); 14 | 15 | void onBackPressed(); 16 | } 17 | 18 | interface Presenter extends BaseMvp.FAPresenter {} 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/code/RepoCodePagerPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.code; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 31 Dec 2016, 1:36 AM 7 | */ 8 | 9 | class RepoCodePagerPresenter extends BasePresenter implements RepoCodePagerMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/extras/branches/pager/BranchesPagerListener.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.extras.branches.pager 2 | 3 | import com.fastaccess.data.dao.BranchesModel 4 | 5 | /** 6 | * Created by kosh on 15/07/2017. 7 | */ 8 | interface BranchesPagerListener { 9 | fun onItemSelect(branch: BranchesModel) 10 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/extras/license/RepoLicenseMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.extras.license 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp 4 | 5 | /** 6 | * Created by Kosh on 30 Jun 2017, 12:32 PM 7 | */ 8 | 9 | interface RepoLicenseMvp { 10 | interface View : BaseMvp.FAView { 11 | fun onLicenseLoaded(license: String) 12 | } 13 | 14 | interface Presenter { 15 | fun onLoadLicense(login: String, repo: String) 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/extras/license/RepoLicensePresenter.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.extras.license 2 | 3 | import com.fastaccess.provider.rest.RestProvider 4 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter 5 | 6 | /** 7 | * Created by Kosh on 30 Jun 2017, 12:34 PM 8 | */ 9 | class RepoLicensePresenter : BasePresenter(), RepoLicenseMvp.Presenter { 10 | 11 | override fun onLoadLicense(login: String, repo: String) { 12 | makeRestCall(RestProvider.getRepoService(isEnterprise).getLicense(login, repo), 13 | { license -> sendToView { it.onLicenseLoaded(license) } }) 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/extras/locking/LockIssuePrCallback.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.extras.locking 2 | 3 | /** 4 | * Created by Kosh on 10.02.18. 5 | */ 6 | 7 | interface LockIssuePrCallback { 8 | fun onLock(reason: String) 9 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.extras.popup; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import com.fastaccess.ui.base.mvp.BaseMvp; 6 | 7 | /** 8 | * Created by Kosh on 27 May 2017, 1:55 PM 9 | */ 10 | 11 | public interface IssuePopupMvp { 12 | 13 | interface View extends BaseMvp.FAView { 14 | void onSuccessfullySubmitted(); 15 | } 16 | 17 | interface Presenter { 18 | void onSubmit(@NonNull String login, @NonNull String repoId, int issueNumber, @NonNull String text); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/git/delete/DeleteContentFileCallback.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.git.delete 2 | 3 | /** 4 | * Created by Hashemsergani on 02/09/2017. 5 | */ 6 | interface DeleteContentFileCallback { 7 | 8 | fun onDelete(message: String, position: Int) 9 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.issues; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 31 Dec 2016, 1:36 AM 7 | */ 8 | 9 | class RepoIssuesPagerPresenter extends BasePresenter implements RepoIssuesPagerMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.pull_requests; 2 | 3 | import androidx.annotation.IntRange; 4 | 5 | import com.fastaccess.ui.base.mvp.BaseMvp; 6 | import com.fastaccess.ui.modules.repos.RepoPagerMvp; 7 | 8 | /** 9 | * Created by Kosh on 31 Dec 2016, 1:35 AM 10 | */ 11 | 12 | public interface RepoPullRequestPagerMvp { 13 | 14 | interface View extends BaseMvp.FAView, RepoPagerMvp.TabsBadgeListener { 15 | @IntRange(from = 0, to = 1) int getCurrentItem(); 16 | 17 | void onScrolled(boolean isUp); 18 | } 19 | 20 | interface Presenter extends BaseMvp.FAPresenter {} 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.pull_requests; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 31 Dec 2016, 1:36 AM 7 | */ 8 | 9 | class RepoPullRequestPagerPresenter extends BasePresenter implements RepoPullRequestPagerMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullReqeustMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.pull_requests.pull_request.merge; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import com.fastaccess.ui.base.mvp.BaseMvp; 6 | 7 | /** 8 | * Created by Kosh on 18 Mar 2017, 12:11 PM 9 | */ 10 | 11 | public interface MergePullReqeustMvp { 12 | 13 | interface MergeCallback { 14 | void onMerge(@NonNull String msg, @NonNull String mergeMethod); 15 | } 16 | 17 | interface View extends BaseMvp.FAView { 18 | 19 | } 20 | 21 | interface Presenter {} 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullRequestPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.pull_requests.pull_request.merge; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by Kosh on 18 Mar 2017, 12:13 PM 7 | */ 8 | 9 | public class MergePullRequestPresenter extends BasePresenter implements MergePullReqeustMvp.Presenter {} 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.repos.wiki 2 | 3 | import android.content.Intent 4 | import com.fastaccess.data.dao.wiki.WikiContentModel 5 | import com.fastaccess.data.dao.wiki.WikiSideBarModel 6 | import com.fastaccess.ui.base.mvp.BaseMvp 7 | 8 | /** 9 | * Created by Kosh on 13 Jun 2017, 8:11 PM 10 | */ 11 | interface WikiMvp { 12 | interface View : BaseMvp.FAView { 13 | fun onLoadContent(wiki: WikiContentModel) 14 | fun onSetPage(page: String) 15 | fun showPrivateRepoError() 16 | } 17 | 18 | interface Presenter { 19 | fun onActivityCreated(intent: Intent?) 20 | fun onSidebarClicked(sidebar: WikiSideBarModel) 21 | } 22 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/reviews/callback/ReviewCommentListener.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.reviews.callback 2 | 3 | import android.os.Bundle 4 | import com.fastaccess.data.dao.CommitLinesModel 5 | 6 | /** 7 | * Created by Kosh on 24 Jun 2017, 12:38 PM 8 | */ 9 | interface ReviewCommentListener { 10 | fun onCommentAdded(comment: String, item: CommitLinesModel, bundle: Bundle?) 11 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/search/repos/files/SearchFileMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.search.repos.files; 2 | 3 | import android.os.Bundle; 4 | import androidx.annotation.NonNull; 5 | 6 | import com.fastaccess.ui.base.mvp.BaseMvp; 7 | import com.fastaccess.ui.widgets.FontEditText; 8 | 9 | 10 | interface SearchFileMvp { 11 | 12 | interface View extends BaseMvp.FAView { 13 | void onValidSearchQuery(@NonNull String query); 14 | } 15 | 16 | interface Presenter extends BaseMvp.FAPresenter { 17 | void onSearchClicked(@NonNull FontEditText editText, boolean inPath); 18 | 19 | void onActivityCreated(Bundle extras); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryMvp.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.settings.category; 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp; 4 | 5 | /** 6 | * Created by JediB on 5/12/2017. 7 | */ 8 | 9 | public interface SettingsCategoryMvp { 10 | interface Presenter extends BaseMvp.FAPresenter { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryPresenter.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.settings.category; 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter; 4 | 5 | /** 6 | * Created by JediB on 5/12/2017. 7 | */ 8 | 9 | class SettingsCategoryPresenter extends BasePresenter implements SettingsCategoryMvp.Presenter{} -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/settings/sound/NotificationSoundMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.settings.sound 2 | 3 | import android.net.Uri 4 | import com.fastaccess.data.dao.NotificationSoundModel 5 | import com.fastaccess.ui.base.mvp.BaseMvp 6 | 7 | /** 8 | * Created by kosh on 23/07/2017. 9 | */ 10 | 11 | interface NotificationSoundMvp { 12 | interface View : BaseMvp.FAView { 13 | fun onAddSound(sound: NotificationSoundModel) 14 | fun onCompleted() 15 | } 16 | 17 | interface Presenter { 18 | fun loadSounds(default: String? = null) 19 | } 20 | 21 | interface NotificationSoundListener { 22 | fun onSoundSelected(uri: Uri? = null) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/theme/code/ThemeCodeMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.theme.code 2 | 3 | import com.fastaccess.ui.base.mvp.BaseMvp 4 | import com.prettifier.pretty.PrettifyWebView 5 | 6 | /** 7 | * Created by Kosh on 22 Jun 2017, 11:50 PM 8 | */ 9 | interface ThemeCodeMvp { 10 | 11 | interface View : BaseMvp.FAView, PrettifyWebView.OnContentChangedListener { 12 | fun onInitAdapter(list: List) 13 | } 14 | 15 | interface Presenter { 16 | fun onLoadThemes() 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/theme/code/ThemeCodePresenter.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.theme.code 2 | 3 | import com.fastaccess.helper.RxHelper 4 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter 5 | import com.prettifier.pretty.helper.CodeThemesHelper 6 | import io.reactivex.Observable 7 | 8 | /** 9 | * Created by Kosh on 22 Jun 2017, 11:52 PM 10 | */ 11 | 12 | class ThemeCodePresenter : BasePresenter(), ThemeCodeMvp.Presenter { 13 | 14 | override fun onLoadThemes() { 15 | manageDisposable(RxHelper.getObservable(Observable.just(CodeThemesHelper.listThemes())) 16 | .subscribe({ list -> sendToView { it.onInitAdapter(list) } }, { onError(it) })) 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragmentMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.theme.fragment 2 | 3 | import androidx.annotation.ColorInt 4 | 5 | import com.fastaccess.ui.base.mvp.BaseMvp 6 | 7 | /** 8 | * Created by Kosh on 08 Jun 2017, 10:52 PM 9 | */ 10 | 11 | interface ThemeFragmentMvp { 12 | 13 | interface ThemeListener { 14 | fun onChangePrimaryDarkColor(@ColorInt color: Int, darkIcons: Boolean) 15 | 16 | fun onThemeApplied() 17 | } 18 | 19 | interface View : BaseMvp.FAView 20 | 21 | interface Presenter 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragmentPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.theme.fragment 2 | 3 | import com.fastaccess.ui.base.mvp.presenter.BasePresenter 4 | 5 | /** 6 | * Created by Kosh on 08 Jun 2017, 10:52 PM 7 | */ 8 | 9 | class ThemeFragmentPresenter : BasePresenter(), ThemeFragmentMvp.Presenter 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/modules/trending/TrendingMvp.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.modules.trending 2 | 3 | import androidx.annotation.ColorInt 4 | import com.fastaccess.ui.base.mvp.BaseMvp 5 | 6 | /** 7 | * Created by Kosh on 30 May 2017, 10:51 PM 8 | */ 9 | 10 | interface TrendingMvp { 11 | interface View : BaseMvp.FAView { 12 | fun onAppend(title: String, @ColorInt color: Int) 13 | fun onClearMenu() 14 | } 15 | 16 | interface Presenter { 17 | fun onLoadLanguage() 18 | 19 | fun onFilterLanguage(key: String) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/widgets/CardsPagerTransformerBasic.kt: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.widgets 2 | 3 | import androidx.viewpager.widget.ViewPager 4 | import android.view.View 5 | 6 | class CardsPagerTransformerBasic(private val baseElevation: Int, private val raisingElevation: Int) : ViewPager.PageTransformer { 7 | override fun transformPage(page: View, position: Float) { 8 | val absPosition = Math.abs(position) 9 | if (absPosition >= 1) { 10 | page.elevation = baseElevation.toFloat() 11 | } else { 12 | page.elevation = (1 - absPosition) * raisingElevation + baseElevation 13 | } 14 | } 15 | 16 | 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/fastaccess/ui/widgets/recyclerview/ProgressBarViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.fastaccess.ui.widgets.recyclerview; 2 | 3 | import androidx.annotation.NonNull; 4 | import android.view.View; 5 | import android.view.ViewGroup; 6 | 7 | import com.fastaccess.R; 8 | 9 | /** 10 | * Created by kosh on 03/08/2017. 11 | */ 12 | 13 | public class ProgressBarViewHolder extends BaseViewHolder { 14 | 15 | private ProgressBarViewHolder(@NonNull View itemView) { 16 | super(itemView); 17 | } 18 | 19 | public static ProgressBarViewHolder newInstance(ViewGroup viewGroup) { 20 | return new ProgressBarViewHolder(getView(viewGroup, R.layout.progress_layout)); 21 | } 22 | 23 | @Override public void bind(@NonNull Object o) { 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/zzhoujay/markdown/style/LinkSpan.java: -------------------------------------------------------------------------------- 1 | package com.zzhoujay.markdown.style; 2 | 3 | import android.text.TextPaint; 4 | import android.text.style.URLSpan; 5 | 6 | /** 7 | * Created by zhou on 16-7-2. 8 | * 链接Span 9 | */ 10 | public class LinkSpan extends URLSpan { 11 | 12 | private int color; 13 | 14 | public LinkSpan(String url, int color) { 15 | super(url); 16 | this.color = color; 17 | } 18 | 19 | @Override 20 | public void updateDrawState(TextPaint ds) { 21 | super.updateDrawState(ds); 22 | ds.setColor(color); 23 | ds.setUnderlineText(false); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/res/animator/minus_to_plus.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/animator/plus_minus_rotate.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/animator/plus_to_minus.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/color/search_tab_highlighter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/web_hi_res_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/main/res/drawable-nodpi/web_hi_res_512.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-small/splash_screen_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v26/ic_app_shortcut_github.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v26/ic_app_shortcut_issues.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v26/ic_app_shortcut_pinned.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v26/ic_app_shortcut_profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v26/ic_app_shortcut_pull_requests.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_edittext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/main/res/drawable-xxxhdpi/ic_edittext.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_timeline_arrow_left.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k0shk0sh/FastHub/fb7053da2079b624d6129ef81370a9d5774bcb9a/app/src/main/res/drawable-xxxhdpi/ic_timeline_arrow_left.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/arrow_toggle_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/asl_follow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 13 | 14 | 18 | 19 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/avd_follow.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/avd_unfollow.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bottom_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/circle_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fastscroller_bubble.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_add_emoji.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_announcement.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_issues.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_issues_foreground.xml: -------------------------------------------------------------------------------- 1 | 6 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_pinned.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_pinned_foreground.xml: -------------------------------------------------------------------------------- 1 | 6 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_profile.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_app_shortcut_profile_foreground.xml: -------------------------------------------------------------------------------- 1 | 6 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_drop_down.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_drop_up.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_right.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_at.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_back.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_backup.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_blank.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_block.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_book.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookmark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_brower.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_brush.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bug.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_check.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_check_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_checkbox.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_checkbox_empty.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_checkbox_empty_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_checkbox_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_circle_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_clear.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_clear_all.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_clear_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_code.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_comment.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_comment_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_copy.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_crop_square.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_done.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_download.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_edit.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_email.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_eye.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_feedback.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_file_document.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_file_multi.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_filter.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_folder.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_follow.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 18 | 19 | 20 | 21 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_format_bold.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_format_italic.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_format_list_bulleted.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_format_quote.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_format_strikethrough.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_format_underlined.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_fullscreen.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_gists.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_group.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_header_one.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_header_three.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_header_two.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_heart.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_heart_full.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_image.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_info.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_info_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_inline_code.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_insert_link.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issue_closed.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issue_closed_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issue_opened.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issue_opened_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issues.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issues_shortcut.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_issues_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_label.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_license.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_lightblub.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_list_numbers.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_location.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_lock.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_logout.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_milestone.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_minus.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_money.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_newline.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_notification.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_notifications_none.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_overflow.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_person.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_pin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_pin_filled.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_pin_shortcut.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_profile.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_profile_shortcut.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_project.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_push.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_redo.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_repo.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_restore.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_restricted.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ring.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ring_sound.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_rocket.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_send.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_share.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_star.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_star_filled.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_star_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_storage_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_submodule.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_subscribe.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_support.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_sync.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_time.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_time_small.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_title.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_track_changes.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_trash.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_trending.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_undo.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_unfollow.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 18 | 19 | 20 | 21 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_unlock.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_unsubscribe.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_update.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_wrap_text.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/left_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/right_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/scrim.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/splash_screen_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/toolbar_shadow_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/top_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-land/bottom_fab.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-land/fragment_container.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-land/issues_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-land/main_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-sw600dp/bottom_fab.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-sw600dp/fragment_container.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-sw600dp/issues_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout-sw600dp/main_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/activity_settings_category.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/add_banner_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/bottom_fab.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/branches_tabbed_viewpager.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/dialog_picker.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/fragment_container.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/issues_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/main_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/main_nav_fragment_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/milestone_dialog_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/notifications_bottom_sheet_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/settings_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/main_layouts/layout/submit_review_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/other_layouts/layout/appbar_elevation_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/other_layouts/layout/avatar_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/other_layouts/layout/home_button.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/other_layouts/layout/progress_dialog_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/other_layouts/layout/single_container_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/other_layouts/layout/state_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/row_layouts/layout/file_path_row_item.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layouts/row_layouts/layout/preference_widget_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |