")
+ val licenseText = license.replace(
+ "", ""
+ )
webView.setGithubContent("$licenseText
", null, false)
} else {
hideProgress()
@@ -46,9 +47,9 @@ class RepoLicenseBottomSheet : BaseMvpBottomSheetDialogFragment parentFragment as LockIssuePrCallback
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneDialogFragment.java
index ac723f18..164b9a0e 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneDialogFragment.java
@@ -2,11 +2,11 @@ package com.fastaccess.ui.modules.repos.extras.milestone;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.design.widget.AppBarLayout;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import com.google.android.material.appbar.AppBarLayout;
+import androidx.appcompat.widget.Toolbar;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneMvp.java
index 62590d8b..e5cd49f9 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestoneMvp.java
@@ -1,7 +1,7 @@
package com.fastaccess.ui.modules.repos.extras.milestone;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.MilestoneModel;
import com.fastaccess.ui.base.mvp.BaseMvp;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestonePresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestonePresenter.java
index 6325f9fe..992d9327 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestonePresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/MilestonePresenter.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.modules.repos.extras.milestone;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneDialogFragment.java
index 735e21bb..ce6e2343 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneDialogFragment.java
@@ -2,11 +2,11 @@ package com.fastaccess.ui.modules.repos.extras.milestone.create;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TextInputEditText;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.textfield.TextInputEditText;
+import com.google.android.material.textfield.TextInputLayout;
+import androidx.appcompat.widget.Toolbar;
import android.view.MotionEvent;
import android.view.View;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneMvp.java
index c7d1f696..33fdc4b6 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestoneMvp.java
@@ -1,7 +1,7 @@
package com.fastaccess.ui.modules.repos.extras.milestone.create;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.MilestoneModel;
import com.fastaccess.ui.base.mvp.BaseMvp;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestonePresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestonePresenter.java
index 848e16d8..b83c9129 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestonePresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/CreateMilestonePresenter.java
@@ -1,7 +1,7 @@
package com.fastaccess.ui.modules.repos.extras.milestone.create;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.R;
import com.fastaccess.data.dao.CreateMilestoneModel;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/MilestoneDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/MilestoneDialogFragment.java
index 05afccb9..fd945436 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/MilestoneDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/milestone/create/MilestoneDialogFragment.java
@@ -2,8 +2,8 @@ package com.fastaccess.ui.modules.repos.extras.milestone.create;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscDialogFragment.java
index 477cf3e8..2d7096a5 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscDialogFragment.java
@@ -1,12 +1,12 @@
package com.fastaccess.ui.modules.repos.extras.misc;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.fragment.app.FragmentManager;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+import androidx.appcompat.widget.Toolbar;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscMVp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscMVp.java
index 421823f6..b6d9850d 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscMVp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscMVp.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.extras.misc;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.model.User;
import com.fastaccess.provider.rest.loadmore.OnLoadMore;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscPresenter.java
index 69787266..e1aa6c58 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/misc/RepoMiscPresenter.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.extras.misc;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.View;
import com.fastaccess.data.dao.Pageable;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupFragment.java
index 6e5b84da..819401f3 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupFragment.java
@@ -2,12 +2,12 @@ package com.fastaccess.ui.modules.repos.extras.popup;
import android.graphics.Color;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.AppBarLayout;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v4.app.FragmentManager;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.appbar.AppBarLayout;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import androidx.fragment.app.FragmentManager;
+import androidx.appcompat.widget.Toolbar;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupMvp.java
index 48656dac..7fd54ea1 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupMvp.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.modules.repos.extras.popup;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.fastaccess.ui.base.mvp.BaseMvp;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupPresenter.java
index 7aa24dab..c726b254 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/extras/popup/IssuePopupPresenter.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.modules.repos.extras.popup;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.fastaccess.data.dao.CommentRequestModel;
import com.fastaccess.provider.rest.RestProvider;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/git/EditRepoFileActivity.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/git/EditRepoFileActivity.kt
index 89483a57..397a5a0a 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/git/EditRepoFileActivity.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/git/EditRepoFileActivity.kt
@@ -5,9 +5,9 @@ import android.app.Activity
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import android.support.design.widget.TextInputLayout
-import android.support.v4.app.Fragment
-import android.support.v4.app.FragmentManager
+import com.google.android.material.textfield.TextInputLayout
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentManager
import android.view.Menu
import android.view.MenuItem
import android.view.View
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/git/delete/DeleteFileBottomSheetFragment.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/git/delete/DeleteFileBottomSheetFragment.kt
index 27f603b1..1a95b3d3 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/git/delete/DeleteFileBottomSheetFragment.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/git/delete/DeleteFileBottomSheetFragment.kt
@@ -2,7 +2,7 @@ package com.fastaccess.ui.modules.repos.git.delete
import android.content.Context
import android.os.Bundle
-import android.support.design.widget.TextInputLayout
+import com.google.android.material.textfield.TextInputLayout
import android.view.View
import butterknife.BindView
import butterknife.OnClick
@@ -37,7 +37,7 @@ class DeleteFileBottomSheetFragment : BaseBottomSheetDialog() {
@OnClick(R.id.cancel)
fun onCancel() = dismiss()
- override fun onAttach(context: Context?) {
+ override fun onAttach(context: Context) {
super.onAttach(context)
if (parentFragment is DeleteContentFileCallback) {
deleteCallback = parentFragment as DeleteContentFileCallback
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerFragment.java
index 63a8c197..42d842be 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerFragment.java
@@ -2,10 +2,10 @@ package com.fastaccess.ui.modules.repos.issues;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TabLayout;
-import android.support.v4.app.Fragment;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.tabs.TabLayout;
+import androidx.fragment.app.Fragment;
import android.view.View;
import android.widget.TextView;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerMvp.java
index 2fc218cb..f0311015 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerMvp.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.modules.repos.issues;
-import android.support.annotation.IntRange;
+import androidx.annotation.IntRange;
import com.fastaccess.ui.base.mvp.BaseMvp;
import com.fastaccess.ui.modules.repos.RepoPagerMvp;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueActivity.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueActivity.java
index 1b121fec..4fc2a5ea 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueActivity.java
@@ -5,12 +5,12 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TextInputLayout;
-import android.support.transition.TransitionManager;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AlertDialog;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.textfield.TextInputLayout;
+import androidx.transition.TransitionManager;
+import androidx.fragment.app.Fragment;
+import androidx.appcompat.app.AlertDialog;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueMvp.java
index 7740da18..beef1a0a 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssueMvp.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.issues.create;
import android.content.Intent;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.LabelModel;
import com.fastaccess.data.dao.MilestoneModel;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssuePresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssuePresenter.java
index 4452103f..df511abe 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssuePresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/create/CreateIssuePresenter.java
@@ -2,8 +2,8 @@ package com.fastaccess.ui.modules.repos.issues.create;
import android.app.Activity;
import android.content.Intent;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoClosedIssuesFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoClosedIssuesFragment.java
index d2efa78d..ea540b19 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoClosedIssuesFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoClosedIssuesFragment.java
@@ -4,10 +4,10 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesMvp.java
index 5b42cb88..19499249 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesMvp.java
@@ -1,9 +1,9 @@
package com.fastaccess.ui.modules.repos.issues.issue;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.PullsIssuesParser;
import com.fastaccess.data.dao.model.Issue;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesPresenter.java
index 6159c550..eaa31f40 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoIssuesPresenter.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.issues.issue;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.View;
import com.annimon.stream.Stream;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoOpenedIssuesFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoOpenedIssuesFragment.java
index 875262c0..24b7a5ff 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoOpenedIssuesFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/RepoOpenedIssuesFragment.java
@@ -4,10 +4,10 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java
index ca1081be..7bad8224 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java
@@ -3,12 +3,12 @@ package com.fastaccess.ui.modules.repos.issues.issue.details;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.design.widget.TabLayout;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.view.ViewPager;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.tabs.TabLayout;
+import androidx.core.content.ContextCompat;
+import androidx.viewpager.widget.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerMvp.java
index 1b75f173..b781cade 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerMvp.java
@@ -2,8 +2,8 @@ package com.fastaccess.ui.modules.repos.issues.issue.details;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.LabelModel;
import com.fastaccess.data.dao.MilestoneModel;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerPresenter.java
index bd44d5c0..f894621f 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerPresenter.java
@@ -2,8 +2,8 @@ package com.fastaccess.ui.modules.repos.issues.issue.details;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.text.TextUtils;
import com.annimon.stream.Collectors;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineFragment.java
index 3c83d392..3f0103d0 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineFragment.java
@@ -4,9 +4,9 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
import android.view.View;
import com.evernote.android.state.State;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineMvp.java
index 77d70940..ef6029c4 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelineMvp.java
@@ -1,10 +1,10 @@
package com.fastaccess.ui.modules.repos.issues.issue.details.timeline;
import android.os.Bundle;
-import android.support.annotation.IdRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.IdRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.TimelineModel;
import com.fastaccess.data.dao.model.Comment;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelinePresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelinePresenter.java
index 153fbd1f..836b71e5 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelinePresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/timeline/IssueTimelinePresenter.java
@@ -3,8 +3,8 @@ package com.fastaccess.ui.modules.repos.issues.issue.details.timeline;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.View;
import android.widget.PopupMenu;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/projects/RepoProjectsFragmentPager.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/projects/RepoProjectsFragmentPager.kt
index b6b3ccf6..7ab086d8 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/projects/RepoProjectsFragmentPager.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/projects/RepoProjectsFragmentPager.kt
@@ -1,7 +1,7 @@
package com.fastaccess.ui.modules.repos.projects
import android.os.Bundle
-import android.support.design.widget.TabLayout
+import com.google.android.material.tabs.TabLayout
import android.view.View
import butterknife.BindView
import com.fastaccess.R
@@ -37,15 +37,21 @@ class RepoProjectsFragmentPager : BaseFragment?
- counts?.let {
- if (!it.isEmpty()) it.onEach { updateCount(it) }
- }
+ counts?.let { counts -> if (counts.isNotEmpty()) counts.onEach { updateCount(it) } }
} else {
counts = hashSetOf()
}
@@ -64,11 +70,11 @@ class RepoProjectsFragmentPager : BaseFragment parentFragment as ProjectPagerMvp.DeletePageListener
@@ -62,23 +62,25 @@ class ProjectColumnFragment : BaseFragment(presenter)
}
- onLoadMore!!.parameter = getColumn().id
+ onLoadMore?.parameter = getColumn()?.id
return onLoadMore!!
}
@@ -108,23 +110,24 @@ class ProjectColumnFragment : BaseFragment
+ columnName.text = column.name
+ refresh.setOnRefreshListener { presenter.onCallApi(1, column.id) }
+ stateLayout.setOnReloadListener { presenter.onCallApi(1, column.id) }
+ stateLayout.setEmptyText(R.string.no_cards)
+ recycler.setEmptyView(stateLayout, refresh)
+ getLoadMore().initialize(presenter.currentPage, presenter.previousTotal)
+ adapter.listener = presenter
+ recycler.adapter = adapter
+ recycler.addOnScrollListener(getLoadMore())
+ fastScroller.attachRecyclerView(recycler)
+ if (presenter.getCards().isEmpty() && !presenter.isApiCalled) {
+ presenter.onCallApi(1, column.id)
+ }
+ addCard.visibility = if (isOwner()) View.VISIBLE else View.GONE
+ deleteColumn.visibility = if (isOwner()) View.VISIBLE else View.GONE
+ editColumn.visibility = if (isOwner()) View.VISIBLE else View.GONE
}
- addCard.visibility = if(isOwner()) View.VISIBLE else View.GONE
- deleteColumn.visibility = if(isOwner()) View.VISIBLE else View.GONE
- editColumn.visibility = if(isOwner()) View.VISIBLE else View.GONE
}
override fun showProgress(@StringRes resId: Int) {
@@ -161,10 +164,10 @@ class ProjectColumnFragment : BaseFragment(), ProjectPage
val repoId = repoId
if (repoId != null && !repoId.isNullOrBlank()) {
makeRestCall(Observable.zip(RestProvider.getProjectsService(isEnterprise).getProjectColumns(projectId),
- RestProvider.getRepoService(isEnterprise).isCollaborator(login, repoId, Login.getUser().login),
- BiFunction { items: Pageable, response: Response ->
- viewerCanUpdate = response.code() == 204
- return@BiFunction items
- })
- .flatMap {
- if (it.items != null) {
- return@flatMap Observable.just(it.items)
- }
- return@flatMap Observable.just(listOf())
- },
- { t ->
- columns.clear()
- columns.addAll(t)
- sendToView { it.onInitPager(columns) }
- })
+ RestProvider.getRepoService(isEnterprise).isCollaborator(login, repoId, Login.getUser().login),
+ BiFunction { items: Pageable, response: Response ->
+ viewerCanUpdate = response.code() == 204
+ return@BiFunction items
+ })
+ .flatMap {
+ if (it.items != null) {
+ return@flatMap Observable.just(it.items)
+ }
+ return@flatMap Observable.just(listOf())
+ }) { t ->
+ columns.clear()
+ columns.addAll(t)
+ sendToView { it.onInitPager(columns) }
+ }
} else {
makeRestCall(RestProvider.getProjectsService(isEnterprise).getProjectColumns(projectId)
- .flatMap {
- if (it.items != null) {
- return@flatMap Observable.just(it.items)
- }
- return@flatMap Observable.just(listOf())
- },
- { t ->
- columns.clear()
- columns.addAll(t)
- sendToView { it.onInitPager(columns) }
- })
+ .flatMap {
+ if (it.items != null) {
+ return@flatMap Observable.just(it.items)
+ }
+ return@flatMap Observable.just(listOf())
+ }) { t ->
+ columns.clear()
+ columns.addAll(t)
+ sendToView { it.onInitPager(columns) }
+ }
}
}
@@ -74,7 +72,7 @@ class ProjectPagerPresenter : BasePresenter(), ProjectPage
it.extras?.let {
projectId = it.getLong(BundleConstant.ID)
repoId = it.getString(BundleConstant.ITEM)
- login = it.getString(BundleConstant.EXTRA)
+ login = it.getString(BundleConstant.EXTRA) ?: ""
}
}
if (columns.isEmpty()) {
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/projects/list/RepoProjectFragment.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/projects/list/RepoProjectFragment.kt
index 3fb414dc..ba936b2f 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/projects/list/RepoProjectFragment.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/projects/list/RepoProjectFragment.kt
@@ -2,8 +2,8 @@ package com.fastaccess.ui.modules.repos.projects.list
import android.content.Context
import android.os.Bundle
-import android.support.annotation.StringRes
-import android.support.v4.widget.SwipeRefreshLayout
+import androidx.annotation.StringRes
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import android.view.View
import butterknife.BindView
import com.fastaccess.R
@@ -33,7 +33,7 @@ class RepoProjectFragment : BaseFragment(), RepoProjectMv
override fun onFragmentCreate(bundle: Bundle?) {
bundle?.let {
repoId = it.getString(BundleConstant.ID)
- login = it.getString(BundleConstant.EXTRA)
+ login = it.getString(BundleConstant.EXTRA) ?: ""
}
}
@@ -74,145 +74,151 @@ class RepoProjectPresenter : BasePresenter(), RepoProjectMv
if (repoId != null && !repoId.isNullOrBlank()) {
if (parameter == IssueState.open) {
val query = RepoProjectsOpenQuery.builder()
- .name(repoId)
- .owner(login)
- .page(getPage())
- .build()
+ .name(repoId)
+ .owner(login)
+ .page(getPage())
+ .build()
makeRestCall(Rx2Apollo.from(apollo.query(query))
- .flatMap {
- val list = arrayListOf()
- it.data()?.repository()?.let {
- it.projects().let {
- lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
- pages.clear()
- count = it.totalCount()
- it.edges()?.let {
- pages.addAll(it.map { it.cursor() })
- }
- it.nodes()?.let {
- list.addAll(it)
- }
+ .flatMap { response ->
+ val list = arrayListOf()
+ response.data()?.repository()?.let { repos ->
+ repos.projects().let {
+ lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
+ pages.clear()
+ count = it.totalCount()
+ it.edges()?.let {
+ pages.addAll(it.map { it.cursor() })
+ }
+ it.nodes()?.let {
+ list.addAll(it)
}
}
- return@flatMap Observable.just(list)
- },
- {
- sendToView({ v ->
- v.onNotifyAdapter(it, page)
- if (page == 1) v.onChangeTotalCount(count)
- })
- })
+ }
+ return@flatMap Observable.just(list)
+ }
+ ) {
+ sendToView { v ->
+ v.onNotifyAdapter(it, page)
+ if (page == 1) v.onChangeTotalCount(count)
+ }
+ }
} else {
val query = RepoProjectsClosedQuery.builder()
- .name(repoId)
- .owner(login)
- .page(getPage())
- .build()
+ .name(repoId)
+ .owner(login)
+ .page(getPage())
+ .build()
makeRestCall(Rx2Apollo.from(apollo.query(query))
- .flatMap {
- val list = arrayListOf()
- it.data()?.repository()?.let {
- it.projects().let {
- lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
- pages.clear()
- count = it.totalCount()
- it.edges()?.let {
- pages.addAll(it.map { it.cursor() })
- }
- it.nodes()?.let {
- val toConvert = arrayListOf()
- it.onEach {
- val columns = RepoProjectsOpenQuery.Columns(it.columns().__typename(), it.columns().totalCount())
- val node = RepoProjectsOpenQuery.Node(it.__typename(), it.name(), it.number(), it.body(),
- it.createdAt(), it.id(), it.viewerCanUpdate(), columns, it.databaseId())
- toConvert.add(node)
- }
- list.addAll(toConvert)
+ .flatMap { response ->
+ val list = arrayListOf()
+ response.data()?.repository()?.let { repository ->
+ repository.projects().let { projects1 ->
+ lastPage = if (projects1.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
+ pages.clear()
+ count = projects1.totalCount()
+ projects1.edges()?.let { edges ->
+ pages.addAll(edges.map { it.cursor() })
+ }
+ projects1.nodes()?.let { nodesList ->
+ val toConvert = arrayListOf()
+ nodesList.onEach {
+ val columns = RepoProjectsOpenQuery.Columns(it.columns().__typename(), it.columns().totalCount())
+ val node = RepoProjectsOpenQuery.Node(
+ it.__typename(), it.name(), it.number(), it.body(),
+ it.createdAt(), it.id(), it.viewerCanUpdate(), columns, it.databaseId()
+ )
+ toConvert.add(node)
}
+ list.addAll(toConvert)
}
}
- return@flatMap Observable.just(list)
- },
- {
- sendToView({ v ->
- v.onNotifyAdapter(it, page)
- if (page == 1) v.onChangeTotalCount(count)
- })
- })
+ }
+ return@flatMap Observable.just(list)
+ }
+ ) {
+ sendToView { v ->
+ v.onNotifyAdapter(it, page)
+ if (page == 1) v.onChangeTotalCount(count)
+ }
+ }
}
} else {
if (parameter == IssueState.open) {
val query = OrgProjectsOpenQuery.builder()
- .owner(login)
- .page(getPage())
- .build()
+ .owner(login)
+ .page(getPage())
+ .build()
makeRestCall(Rx2Apollo.from(apollo.query(query))
- .flatMap {
- val list = arrayListOf()
- it.data()?.organization()?.let {
- it.projects().let {
- lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
- pages.clear()
- count = it.totalCount()
- it.edges()?.let {
- pages.addAll(it.map { it.cursor() })
- }
- it.nodes()?.let {
- val toConvert = arrayListOf()
- it.onEach {
- val columns = RepoProjectsOpenQuery.Columns(it.columns().__typename(), it.columns().totalCount())
- val node = RepoProjectsOpenQuery.Node(it.__typename(), it.name(), it.number(), it.body(),
- it.createdAt(), it.id(), it.viewerCanUpdate(), columns, it.databaseId())
- toConvert.add(node)
- }
- list.addAll(toConvert)
+ .flatMap {
+ val list = arrayListOf()
+ it.data()?.organization()?.let {
+ it.projects().let {
+ lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
+ pages.clear()
+ count = it.totalCount()
+ it.edges()?.let {
+ pages.addAll(it.map { it.cursor() })
+ }
+ it.nodes()?.let {
+ val toConvert = arrayListOf()
+ it.onEach {
+ val columns = RepoProjectsOpenQuery.Columns(it.columns().__typename(), it.columns().totalCount())
+ val node = RepoProjectsOpenQuery.Node(
+ it.__typename(), it.name(), it.number(), it.body(),
+ it.createdAt(), it.id(), it.viewerCanUpdate(), columns, it.databaseId()
+ )
+ toConvert.add(node)
}
+ list.addAll(toConvert)
}
}
- return@flatMap Observable.just(list)
- },
- {
- sendToView({ v ->
- v.onNotifyAdapter(it, page)
- if (page == 1) v.onChangeTotalCount(count)
- })
- })
+ }
+ return@flatMap Observable.just(list)
+ }
+ ) {
+ sendToView { v ->
+ v.onNotifyAdapter(it, page)
+ if (page == 1) v.onChangeTotalCount(count)
+ }
+ }
} else {
val query = OrgProjectsClosedQuery.builder()
- .owner(login)
- .page(getPage())
- .build()
+ .owner(login)
+ .page(getPage())
+ .build()
makeRestCall(Rx2Apollo.from(apollo.query(query))
- .flatMap {
- val list = arrayListOf()
- it.data()?.organization()?.let {
- it.projects().let {
- lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
- pages.clear()
- count = it.totalCount()
- it.edges()?.let {
- pages.addAll(it.map { it.cursor() })
- }
- it.nodes()?.let {
- val toConvert = arrayListOf()
- it.onEach {
- val columns = RepoProjectsOpenQuery.Columns(it.columns().__typename(), it.columns().totalCount())
- val node = RepoProjectsOpenQuery.Node(it.__typename(), it.name(), it.number(), it.body(),
- it.createdAt(), it.id(), it.viewerCanUpdate(), columns, it.databaseId())
- toConvert.add(node)
- }
- list.addAll(toConvert)
+ .flatMap {
+ val list = arrayListOf()
+ it.data()?.organization()?.let {
+ it.projects().let {
+ lastPage = if (it.pageInfo().hasNextPage()) Int.MAX_VALUE else 0
+ pages.clear()
+ count = it.totalCount()
+ it.edges()?.let {
+ pages.addAll(it.map { it.cursor() })
+ }
+ it.nodes()?.let {
+ val toConvert = arrayListOf()
+ it.onEach {
+ val columns = RepoProjectsOpenQuery.Columns(it.columns().__typename(), it.columns().totalCount())
+ val node = RepoProjectsOpenQuery.Node(
+ it.__typename(), it.name(), it.number(), it.body(),
+ it.createdAt(), it.id(), it.viewerCanUpdate(), columns, it.databaseId()
+ )
+ toConvert.add(node)
}
+ list.addAll(toConvert)
}
}
- return@flatMap Observable.just(list)
- },
- {
- sendToView({ v ->
- v.onNotifyAdapter(it, page)
- if (page == 1) v.onChangeTotalCount(count)
- })
- })
+ }
+ return@flatMap Observable.just(list)
+ }
+ ) {
+ sendToView { v ->
+ v.onNotifyAdapter(it, page)
+ if (page == 1) v.onChangeTotalCount(count)
+ }
+ }
}
}
return true
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerFragment.java
index 11bb369f..e96a34f6 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerFragment.java
@@ -2,10 +2,10 @@ package com.fastaccess.ui.modules.repos.pull_requests;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TabLayout;
-import android.support.v4.app.Fragment;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.tabs.TabLayout;
+import androidx.fragment.app.Fragment;
import android.view.View;
import android.widget.TextView;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerMvp.java
index 1eee1f77..4699f18b 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/RepoPullRequestPagerMvp.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.modules.repos.pull_requests;
-import android.support.annotation.IntRange;
+import androidx.annotation.IntRange;
import com.fastaccess.ui.base.mvp.BaseMvp;
import com.fastaccess.ui.modules.repos.RepoPagerMvp;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestFragment.java
index b331035c..8931b18e 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestFragment.java
@@ -4,10 +4,10 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestMvp.java
index c835e0e5..bee29465 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestMvp.java
@@ -1,9 +1,9 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.PullsIssuesParser;
import com.fastaccess.data.dao.model.PullRequest;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestPresenter.java
index 42fb9c68..5cc7ac5d 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/RepoPullRequestPresenter.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.View;
import com.fastaccess.data.dao.PullsIssuesParser;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerActivity.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerActivity.java
index 422498e3..63f0918b 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerActivity.java
@@ -3,14 +3,14 @@ package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.design.widget.TabLayout;
-import android.support.v4.app.Fragment;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.view.ViewPager;
-import android.support.v7.widget.CardView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.tabs.TabLayout;
+import androidx.fragment.app.Fragment;
+import androidx.core.content.ContextCompat;
+import androidx.viewpager.widget.ViewPager;
+import androidx.cardview.widget.CardView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerMvp.java
index 5e8acfc4..84800292 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerMvp.java
@@ -3,8 +3,8 @@ package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.LabelModel;
import com.fastaccess.data.dao.MilestoneModel;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerPresenter.java
index d53b8801..db383c68 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/PullRequestPagerPresenter.java
@@ -3,8 +3,8 @@ package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.text.TextUtils;
import com.annimon.stream.Collectors;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsFragment.java
index a8dd48f7..1ffd7e19 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsFragment.java
@@ -1,10 +1,10 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.commits;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsMvp.java
index 6c9316b9..f04f6a36 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsMvp.java
@@ -1,9 +1,9 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.commits;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.model.Commit;
import com.fastaccess.provider.rest.loadmore.OnLoadMore;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsPresenter.java
index 28e96c4b..d8765e47 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/commits/PullRequestCommitsPresenter.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.commits;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.View;
import com.fastaccess.data.dao.model.Commit;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesFragment.java
index 178e505c..59f02f7b 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesFragment.java
@@ -4,10 +4,10 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.view.View;
import com.evernote.android.state.State;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesMvp.java
index a75bc1d1..633db903 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesMvp.java
@@ -1,9 +1,9 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.files;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.CommentRequestModel;
import com.fastaccess.data.dao.CommitFileChanges;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesPresenter.java
index 4f3d126e..7c00fd68 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/PullRequestFilesPresenter.java
@@ -3,8 +3,8 @@ package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.files
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.view.MenuInflater;
import android.view.View;
import android.widget.PopupMenu;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/fullscreen/FullScreenFileChangeActivity.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/fullscreen/FullScreenFileChangeActivity.kt
index 99f13ce3..7ad7685c 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/fullscreen/FullScreenFileChangeActivity.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/files/fullscreen/FullScreenFileChangeActivity.kt
@@ -4,8 +4,8 @@ import android.app.Activity
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import android.support.v4.app.Fragment
-import android.support.v4.widget.SwipeRefreshLayout
+import androidx.fragment.app.Fragment
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import android.view.Menu
import android.view.MenuItem
import android.view.View
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineFragment.java
index 09cb51ac..b55ecd51 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineFragment.java
@@ -4,9 +4,9 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
import android.view.View;
import com.evernote.android.state.State;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineMvp.java
index b2a4246f..e440250b 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelineMvp.java
@@ -1,10 +1,10 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.timeline.timeline;
import android.os.Bundle;
-import android.support.annotation.IdRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.SwipeRefreshLayout;
+import androidx.annotation.IdRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.EditReviewCommentModel;
import com.fastaccess.data.dao.ReviewCommentModel;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelinePresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelinePresenter.java
index aa7e72a5..102d0951 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelinePresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/details/timeline/timeline/PullRequestTimelinePresenter.java
@@ -3,8 +3,8 @@ package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.timel
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.util.SparseArray;
import android.view.View;
import android.widget.PopupMenu;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullReqeustMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullReqeustMvp.java
index 9b0e45c5..8daff5d5 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullReqeustMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullReqeustMvp.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.merge;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.fastaccess.ui.base.mvp.BaseMvp;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullRequestDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullRequestDialogFragment.java
index 9ee81a7b..231113b0 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullRequestDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/pull_requests/pull_request/merge/MergePullRequestDialogFragment.java
@@ -2,10 +2,10 @@ package com.fastaccess.ui.modules.repos.pull_requests.pull_request.merge;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.widget.AppCompatSpinner;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.textfield.TextInputLayout;
+import androidx.appcompat.widget.AppCompatSpinner;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogFragment.java
index 691c7f82..c39d9981 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogFragment.java
@@ -1,11 +1,11 @@
package com.fastaccess.ui.modules.repos.reactions;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.design.widget.AppBarLayout;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import com.google.android.material.appbar.AppBarLayout;
+import androidx.appcompat.widget.Toolbar;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogMvp.java b/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogMvp.java
index f840e12b..87ed349e 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogMvp.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogMvp.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.reactions;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.model.User;
import com.fastaccess.provider.rest.loadmore.OnLoadMore;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogPresenter.java
index 8032c665..2bd4bb95 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/reactions/ReactionsDialogPresenter.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.modules.repos.reactions;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiActivity.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiActivity.kt
index 48091ebc..ed869ea6 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiActivity.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiActivity.kt
@@ -4,8 +4,8 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import android.support.design.widget.NavigationView
-import android.support.v4.widget.DrawerLayout
+import com.google.android.material.navigation.NavigationView
+import androidx.drawerlayout.widget.DrawerLayout
import android.view.Gravity
import android.view.Menu
import android.view.MenuItem
diff --git a/app/src/main/java/com/fastaccess/ui/modules/reviews/AddReviewDialogFragment.kt b/app/src/main/java/com/fastaccess/ui/modules/reviews/AddReviewDialogFragment.kt
index f98a14f3..baa17f83 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/reviews/AddReviewDialogFragment.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/reviews/AddReviewDialogFragment.kt
@@ -3,8 +3,8 @@ package com.fastaccess.ui.modules.reviews
import android.content.Context
import android.graphics.Color
import android.os.Bundle
-import android.support.v4.content.ContextCompat
-import android.support.v7.widget.Toolbar
+import androidx.core.content.ContextCompat
+import androidx.appcompat.widget.Toolbar
import android.view.View
import android.widget.TextView
import butterknife.BindView
@@ -37,7 +37,7 @@ class AddReviewDialogFragment : BaseDialogFragment(BundleConstant.ITEM)
- lineNo.text = SpannableBuilder.builder()
+ arguments?.getParcelable(BundleConstant.ITEM)?.let { item ->
+ lineNo.text = SpannableBuilder.builder()
.append(if (item.leftLineNo >= 0) String.format("%s.", item.leftLineNo) else "")
.append(if (item.rightLineNo >= 0) String.format("%s.", item.rightLineNo) else "")
- lineNo.visibility = if (InputHelper.isEmpty(lineNo)) View.GONE else View.VISIBLE
+ lineNo.visibility = if (InputHelper.isEmpty(lineNo)) View.GONE else View.VISIBLE
- val context = context ?: return
- when (item.color) {
- CommitLinesModel.ADDITION -> textView.setBackgroundColor(ViewHelper.getPatchAdditionColor(context))
- CommitLinesModel.DELETION -> textView.setBackgroundColor(ViewHelper.getPatchDeletionColor(context))
- CommitLinesModel.PATCH -> textView.setBackgroundColor(ViewHelper.getPatchRefColor(context))
- else -> textView.setBackgroundColor(Color.TRANSPARENT)
- }
- if (item.noNewLine) {
- textView.text = SpannableBuilder.builder().append(item.text.replace(spacePattern, " ")).append(" ")
- .append(ContextCompat.getDrawable(context, R.drawable.ic_newline))
- } else {
- textView.text = item.text.replace(spacePattern, " ")
- }
- toolbar.setTitle(R.string.add_comment)
- toolbar.setNavigationIcon(R.drawable.ic_clear)
- toolbar.setNavigationOnClickListener { dismiss() }
- toolbar.inflateMenu(R.menu.add_menu)
- toolbar.setOnMenuItemClickListener {
- if (commentEditorFragment?.getEditText()?.text.isNullOrEmpty()) {
- commentEditorFragment?.getEditText()?.error = getString(R.string.required_field)
- } else {
- commentEditorFragment?.getEditText()?.error = null
- commentCallback?.onCommentAdded(InputHelper.toString(commentEditorFragment?.getEditText()?.text),
- item, arguments!!.getBundle(BundleConstant.EXTRA))
- dismiss()
+ val context = context ?: return
+ when (item.color) {
+ CommitLinesModel.ADDITION -> textView.setBackgroundColor(ViewHelper.getPatchAdditionColor(context))
+ CommitLinesModel.DELETION -> textView.setBackgroundColor(ViewHelper.getPatchDeletionColor(context))
+ CommitLinesModel.PATCH -> textView.setBackgroundColor(ViewHelper.getPatchRefColor(context))
+ else -> textView.setBackgroundColor(Color.TRANSPARENT)
+ }
+ if (item.noNewLine) {
+ textView.text = SpannableBuilder.builder().append(item.text.replace(spacePattern, " ")).append(" ")
+ .append(ContextCompat.getDrawable(context, R.drawable.ic_newline))
+ } else {
+ textView.text = item.text.replace(spacePattern, " ")
+ }
+ toolbar.setTitle(R.string.add_comment)
+ toolbar.setNavigationIcon(R.drawable.ic_clear)
+ toolbar.setNavigationOnClickListener { dismiss() }
+ toolbar.inflateMenu(R.menu.add_menu)
+ toolbar.setOnMenuItemClickListener {
+ if (commentEditorFragment?.getEditText()?.text.isNullOrEmpty()) {
+ commentEditorFragment?.getEditText()?.error = getString(R.string.required_field)
+ } else {
+ commentEditorFragment?.getEditText()?.error = null
+ commentCallback?.onCommentAdded(
+ InputHelper.toString(commentEditorFragment?.getEditText()?.text),
+ item, arguments!!.getBundle(BundleConstant.EXTRA)
+ )
+ dismiss()
+ }
+ return@setOnMenuItemClickListener true
}
- return@setOnMenuItemClickListener true
}
+
}
override fun providePresenter(): BasePresenter = BasePresenter()
@@ -103,9 +107,9 @@ class AddReviewDialogFragment : BaseDialogFragment
if (!canPlaySound) return@setOnCheckedChangeListener
val sound = radioGroup.getChildAt(id).tag as NotificationSoundModel
- if (mediaPlayer.isPlaying) mediaPlayer.stop()
+ if (mediaPlayer.isPlaying) {
+ mediaPlayer.stop()
+ }
mediaPlayer.reset()
- mediaPlayer.setDataSource(context, sound.uri)
- mediaPlayer.prepare()
- mediaPlayer.start()
+ sound.uri?.let {
+ mediaPlayer.setDataSource(requireContext(), it)
+ mediaPlayer.prepare()
+ mediaPlayer.start()
+ }
}
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt b/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt
index 0e79bf0b..1a01bd96 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt
@@ -5,8 +5,8 @@ import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
-import android.support.design.widget.FloatingActionButton
-import android.support.v7.widget.Toolbar
+import com.google.android.material.floatingactionbutton.FloatingActionButton
+import androidx.appcompat.widget.Toolbar
import android.view.ContextThemeWrapper
import android.view.LayoutInflater
import android.view.View
@@ -37,7 +37,7 @@ class ThemeFragment : BaseFragment(context, android.R.layout.simple_list_item_1,
- android.R.id.text1, mentions.subList(0, Math.min(mentions.size, 3)))
+ val mentions = it.filter {
+ it.toLowerCase(Locale.getDefault())
+ .startsWith(
+ mentioning.replace("@", "").toLowerCase(Locale.getDefault())
+ )
+ }
+ val adapter = ArrayAdapter(
+ context, android.R.layout.simple_list_item_1,
+ android.R.id.text1, mentions.subList(0, Math.min(mentions.size, 3))
+ )
mention?.setAdapter(adapter)
}
}
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseRecyclerAdapter.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseRecyclerAdapter.java
index a364590e..405d4636 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseRecyclerAdapter.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseRecyclerAdapter.java
@@ -1,10 +1,10 @@
package com.fastaccess.ui.widgets.recyclerview;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseViewHolder.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseViewHolder.java
index 6f4b3d9a..80a3e5d4 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BaseViewHolder.java
@@ -1,9 +1,9 @@
package com.fastaccess.ui.widgets.recyclerview;
-import android.support.annotation.LayoutRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.LayoutRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BottomPaddingDecoration.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BottomPaddingDecoration.java
index 8a1ab7d2..f64b5560 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BottomPaddingDecoration.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/BottomPaddingDecoration.java
@@ -2,11 +2,11 @@ package com.fastaccess.ui.widgets.recyclerview;
import android.content.Context;
import android.graphics.Rect;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.view.View;
import com.fastaccess.R;
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/DynamicRecyclerView.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/DynamicRecyclerView.java
index b7df17ba..29b31c04 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/DynamicRecyclerView.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/DynamicRecyclerView.java
@@ -2,12 +2,12 @@ package com.fastaccess.ui.widgets.recyclerview;
import android.content.Context;
import android.content.res.Resources;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.util.AttributeSet;
import android.view.View;
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/InsetDividerDecoration.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/InsetDividerDecoration.java
index 991ecfc6..17677ee7 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/InsetDividerDecoration.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/InsetDividerDecoration.java
@@ -3,10 +3,10 @@ package com.fastaccess.ui.widgets.recyclerview;
import android.graphics.Canvas;
import android.graphics.Paint;
-import android.support.annotation.ColorInt;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.ColorInt;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
/**
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/ProgressBarViewHolder.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/ProgressBarViewHolder.java
index a34127c0..845cf9b2 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/ProgressBarViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/ProgressBarViewHolder.java
@@ -1,6 +1,6 @@
package com.fastaccess.ui.widgets.recyclerview;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/GridManager.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/GridManager.java
index 9f3cc68f..5da83d04 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/GridManager.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/GridManager.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.widgets.recyclerview.layout_manager;
import android.content.Context;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.util.AttributeSet;
/**
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/LinearManager.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/LinearManager.java
index 2d830d36..60806a83 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/LinearManager.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/LinearManager.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.widgets.recyclerview.layout_manager;
import android.content.Context;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.util.AttributeSet;
/**
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/StaggeredManager.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/StaggeredManager.java
index 46a75430..0f866dda 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/StaggeredManager.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/layout_manager/StaggeredManager.java
@@ -1,8 +1,8 @@
package com.fastaccess.ui.widgets.recyclerview.layout_manager;
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.util.AttributeSet;
/**
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/InfiniteScroll.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/InfiniteScroll.java
index 7a55a496..c197ce47 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/InfiniteScroll.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/InfiniteScroll.java
@@ -1,9 +1,9 @@
package com.fastaccess.ui.widgets.recyclerview.scroll;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.fastaccess.ui.widgets.recyclerview.BaseRecyclerAdapter;
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/RecyclerViewFastScroller.java b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/RecyclerViewFastScroller.java
index f16a7e69..a5a2842b 100755
--- a/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/RecyclerViewFastScroller.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/recyclerview/scroll/RecyclerViewFastScroller.java
@@ -3,12 +3,12 @@ package com.fastaccess.ui.widgets.recyclerview.scroll;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.design.widget.AppBarLayout;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
+import androidx.annotation.NonNull;
+import com.google.android.material.appbar.AppBarLayout;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.MotionEvent;
diff --git a/app/src/main/java/com/prettifier/pretty/NestedWebView.java b/app/src/main/java/com/prettifier/pretty/NestedWebView.java
index 500f3023..2d51d69d 100644
--- a/app/src/main/java/com/prettifier/pretty/NestedWebView.java
+++ b/app/src/main/java/com/prettifier/pretty/NestedWebView.java
@@ -3,11 +3,11 @@ package com.prettifier.pretty;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
-import android.support.annotation.RequiresApi;
-import android.support.v4.view.MotionEventCompat;
-import android.support.v4.view.NestedScrollingChild;
-import android.support.v4.view.NestedScrollingChildHelper;
-import android.support.v4.view.ViewCompat;
+import androidx.annotation.RequiresApi;
+import androidx.core.view.MotionEventCompat;
+import androidx.core.view.NestedScrollingChild;
+import androidx.core.view.NestedScrollingChildHelper;
+import androidx.core.view.ViewCompat;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.webkit.WebView;
diff --git a/app/src/main/java/com/prettifier/pretty/PrettifyWebView.java b/app/src/main/java/com/prettifier/pretty/PrettifyWebView.java
index bcfe5c55..d7a8451f 100644
--- a/app/src/main/java/com/prettifier/pretty/PrettifyWebView.java
+++ b/app/src/main/java/com/prettifier/pretty/PrettifyWebView.java
@@ -5,8 +5,8 @@ import android.content.Context;
import android.content.res.TypedArray;
import android.net.Uri;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
diff --git a/app/src/main/java/com/prettifier/pretty/helper/CodeThemesHelper.java b/app/src/main/java/com/prettifier/pretty/helper/CodeThemesHelper.java
index f00c3cc6..87974e6f 100644
--- a/app/src/main/java/com/prettifier/pretty/helper/CodeThemesHelper.java
+++ b/app/src/main/java/com/prettifier/pretty/helper/CodeThemesHelper.java
@@ -1,6 +1,6 @@
package com.prettifier.pretty.helper;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.annimon.stream.Stream;
import com.fastaccess.App;
diff --git a/app/src/main/java/com/prettifier/pretty/helper/GithubHelper.java b/app/src/main/java/com/prettifier/pretty/helper/GithubHelper.java
index 03cc2cb4..73859e42 100644
--- a/app/src/main/java/com/prettifier/pretty/helper/GithubHelper.java
+++ b/app/src/main/java/com/prettifier/pretty/helper/GithubHelper.java
@@ -2,8 +2,8 @@ package com.prettifier.pretty.helper;
import android.content.Context;
import android.net.Uri;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.fastaccess.data.dao.NameParser;
import com.fastaccess.helper.PrefGetter;
diff --git a/app/src/main/java/com/prettifier/pretty/helper/PrettifyHelper.java b/app/src/main/java/com/prettifier/pretty/helper/PrettifyHelper.java
index 7f3087f3..3cdf1f4a 100644
--- a/app/src/main/java/com/prettifier/pretty/helper/PrettifyHelper.java
+++ b/app/src/main/java/com/prettifier/pretty/helper/PrettifyHelper.java
@@ -1,6 +1,6 @@
package com.prettifier.pretty.helper;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Created by Kosh on 25 Dec 2016, 9:12 PM
diff --git a/app/src/main/res/layouts/main_layouts/layout-land/bottom_fab.xml b/app/src/main/res/layouts/main_layouts/layout-land/bottom_fab.xml
index 2a5fb4b0..f543c080 100644
--- a/app/src/main/res/layouts/main_layouts/layout-land/bottom_fab.xml
+++ b/app/src/main/res/layouts/main_layouts/layout-land/bottom_fab.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout-land/header_title_with_toolbar.xml b/app/src/main/res/layouts/main_layouts/layout-land/header_title_with_toolbar.xml
index bb6ef69f..c41fbd76 100644
--- a/app/src/main/res/layouts/main_layouts/layout-land/header_title_with_toolbar.xml
+++ b/app/src/main/res/layouts/main_layouts/layout-land/header_title_with_toolbar.xml
@@ -1,5 +1,5 @@
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout-land/repo_file_header_layout.xml b/app/src/main/res/layouts/main_layouts/layout-land/repo_file_header_layout.xml
index 64e4787b..079958ee 100644
--- a/app/src/main/res/layouts/main_layouts/layout-land/repo_file_header_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout-land/repo_file_header_layout.xml
@@ -66,7 +66,7 @@
android:layout_gravity="center"
android:src="@drawable/ic_arrow_right"/>
-
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout-sw600dp/repo_file_header_layout.xml b/app/src/main/res/layouts/main_layouts/layout-sw600dp/repo_file_header_layout.xml
index 645aabea..48113abf 100644
--- a/app/src/main/res/layouts/main_layouts/layout-sw600dp/repo_file_header_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout-sw600dp/repo_file_header_layout.xml
@@ -68,7 +68,7 @@
android:layout_gravity="center"
android:src="@drawable/ic_arrow_right"/>
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/activity_fragment_layout.xml b/app/src/main/res/layouts/main_layouts/layout/activity_fragment_layout.xml
index 6af3b366..eca94184 100644
--- a/app/src/main/res/layouts/main_layouts/layout/activity_fragment_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/activity_fragment_layout.xml
@@ -1,5 +1,5 @@
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/activity_main_view.xml b/app/src/main/res/layouts/main_layouts/layout/activity_main_view.xml
index c8d09784..b9a218ca 100644
--- a/app/src/main/res/layouts/main_layouts/layout/activity_main_view.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/activity_main_view.xml
@@ -1,5 +1,5 @@
-
-
-
+
@@ -37,4 +37,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/activity_search_file.xml b/app/src/main/res/layouts/main_layouts/layout/activity_search_file.xml
index 5baebfb0..3362c3e1 100644
--- a/app/src/main/res/layouts/main_layouts/layout/activity_search_file.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/activity_search_file.xml
@@ -1,18 +1,18 @@
-
-
-
-
-
-
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/activity_search_user.xml b/app/src/main/res/layouts/main_layouts/layout/activity_search_user.xml
index 3550d2ad..4b7f77bd 100644
--- a/app/src/main/res/layouts/main_layouts/layout/activity_search_user.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/activity_search_user.xml
@@ -8,13 +8,13 @@
android:orientation="vertical"
tools:context="com.fastaccess.ui.modules.search.SearchUserActivity">
-
-
-
+
-
+
-
-
-
+
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/add_review_dialog_layout.xml b/app/src/main/res/layouts/main_layouts/layout/add_review_dialog_layout.xml
index 62cabc42..eab741ad 100644
--- a/app/src/main/res/layouts/main_layouts/layout/add_review_dialog_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/add_review_dialog_layout.xml
@@ -7,7 +7,7 @@
-
-
-
-
-
@@ -74,8 +74,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"/>
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/commit_pager_activity.xml b/app/src/main/res/layouts/main_layouts/layout/commit_pager_activity.xml
index a6db0cd7..7fe9294c 100644
--- a/app/src/main/res/layouts/main_layouts/layout/commit_pager_activity.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/commit_pager_activity.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
+
-
-
+
-
-
+
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/create_gist_layout.xml b/app/src/main/res/layouts/main_layouts/layout/create_gist_layout.xml
index 0b94c410..a0377824 100644
--- a/app/src/main/res/layouts/main_layouts/layout/create_gist_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/create_gist_layout.xml
@@ -11,7 +11,7 @@
-
-
-
-
-
+
+
-
-
-
-
-
-
+
-
+
-
-
+
-
-
+
@@ -141,7 +141,7 @@
android:paddingTop="@dimen/spacing_normal"
android:text="@string/labels"/>
-
-
+
@@ -174,7 +174,7 @@
android:paddingTop="@dimen/spacing_normal"
android:text="@string/milestone"/>
-
-
+
@@ -212,7 +212,7 @@
-
-
-
-
-
+
-
-
-
+
-
+
-
-
-
-
+
-
-
-
+
-
+
-
-
-
-
+
-
+
diff --git a/app/src/main/res/layouts/main_layouts/layout/delete_repo_file_layout.xml b/app/src/main/res/layouts/main_layouts/layout/delete_repo_file_layout.xml
index fd278f40..aa523e92 100644
--- a/app/src/main/res/layouts/main_layouts/layout/delete_repo_file_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/delete_repo_file_layout.xml
@@ -8,7 +8,7 @@
android:background="?android:windowBackground"
android:orientation="vertical">
-
-
-
-
-
+
+
-
-
-
-
-
+
+
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/edit_repo_file_layout.xml b/app/src/main/res/layouts/main_layouts/layout/edit_repo_file_layout.xml
index 64bb5eb2..4a6af64e 100644
--- a/app/src/main/res/layouts/main_layouts/layout/edit_repo_file_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/edit_repo_file_layout.xml
@@ -13,11 +13,11 @@
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
+
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/emoji_popup_layout.xml b/app/src/main/res/layouts/main_layouts/layout/emoji_popup_layout.xml
index 417978f3..6eeb9544 100644
--- a/app/src/main/res/layouts/main_layouts/layout/emoji_popup_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/emoji_popup_layout.xml
@@ -31,13 +31,13 @@
-
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/filter_bottom_sheet.xml b/app/src/main/res/layouts/main_layouts/layout/filter_bottom_sheet.xml
index 6f245ba3..835c9350 100644
--- a/app/src/main/res/layouts/main_layouts/layout/filter_bottom_sheet.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/filter_bottom_sheet.xml
@@ -7,19 +7,19 @@
android:background="?android:windowBackground"
android:orientation="vertical">
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
-
+
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/full_screen_file_changes_layout.xml b/app/src/main/res/layouts/main_layouts/layout/full_screen_file_changes_layout.xml
index db01da07..779d3d32 100644
--- a/app/src/main/res/layouts/main_layouts/layout/full_screen_file_changes_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/full_screen_file_changes_layout.xml
@@ -1,18 +1,18 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/general_viewer_layout.xml b/app/src/main/res/layouts/main_layouts/layout/general_viewer_layout.xml
index 459b2411..d63cf4f8 100644
--- a/app/src/main/res/layouts/main_layouts/layout/general_viewer_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/general_viewer_layout.xml
@@ -7,7 +7,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
+
-
-
-
-
-
-
+
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml b/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml
index fb96b9ae..38aa53d7 100644
--- a/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
+
-
-
+
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/header_title_with_toolbar.xml b/app/src/main/res/layouts/main_layouts/layout/header_title_with_toolbar.xml
index 497906b1..8a9a7902 100644
--- a/app/src/main/res/layouts/main_layouts/layout/header_title_with_toolbar.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/header_title_with_toolbar.xml
@@ -1,5 +1,5 @@
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/issue_pager_activity.xml b/app/src/main/res/layouts/main_layouts/layout/issue_pager_activity.xml
index dc553a76..9f395901 100644
--- a/app/src/main/res/layouts/main_layouts/layout/issue_pager_activity.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/issue_pager_activity.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
+
-
-
+
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/issue_popup_layout.xml b/app/src/main/res/layouts/main_layouts/layout/issue_popup_layout.xml
index 94eba3c5..753843f3 100644
--- a/app/src/main/res/layouts/main_layouts/layout/issue_popup_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/issue_popup_layout.xml
@@ -12,7 +12,7 @@
-
-
-
+
-
-
+
@@ -137,7 +137,7 @@
android:paddingStart="@dimen/spacing_xs_large"
android:text="@string/labels"/>
-
-
+
@@ -173,7 +173,7 @@
android:paddingStart="@dimen/spacing_xs_large"
android:text="@string/milestone"/>
-
-
+
-
+
-
-
-
@@ -23,7 +23,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
-
-
+
-
-
+
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/login_form_layout.xml b/app/src/main/res/layouts/main_layouts/layout/login_form_layout.xml
index 1eb921c5..eee3e3f2 100644
--- a/app/src/main/res/layouts/main_layouts/layout/login_form_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/login_form_layout.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
-
+
-
-
-
+
-
-
-
+
-
-
-
+
-
-
+
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/main_nav_fragment_layout.xml b/app/src/main/res/layouts/main_layouts/layout/main_nav_fragment_layout.xml
index f837f1f5..76326e19 100644
--- a/app/src/main/res/layouts/main_layouts/layout/main_nav_fragment_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/main_nav_fragment_layout.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
-
-
+
diff --git a/app/src/main/res/layouts/main_layouts/layout/merge_dialog_layout.xml b/app/src/main/res/layouts/main_layouts/layout/merge_dialog_layout.xml
index 50d3c6de..77dfa1ab 100644
--- a/app/src/main/res/layouts/main_layouts/layout/merge_dialog_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/merge_dialog_layout.xml
@@ -10,19 +10,19 @@
android:padding="@dimen/spacing_xs_large">
-
-
-
+
-
-
-
-
-
-
-
+
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/notifications_bottom_sheet_layout.xml b/app/src/main/res/layouts/main_layouts/layout/notifications_bottom_sheet_layout.xml
index 2b0ff5a0..386d47c8 100644
--- a/app/src/main/res/layouts/main_layouts/layout/notifications_bottom_sheet_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/notifications_bottom_sheet_layout.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/picker_dialog.xml b/app/src/main/res/layouts/main_layouts/layout/picker_dialog.xml
index 3db32c5a..24a1c943 100644
--- a/app/src/main/res/layouts/main_layouts/layout/picker_dialog.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/picker_dialog.xml
@@ -18,7 +18,7 @@
android:textStyle="bold"/>
-
@@ -38,7 +38,7 @@
-
+
-
-
-
-
-
-
-
-
-
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/projects_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/projects_activity_layout.xml
index 5b32d310..7c421f19 100644
--- a/app/src/main/res/layouts/main_layouts/layout/projects_activity_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/projects_activity_layout.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/repo_file_header_layout.xml b/app/src/main/res/layouts/main_layouts/layout/repo_file_header_layout.xml
index b3cb4ae9..f83a357e 100644
--- a/app/src/main/res/layouts/main_layouts/layout/repo_file_header_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/repo_file_header_layout.xml
@@ -65,7 +65,7 @@
android:layout_gravity="center"
android:src="@drawable/ic_arrow_right"/>
-
-
-
-
-
+
-
+
@@ -50,4 +50,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/review_changes_bottom_layout.xml b/app/src/main/res/layouts/main_layouts/layout/review_changes_bottom_layout.xml
index 2441b414..ab19f3ad 100644
--- a/app/src/main/res/layouts/main_layouts/layout/review_changes_bottom_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/review_changes_bottom_layout.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/review_comment_dialog_layout.xml b/app/src/main/res/layouts/main_layouts/layout/review_comment_dialog_layout.xml
index 1805f931..1ba57aa9 100644
--- a/app/src/main/res/layouts/main_layouts/layout/review_comment_dialog_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/review_comment_dialog_layout.xml
@@ -20,7 +20,7 @@
android:orientation="horizontal"
android:padding="@dimen/spacing_xs_large">
-
-
-
-
-
-
+
-
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/support_development_layout.xml b/app/src/main/res/layouts/main_layouts/layout/support_development_layout.xml
index 9cb4207b..6626d224 100644
--- a/app/src/main/res/layouts/main_layouts/layout/support_development_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/support_development_layout.xml
@@ -1,18 +1,18 @@
-
-
-
-
-
-
+
+
-
-
-
+
-
-
+
-
-
+
-
-
+
-
+
@@ -175,4 +175,4 @@
android:text="@string/fasthub_premium_features"/>
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/tabbed_pager_layout.xml b/app/src/main/res/layouts/main_layouts/layout/tabbed_pager_layout.xml
index 24b893f0..5b95249c 100644
--- a/app/src/main/res/layouts/main_layouts/layout/tabbed_pager_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/tabbed_pager_layout.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/tabbed_viewpager.xml b/app/src/main/res/layouts/main_layouts/layout/tabbed_viewpager.xml
index cdd42087..987b1152 100644
--- a/app/src/main/res/layouts/main_layouts/layout/tabbed_viewpager.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/tabbed_viewpager.xml
@@ -8,7 +8,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
-
-
-
-
-
+
+
-
-
+
diff --git a/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml b/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml
index 43ffbbf0..8de081fe 100644
--- a/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
@@ -371,7 +371,7 @@
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
+
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/toolbar_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/toolbar_activity_layout.xml
index e324ce5c..c3b4f65c 100644
--- a/app/src/main/res/layouts/main_layouts/layout/toolbar_activity_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/toolbar_activity_layout.xml
@@ -1,5 +1,5 @@
-
-
@@ -27,7 +27,7 @@
app:layout_behavior="@string/scroll_behavior"/>
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml
index 084f905b..4e84bad2 100644
--- a/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/trending_activity_layout.xml
@@ -1,5 +1,5 @@
-
-
@@ -27,12 +27,12 @@
app:layout_behavior="@string/scroll_behavior"
tools:layout="@layout/micro_grid_refresh_list" />
-
+
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/view_pager_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/view_pager_activity_layout.xml
index b20450d3..5f10c5d8 100644
--- a/app/src/main/res/layouts/main_layouts/layout/view_pager_activity_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/view_pager_activity_layout.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/main_layouts/layout/wiki_activity_layout.xml b/app/src/main/res/layouts/main_layouts/layout/wiki_activity_layout.xml
index ea30ccb2..6f9628fb 100644
--- a/app/src/main/res/layouts/main_layouts/layout/wiki_activity_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/wiki_activity_layout.xml
@@ -1,5 +1,5 @@
-
-
@@ -47,12 +47,12 @@
-
+
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout-land/appbar_start_margin.xml b/app/src/main/res/layouts/other_layouts/layout-land/appbar_start_margin.xml
index cd2f7e30..4bca7cb2 100644
--- a/app/src/main/res/layouts/other_layouts/layout-land/appbar_start_margin.xml
+++ b/app/src/main/res/layouts/other_layouts/layout-land/appbar_start_margin.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout-sw600dp/appbar_start_margin.xml b/app/src/main/res/layouts/other_layouts/layout-sw600dp/appbar_start_margin.xml
index 6f1f12da..13eb25b2 100644
--- a/app/src/main/res/layouts/other_layouts/layout-sw600dp/appbar_start_margin.xml
+++ b/app/src/main/res/layouts/other_layouts/layout-sw600dp/appbar_start_margin.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout/appbar_elevation_dark.xml b/app/src/main/res/layouts/other_layouts/layout/appbar_elevation_dark.xml
index 7275e736..b01049db 100644
--- a/app/src/main/res/layouts/other_layouts/layout/appbar_elevation_dark.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/appbar_elevation_dark.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout/appbar_start_margin.xml b/app/src/main/res/layouts/other_layouts/layout/appbar_start_margin.xml
index cb6c6111..3be32137 100644
--- a/app/src/main/res/layouts/other_layouts/layout/appbar_start_margin.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/appbar_start_margin.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout/appbar_tabbed_elevation.xml b/app/src/main/res/layouts/other_layouts/layout/appbar_tabbed_elevation.xml
index 412be004..02d7d106 100644
--- a/app/src/main/res/layouts/other_layouts/layout/appbar_tabbed_elevation.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/appbar_tabbed_elevation.xml
@@ -1,5 +1,5 @@
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout/dialog_guide_layout.xml b/app/src/main/res/layouts/other_layouts/layout/dialog_guide_layout.xml
index 26fe04f7..a7fb75db 100644
--- a/app/src/main/res/layouts/other_layouts/layout/dialog_guide_layout.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/dialog_guide_layout.xml
@@ -8,12 +8,12 @@
android:background="?android:attr/windowBackground"
android:orientation="vertical">
-
-
@@ -48,8 +48,8 @@
android:textColor="?android:textColorPrimary"
tools:text="Remember: shreded ramen tastes best when flattened in a sauté pan enameled with rum."/>
-
-
+
+
-
-
@@ -61,7 +61,7 @@
android:textColor="?android:attr/textColorSecondary"/>
-
+
-
@@ -55,7 +55,7 @@
tools:text="Hello World"/>
-
+
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/other_layouts/layout/simple_footer_list_dialog.xml b/app/src/main/res/layouts/other_layouts/layout/simple_footer_list_dialog.xml
index bba7212d..afc08519 100644
--- a/app/src/main/res/layouts/other_layouts/layout/simple_footer_list_dialog.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/simple_footer_list_dialog.xml
@@ -8,11 +8,11 @@
android:background="?android:attr/windowBackground"
android:orientation="vertical">
-
-
-
-
+
+
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/commit_file_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/commit_file_row_item.xml
index ad1ff13d..65db8025 100644
--- a/app/src/main/res/layouts/row_layouts/layout/commit_file_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/commit_file_row_item.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/commit_line_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/commit_line_row_item.xml
index 6e150791..fa051077 100644
--- a/app/src/main/res/layouts/row_layouts/layout/commit_line_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/commit_line_row_item.xml
@@ -14,7 +14,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal">
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/gist_files_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/gist_files_row_item.xml
index 63c3accc..c023d2c1 100644
--- a/app/src/main/res/layouts/row_layouts/layout/gist_files_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/gist_files_row_item.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/grouped_review_timeline_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/grouped_review_timeline_row_item.xml
index 65166bc1..1cfe41ad 100644
--- a/app/src/main/res/layouts/row_layouts/layout/grouped_review_timeline_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/grouped_review_timeline_row_item.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/issue_no_image_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/issue_no_image_row_item.xml
index d2b3b62a..71e23622 100644
--- a/app/src/main/res/layouts/row_layouts/layout/issue_no_image_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/issue_no_image_row_item.xml
@@ -22,7 +22,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal">
-
-
-
diff --git a/app/src/main/res/layouts/row_layouts/layout/no_emojies_comments_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/no_emojies_comments_row_item.xml
index fda14300..54e5bdb6 100644
--- a/app/src/main/res/layouts/row_layouts/layout/no_emojies_comments_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/no_emojies_comments_row_item.xml
@@ -54,7 +54,7 @@
android:textColor="?android:attr/textColorSecondary"
tools:text="50 minutes"/>
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/org_profile_overview_layout.xml b/app/src/main/res/layouts/row_layouts/layout/org_profile_overview_layout.xml
index ffc615d4..1f2d3dfb 100644
--- a/app/src/main/res/layouts/row_layouts/layout/org_profile_overview_layout.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/org_profile_overview_layout.xml
@@ -1,4 +1,4 @@
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/profile_overview_layout.xml b/app/src/main/res/layouts/row_layouts/layout/profile_overview_layout.xml
index 2c3840a1..dfaa3b8a 100644
--- a/app/src/main/res/layouts/row_layouts/layout/profile_overview_layout.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/profile_overview_layout.xml
@@ -1,5 +1,5 @@
-
-
-
+
-
-
+
-
-
+
-
-
+
@@ -300,4 +300,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/pullrequest_file_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/pullrequest_file_row_item.xml
index 59be4ff8..54724279 100644
--- a/app/src/main/res/layouts/row_layouts/layout/pullrequest_file_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/pullrequest_file_row_item.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/trending_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/trending_row_item.xml
index ae58c714..66d22014 100644
--- a/app/src/main/res/layouts/row_layouts/layout/trending_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/trending_row_item.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 70b8ac7a..c7749ffd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,12 +1,12 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
- butterKnifeVersion = '8.5.1'
- state_version = '1.2.0'
+ butterKnifeVersion = '10.2.1'
+ state_version = '1.4.1'
lombokVersion = '1.16.20'
supportVersion = "27.1.0"
gms = "12.0.0"
- thirtyinchVersion = '0.8.0'
+ thirtyinchVersion = '0.9.6'
retrofit = '2.3.0'
junitVersion = '4.12'
mockitoVersion = '1.10.19'
@@ -15,7 +15,7 @@ buildscript {
requery = '1.3.2'
kotlin_version = '1.3.61'
commonmark = '0.10.0'
- glideVersion = '3.7.0'
+ glideVersion = '4.10.0'
}
repositories {
google()
@@ -25,7 +25,7 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
- classpath 'com.google.gms:google-services:3.2.0'
+ classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.novoda:gradle-build-properties-plugin:0.4.1'
classpath 'io.fabric.tools:gradle:1.31.2'
classpath 'com.apollographql.apollo:apollo-gradle-plugin:1.2.2'
From ce55ee611ad83ee49efe772684be33288039a421 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 11:50:06 +0100
Subject: [PATCH 20/59] add changelog
---
.../ui/base/BaseBottomSheetDialog.java | 8 +--
.../other_layouts/layout/message_dialog.xml | 34 ++++++-------
app/src/main/res/raw/changelog.html | 50 +++----------------
3 files changed, 30 insertions(+), 62 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/base/BaseBottomSheetDialog.java b/app/src/main/java/com/fastaccess/ui/base/BaseBottomSheetDialog.java
index 0bcfb974..5a9d7ee5 100644
--- a/app/src/main/java/com/fastaccess/ui/base/BaseBottomSheetDialog.java
+++ b/app/src/main/java/com/fastaccess/ui/base/BaseBottomSheetDialog.java
@@ -19,6 +19,8 @@ import com.evernote.android.state.StateSaver;
import com.fastaccess.R;
import com.fastaccess.helper.ViewHelper;
+import org.jetbrains.annotations.NotNull;
+
import butterknife.ButterKnife;
import butterknife.Unbinder;
@@ -53,7 +55,7 @@ import butterknife.Unbinder;
super.onViewCreated(view, savedInstanceState);
}
- @Override public void onSaveInstanceState(Bundle outState) {
+ @Override public void onSaveInstanceState(@NotNull Bundle outState) {
super.onSaveInstanceState(outState);
StateSaver.saveInstanceState(this, outState);
}
@@ -66,7 +68,7 @@ import butterknife.Unbinder;
}
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- final Context contextThemeWrapper = new ContextThemeWrapper(getContext(), getContext().getTheme());
+ final Context contextThemeWrapper = new ContextThemeWrapper(getContext(), requireContext().getTheme());
LayoutInflater themeAwareInflater = inflater.cloneInContext(contextThemeWrapper);
View view = themeAwareInflater.inflate(layoutRes(), container, false);
unbinder = ButterKnife.bind(this, view);
@@ -98,7 +100,7 @@ import butterknife.Unbinder;
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) {
final Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.setOnShowListener(dialogInterface -> {
- if (ViewHelper.isTablet(getActivity())) {
+ if (ViewHelper.isTablet(requireContext())) {
if (dialog.getWindow() != null) {
dialog.getWindow().setLayout(
ViewGroup.LayoutParams.WRAP_CONTENT,
diff --git a/app/src/main/res/layouts/other_layouts/layout/message_dialog.xml b/app/src/main/res/layouts/other_layouts/layout/message_dialog.xml
index ada6954a..e6b9f967 100644
--- a/app/src/main/res/layouts/other_layouts/layout/message_dialog.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/message_dialog.xml
@@ -1,13 +1,12 @@
-
+ android:orientation="vertical">
+ tools:text="How jolly. You loot like a mast." />
+ android:visibility="gone"
+ app:webview_background="?card_background"
+ tools:visibility="visible" />
+ tools:text="Hello World" />
@@ -62,8 +62,8 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="end"
- android:paddingBottom="@dimen/spacing_normal"
- android:paddingTop="@dimen/spacing_normal">
+ android:paddingTop="@dimen/spacing_normal"
+ android:paddingBottom="@dimen/spacing_normal">
+ android:textColor="@color/material_pink_700" />
+ android:textColor="?colorAccent" />
@@ -94,5 +94,5 @@
android:layout_height="wrap_content"
android:layout_gravity="top|end|center"
android:visibility="gone"
- tools:visibility="visible"/>
+ tools:visibility="visible" />
\ No newline at end of file
diff --git a/app/src/main/res/raw/changelog.html b/app/src/main/res/raw/changelog.html
index e06f517b..72ff2ab1 100644
--- a/app/src/main/res/raw/changelog.html
+++ b/app/src/main/res/raw/changelog.html
@@ -6,50 +6,16 @@
- FastHub changelog
-
- Version 4.6.7
-
-
- Please report the issues in FastHub repo instead, by opening the Drawer Menu and clicking on “Report an Issue”
- PLEASE USE IT.
-
-
- Fixed bugs:
+ What’s new?
- - Logout menu item doesn't work #1664
- - Crash on clicking Home from the Navigation Drawer when I'm on the Home screen itself #1652
- - Empty commit protection #1671
- - Cannot unpin pinned gist #1575
+ - Fix Trending (Finally, I KNOW!)
+ - Fix Wiki (I know, I know…)
+ - Migrate to Androidx
- Closed issues:
-
- - Scrolling Down when Opening the Profile Section (Right) #1625
- - Adding an assignee to an issue shows a send icon #1624
- - Star counter resets #1601
- - Remove extra code #1596
- - Update message gets stuck #1440
-
- Merged pull requests:
-
- What's left for FastHub?
-
-
-
- So far, FastHub has implemented all the features of GitHub. I'll continue to fix bugs and implement feature requests if there
- are any!
-
-
-
+ I hear you asking (So what happened)?
+ Well, I was pretty much busy with life and work, but that’s not an excuse, I know!. TBH with you all, I started working on FastHub v5 beginning of last year and I did actually made a good progress but then crisis landed on me when my mom diagnostic with cancer and that really stroke me hard and demotivated me to even care about my own health, it took awhile for me to recover and start accepting this fact and i’m still trying to figure out way to motivate myself more to progress on FastHub or anything in the Open Source Community.
+ TL;DR: this is just a bug fix version and I will continue to fix bugs until V5 is ready for shipment.
+
Thank you to all who have contributed either via reporting bugs or via code contribution.
From a95bbd6140eb8faf838d51456b2467d68ced3165 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 12:00:55 +0100
Subject: [PATCH 21/59] added androidx properties
---
.gitignore | 2 +-
gradle.properties | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 gradle.properties
diff --git a/.gitignore b/.gitignore
index 1ec699f2..26049c9b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,7 @@
/local.properties
.DS_Store
/build
-/gradle.properties
+/release_gradle.properties
/.idea/
/app/google-services.json
/app/build/
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 00000000..5465fec0
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,2 @@
+android.enableJetifier=true
+android.useAndroidX=true
\ No newline at end of file
From d4f2d80934b4f8a83eb6b433b13b614cc3b10acf Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 12:12:22 +0100
Subject: [PATCH 22/59] allow back press in FAQ screen
---
.../ui/modules/main/playstore/PlayStoreWarningActivity.kt | 2 --
1 file changed, 2 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/playstore/PlayStoreWarningActivity.kt b/app/src/main/java/com/fastaccess/ui/modules/main/playstore/PlayStoreWarningActivity.kt
index 4c83c974..a06c4db2 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/main/playstore/PlayStoreWarningActivity.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/main/playstore/PlayStoreWarningActivity.kt
@@ -30,8 +30,6 @@ class PlayStoreWarningActivity : BaseActivity = BasePresenter()
- override fun onBackPressed() {}
-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val textView = findViewById(R.id.description)
From 6e163d159fd2c52dc079c62100399d16da01d25f Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 12:37:40 +0100
Subject: [PATCH 23/59] increase memory for builds
---
app/src/main/res/raw/changelog.html | 6 +++++-
debug_gradle.properties | 1 -
gradle.properties | 2 ++
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/raw/changelog.html b/app/src/main/res/raw/changelog.html
index 72ff2ab1..056c8c18 100644
--- a/app/src/main/res/raw/changelog.html
+++ b/app/src/main/res/raw/changelog.html
@@ -13,7 +13,11 @@
Migrate to Androidx
I hear you asking (So what happened)?
- Well, I was pretty much busy with life and work, but that’s not an excuse, I know!. TBH with you all, I started working on FastHub v5 beginning of last year and I did actually made a good progress but then crisis landed on me when my mom diagnostic with cancer and that really stroke me hard and demotivated me to even care about my own health, it took awhile for me to recover and start accepting this fact and i’m still trying to figure out way to motivate myself more to progress on FastHub or anything in the Open Source Community.
+ Well, I was pretty much busy with life and work, but that’s not an excuse, I
+ know!. TBH with you all, I started working on FastHub v5 beginning of last year and I did actually made a good progress but then crisis
+ landed on me when my mom diagnosed with cancer and that really stroke me hard and demotivated me to even care about my own health, it
+ took awhile for me to recover and start accepting this fact and i’m still trying to figure out ways to motivate myself more to progress
+ on FastHub or anything in the Open Source Community.
TL;DR: this is just a bug fix version and I will continue to fix bugs until V5 is ready for shipment.
Thank you to all who have contributed either via reporting bugs or via code contribution.
diff --git a/debug_gradle.properties b/debug_gradle.properties
index 1303a8bd..ed21b6c2 100644
--- a/debug_gradle.properties
+++ b/debug_gradle.properties
@@ -1,5 +1,4 @@
# Below API Keys are meant for debugging purpose & they aren't being used in production.
-org.gradle.jvmargs=-Xmx2536M
android_store_password=kosh2010
android_key_password=kosh2010
android_key_alias=FastAccess
diff --git a/gradle.properties b/gradle.properties
index 5465fec0..7198fa92 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,4 @@
+org.gradle.daemon=true
+org.gradle.jvmargs=-Xmx2560m
android.enableJetifier=true
android.useAndroidX=true
\ No newline at end of file
From 5f45b9f9dd0c198f174176bcad72641060f9d3b9 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 12:42:17 +0100
Subject: [PATCH 24/59] fix gradle
---
app/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 33098de6..c21aeedd 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@ buildProperties {
file rootProject.file('debug_gradle.properties')
}
secrets {
- file rootProject.file('gradle.properties')
+ file rootProject.file('release_gradle.properties')
}
}
From 1bed328fe4a235b452d78b416709b666940f0795 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 13:42:04 +0100
Subject: [PATCH 25/59] hotfix 4.6.9
---
app/build.gradle | 4 +--
.../layout/issue_timeline_row_item.xml | 4 +--
.../layout/review_timeline_row_item.xml | 31 +++++++++----------
3 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index c21aeedd..cf08a202 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -29,8 +29,8 @@ android {
applicationId "com.fastaccess.github"
minSdkVersion 21
targetSdkVersion 29
- versionCode 468
- versionName "4.6.8"
+ versionCode 469
+ versionName "4.6.9"
buildConfigString "GITHUB_CLIENT_ID", (buildProperties.secrets['github_client_id'] | buildProperties.notThere['github_client_id']).string
buildConfigString "GITHUB_SECRET", (buildProperties.secrets['github_secret'] | buildProperties.notThere['github_secret']).string
buildConfigString "IMGUR_CLIENT_ID", (buildProperties.secrets['imgur_client_id'] | buildProperties.notThere['imgur_client_id']).string
diff --git a/app/src/main/res/layouts/row_layouts/layout/issue_timeline_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/issue_timeline_row_item.xml
index 75cb6b0d..a744a841 100644
--- a/app/src/main/res/layouts/row_layouts/layout/issue_timeline_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/issue_timeline_row_item.xml
@@ -41,7 +41,7 @@
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/review_timeline_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/review_timeline_row_item.xml
index 62d97696..bb3604c6 100644
--- a/app/src/main/res/layouts/row_layouts/layout/review_timeline_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/review_timeline_row_item.xml
@@ -1,14 +1,13 @@
-
+ android:layout_marginTop="@dimen/spacing_normal"
+ android:layout_marginEnd="@dimen/layout_margin"
+ android:layout_marginBottom="@dimen/spacing_normal">
+ tools:src="@drawable/ic_issue_opened" />
-
+ android:layout_marginStart="@dimen/avatar_margin"
+ android:layout_marginEnd="@dimen/avatar_margin_end" />
+ tools:text="For a divided large loaf, add some champaign and cinnamon." />
+ tools:visibility="visible" />
-
+
\ No newline at end of file
From 22011256b537668271b17d346d35acbbac200ad5 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Wed, 25 Dec 2019 13:44:45 +0100
Subject: [PATCH 26/59] log crash to fabric
---
.../provider/rest/RestProvider.java | 56 +++++++++++--------
1 file changed, 32 insertions(+), 24 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
index 31278ed9..5586f998 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
@@ -4,11 +4,14 @@ import android.app.DownloadManager;
import android.content.Context;
import android.net.Uri;
import android.os.Environment;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+
import android.text.TextUtils;
import android.widget.Toast;
+import com.crashlytics.android.Crashlytics;
import com.fastaccess.App;
import com.fastaccess.BuildConfig;
import com.fastaccess.R;
@@ -91,31 +94,36 @@ public class RestProvider {
}
public static void downloadFile(@NonNull Context context, @NonNull String url) {
- if (InputHelper.isEmpty(url)) return;
- boolean isEnterprise = LinkParserHelper.isEnterprise(url);
- Uri uri = Uri.parse(url);
- DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
- DownloadManager.Request request = new DownloadManager.Request(uri);
- String authToken = isEnterprise ? PrefGetter.getEnterpriseToken() : PrefGetter.getToken();
- if (!TextUtils.isEmpty(authToken)) {
- request.addRequestHeader("Authorization", authToken.startsWith("Basic") ? authToken : "token " + authToken);
- }
- File direct = new File(Environment.getExternalStorageDirectory() + File.separator + context.getString(R.string.app_name));
- if (!direct.isDirectory() || !direct.exists()) {
- boolean isCreated = direct.mkdirs();
- if (!isCreated) {
- Toast.makeText(App.getInstance(), "Unable to create directory to download file", Toast.LENGTH_SHORT).show();
- return;
+ try {
+ if (InputHelper.isEmpty(url)) return;
+ boolean isEnterprise = LinkParserHelper.isEnterprise(url);
+ Uri uri = Uri.parse(url);
+ DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
+ DownloadManager.Request request = new DownloadManager.Request(uri);
+ String authToken = isEnterprise ? PrefGetter.getEnterpriseToken() : PrefGetter.getToken();
+ if (!TextUtils.isEmpty(authToken)) {
+ request.addRequestHeader("Authorization", authToken.startsWith("Basic") ? authToken : "token " + authToken);
}
- }
- String fileName = new File(url).getName();
- request.setDestinationInExternalPublicDir(context.getString(R.string.app_name), fileName);
- request.setTitle(fileName);
- request.setDescription(context.getString(R.string.downloading_file));
- request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
- request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
- if (downloadManager != null) {
- downloadManager.enqueue(request);
+ File direct =
+ new File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + File.separator + context.getString(R.string.app_name));
+ if (!direct.isDirectory() || !direct.exists()) {
+ boolean isCreated = direct.mkdirs();
+ if (!isCreated) {
+ Toast.makeText(App.getInstance(), "Unable to create directory to download file", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ }
+ String fileName = new File(url).getName();
+ request.setDestinationInExternalPublicDir(context.getString(R.string.app_name), fileName);
+ request.setTitle(fileName);
+ request.setDescription(context.getString(R.string.downloading_file));
+ request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
+ request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
+ if (downloadManager != null) {
+ downloadManager.enqueue(request);
+ }
+ } catch (Exception e) {
+ Crashlytics.logException(e);
}
}
From 5467bb5e8d767a0601067f516787074e5c32e520 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 08:58:08 +0100
Subject: [PATCH 27/59] fix download issue and parcel bug
---
.../fastaccess/data/dao/EditRepoFileModel.kt | 9 +++----
.../com/fastaccess/data/dao/TrendingModel.kt | 25 ++++++++++---------
.../data/dao/wiki/WikiContentModel.kt | 3 ++-
.../data/dao/wiki/WikiSideBarModel.kt | 9 ++++---
.../com/fastaccess/helper/ParcelableHelper.kt | 4 +--
.../provider/rest/RestProvider.java | 12 ++-------
6 files changed, 28 insertions(+), 34 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/data/dao/EditRepoFileModel.kt b/app/src/main/java/com/fastaccess/data/dao/EditRepoFileModel.kt
index 966520ac..09cdedd0 100644
--- a/app/src/main/java/com/fastaccess/data/dao/EditRepoFileModel.kt
+++ b/app/src/main/java/com/fastaccess/data/dao/EditRepoFileModel.kt
@@ -1,10 +1,7 @@
package com.fastaccess.data.dao
import android.os.Parcel
-import com.fastaccess.helper.KotlinParcelable
-import com.fastaccess.helper.parcelableCreator
-import com.fastaccess.helper.readBoolean
-import com.fastaccess.helper.writeBoolean
+import com.fastaccess.helper.*
/**
* Created by Hashemsergani on 01/09/2017.
@@ -27,7 +24,7 @@ data class EditRepoFileModel(
parcel.readString() ?: "",
parcel.readString() ?: "",
parcel.readString() ?: "",
- parcel.readBoolean()
+ parcel.readBooleanCompat()
)
override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) {
@@ -38,7 +35,7 @@ data class EditRepoFileModel(
writeString(sha)
writeString(contentUrl)
writeString(fileName)
- writeBoolean(isEdit)
+ writeBooleanCompat(isEdit)
}
companion object {
diff --git a/app/src/main/java/com/fastaccess/data/dao/TrendingModel.kt b/app/src/main/java/com/fastaccess/data/dao/TrendingModel.kt
index 7fa39616..f97bbfe1 100644
--- a/app/src/main/java/com/fastaccess/data/dao/TrendingModel.kt
+++ b/app/src/main/java/com/fastaccess/data/dao/TrendingModel.kt
@@ -5,23 +5,24 @@ import com.fastaccess.helper.KotlinParcelable
import com.fastaccess.helper.parcelableCreator
data class TrendingModel(
- val title: String? = null,
- val description: String? = null,
- val language: String? = null,
- val stars: String? = null,
- val forks: String? = null,
- val todayStars: String? = null) : KotlinParcelable {
+ val title: String? = null,
+ val description: String? = null,
+ val language: String? = null,
+ val stars: String? = null,
+ val forks: String? = null,
+ val todayStars: String? = null
+) : KotlinParcelable {
companion object {
@JvmField val CREATOR = parcelableCreator(::TrendingModel)
}
constructor(source: Parcel) : this(
- source.readString(),
- source.readString(),
- source.readString(),
- source.readString(),
- source.readString(),
- source.readString()
+ source.readString(),
+ source.readString(),
+ source.readString(),
+ source.readString(),
+ source.readString(),
+ source.readString()
)
override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) {
diff --git a/app/src/main/java/com/fastaccess/data/dao/wiki/WikiContentModel.kt b/app/src/main/java/com/fastaccess/data/dao/wiki/WikiContentModel.kt
index a8162e86..0de0a421 100644
--- a/app/src/main/java/com/fastaccess/data/dao/wiki/WikiContentModel.kt
+++ b/app/src/main/java/com/fastaccess/data/dao/wiki/WikiContentModel.kt
@@ -8,7 +8,8 @@ import com.fastaccess.helper.parcelableCreator
* Created by Kosh on 13 Jun 2017, 8:06 PM
*/
data class WikiContentModel(
- val content: String? = null, private val footer: String? = null,
+ val content: String? = null,
+ private val footer: String? = null,
val sidebar: List
) : KotlinParcelable {
companion object {
diff --git a/app/src/main/java/com/fastaccess/data/dao/wiki/WikiSideBarModel.kt b/app/src/main/java/com/fastaccess/data/dao/wiki/WikiSideBarModel.kt
index e064d141..6b0780dd 100644
--- a/app/src/main/java/com/fastaccess/data/dao/wiki/WikiSideBarModel.kt
+++ b/app/src/main/java/com/fastaccess/data/dao/wiki/WikiSideBarModel.kt
@@ -7,14 +7,17 @@ import com.fastaccess.helper.parcelableCreator
/**
* Created by Kosh on 13 Jun 2017, 8:03 PM
*/
-data class WikiSideBarModel(val title: String? = null, val link: String? = null) : KotlinParcelable {
+data class WikiSideBarModel(
+ val title: String? = null,
+ val link: String? = null
+) : KotlinParcelable {
companion object {
@JvmField val CREATOR = parcelableCreator(::WikiSideBarModel)
}
constructor(source: Parcel) : this(
- source.readString(),
- source.readString()
+ source.readString(),
+ source.readString()
)
override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) {
diff --git a/app/src/main/java/com/fastaccess/helper/ParcelableHelper.kt b/app/src/main/java/com/fastaccess/helper/ParcelableHelper.kt
index 224faeb5..1cc7c582 100644
--- a/app/src/main/java/com/fastaccess/helper/ParcelableHelper.kt
+++ b/app/src/main/java/com/fastaccess/helper/ParcelableHelper.kt
@@ -13,6 +13,6 @@ inline fun parcelableCreator(crossinline create: (Parcel) -> T) = ob
override fun newArray(size: Int) = arrayOfNulls(size)
}
-fun Parcel.readBoolean() = readInt() != 0
+fun Parcel.readBooleanCompat() = readInt() != 0
-fun Parcel.writeBoolean(value: Boolean) = writeInt(if (value) 1 else 0)
+fun Parcel.writeBooleanCompat(value: Boolean) = writeInt(if (value) 1 else 0)
diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
index 5586f998..0f4f8e29 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
@@ -104,17 +104,8 @@ public class RestProvider {
if (!TextUtils.isEmpty(authToken)) {
request.addRequestHeader("Authorization", authToken.startsWith("Basic") ? authToken : "token " + authToken);
}
- File direct =
- new File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + File.separator + context.getString(R.string.app_name));
- if (!direct.isDirectory() || !direct.exists()) {
- boolean isCreated = direct.mkdirs();
- if (!isCreated) {
- Toast.makeText(App.getInstance(), "Unable to create directory to download file", Toast.LENGTH_SHORT).show();
- return;
- }
- }
String fileName = new File(url).getName();
- request.setDestinationInExternalPublicDir(context.getString(R.string.app_name), fileName);
+ request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
request.setTitle(fileName);
request.setDescription(context.getString(R.string.downloading_file));
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
@@ -123,6 +114,7 @@ public class RestProvider {
downloadManager.enqueue(request);
}
} catch (Exception e) {
+ e.printStackTrace();
Crashlytics.logException(e);
}
}
From e8d50307a69bc62c540483a759ee52bf4da22492 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 09:04:28 +0100
Subject: [PATCH 28/59] update readme
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index b29c5d11..4c121ac7 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
#### FastHub is currently under a huge refactoring, please make sure to submit an issue only if necessary.
-##### Any Pull requests that are not directed to v5 branch will be ignored. You could follow the development on this [PR](https://github.com/k0shk0sh/FastHub/pull/2599)
+##### You could follow the development on V5 in this [PR](https://github.com/k0shk0sh/FastHub/pull/2599)
[](https://travis-ci.org/k0shk0sh/FastHub)
[](https://github.com/k0shk0sh/FastHub/releases/latest) [](http://rebrand.ly/fasthub)
From e8aa1a000ce60412d9f3a72b8abbdaf99af4d5a1 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 09:07:29 +0100
Subject: [PATCH 29/59] add bitrise status
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 4c121ac7..3083fcff 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
#### FastHub is currently under a huge refactoring, please make sure to submit an issue only if necessary.
##### You could follow the development on V5 in this [PR](https://github.com/k0shk0sh/FastHub/pull/2599)
-[](https://travis-ci.org/k0shk0sh/FastHub)
+[](https://app.bitrise.io/app/abd1afbd2a03e0e4)
[](https://github.com/k0shk0sh/FastHub/releases/latest) [](http://rebrand.ly/fasthub)
[](https://www.gnu.org/licenses/gpl-3.0)
From e2ab26c4a384687d5c2715ed3748c65fed6f42a1 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 09:33:44 +0100
Subject: [PATCH 30/59] remove unsubscribe btn
---
.../viewholder/NotificationsViewHolder.java | 3 ---
.../all/AllNotificationsPresenter.java | 6 +----
.../unread/UnreadNotificationsPresenter.java | 6 +----
.../layout/notifications_row_item.xml | 22 +++++--------------
4 files changed, 8 insertions(+), 29 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java
index 48308d94..4a637447 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/NotificationsViewHolder.java
@@ -28,7 +28,6 @@ public class NotificationsViewHolder extends BaseViewHolder view.onUpdateReadState(new GroupedNotificationModel(item), position));
- ReadNotificationService.unSubscribe(v.getContext(), item.getId());
} else {
if (item.getSubject() != null && item.getSubject().getUrl() != null) {
if (item.isUnread() && !PrefGetter.isMarkAsReadEnabled()) {
diff --git a/app/src/main/java/com/fastaccess/ui/modules/notification/unread/UnreadNotificationsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/notification/unread/UnreadNotificationsPresenter.java
index bdef53e7..c3d76aee 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/notification/unread/UnreadNotificationsPresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/notification/unread/UnreadNotificationsPresenter.java
@@ -1,6 +1,7 @@
package com.fastaccess.ui.modules.notification.unread;
import androidx.annotation.NonNull;
+
import android.view.View;
import com.fastaccess.R;
@@ -31,11 +32,6 @@ public class UnreadNotificationsPresenter extends BasePresenter view.onRemove(position));
- ReadNotificationService.unSubscribe(v.getContext(), item.getId());
} else {
if (item.getSubject() != null && item.getSubject().getUrl() != null) {
if (item.isUnread() && !PrefGetter.isMarkAsReadEnabled()) {
diff --git a/app/src/main/res/layouts/row_layouts/layout/notifications_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/notifications_row_item.xml
index 39621c6f..7533b339 100644
--- a/app/src/main/res/layouts/row_layouts/layout/notifications_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/notifications_row_item.xml
@@ -1,6 +1,5 @@
-
+ tools:src="@drawable/ic_issues" />
+ tools:text="When one acquires music and afterlife, one is able to capture heaven." />
+ tools:visibility="visible" />
+ tools:text="50 minutes ago" />
-
-
+ android:src="@drawable/ic_done" />
From 14022bd00418e4856ecc3f8bf8be558fdaa458ff Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 09:50:59 +0100
Subject: [PATCH 31/59] remove unsubscribe btn
---
.../com/fastaccess/ui/widgets/FontTextView.java | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/FontTextView.java b/app/src/main/java/com/fastaccess/ui/widgets/FontTextView.java
index 1eecba24..fd52772d 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/FontTextView.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/FontTextView.java
@@ -6,12 +6,14 @@ import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ScaleDrawable;
import android.os.Parcelable;
+
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.appcompat.widget.AppCompatTextView;
+
import android.util.AttributeSet;
import android.view.Gravity;
@@ -59,12 +61,18 @@ public class FontTextView extends AppCompatTextView {
this.selected = selected;
}
- @SuppressLint("SetTextI18n") public void setText(CharSequence text, BufferType type) {
+ @Override public void setTextCursorDrawable(@Nullable Drawable textCursorDrawable) {
try {
- super.setText(text, type);
+ super.setTextCursorDrawable(textCursorDrawable);
+ } catch (Exception e) {
+ Crashlytics.logException(e);
+ }
+ }
+
+ @Override public void setTextCursorDrawable(int textCursorDrawable) {
+ try {
+ super.setTextCursorDrawable(textCursorDrawable);
} catch (Exception e) {
- setText("I tried, but your OEM just sucks because they modify the framework components and therefore causing the app to crash!" + "" +
- ".\nFastHub");
Crashlytics.logException(e);
}
}
From d422fcd074594388fb9be6b96612eabb4d454c4e Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 10:08:12 +0100
Subject: [PATCH 32/59] add pandora lib
---
app/build.gradle | 2 +
.../provider/rest/RestProvider.java | 2 +
.../provider/rest/jsoup/JsoupProvider.java | 2 +
.../layout/gists_pager_layout.xml | 51 +++++++++----------
4 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index cf08a202..656dcd1a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -174,6 +174,8 @@ dependencies {
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'
implementation 'com.airbnb.android:lottie:3.0.7'
implementation 'com.firebase:firebase-jobdispatcher:0.8.2'
+ debugImplementation 'com.github.whataa:pandora:2.0.6'
+ releaseImplementation 'com.github.whataa:pandora-no-op:2.0.3'
compileOnly "org.projectlombok:lombok:${lombokVersion}"
diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
index 0f4f8e29..191d84d2 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
@@ -51,6 +51,7 @@ import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.HttpException;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import tech.linjiang.pandora.Pandora;
/**
* Created by Kosh on 08 Feb 2017, 8:37 PM
@@ -79,6 +80,7 @@ public class RestProvider {
client.addInterceptor(new AuthenticationInterceptor());
client.addInterceptor(new PaginationInterceptor());
client.addInterceptor(new ContentTypeInterceptor());
+ client.addInterceptor(Pandora.get().getInterceptor());
okHttpClient = client.build();
}
return okHttpClient;
diff --git a/app/src/main/java/com/fastaccess/provider/rest/jsoup/JsoupProvider.java b/app/src/main/java/com/fastaccess/provider/rest/jsoup/JsoupProvider.java
index b2bfa4e8..09f31844 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/jsoup/JsoupProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/jsoup/JsoupProvider.java
@@ -11,6 +11,7 @@ import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.scalars.ScalarsConverterFactory;
+import tech.linjiang.pandora.Pandora;
/**
* Created by Kosh on 02 Jun 2017, 12:47 PM
@@ -27,6 +28,7 @@ public class JsoupProvider {
client.addInterceptor(new HttpLoggingInterceptor()
.setLevel(HttpLoggingInterceptor.Level.BODY));
}
+ client.addInterceptor(Pandora.get().getInterceptor());
client.addInterceptor(new AuthenticationInterceptor(true));
okHttpClient = client.build();
}
diff --git a/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml b/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml
index 38aa53d7..73961251 100644
--- a/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/gists_pager_layout.xml
@@ -1,9 +1,8 @@
-
@@ -20,15 +19,13 @@
android:layout_height="0dp"
android:layout_weight="1">
-
-
+
-
-
+ android:src="@drawable/ic_pin" />
+ android:src="@drawable/ic_brower" />
+ android:src="@drawable/ic_star" />
- android:src="@drawable/ic_fork"/>
+
+ app:tabTextColor="?android:textColorTertiary" />
+ app:layout_behavior="@string/scroll_behavior" />
+ app:fabSize="auto" />
@@ -124,9 +121,9 @@
android:name="com.fastaccess.ui.modules.editor.comment.CommentEditorFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- tools:layout="@layout/comment_box_layout"/>
+ tools:layout="@layout/comment_box_layout" />
-
+
\ No newline at end of file
From 059fbc9d7512e678e02bbe87755037b9172dadc3 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 10:16:05 +0100
Subject: [PATCH 33/59] this fixes #2810
---
.../tasks/git/GithubActionService.java | 66 ++++++++++++-------
.../provider/timeline/CommentsHelper.java | 1 +
2 files changed, 43 insertions(+), 24 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/provider/tasks/git/GithubActionService.java b/app/src/main/java/com/fastaccess/provider/tasks/git/GithubActionService.java
index 66120d2c..ba4240a5 100644
--- a/app/src/main/java/com/fastaccess/provider/tasks/git/GithubActionService.java
+++ b/app/src/main/java/com/fastaccess/provider/tasks/git/GithubActionService.java
@@ -5,6 +5,7 @@ import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -18,6 +19,7 @@ import com.fastaccess.provider.rest.RestProvider;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
@@ -37,6 +39,7 @@ public class GithubActionService extends IntentService {
public static final int FORK_GIST = 8;
private NotificationCompat.Builder notification;
private NotificationManager notificationManager;
+ private CompositeDisposable disposable = new CompositeDisposable();
@IntDef({
STAR_REPO,
@@ -112,99 +115,114 @@ public class GithubActionService extends IntentService {
}
}
+ @Override public void onDestroy() {
+ disposable.clear();
+ super.onDestroy();
+ }
+
private void forkGist(@Nullable String id, boolean isEnterprise) {
if (id != null) {
String msg = getString(R.string.forking, getString(R.string.gist));
- RestProvider.getGistService(isEnterprise)
- .forkGist(id)
- .doOnSubscribe(disposable -> showNotification(msg))
- .subscribeOn(Schedulers.io())
- .subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ disposable.add(
+ RestProvider.getGistService(isEnterprise)
+ .forkGist(id)
+ .doOnSubscribe(disposable -> showNotification(msg))
+ .subscribeOn(Schedulers.io())
+ .subscribe(response -> {
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void forkRepo(@Nullable String id, @Nullable String login, boolean isEnterprise) {
if (id != null && login != null) {
String msg = getString(R.string.forking, id);
- RestProvider.getRepoService(isEnterprise)
- .forkRepo(login, id)
- .doOnSubscribe(disposable -> showNotification(msg))
- .subscribeOn(Schedulers.io())
- .subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ disposable.add(
+ RestProvider.getRepoService(isEnterprise)
+ .forkRepo(login, id)
+ .doOnSubscribe(disposable -> showNotification(msg))
+ .subscribeOn(Schedulers.io())
+ .subscribe(response -> {
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void starGist(@Nullable String id, boolean isEnterprise) {
if (id != null) {
String msg = getString(R.string.starring, getString(R.string.gist));
- RestProvider.getGistService(isEnterprise)
+ disposable.add(RestProvider.getGistService(isEnterprise)
.starGist(id)
.doOnSubscribe(disposable -> showNotification(msg))
.subscribeOn(Schedulers.io())
.subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void starRepo(@Nullable String id, @Nullable String login, boolean isEnterprise) {
if (id != null && login != null) {
String msg = getString(R.string.starring, id);
- RestProvider.getRepoService(isEnterprise)
+ disposable.add(RestProvider.getRepoService(isEnterprise)
.starRepo(login, id)
.doOnSubscribe(disposable -> showNotification(msg))
.subscribeOn(Schedulers.io())
.subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void unStarGist(@Nullable String id, boolean isEnterprise) {
if (id != null) {
String msg = getString(R.string.un_starring, getString(R.string.gist));
- RestProvider.getGistService(isEnterprise)
+ disposable.add(RestProvider.getGistService(isEnterprise)
.unStarGist(id)
.doOnSubscribe(disposable -> showNotification(msg))
.subscribeOn(Schedulers.io())
.subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void unStarRepo(@Nullable String id, @Nullable String login, boolean isEnterprise) {
if (id != null && login != null) {
String msg = getString(R.string.un_starring, id);
- RestProvider.getRepoService(isEnterprise)
+ disposable.add(RestProvider.getRepoService(isEnterprise)
.unstarRepo(login, id)
.doOnSubscribe(disposable -> showNotification(msg))
.subscribeOn(Schedulers.io())
.subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void unWatchRepo(@Nullable String id, @Nullable String login, boolean isEnterprise) {
if (id != null && login != null) {
String msg = getString(R.string.un_watching, id);
- RestProvider.getRepoService(isEnterprise)
+ disposable.add(RestProvider.getRepoService(isEnterprise)
.unwatchRepo(login, id)
.doOnSubscribe(disposable -> showNotification(msg))
.subscribeOn(Schedulers.io())
.subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
private void watchRepo(@Nullable String id, @Nullable String login, boolean isEnterprise) {
if (id != null && login != null) {
String msg = getString(R.string.watching, id);
- RestProvider.getRepoService(isEnterprise)
+ disposable.add(RestProvider.getRepoService(isEnterprise)
.watchRepo(login, id)
.doOnSubscribe(disposable -> showNotification(msg))
.subscribeOn(Schedulers.io())
.subscribe(response -> {
- }, throwable -> hideNotification(msg), () -> hideNotification(msg));
+ }, throwable -> hideNotification(msg), () -> hideNotification(msg))
+ );
}
}
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java b/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
index 3be60d73..1dde1391 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
@@ -115,6 +115,7 @@ public class CommentsHelper {
@NonNull public static ArrayList getUsers(@NonNull List comments) {
return Stream.of(comments)
+ .filter(comment -> comment.getUser() != null)
.map(comment -> comment.getUser().getLogin())
.distinct()
.collect(Collectors.toCollection(ArrayList::new));
From 2c47203a05ddfdd06d63d3fe23e2d6322998a3ac Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 10:23:47 +0100
Subject: [PATCH 34/59] allow creation of private gist
---
.../ui/modules/gists/create/CreateGistActivity.java | 4 ----
1 file changed, 4 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/create/CreateGistActivity.java b/app/src/main/java/com/fastaccess/ui/modules/gists/create/CreateGistActivity.java
index 9fc72732..08158e69 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/gists/create/CreateGistActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/gists/create/CreateGistActivity.java
@@ -69,10 +69,6 @@ public class CreateGistActivity extends BaseActivity
Date: Thu, 26 Dec 2019 10:37:39 +0100
Subject: [PATCH 35/59] this fixes #2594
---
.../modules/repos/issues/issue/details/IssuePagerActivity.java | 2 +-
.../pull_request/details/PullRequestPagerActivity.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java
index 7bad8224..9a9b5be5 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/IssuePagerActivity.java
@@ -426,7 +426,7 @@ public class IssuePagerActivity extends BaseActivity
Date: Thu, 26 Dec 2019 10:40:52 +0100
Subject: [PATCH 36/59] this fixes #2533
---
.../fastaccess/ui/modules/main/drawer/MainDrawerFragment.kt | 6 +++++-
app/src/main/res/menu/drawer_menu.xml | 6 +++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/drawer/MainDrawerFragment.kt b/app/src/main/java/com/fastaccess/ui/modules/main/drawer/MainDrawerFragment.kt
index 1222e91b..42ae7934 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/main/drawer/MainDrawerFragment.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/main/drawer/MainDrawerFragment.kt
@@ -19,6 +19,8 @@ import com.fastaccess.ui.modules.main.donation.CheckPurchaseActivity
import com.fastaccess.ui.modules.main.playstore.PlayStoreWarningActivity
import com.fastaccess.ui.modules.notification.NotificationActivity
import com.fastaccess.ui.modules.pinned.PinnedReposActivity
+import com.fastaccess.ui.modules.repos.RepoPagerActivity
+import com.fastaccess.ui.modules.repos.RepoPagerMvp
import com.fastaccess.ui.modules.repos.issues.create.CreateIssueActivity
import com.fastaccess.ui.modules.trending.TrendingActivity
import com.fastaccess.ui.modules.user.UserPagerActivity
@@ -65,7 +67,9 @@ class MainDrawerFragment : BaseFragment activity.onOpenOrgsDialog()
item.itemId == R.id.notifications -> activity.startActivity(Intent(activity, NotificationActivity::class.java))
item.itemId == R.id.trending -> activity.startActivity(Intent(activity, TrendingActivity::class.java))
- item.itemId == R.id.reportBug -> activity.startActivity(CreateIssueActivity.startForResult(activity))
+ item.itemId == R.id.openFatHub -> activity.startActivity(
+ RepoPagerActivity.createIntent(activity, "FastHub", "k0shk0sh", RepoPagerMvp.ISSUES)
+ )
item.itemId == R.id.faq -> activity.startActivity(Intent(activity, PlayStoreWarningActivity::class.java))
item.itemId == R.id.restorePurchase -> activity.startActivity(Intent(activity, CheckPurchaseActivity::class.java))
}
diff --git a/app/src/main/res/menu/drawer_menu.xml b/app/src/main/res/menu/drawer_menu.xml
index de6763d8..f84513a0 100644
--- a/app/src/main/res/menu/drawer_menu.xml
+++ b/app/src/main/res/menu/drawer_menu.xml
@@ -52,9 +52,9 @@
android:id="@+id/group_three"
android:checkableBehavior="none">
+ android:id="@+id/openFatHub"
+ android:icon="@drawable/ic_fasthub_mascot"
+ android:title="@string/app_name"/>
-
Date: Thu, 26 Dec 2019 11:23:18 +0100
Subject: [PATCH 37/59] fix github status check
---
.../data/dao/GitHubStatusModel.java | 52 -------------------
.../fastaccess/data/dao/GitHubStatusModel.kt | 15 ++++++
.../fastaccess/data/service/ContentService.kt | 2 +-
.../provider/rest/RestProvider.java | 10 ++--
.../ui/base/mvp/presenter/BasePresenter.java | 22 +++++---
5 files changed, 35 insertions(+), 66 deletions(-)
delete mode 100644 app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.java
create mode 100644 app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.kt
diff --git a/app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.java b/app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.java
deleted file mode 100644
index e8eaed80..00000000
--- a/app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.fastaccess.data.dao;
-
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import java.util.Date;
-
-/**
- * Created by Hashemsergani on 18.10.17.
- */
-
-public class GitHubStatusModel implements Parcelable {
-
- private String status;
- private String body;
- private Date createdOn;
-
- public String getStatus() { return status;}
-
- public void setStatus(String status) { this.status = status;}
-
- public String getBody() { return body;}
-
- public void setBody(String body) { this.body = body;}
-
- public Date getCreatedOn() { return createdOn;}
-
- public void setCreatedOn(Date createdOn) { this.createdOn = createdOn;}
-
- @Override public int describeContents() { return 0; }
-
- @Override public void writeToParcel(Parcel dest, int flags) {
- dest.writeString(this.status);
- dest.writeString(this.body);
- dest.writeLong(this.createdOn != null ? this.createdOn.getTime() : -1);
- }
-
- public GitHubStatusModel() {}
-
- protected GitHubStatusModel(Parcel in) {
- this.status = in.readString();
- this.body = in.readString();
- long tmpCreatedOn = in.readLong();
- this.createdOn = tmpCreatedOn == -1 ? null : new Date(tmpCreatedOn);
- }
-
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- @Override public GitHubStatusModel createFromParcel(Parcel source) {return new GitHubStatusModel(source);}
-
- @Override public GitHubStatusModel[] newArray(int size) {return new GitHubStatusModel[size];}
- };
-}
diff --git a/app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.kt b/app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.kt
new file mode 100644
index 00000000..febb076a
--- /dev/null
+++ b/app/src/main/java/com/fastaccess/data/dao/GitHubStatusModel.kt
@@ -0,0 +1,15 @@
+package com.fastaccess.data.dao
+
+import com.google.gson.annotations.SerializedName
+
+/**
+ * Created by Hashemsergani on 18.10.17.
+ */
+data class GitHubStatusModel(
+ @SerializedName("status") var status: GithubStatus? = null
+)
+
+data class GithubStatus(
+ @SerializedName("description") var description: String? = null,
+ @SerializedName("indicator") var indicator: String? = null
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/fastaccess/data/service/ContentService.kt b/app/src/main/java/com/fastaccess/data/service/ContentService.kt
index 5f686406..2348e9e5 100644
--- a/app/src/main/java/com/fastaccess/data/service/ContentService.kt
+++ b/app/src/main/java/com/fastaccess/data/service/ContentService.kt
@@ -25,6 +25,6 @@ interface ContentService {
@Query("branch") branch: String,
@Body body: CommitRequestModel): Observable
- @GET("api/last-message.json")
+ @GET("api/v2/status.json")
fun checkStatus(): Observable
}
\ No newline at end of file
diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
index 191d84d2..a3e6bd66 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
@@ -4,15 +4,9 @@ import android.app.DownloadManager;
import android.content.Context;
import android.net.Uri;
import android.os.Environment;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
import android.text.TextUtils;
-import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
-import com.fastaccess.App;
import com.fastaccess.BuildConfig;
import com.fastaccess.R;
import com.fastaccess.data.dao.GitHubErrorResponse;
@@ -44,6 +38,8 @@ import com.google.gson.GsonBuilder;
import java.io.File;
import java.lang.reflect.Modifier;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import io.reactivex.Observable;
import okhttp3.OkHttpClient;
import okhttp3.ResponseBody;
@@ -210,7 +206,7 @@ public class RestProvider {
@NonNull public static Observable gitHubStatus() {
return new Retrofit.Builder()
- .baseUrl("https://status.github.com/")
+ .baseUrl("https://kctbh9vrtdwd.statuspage.io/")
.client(provideOkHttpClient())
.addConverterFactory(new GithubResponseConverter(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
diff --git a/app/src/main/java/com/fastaccess/ui/base/mvp/presenter/BasePresenter.java b/app/src/main/java/com/fastaccess/ui/base/mvp/presenter/BasePresenter.java
index 41edf14a..bce70d9d 100644
--- a/app/src/main/java/com/fastaccess/ui/base/mvp/presenter/BasePresenter.java
+++ b/app/src/main/java/com/fastaccess/ui/base/mvp/presenter/BasePresenter.java
@@ -1,6 +1,7 @@
package com.fastaccess.ui.base.mvp.presenter;
import android.os.Bundle;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
@@ -8,6 +9,10 @@ import androidx.annotation.StringRes;
import com.evernote.android.state.StateSaver;
import com.fastaccess.R;
import com.fastaccess.data.dao.GitHubErrorResponse;
+import com.fastaccess.data.dao.GithubStatus;
+import com.fastaccess.helper.InputHelper;
+import com.fastaccess.helper.Logger;
+import com.fastaccess.helper.ObjectsCompat;
import com.fastaccess.helper.RxHelper;
import com.fastaccess.provider.rest.RestProvider;
import com.fastaccess.ui.base.mvp.BaseMvp;
@@ -116,12 +121,17 @@ public class BasePresenter extends TiPresenter impl
}
public void onCheckGitHubStatus() {
-// manageObservable(RestProvider.gitHubStatus()
-// .doOnNext(gitHubStatusModel -> {
-// if (!"good".equalsIgnoreCase(gitHubStatusModel.getStatus())) {
-// sendToView(v -> v.showErrorMessage("Github Status:\n" + gitHubStatusModel.getBody()));
-// }
-// }));
+ manageObservable(RestProvider.gitHubStatus()
+ .filter(ObjectsCompat::nonNull)
+ .doOnNext(gitHubStatusModel -> {
+ Logger.e(gitHubStatusModel);
+ GithubStatus status = gitHubStatusModel.getStatus();
+ String description = status != null ? status.getDescription() : null;
+ String indicatorStatus = status != null ? status.getIndicator() : null;
+ if (!InputHelper.isEmpty(description) && !"none".equalsIgnoreCase(indicatorStatus)) {
+ sendToView(v -> v.showErrorMessage("Github Status:(" + indicatorStatus + ")\n" + description));
+ }
+ }));
}
public boolean isEnterprise() {
From be19827804bc813a2ed52f56e36d710f66d1a143 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Thu, 26 Dec 2019 11:38:27 +0100
Subject: [PATCH 38/59] remove shrug
---
.../com/fastaccess/ui/base/BaseDialogFragment.java | 11 +++++++----
.../editor/popup/EditorLinkImageDialogFragment.java | 4 +++-
.../extras/assignees/AssigneesDialogFragment.java | 4 +++-
.../repos/extras/labels/LabelsDialogFragment.java | 4 +++-
.../labels/create/CreateLabelDialogFragment.java | 4 +++-
.../create/CreateMilestoneDialogFragment.java | 4 +++-
.../milestone/create/MilestoneDialogFragment.java | 4 +++-
.../merge/MergePullRequestDialogFragment.java | 4 +++-
.../java/com/fastaccess/ui/widgets/StateLayout.java | 2 +-
.../fastaccess/ui/widgets/dialog/ListDialogView.java | 4 +++-
10 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/ui/base/BaseDialogFragment.java b/app/src/main/java/com/fastaccess/ui/base/BaseDialogFragment.java
index 6ef8f3b0..e0ddd490 100644
--- a/app/src/main/java/com/fastaccess/ui/base/BaseDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/base/BaseDialogFragment.java
@@ -16,6 +16,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.evernote.android.state.StateSaver;
+import com.fastaccess.App;
import com.fastaccess.R;
import com.fastaccess.helper.AnimHelper;
import com.fastaccess.helper.AppHelper;
@@ -26,6 +27,8 @@ import com.fastaccess.ui.widgets.dialog.ProgressDialogFragment;
import net.grandcentrix.thirtyinch.TiDialogFragment;
+import org.jetbrains.annotations.NotNull;
+
import butterknife.ButterKnife;
import butterknife.Unbinder;
@@ -44,7 +47,7 @@ public abstract class BaseDialogFragment AnimHelper.revealDialog(dialog,
- getResources().getInteger(android.R.integer.config_longAnimTime)));
+ App.getInstance().getResources().getInteger(android.R.integer.config_longAnimTime)));
}
return dialog;
}
- @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ @Override public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
onFragmentCreated(view, savedInstanceState);
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/editor/popup/EditorLinkImageDialogFragment.java b/app/src/main/java/com/fastaccess/ui/modules/editor/popup/EditorLinkImageDialogFragment.java
index 0f48eaaf..92340197 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/editor/popup/EditorLinkImageDialogFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/editor/popup/EditorLinkImageDialogFragment.java
@@ -19,6 +19,8 @@ import com.fastaccess.helper.InputHelper;
import com.fastaccess.ui.base.BaseDialogFragment;
import com.fastaccess.ui.widgets.FontButton;
+import org.jetbrains.annotations.NotNull;
+
import java.io.File;
import butterknife.BindView;
@@ -48,7 +50,7 @@ public class EditorLinkImageDialogFragment extends BaseDialogFragment extends BaseDialogFragment imp
fastScroller.attachRecyclerView(recycler);
}
- @Override public void onAttach(Context context) {
+ @Override public void onAttach(@NotNull Context context) {
super.onAttach(context);
if (getParentFragment() != null && getParentFragment() instanceof onSimpleItemSelection) {
onSimpleItemSelection = (onSimpleItemSelection) getParentFragment();
From 463e19c4bf75e01f5af282df1f74b1ed2293bd74 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 20:22:42 +0100
Subject: [PATCH 39/59] update dependencies, added fasthub debug firebase
project.
- fixed image getter size
---
app/build.gradle | 32 ++++++------------
app/src/debug/google-services.json | 32 +++++++-----------
.../provider/rest/RestProvider.java | 1 -
.../timeline/handler/DrawableHandler.java | 1 -
.../timeline/handler/PreTagHandler.java | 2 +-
.../handler/drawable/DrawableGetter.java | 4 +--
.../handler/drawable/GlideDrawableTarget.java | 5 ++-
.../handler/drawable/UrlDrawable.java | 10 +++++-
.../modules/parser/LinksParserActivity.java | 4 +--
.../ui/modules/repos/wiki/WikiPresenter.kt | 33 ++++++++-----------
.../fragment/TrendingFragmentPresenter.kt | 32 ++++++++----------
build.gradle | 5 ++-
12 files changed, 67 insertions(+), 94 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 656dcd1a..29c53768 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,10 +8,10 @@ apply plugin: 'io.fabric'
buildProperties {
notThere {
- file rootProject.file('debug_gradle.properties')
+ using rootProject.file('debug_gradle.properties')
}
secrets {
- file rootProject.file('release_gradle.properties')
+ using rootProject.file('release_gradle.properties')
}
}
@@ -29,8 +29,8 @@ android {
applicationId "com.fastaccess.github"
minSdkVersion 21
targetSdkVersion 29
- versionCode 469
- versionName "4.6.9"
+ versionCode 470
+ versionName "4.7.0"
buildConfigString "GITHUB_CLIENT_ID", (buildProperties.secrets['github_client_id'] | buildProperties.notThere['github_client_id']).string
buildConfigString "GITHUB_SECRET", (buildProperties.secrets['github_secret'] | buildProperties.notThere['github_secret']).string
buildConfigString "IMGUR_CLIENT_ID", (buildProperties.secrets['imgur_client_id'] | buildProperties.notThere['imgur_client_id']).string
@@ -38,7 +38,6 @@ android {
buildConfigField "String", "REST_URL", '"https://api.github.com/"'
buildConfigField "String", "IMGUR_URL", '"https://api.imgur.com/3/"'
multiDexEnabled true
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
@@ -54,14 +53,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
- if (!rootProject.file('gradle.properties').exists()) {
- signingConfig signingConfigs.signing
- }
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
ext.alwaysUpdateBuildId = false
}
-
}
sourceSets {
@@ -99,14 +94,6 @@ android {
jumboMode true
javaMaxHeapSize "4g"
}
-
- testOptions {
- unitTests.returnDefaultValues = true
- }
-}
-
-kapt {
- generateStubs = true
}
repositories {
@@ -139,7 +126,7 @@ dependencies {
implementation 'it.sephiroth.android.library.bottomnavigation:bottom-navigation:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.2.15'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
- implementation 'com.squareup.okhttp3:logging-interceptor:4.2.1'
+ implementation 'com.squareup.okhttp3:logging-interceptor:4.2.2'
implementation 'com.annimon:stream:1.1.9'
implementation 'com.github.GrenderG:Toasty:1.1.3'
implementation 'com.github.k0shk0sh:RetainedDateTimePickers:1.0.2'
@@ -156,7 +143,8 @@ dependencies {
implementation "com.atlassian.commonmark:commonmark-ext-gfm-tables:${commonmark}"
implementation "com.atlassian.commonmark:commonmark-ext-ins:${commonmark}"
implementation "com.atlassian.commonmark:commonmark-ext-yaml-front-matter:${commonmark}"
- implementation "com.google.firebase:firebase-core:17.2.1"
+ implementation "com.google.firebase:firebase-analytics:17.2.1"
+ implementation "com.google.firebase:firebase-inappmessaging:19.0.2"
implementation "com.google.firebase:firebase-messaging:20.1.0"
implementation "com.google.firebase:firebase-database:19.2.0"
implementation "com.google.android.gms:play-services-base:17.1.0"
@@ -170,10 +158,11 @@ dependencies {
implementation "petrov.kristiyan:colorpicker-library:1.1.4"
implementation 'com.apollographql.apollo:apollo-rx2-support:1.2.2'
implementation("com.apollographql.apollo:apollo-runtime:1.2.2")
- implementation 'com.jaredrummler:android-device-names:1.1.5'
+ implementation 'com.jaredrummler:android-device-names:1.1.9'
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'
- implementation 'com.airbnb.android:lottie:3.0.7'
+ implementation 'com.airbnb.android:lottie:3.3.1'
implementation 'com.firebase:firebase-jobdispatcher:0.8.2'
+ implementation 'com.google.guava:guava:27.0.1-android' /*to be removed*/
debugImplementation 'com.github.whataa:pandora:2.0.6'
releaseImplementation 'com.github.whataa:pandora-no-op:2.0.3'
@@ -185,7 +174,6 @@ dependencies {
kapt 'com.github.matthiasrobbers:shortbread-compiler:1.0.1'
kapt "io.requery:requery-processor:${requery}"
kapt "com.github.bumptech.glide:compiler:$glideVersion"
-
}
apply plugin: 'com.google.gms.google-services'
\ No newline at end of file
diff --git a/app/src/debug/google-services.json b/app/src/debug/google-services.json
index 7f42a1cf..4bf588cd 100644
--- a/app/src/debug/google-services.json
+++ b/app/src/debug/google-services.json
@@ -1,61 +1,53 @@
{
"project_info": {
- "project_id": "this-is-a-sample",
- "project_number": "999999999999",
- "name": "FastHub Sample",
- "firebase_url": "https://this-is-a-sample-do-not-use.firebaseio.com",
- "storage_bucket": "this-is-a-sample-do-not-use.storage.firebase.com"
+ "project_number": "535903042804",
+ "firebase_url": "https://fasthub-dev-a1309.firebaseio.com",
+ "project_id": "fasthub-dev-a1309",
+ "storage_bucket": "fasthub-dev-a1309.appspot.com"
},
"client": [
{
"client_info": {
- "mobilesdk_app_id": "1:999999999999:android:0000000000000000",
+ "mobilesdk_app_id": "1:535903042804:android:516309017e0298c938b2a1",
"android_client_info": {
"package_name": "com.fastaccess.github.debug"
}
},
"oauth_client": [
{
- "client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
+ "client_id": "535903042804-ubkic52fte5tpoe62q6k1m4h0pbcjp9c.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.fastaccess.github.debug",
- "certificate_hash": "0000000000000000000000000000000000000000"
+ "certificate_hash": "42b1ddc5872bd156a90e2aebc94ee149a30f0ef3"
}
},
{
- "client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
+ "client_id": "535903042804-asaj9vcag2pbb0c170p5ll53ovpab02q.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.fastaccess.github.debug",
- "certificate_hash": "0000000000000000000000000000000000000000"
+ "certificate_hash": "c12fc4581dd11d64717548d8480ba537fc835893"
}
},
{
- "client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
+ "client_id": "535903042804-14481m7poceb7ojv5roddqm28pg4ch5n.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "000000000000000000000000000000000000000"
+ "current_key": "AIzaSyBbRQtQN1UxFRgeSSfjZwQ5TRulc2lZUzI"
}
],
"services": {
- "analytics_service": {
- "status": 1
- },
"appinvite_service": {
- "status": 2,
"other_platform_oauth_client": [
{
- "client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
+ "client_id": "535903042804-14481m7poceb7ojv5roddqm28pg4ch5n.apps.googleusercontent.com",
"client_type": 3
}
]
- },
- "ads_service": {
- "status": 2
}
}
}
diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
index a3e6bd66..94ae9800 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
@@ -120,7 +120,6 @@ public class RestProvider {
public static int getErrorCode(Throwable throwable) {
if (throwable instanceof HttpException) {
return ((HttpException) throwable).code();
-
}
return -1;
}
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/DrawableHandler.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/DrawableHandler.java
index fe6517db..d0b3abe5 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/handler/DrawableHandler.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/DrawableHandler.java
@@ -41,7 +41,6 @@ import static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE;
builder.append("\n");
DrawableGetter imageGetter = new DrawableGetter(textView, width);
builder.setSpan(new ImageSpan(imageGetter.getDrawable(src)), start, builder.length(), SPAN_EXCLUSIVE_EXCLUSIVE);
- builder.setSpan(new CenterSpan(), start, builder.length(), SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append("\n");
} else {
builder.append(SpannableBuilder.builder().clickable("Image", v -> SchemeParser.launchUri(v.getContext(), src)));
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/PreTagHandler.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/PreTagHandler.java
index 0e7be88b..9010e046 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/handler/PreTagHandler.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/PreTagHandler.java
@@ -71,7 +71,7 @@ import static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE;
this.appendNewLine(builder);
this.appendNewLine(builder);
} else {
- StringBuffer text = node.getText();
+ CharSequence text = node.getText();
builder.append(" ");
builder.append(replace(text.toString()));
builder.append(" ");
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/DrawableGetter.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/DrawableGetter.java
index 93b1989b..7dc25666 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/DrawableGetter.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/DrawableGetter.java
@@ -40,8 +40,8 @@ public class DrawableGetter implements Html.ImageGetter, Drawable.Callback {
final RequestBuilder load = Glide.with(context)
.load(url)
.placeholder(ContextCompat.getDrawable(context, R.drawable.ic_image))
- .dontAnimate()
- .override(width, width / 2);
+ .dontAnimate();
+
final GlideDrawableTarget target = new GlideDrawableTarget(urlDrawable, container, width);
load.into(target);
cachedTargets.add(target);
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/GlideDrawableTarget.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/GlideDrawableTarget.java
index 30f6b687..1f7d3125 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/GlideDrawableTarget.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/GlideDrawableTarget.java
@@ -37,9 +37,8 @@ class GlideDrawableTarget extends SimpleTarget {
width = (float) (resource.getIntrinsicWidth() / downScale / 1.3);
height = (float) (resource.getIntrinsicHeight() / downScale / 1.3);
} else {
- float multiplier = (float) this.width / resource.getIntrinsicWidth();
- width = (float) resource.getIntrinsicWidth() * multiplier;
- height = (float) resource.getIntrinsicHeight() * multiplier;
+ width = (float) resource.getIntrinsicWidth();
+ height = (float) resource.getIntrinsicHeight();
}
Rect rect = new Rect(0, 0, Math.round(width), Math.round(height));
resource.setBounds(rect);
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/UrlDrawable.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/UrlDrawable.java
index 938dc033..a76f28c3 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/UrlDrawable.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/drawable/UrlDrawable.java
@@ -1,11 +1,14 @@
package com.fastaccess.provider.timeline.handler.drawable;
+import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
+
import androidx.annotation.NonNull;
import com.bumptech.glide.load.resource.gif.GifDrawable;
+import com.crashlytics.android.Crashlytics;
class UrlDrawable extends BitmapDrawable implements Drawable.Callback {
private Drawable drawable;
@@ -14,7 +17,12 @@ class UrlDrawable extends BitmapDrawable implements Drawable.Callback {
@Override public void draw(Canvas canvas) {
if (drawable != null) {
- drawable.draw(canvas);
+ try {
+ drawable.draw(canvas);
+ } catch (Exception e) {
+ Crashlytics.logException(e);
+ e.printStackTrace();
+ }
if (drawable instanceof GifDrawable) {
if (!((GifDrawable) drawable).isRunning()) {
((GifDrawable) drawable).start();
diff --git a/app/src/main/java/com/fastaccess/ui/modules/parser/LinksParserActivity.java b/app/src/main/java/com/fastaccess/ui/modules/parser/LinksParserActivity.java
index 8fc1143c..bac506f0 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/parser/LinksParserActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/parser/LinksParserActivity.java
@@ -15,8 +15,6 @@ import com.fastaccess.helper.InputHelper;
import com.fastaccess.provider.scheme.SchemeParser;
import com.fastaccess.ui.modules.login.chooser.LoginChooserActivity;
-import org.apache.tools.ant.ExitException;
-
/**
* Created by Kosh on 09 Dec 2016, 12:31 PM
*/
@@ -51,7 +49,7 @@ public class LinksParserActivity extends Activity {
Uri uri = Uri.parse(sharedText);
onUriReceived(uri);
}
- } catch (ExitException ignored) {}
+ } catch (Exception ignored) {}
} else if (intent.getAction().equals(Intent.ACTION_VIEW)) {
if (intent.getData() != null) {
onUriReceived(intent.getData());
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiPresenter.kt b/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiPresenter.kt
index b26141c5..12402925 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiPresenter.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/wiki/WikiPresenter.kt
@@ -43,26 +43,21 @@ class WikiPresenter : BasePresenter(), WikiMvp.Presenter {
}
override fun onSidebarClicked(sidebar: WikiSideBarModel) {
- if (BuildConfig.DEBUG) {
- firebaseWikiConfigModel = FirebaseWikiConfigModel()
- callApi(sidebar)
+ if (firebaseWikiConfigModel == null) {
+ manageDisposable(
+ RxHelper.getSingle(RxFirebaseDatabase.data(FirebaseDatabase.getInstance().reference.child("github_wiki")))
+ .doOnSubscribe { sendToView { it.showProgress(0) } }
+ .map {
+ firebaseWikiConfigModel = FirebaseWikiConfigModel.map(it.value as? HashMap)
+ return@map firebaseWikiConfigModel
+ }
+ .subscribe(
+ { callApi(sidebar) },
+ { callApi(sidebar) }
+ )
+ )
} else {
- if (firebaseWikiConfigModel == null) {
- manageDisposable(
- RxHelper.getSingle(RxFirebaseDatabase.data(FirebaseDatabase.getInstance().reference.child("github_wiki")))
- .doOnSubscribe { sendToView { it.showProgress(0) } }
- .map {
- firebaseWikiConfigModel = FirebaseWikiConfigModel.map(it.value as? HashMap)
- return@map firebaseWikiConfigModel
- }
- .subscribe(
- { callApi(sidebar) },
- { callApi(sidebar) }
- )
- )
- } else {
- callApi(sidebar)
- }
+ callApi(sidebar)
}
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt b/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt
index 29780f94..1f6f5954 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/trending/fragment/TrendingFragmentPresenter.kt
@@ -42,25 +42,21 @@ class TrendingFragmentPresenter : BasePresenter(), Tre
disposel?.let { if (!it.isDisposed) it.dispose() }
val config = firebaseTrendingConfigModel
- if (com.fastaccess.BuildConfig.DEBUG) {
- callApi(lang, since)
- } else {
- if (config == null) {
- manageDisposable(RxHelper.getSingle(RxFirebaseDatabase.data(FirebaseDatabase.getInstance().reference.child("github_trending")))
- .doOnSubscribe { sendToView { it.showProgress(0) } }
- .map {
- firebaseTrendingConfigModel = FirebaseTrendingConfigModel
- .map(it.value as? HashMap)
- return@map firebaseTrendingConfigModel
- }
- .subscribe(
- { callApi(lang, since) },
- { callApi(lang, since) }
- )
+ if (config == null) {
+ manageDisposable(RxHelper.getSingle(RxFirebaseDatabase.data(FirebaseDatabase.getInstance().reference.child("github_trending")))
+ .doOnSubscribe { sendToView { it.showProgress(0) } }
+ .map {
+ firebaseTrendingConfigModel = FirebaseTrendingConfigModel
+ .map(it.value as? HashMap)
+ return@map firebaseTrendingConfigModel
+ }
+ .subscribe(
+ { callApi(lang, since) },
+ { callApi(lang, since) }
)
- } else {
- callApi(lang, since)
- }
+ )
+ } else {
+ callApi(lang, since)
}
}
diff --git a/build.gradle b/build.gradle
index c7749ffd..31b23c6c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,11 +3,10 @@ buildscript {
ext {
butterKnifeVersion = '10.2.1'
state_version = '1.4.1'
- lombokVersion = '1.16.20'
+ lombokVersion = '1.18.10'
supportVersion = "27.1.0"
- gms = "12.0.0"
thirtyinchVersion = '0.9.6'
- retrofit = '2.3.0'
+ retrofit = '2.7.0'
junitVersion = '4.12'
mockitoVersion = '1.10.19'
assertjVersion = '2.5.0'
From dc537bc294f6460a05ea3e57b1e793b474fb59be Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 21:05:16 +0100
Subject: [PATCH 40/59] add file history shortcut to file menu
---
app/src/debug/google-services.json | 16 ----------------
app/src/main/AndroidManifest.xml | 4 ----
.../ui/modules/main/MainActivity.java | 16 ++++++++++++++++
.../repos/code/files/RepoFilesFragment.java | 6 +++++-
app/src/main/res/menu/download_share_menu.xml | 18 ++++++++++++------
app/src/main/res/values/strings.xml | 1 +
6 files changed, 34 insertions(+), 27 deletions(-)
diff --git a/app/src/debug/google-services.json b/app/src/debug/google-services.json
index 4bf588cd..0ad69152 100644
--- a/app/src/debug/google-services.json
+++ b/app/src/debug/google-services.json
@@ -14,22 +14,6 @@
}
},
"oauth_client": [
- {
- "client_id": "535903042804-ubkic52fte5tpoe62q6k1m4h0pbcjp9c.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "com.fastaccess.github.debug",
- "certificate_hash": "42b1ddc5872bd156a90e2aebc94ee149a30f0ef3"
- }
- },
- {
- "client_id": "535903042804-asaj9vcag2pbb0c170p5ll53ovpab02q.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "com.fastaccess.github.debug",
- "certificate_hash": "c12fc4581dd11d64717548d8480ba537fc835893"
- }
- },
{
"client_id": "535903042804-14481m7poceb7ojv5roddqm28pg4ch5n.apps.googleusercontent.com",
"client_type": 3
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b0f438f5..796c4f31 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -317,10 +317,6 @@
-
-
diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java b/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java
index 9735bbbc..544e97e9 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/main/MainActivity.java
@@ -3,11 +3,18 @@ package com.fastaccess.ui.modules.main;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+
+import com.fastaccess.BuildConfig;
+import com.fastaccess.helper.Logger;
+import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
+
import androidx.fragment.app.FragmentManager;
import androidx.core.view.GravityCompat;
+
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
@@ -29,6 +36,8 @@ import com.fastaccess.ui.modules.notification.NotificationActivity;
import com.fastaccess.ui.modules.search.SearchActivity;
import com.fastaccess.ui.modules.settings.SlackBottomSheetDialog;
import com.fastaccess.ui.modules.user.UserPagerActivity;
+import com.google.firebase.iid.FirebaseInstanceId;
+import com.google.firebase.iid.InstanceIdResult;
import butterknife.BindView;
import butterknife.OnClick;
@@ -72,6 +81,13 @@ public class MainActivity extends BaseActivity impl
new SlackBottomSheetDialog().show(getSupportFragmentManager(), SlackBottomSheetDialog.TAG);
}
}
+
+ if (BuildConfig.DEBUG) {
+ FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(o -> {
+ Logger.e(o.getId(), o.getToken());
+ });
+ }
+
getPresenter().setEnterprise(PrefGetter.isEnterprise());
selectHome(false);
hideShowShadow(navType == MainMvp.FEEDS);
diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/files/RepoFilesFragment.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/files/RepoFilesFragment.java
index d3c072aa..3d373f27 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/files/RepoFilesFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/files/RepoFilesFragment.java
@@ -115,6 +115,7 @@ public class RepoFilesFragment extends BaseFragment {
switch (item1.getItemId()) {
case R.id.share:
@@ -147,6 +148,9 @@ public class RepoFilesFragment extends BaseFragment
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2c0b7141..6e297161 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -604,4 +604,5 @@
No file changes
Send feedback
Unfortunately we cannot access private repos wiki
+ File History
From 2986098b0284fce23c1328fed503b345c70c43df Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 21:37:59 +0100
Subject: [PATCH 41/59] fix reactions api
---
.../java/com/fastaccess/data/dao/types/ReactionTypes.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java b/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java
index 7b075c26..df19ec64 100644
--- a/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java
+++ b/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java
@@ -14,8 +14,8 @@ public enum ReactionTypes {
HEART("heart", R.id.heart, R.id.heartReaction),
HOORAY("hooray", R.id.hurray, R.id.hurrayReaction),
- PLUS_ONE("+1", R.id.thumbsUp, R.id.thumbsUpReaction),
- MINUS_ONE("-1", R.id.thumbsDown, R.id.thumbsDownReaction),
+ PLUS_ONE("thumbs_up", R.id.thumbsUp, R.id.thumbsUpReaction),
+ MINUS_ONE("thumbs_down", R.id.thumbsDown, R.id.thumbsDownReaction),
CONFUSED("confused", R.id.sad, R.id.sadReaction),
LAUGH("laugh", R.id.laugh, R.id.laughReaction);
From cbbcbdc92d861e7d317fd592a88dca2aa7a4a1a2 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 22:03:23 +0100
Subject: [PATCH 42/59] add rocket and eyes reaction
---
.../fastaccess/data/dao/ReactionsModel.java | 59 +++----------
.../data/dao/types/ReactionTypes.java | 4 +-
.../provider/timeline/CommentsHelper.java | 86 ++++++++++---------
.../viewholder/IssueDetailsViewHolder.java | 14 ++-
.../viewholder/ReviewCommentsViewHolder.java | 14 ++-
.../TimelineCommentsViewHolder.java | 14 ++-
.../layout/comments_dropdown_layout.xml | 46 +++++++---
.../row_layouts/layout/comments_row_item.xml | 23 +++++
.../layout/issue_detail_header_row_item.xml | 82 +++++++++++-------
.../layout/review_comments_row_item.xml | 69 ++++++++++-----
10 files changed, 258 insertions(+), 153 deletions(-)
diff --git a/app/src/main/java/com/fastaccess/data/dao/ReactionsModel.java b/app/src/main/java/com/fastaccess/data/dao/ReactionsModel.java
index 16edfeca..ffcddd07 100644
--- a/app/src/main/java/com/fastaccess/data/dao/ReactionsModel.java
+++ b/app/src/main/java/com/fastaccess/data/dao/ReactionsModel.java
@@ -2,11 +2,14 @@ package com.fastaccess.data.dao;
import android.os.Parcel;
import android.os.Parcelable;
+
import androidx.annotation.Nullable;
import com.fastaccess.data.dao.model.User;
import com.google.gson.annotations.SerializedName;
+import org.jetbrains.annotations.NotNull;
+
import java.util.ArrayList;
import java.util.List;
@@ -24,12 +27,14 @@ import github.PullRequestTimelineQuery;
public long id;
public String url;
public int total_count;
- @SerializedName("+1") public int plusOne;
- @SerializedName("-1") public int minusOne;
+ @SerializedName(value = "+1", alternate = "thumbs_up") public int plusOne;
+ @SerializedName(value = "-1", alternate = "thumbs_down") public int minusOne;
public int laugh;
public int hooray;
public int confused;
public int heart;
+ public int rocket;
+ public int eyes;
public String content;
public User user;
public boolean viewerHasReacted;
@@ -37,7 +42,7 @@ import github.PullRequestTimelineQuery;
public ReactionsModel() {}
- @Override public String toString() {
+ @NotNull @Override public String toString() {
return "ReactionsModel{" +
"id=" + id +
", url='" + url + '\'' +
@@ -48,6 +53,8 @@ import github.PullRequestTimelineQuery;
", hooray=" + hooray +
", confused=" + confused +
", heart=" + heart +
+ ", rocket=" + rocket +
+ ", eyes=" + eyes +
'}';
}
@@ -63,6 +70,8 @@ import github.PullRequestTimelineQuery;
dest.writeInt(this.hooray);
dest.writeInt(this.confused);
dest.writeInt(this.heart);
+ dest.writeInt(this.rocket);
+ dest.writeInt(this.eyes);
dest.writeString(this.content);
dest.writeParcelable(this.user, flags);
dest.writeByte(this.isCallingApi ? (byte) 1 : (byte) 0);
@@ -78,6 +87,8 @@ import github.PullRequestTimelineQuery;
this.hooray = in.readInt();
this.confused = in.readInt();
this.heart = in.readInt();
+ this.rocket = in.readInt();
+ this.eyes = in.readInt();
this.content = in.readString();
this.user = in.readParcelable(User.class.getClassLoader());
this.isCallingApi = in.readByte() != 0;
@@ -88,46 +99,4 @@ import github.PullRequestTimelineQuery;
@Override public ReactionsModel[] newArray(int size) {return new ReactionsModel[size];}
};
-
- @NonNull public static List getReactionGroup(@Nullable List reactions) {
- List models = new ArrayList<>();
- if (reactions != null && !reactions.isEmpty()) {
- for (PullRequestTimelineQuery.ReactionGroup reaction : reactions) {
- ReactionsModel model = new ReactionsModel();
- model.setContent(reaction.content().name());
- model.setViewerHasReacted(reaction.viewerHasReacted());
- model.setTotal_count(reaction.users().totalCount());
- models.add(model);
- }
- }
- return models;
- }
-
- @NonNull public static List getReaction(@Nullable List reactions) {
- List models = new ArrayList<>();
- if (reactions != null && !reactions.isEmpty()) {
- for (PullRequestTimelineQuery.ReactionGroup1 reaction : reactions) {
- ReactionsModel model = new ReactionsModel();
- model.setContent(reaction.content().name());
- model.setViewerHasReacted(reaction.viewerHasReacted());
- model.setTotal_count(reaction.users().totalCount());
- models.add(model);
- }
- }
- return models;
- }
-
- @NonNull public static List getReaction2(@Nullable List reactions) {
- List models = new ArrayList<>();
- if (reactions != null && !reactions.isEmpty()) {
- for (PullRequestTimelineQuery.ReactionGroup2 reaction : reactions) {
- ReactionsModel model = new ReactionsModel();
- model.setContent(reaction.content().name());
- model.setViewerHasReacted(reaction.viewerHasReacted());
- model.setTotal_count(reaction.users().totalCount());
- models.add(model);
- }
- }
- return models;
- }
}
diff --git a/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java b/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java
index df19ec64..2f21fd4b 100644
--- a/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java
+++ b/app/src/main/java/com/fastaccess/data/dao/types/ReactionTypes.java
@@ -17,7 +17,9 @@ public enum ReactionTypes {
PLUS_ONE("thumbs_up", R.id.thumbsUp, R.id.thumbsUpReaction),
MINUS_ONE("thumbs_down", R.id.thumbsDown, R.id.thumbsDownReaction),
CONFUSED("confused", R.id.sad, R.id.sadReaction),
- LAUGH("laugh", R.id.laugh, R.id.laughReaction);
+ LAUGH("laugh", R.id.laugh, R.id.laughReaction),
+ ROCKET("rocket", R.id.rocket, R.id.rocketReaction),
+ EYES("eyes", R.id.eyes, R.id.eyeReaction);
private String content;
private int vId;
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java b/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
index 1dde1391..727f3f49 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
@@ -1,8 +1,10 @@
package com.fastaccess.provider.timeline;
import android.content.Context;
+
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
+
import android.view.View;
import android.widget.TextView;
@@ -16,6 +18,8 @@ import com.fastaccess.data.dao.types.ReactionTypes;
import com.fastaccess.provider.tasks.git.ReactionService;
import com.fastaccess.ui.widgets.SpannableBuilder;
+import org.w3c.dom.Text;
+
import java.util.ArrayList;
import java.util.List;
@@ -31,41 +35,14 @@ public class CommentsHelper {
private static final int THUMBS_DOWN = 0x1f44e;
private static final int HOORAY = 0x1f389;
private static final int HEART = 0x2764;
+ private static final int ROCKET = 0x1f680;
+ private static final int EYES = 0x1f440;
public static boolean isOwner(@NonNull String currentLogin, @NonNull String repoOwner, @NonNull String commentUser) {
return currentLogin.equalsIgnoreCase(repoOwner) || currentLogin.equalsIgnoreCase(commentUser);
}
- public static void handleReactions(@NonNull Context context, @NonNull String login, @NonNull String repoId,
- @IdRes int id, long commentId, boolean commit, boolean isDelete,
- boolean isEnterprise) {
- ReactionTypes type = null;
- switch (id) {
- case R.id.heart:
- type = ReactionTypes.HEART;
- break;
- case R.id.sad:
- type = ReactionTypes.CONFUSED;
- break;
- case R.id.thumbsDown:
- type = ReactionTypes.MINUS_ONE;
- break;
- case R.id.thumbsUp:
- type = ReactionTypes.PLUS_ONE;
- break;
- case R.id.laugh:
- type = ReactionTypes.LAUGH;
- break;
- case R.id.hurray:
- type = ReactionTypes.HOORAY;
- break;
- }
- if (type != null) {
- ReactionService.start(context, login, repoId, commentId, type, commit, isDelete, isEnterprise);
- }
- }
-
private static String getEmojiByUnicode(int unicode) {
return new String(Character.toChars(unicode));
}
@@ -76,14 +53,16 @@ public class CommentsHelper {
return getHeart();
case HOORAY:
return getHooray();
- case PLUS_ONE:
- return getThumbsUp();
case MINUS_ONE:
return getThumbsDown();
case CONFUSED:
return getSad();
case LAUGH:
return getLaugh();
+ case ROCKET:
+ return getRocket();
+ case EYES:
+ return getEyes();
default:
return getThumbsUp();
}
@@ -113,6 +92,14 @@ public class CommentsHelper {
return getEmojiByUnicode(HEART);
}
+ public static String getRocket() {
+ return getEmojiByUnicode(ROCKET);
+ }
+
+ public static String getEyes() {
+ return getEmojiByUnicode(EYES);
+ }
+
@NonNull public static ArrayList getUsers(@NonNull List comments) {
return Stream.of(comments)
.filter(comment -> comment.getUser() != null)
@@ -129,13 +116,17 @@ public class CommentsHelper {
.collect(Collectors.toCollection(ArrayList::new));
}
- public static void appendEmojies(@NonNull ReactionsModel reaction, @NonNull TextView thumbsUp,
- @NonNull TextView thumbsUpReaction, @NonNull TextView thumbsDown,
- @NonNull TextView thumbsDownReaction, @NonNull TextView hurray,
- @NonNull TextView hurrayReaction, @NonNull TextView sad,
- @NonNull TextView sadReaction, @NonNull TextView laugh,
- @NonNull TextView laughReaction, @NonNull TextView heart,
- @NonNull TextView heartReaction, @NonNull View reactionsList) {
+ public static void appendEmojies(
+ @NonNull ReactionsModel reaction, @NonNull TextView thumbsUp,
+ @NonNull TextView thumbsUpReaction, @NonNull TextView thumbsDown,
+ @NonNull TextView thumbsDownReaction, @NonNull TextView hurray,
+ @NonNull TextView hurrayReaction, @NonNull TextView sad,
+ @NonNull TextView sadReaction, @NonNull TextView laugh,
+ @NonNull TextView laughReaction, @NonNull TextView heart,
+ @NonNull TextView heartReaction, @NonNull TextView rocket,
+ @NonNull TextView rocketReaction, @NonNull TextView eye,
+ @NonNull TextView eyeReaction, @NonNull View reactionsList
+ ) {
SpannableBuilder spannableBuilder = SpannableBuilder.builder()
.append(CommentsHelper.getThumbsUp()).append(" ")
.append(String.valueOf(reaction.getPlusOne()))
@@ -173,10 +164,27 @@ public class CommentsHelper {
laughReaction.setVisibility(reaction.getLaugh() > 0 ? View.VISIBLE : View.GONE);
spannableBuilder = SpannableBuilder.builder()
.append(CommentsHelper.getHeart()).append(" ")
- .append(String.valueOf(reaction.getHeart()));
+ .append(String.valueOf(reaction.getHeart()))
+ .append(" ");
heart.setText(spannableBuilder);
heartReaction.setText(spannableBuilder);
heartReaction.setVisibility(reaction.getHeart() > 0 ? View.VISIBLE : View.GONE);
+
+ spannableBuilder = SpannableBuilder.builder()
+ .append(CommentsHelper.getRocket()).append(" ")
+ .append(String.valueOf(reaction.getRocket()))
+ .append(" ");
+ rocket.setText(spannableBuilder);
+ rocketReaction.setText(spannableBuilder);
+ rocketReaction.setVisibility(reaction.getRocket() > 0 ? View.VISIBLE : View.GONE);
+
+ spannableBuilder = SpannableBuilder.builder()
+ .append(CommentsHelper.getEyes()).append(" ")
+ .append(String.valueOf(reaction.getEyes()));
+ eye.setText(spannableBuilder);
+ eyeReaction.setText(spannableBuilder);
+ eyeReaction.setVisibility(reaction.getEyes() > 0 ? View.VISIBLE : View.GONE);
+
if (reaction.getPlusOne() > 0 || reaction.getMinusOne() > 0
|| reaction.getLaugh() > 0 || reaction.getHooray() > 0
|| reaction.getConfused() > 0 || reaction.getHeart() > 0) {
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java
index 18251cc1..579b6903 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java
@@ -69,6 +69,10 @@ public class IssueDetailsViewHolder extends BaseViewHolder {
@BindView(R.id.hurrayReaction) FontTextView hurrayReaction;
@BindView(R.id.sadReaction) FontTextView sadReaction;
@BindView(R.id.heartReaction) FontTextView heartReaction;
+ @BindView(R.id.rocketReaction) FontTextView rocketReaction;
+ @BindView(R.id.eyeReaction) FontTextView eyeReaction;
+ @BindView(R.id.rocket) FontTextView rocket;
+ @BindView(R.id.eyes) FontTextView eyes;
private OnToggleView onToggleView;
private ReactionsCallback reactionsCallback;
private ViewGroup viewGroup;
@@ -187,6 +191,14 @@ public class IssueDetailsViewHolder extends BaseViewHolder {
case R.id.hurrayReaction:
reactionsModel.setHooray(!isReacted ? reactionsModel.getHooray() + 1 : reactionsModel.getHooray() - 1);
break;
+ case R.id.rocket:
+ case R.id.rocketReaction:
+ reactionsModel.setRocket(!isReacted ? reactionsModel.getRocket() + 1 : reactionsModel.getRocket() - 1);
+ break;
+ case R.id.eyes:
+ case R.id.eyeReaction:
+ reactionsModel.setEyes(!isReacted ? reactionsModel.getEyes() + 1 : reactionsModel.getEyes() - 1);
+ break;
}
if (pullRequest != null) {
pullRequest.setReactions(reactionsModel);
@@ -254,7 +266,7 @@ public class IssueDetailsViewHolder extends BaseViewHolder {
private void appendEmojies(ReactionsModel reaction) {
CommentsHelper.appendEmojies(reaction, thumbsUp, thumbsUpReaction, thumbsDown, thumbsDownReaction, hooray, hurrayReaction, sad,
- sadReaction, laugh, laughReaction, heart, heartReaction, reactionsList);
+ sadReaction, laugh, laughReaction, heart, heartReaction, rocket, rocketReaction, eyes, eyeReaction, reactionsList);
}
private void onToggle(boolean expanded, boolean animate) {
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java
index a4859ed5..da843e10 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java
@@ -56,6 +56,10 @@ public class ReviewCommentsViewHolder extends BaseViewHolder
@BindView(R.id.hurrayReaction) FontTextView hurrayReaction;
@BindView(R.id.sadReaction) FontTextView sadReaction;
@BindView(R.id.heartReaction) FontTextView heartReaction;
+ @BindView(R.id.rocketReaction) FontTextView rocketReaction;
+ @BindView(R.id.eyeReaction) FontTextView eyeReaction;
+ @BindView(R.id.rocket) FontTextView rocket;
+ @BindView(R.id.eyes) FontTextView eyes;
private OnToggleView onToggleView;
private ReactionsCallback reactionsCallback;
private ViewGroup viewGroup;
@@ -201,6 +205,14 @@ public class ReviewCommentsViewHolder extends BaseViewHolder
case R.id.hurrayReaction:
reactionsModel.setHooray(!isReacted ? reactionsModel.getHooray() + 1 : reactionsModel.getHooray() - 1);
break;
+ case R.id.rocket:
+ case R.id.rocketReaction:
+ reactionsModel.setRocket(!isReacted ? reactionsModel.getRocket() + 1 : reactionsModel.getRocket() - 1);
+ break;
+ case R.id.eyes:
+ case R.id.eyeReaction:
+ reactionsModel.setEyes(!isReacted ? reactionsModel.getEyes() + 1 : reactionsModel.getEyes() - 1);
+ break;
}
comment.setReactions(reactionsModel);
appendEmojies(reactionsModel);
@@ -210,7 +222,7 @@ public class ReviewCommentsViewHolder extends BaseViewHolder
private void appendEmojies(ReactionsModel reaction) {
CommentsHelper.appendEmojies(reaction, thumbsUp, thumbsUpReaction, thumbsDown, thumbsDownReaction, hurray, hurrayReaction, sad,
- sadReaction, laugh, laughReaction, heart, heartReaction, reactionsList);
+ sadReaction, laugh, laughReaction, heart, heartReaction, rocket, rocketReaction, eyes, eyeReaction, reactionsList);
}
private long getId() {
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java
index 5ee5a0a4..993a8498 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java
@@ -64,6 +64,10 @@ public class TimelineCommentsViewHolder extends BaseViewHolder {
@BindView(R.id.hurrayReaction) FontTextView hurrayReaction;
@BindView(R.id.sadReaction) FontTextView sadReaction;
@BindView(R.id.heartReaction) FontTextView heartReaction;
+ @BindView(R.id.rocketReaction) FontTextView rocketReaction;
+ @BindView(R.id.eyeReaction) FontTextView eyeReaction;
+ @BindView(R.id.rocket) FontTextView rocket;
+ @BindView(R.id.eyes) FontTextView eyes;
private OnToggleView onToggleView;
private boolean showEmojies;
private ReactionsCallback reactionsCallback;
@@ -237,6 +241,14 @@ public class TimelineCommentsViewHolder extends BaseViewHolder {
case R.id.hurrayReaction:
reactionsModel.setHooray(!isReacted ? reactionsModel.getHooray() + 1 : reactionsModel.getHooray() - 1);
break;
+ case R.id.rocket:
+ case R.id.rocketReaction:
+ reactionsModel.setRocket(!isReacted ? reactionsModel.getRocket() + 1 : reactionsModel.getRocket() - 1);
+ break;
+ case R.id.eyes:
+ case R.id.eyeReaction:
+ reactionsModel.setEyes(!isReacted ? reactionsModel.getEyes() + 1 : reactionsModel.getEyes() - 1);
+ break;
}
comment.setReactions(reactionsModel);
appendEmojies(reactionsModel);
@@ -247,7 +259,7 @@ public class TimelineCommentsViewHolder extends BaseViewHolder {
private void appendEmojies(ReactionsModel reaction) {
CommentsHelper.appendEmojies(reaction, thumbsUp, thumbsUpReaction, thumbsDown, thumbsDownReaction, hurray, hurrayReaction, sad,
- sadReaction, laugh, laughReaction, heart, heartReaction, reactionsList);
+ sadReaction, laugh, laughReaction, heart, heartReaction, rocket, rocketReaction, eyes, eyeReaction, reactionsList);
}
private void onToggle(boolean expanded, boolean animate) {
diff --git a/app/src/main/res/layouts/row_layouts/layout/comments_dropdown_layout.xml b/app/src/main/res/layouts/row_layouts/layout/comments_dropdown_layout.xml
index f34974ef..2c50457e 100644
--- a/app/src/main/res/layouts/row_layouts/layout/comments_dropdown_layout.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/comments_dropdown_layout.xml
@@ -1,18 +1,17 @@
-
@@ -21,8 +20,8 @@
android:id="@+id/emojiesList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
+ android:layout_centerVertical="true"
android:scrollbarStyle="insideOverlay">
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+
+
+
+
diff --git a/app/src/main/res/layouts/row_layouts/layout/comments_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/comments_row_item.xml
index 04708ca3..9cccb9dc 100644
--- a/app/src/main/res/layouts/row_layouts/layout/comments_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/comments_row_item.xml
@@ -203,6 +203,29 @@
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/spacing_micro"
+ android:layout_gravity="center"
+ android:background="?android:selectableItemBackgroundBorderless"
+ android:gravity="center"
+ tools:text="100"/>
+
+
+
+
-
+ android:layout_marginStart="@dimen/avatar_margin"
+ android:layout_marginEnd="@dimen/avatar_margin_end" />
+ tools:text="When one acquires" />
+ tools:text="50 minutes" />
@@ -85,7 +84,7 @@
android:textColor="?android:attr/textColorSecondary"
android:visibility="gone"
tools:text="@string/owner"
- tools:visibility="visible"/>
+ tools:visibility="visible" />
+ android:src="@drawable/ic_add_emoji" />
+ android:src="@drawable/ic_overflow" />
-
+
+ android:layout_marginEnd="@dimen/spacing_xs_large"
+ android:layout_marginBottom="@dimen/spacing_micro"
+ android:textIsSelectable="true" />
+ android:visibility="gone"
+ tools:visibility="visible">
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+
+
+
+
@@ -214,13 +236,13 @@
android:id="@+id/labelsHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/spacing_normal"
- android:layout_marginEnd="@dimen/grid_spacing"
android:layout_marginStart="@dimen/grid_spacing"
android:layout_marginTop="@dimen/spacing_normal"
+ android:layout_marginEnd="@dimen/grid_spacing"
+ android:layout_marginBottom="@dimen/spacing_normal"
android:background="?card_background"
- android:paddingBottom="@dimen/spacing_normal"
android:paddingTop="@dimen/spacing_normal"
+ android:paddingBottom="@dimen/spacing_normal"
android:visibility="gone"
tools:visibility="visible">
@@ -229,7 +251,7 @@
style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:gravity="center"/>
+ android:gravity="center" />
\ No newline at end of file
diff --git a/app/src/main/res/layouts/row_layouts/layout/review_comments_row_item.xml b/app/src/main/res/layouts/row_layouts/layout/review_comments_row_item.xml
index da5229bd..143ccda3 100644
--- a/app/src/main/res/layouts/row_layouts/layout/review_comments_row_item.xml
+++ b/app/src/main/res/layouts/row_layouts/layout/review_comments_row_item.xml
@@ -1,12 +1,11 @@
-
+ android:layout_marginStart="@dimen/avatar_margin"
+ android:layout_marginEnd="@dimen/avatar_margin_end" />
+ tools:text="When one acquires" />
+ tools:text="50 minutes" />
@@ -76,7 +75,7 @@
android:textColor="?android:attr/textColorSecondary"
android:visibility="gone"
tools:text="@string/owner"
- tools:visibility="visible"/>
+ tools:visibility="visible" />
+ android:src="@drawable/ic_add_emoji" />
+ android:src="@drawable/ic_overflow" />
-
+
+ tools:text="Hello World" />
+ android:visibility="gone"
+ tools:visibility="visible">
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+ tools:text="100" />
+
+
+
+
From a0e2b15690d34705ec74afc27d6a1539387736cc Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 22:06:54 +0100
Subject: [PATCH 43/59] assign click and long click to reactions
---
.../ui/adapter/viewholder/IssueDetailsViewHolder.java | 8 ++++++++
.../ui/adapter/viewholder/ReviewCommentsViewHolder.java | 8 ++++++++
.../ui/adapter/viewholder/TimelineCommentsViewHolder.java | 8 ++++++++
3 files changed, 24 insertions(+)
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java
index 579b6903..354592a2 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssueDetailsViewHolder.java
@@ -117,6 +117,14 @@ public class IssueDetailsViewHolder extends BaseViewHolder {
thumbsUpReaction.setOnLongClickListener(this);
hurrayReaction.setOnLongClickListener(this);
heartReaction.setOnLongClickListener(this);
+ rocketReaction.setOnLongClickListener(this);
+ rocketReaction.setOnClickListener(this);
+ rocket.setOnLongClickListener(this);
+ rocket.setOnClickListener(this);
+ eyeReaction.setOnLongClickListener(this);
+ eyeReaction.setOnClickListener(this);
+ eyes.setOnLongClickListener(this);
+ eyes.setOnClickListener(this);
}
public static IssueDetailsViewHolder newInstance(@NonNull ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter,
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java
index da843e10..d3986904 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/ReviewCommentsViewHolder.java
@@ -126,6 +126,14 @@ public class ReviewCommentsViewHolder extends BaseViewHolder
thumbsUpReaction.setOnLongClickListener(this);
hurrayReaction.setOnLongClickListener(this);
heartReaction.setOnLongClickListener(this);
+ rocketReaction.setOnLongClickListener(this);
+ rocketReaction.setOnClickListener(this);
+ rocket.setOnLongClickListener(this);
+ rocket.setOnClickListener(this);
+ eyeReaction.setOnLongClickListener(this);
+ eyeReaction.setOnClickListener(this);
+ eyes.setOnLongClickListener(this);
+ eyes.setOnClickListener(this);
}
public static ReviewCommentsViewHolder newInstance(ViewGroup viewGroup, BaseRecyclerAdapter adapter,
diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java
index 993a8498..75616ad5 100644
--- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java
+++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/TimelineCommentsViewHolder.java
@@ -137,6 +137,14 @@ public class TimelineCommentsViewHolder extends BaseViewHolder {
thumbsUpReaction.setOnLongClickListener(this);
hurrayReaction.setOnLongClickListener(this);
heartReaction.setOnLongClickListener(this);
+ rocketReaction.setOnLongClickListener(this);
+ rocketReaction.setOnClickListener(this);
+ rocket.setOnLongClickListener(this);
+ rocket.setOnClickListener(this);
+ eyeReaction.setOnLongClickListener(this);
+ eyeReaction.setOnClickListener(this);
+ eyes.setOnLongClickListener(this);
+ eyes.setOnClickListener(this);
}
public static TimelineCommentsViewHolder newInstance(@NonNull ViewGroup viewGroup, @Nullable IssuesTimelineAdapter adapter,
From 9709baa13e39a8571fd898ef63a7eb7b21ef4b3e Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 22:24:00 +0100
Subject: [PATCH 44/59] fix posting reaction
---
app/src/main/AndroidManifest.xml | 1 -
.../data/dao/types/ReactionTypes.java | 10 ++
.../provider/tasks/git/ReactionService.java | 109 ------------------
.../provider/timeline/CommentsHelper.java | 11 +-
.../provider/timeline/ReactionsProvider.java | 8 +-
5 files changed, 16 insertions(+), 123 deletions(-)
delete mode 100644 app/src/main/java/com/fastaccess/provider/tasks/git/ReactionService.java
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 796c4f31..0ecf87ab 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -306,7 +306,6 @@
-
showNotification(getNotification(reactionType), (int) commentId))
- .subscribe(response -> hideNotification((int) commentId), throwable -> hideNotification((int) commentId));
- }
-
- private void postCommit(@NonNull ReactionTypes reactionType, @NonNull String login, @NonNull String repo, long commentId, boolean isEnterprise) {
- RxHelper.safeObservable(RestProvider.getReactionsService(isEnterprise)
- .postCommitReaction(new PostReactionModel(reactionType.getContent()), login, repo, commentId))
- .doOnSubscribe(disposable -> showNotification(getNotification(reactionType), (int) commentId))
- .subscribe(response -> hideNotification((int) commentId), throwable -> hideNotification((int) commentId));
- }
-
- public NotificationCompat.Builder getNotification(@NonNull ReactionTypes reactionTypes) {
- if (notification == null) {
- notification = new NotificationCompat.Builder(this, "reaction")
- .setSmallIcon(R.drawable.ic_sync)
- .setProgress(0, 100, true);
- }
- notification.setContentTitle(getString(R.string.posting_reaction, reactionTypes.getContent()));
- return notification;
- }
-
- public NotificationManager getNotificationManager() {
- if (notificationManager == null) {
- notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
- }
- return notificationManager;
- }
-
- private void showNotification(@NonNull NotificationCompat.Builder builder, int id) {
- getNotificationManager().notify(id, builder.build());
- }
-
- private void hideNotification(int id) {
- getNotificationManager().cancel(id);
- }
-}
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java b/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
index 727f3f49..9b9dba3f 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/CommentsHelper.java
@@ -1,28 +1,21 @@
package com.fastaccess.provider.timeline;
-import android.content.Context;
-
-import androidx.annotation.IdRes;
-import androidx.annotation.NonNull;
-
import android.view.View;
import android.widget.TextView;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
-import com.fastaccess.R;
import com.fastaccess.data.dao.ReactionsModel;
import com.fastaccess.data.dao.TimelineModel;
import com.fastaccess.data.dao.model.Comment;
import com.fastaccess.data.dao.types.ReactionTypes;
-import com.fastaccess.provider.tasks.git.ReactionService;
import com.fastaccess.ui.widgets.SpannableBuilder;
-import org.w3c.dom.Text;
-
import java.util.ArrayList;
import java.util.List;
+import androidx.annotation.NonNull;
+
/**
* Created by Kosh on 30 Mar 2017, 6:44 PM
*/
diff --git a/app/src/main/java/com/fastaccess/provider/timeline/ReactionsProvider.java b/app/src/main/java/com/fastaccess/provider/timeline/ReactionsProvider.java
index e185c5cc..7de56895 100644
--- a/app/src/main/java/com/fastaccess/provider/timeline/ReactionsProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/timeline/ReactionsProvider.java
@@ -50,19 +50,19 @@ public class ReactionsProvider {
switch (reactionType) {
case COMMENT:
observable = RestProvider.getReactionsService(isEnterprise)
- .postIssueCommentReaction(new PostReactionModel(reactionTypes.getContent()), login, repoId, idOrNumber);
+ .postIssueCommentReaction(new PostReactionModel(reactionTypes.getPostContent()), login, repoId, idOrNumber);
break;
case HEADER:
observable = RestProvider.getReactionsService(isEnterprise)
- .postIssueReaction(new PostReactionModel(reactionTypes.getContent()), login, repoId, idOrNumber);
+ .postIssueReaction(new PostReactionModel(reactionTypes.getPostContent()), login, repoId, idOrNumber);
break;
case REVIEW_COMMENT:
observable = RestProvider.getReactionsService(isEnterprise)
- .postCommentReviewReaction(new PostReactionModel(reactionTypes.getContent()), login, repoId, idOrNumber);
+ .postCommentReviewReaction(new PostReactionModel(reactionTypes.getPostContent()), login, repoId, idOrNumber);
break;
case COMMIT:
observable = RestProvider.getReactionsService(isEnterprise)
- .postCommitReaction(new PostReactionModel(reactionTypes.getContent()), login, repoId, idOrNumber);
+ .postCommitReaction(new PostReactionModel(reactionTypes.getPostContent()), login, repoId, idOrNumber);
break;
}
if (observable == null) return null;
From 0140b6502f0c8b851e2b1c74a8d1826ddec92233 Mon Sep 17 00:00:00 2001
From: k0shk0sh
Date: Fri, 27 Dec 2019 22:29:36 +0100
Subject: [PATCH 45/59] added changelog
---
app/src/main/res/raw/changelog.html | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/app/src/main/res/raw/changelog.html b/app/src/main/res/raw/changelog.html
index 056c8c18..b2782853 100644
--- a/app/src/main/res/raw/changelog.html
+++ b/app/src/main/res/raw/changelog.html
@@ -8,19 +8,20 @@
What’s new?
- - Fix Trending (Finally, I KNOW!)
- - Fix Wiki (I know, I know…)
- - Migrate to Androidx
+ - Added private Gist creation
+ - Added Rocket & Eyes reactions
+ - Added show file history to file menu (in addition to long click)
+ - Fixed Downloading files on Android 9+
+ - Fixed Thumbs up & down reaction listing
+ - Fixed as a collaborator now you can add comments on locked issues/prs
+ - Fixed crash in editing a comment in a gist
+ - Remove shrug from empty states
+ - Remove redundant unsubscribe button from notifications screen
+ - Replace Send Feedback with a button to FastHub Repo (Issue Tab)
+ - alot of other stuff I can’t remember!
- I hear you asking (So what happened)?
- Well, I was pretty much busy with life and work, but that’s not an excuse, I
- know!. TBH with you all, I started working on FastHub v5 beginning of last year and I did actually made a good progress but then crisis
- landed on me when my mom diagnosed with cancer and that really stroke me hard and demotivated me to even care about my own health, it
- took awhile for me to recover and start accepting this fact and i’m still trying to figure out ways to motivate myself more to progress
- on FastHub or anything in the Open Source Community.
- TL;DR: this is just a bug fix version and I will continue to fix bugs until V5 is ready for shipment.
-
- Thank you to all who have contributed either via reporting bugs or via code contribution.
-
+ I hear you asking (So what happened)?
+ Well, I was pretty much busy with life and work, but that’s not an excuse, I know!. TBH with you all, I started working on FastHub v5 beginning of last year and I did actually made a good progress but then crisis landed on me when my mom diagnostic with cancer and that really stroke me hard and demotivated me to even care about my own health, it took awhile for me to recover and start accepting this fact and i’m still trying to figure out way to motivate myself more to progress on FastHub or anything in the Open Source Community.
+ TL;DR: this is just a bug fix version and I will continue to fix bugs until V5 is ready for shipment.