mirror of
https://github.com/k0shk0sh/FastHub.git
synced 2026-02-01 15:56:14 +00:00
fixed commit referring linking in issue/pullrequest.
This commit is contained in:
parent
6643b71d0d
commit
b5f940aff4
@ -11,7 +11,6 @@ import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.helper.ActivityHelper;
|
||||
import com.fastaccess.helper.InputHelper;
|
||||
import com.fastaccess.helper.Logger;
|
||||
import com.fastaccess.ui.modules.code.CodeViewerView;
|
||||
import com.fastaccess.ui.modules.gists.gist.GistView;
|
||||
import com.fastaccess.ui.modules.repos.RepoPagerView;
|
||||
@ -101,8 +100,9 @@ public class SchemeParser {
|
||||
Intent issueIntent = getIssueIntent(context, data);
|
||||
Intent repoIntent = getRepo(context, data);
|
||||
Intent commit = getCommit(context, data);
|
||||
Intent commits = getCommits(context, data);
|
||||
Intent blob = getBlob(context, data);
|
||||
Optional<Intent> intentOptional = returnNonNull(userIntent, pullRequestIntent, commit, issueIntent, repoIntent, blob);
|
||||
Optional<Intent> intentOptional = returnNonNull(userIntent, pullRequestIntent, commit, commits, issueIntent, repoIntent, blob);
|
||||
Optional<Intent> empty = Optional.empty();
|
||||
if (intentOptional != null && intentOptional.isPresent() && intentOptional != empty)
|
||||
return intentOptional.get();
|
||||
@ -156,6 +156,18 @@ public class SchemeParser {
|
||||
return RepoPagerView.createIntent(context, repoName, owner);
|
||||
}
|
||||
|
||||
@Nullable private static Intent getCommits(@NonNull Context context, @NonNull Uri uri) {
|
||||
List<String> segments = uri.getPathSegments();
|
||||
if (segments == null || segments.isEmpty() || segments.size() < 4) return null;
|
||||
if (segments.get(3).equals("commits")) {
|
||||
String login = segments.get(1);
|
||||
String repoId = segments.get(2);
|
||||
String sha = segments.get(4);
|
||||
return CommitPagerView.createIntent(context, repoId, login, sha);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable private static Intent getCommit(@NonNull Context context, @NonNull Uri uri) {
|
||||
List<String> segments = uri.getPathSegments();
|
||||
if (segments == null || segments.size() < 4 || !"commit".equals(segments.get(2))) return null;
|
||||
@ -186,7 +198,6 @@ public class SchemeParser {
|
||||
String fullUrl = uri.toString();
|
||||
return CodeViewerView.createIntent(context, fullUrl);
|
||||
}
|
||||
Logger.e(uri);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.fastaccess.ui.modules.repos.issues.issue.details.events;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
@ -9,10 +9,9 @@ import android.view.View;
|
||||
import com.fastaccess.data.dao.IssueEventAdapterModel;
|
||||
import com.fastaccess.data.dao.IssueEventModel;
|
||||
import com.fastaccess.data.dao.IssueModel;
|
||||
import com.fastaccess.helper.ActivityHelper;
|
||||
import com.fastaccess.helper.BundleConstant;
|
||||
import com.fastaccess.helper.Logger;
|
||||
import com.fastaccess.provider.rest.RestProvider;
|
||||
import com.fastaccess.provider.scheme.SchemeParser;
|
||||
import com.fastaccess.ui.base.mvp.presenter.BasePresenter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -65,14 +64,10 @@ class IssueDetailsPresenter extends BasePresenter<IssueDetailsMvp.View> implemen
|
||||
}
|
||||
|
||||
@Override public void onItemClick(int position, View v, IssueEventAdapterModel item) {
|
||||
Logger.e(item.getType());
|
||||
if (item.getType() != IssueEventAdapterModel.HEADER) {
|
||||
IssueEventModel issueEventModel = item.getIssueEvent();
|
||||
if (issueEventModel.getCommitUrl() != null) {
|
||||
Activity activity = ActivityHelper.getActivity(v.getContext());
|
||||
if (activity != null) {
|
||||
ActivityHelper.startCustomTab(activity, issueEventModel.getCommitUrl());
|
||||
}
|
||||
SchemeParser.launchUri(v.getContext(), Uri.parse(issueEventModel.getCommitUrl()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.events;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
@ -10,10 +10,10 @@ import com.fastaccess.data.dao.IssueEventAdapterModel;
|
||||
import com.fastaccess.data.dao.IssueEventModel;
|
||||
import com.fastaccess.data.dao.PullRequestAdapterModel;
|
||||
import com.fastaccess.data.dao.PullRequestModel;
|
||||
import com.fastaccess.helper.ActivityHelper;
|
||||
import com.fastaccess.helper.BundleConstant;
|
||||
import com.fastaccess.helper.Logger;
|
||||
import com.fastaccess.provider.rest.RestProvider;
|
||||
import com.fastaccess.provider.scheme.SchemeParser;
|
||||
import com.fastaccess.ui.base.mvp.presenter.BasePresenter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -45,12 +45,9 @@ class PullRequestDetailsPresenter extends BasePresenter<PullRequestDetailsMvp.Vi
|
||||
@Override public void onItemClick(int position, View v, PullRequestAdapterModel item) {
|
||||
Logger.e(item.getType());
|
||||
if (item.getType() != IssueEventAdapterModel.HEADER) {
|
||||
IssueEventModel issueEventModel = item.getIssueEvent();
|
||||
if (issueEventModel.getCommitUrl() != null) {
|
||||
Activity activity = ActivityHelper.getActivity(v.getContext());
|
||||
if (activity != null) {
|
||||
ActivityHelper.startCustomTab(activity, issueEventModel.getCommitUrl());
|
||||
}
|
||||
IssueEventModel pullEvent = item.getIssueEvent();
|
||||
if (pullEvent.getCommitUrl() != null) {
|
||||
SchemeParser.launchUri(v.getContext(), Uri.parse(pullEvent.getCommitUrl()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user