use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class PullRequestPagerPresenter method callApi.
private void callApi() {
Login loggedInUser = Login.getUser();
if (loggedInUser == null)
return;
makeRestCall(RxHelper.getObservable(Observable.zip(RestProvider.getPullRequestService(isEnterprise()).getPullRequest(login, repoId, issueNumber), RestProvider.getRepoService(isEnterprise()).isCollaborator(login, repoId, loggedInUser.getLogin()), RestProvider.getIssueService(isEnterprise()).getIssue(login, repoId, issueNumber), (pullRequestModel, booleanResponse, issue) -> {
this.pullRequest = pullRequestModel;
if (issue != null) {
this.pullRequest.setReactions(issue.getReactions());
this.pullRequest.setTitle(issue.getTitle());
this.pullRequest.setBody(issue.getBody());
this.pullRequest.setBodyHtml(issue.getBodyHtml());
}
this.pullRequest.setLogin(login);
this.pullRequest.setRepoId(repoId);
isCollaborator = booleanResponse.code() == 204;
return pullRequest;
})), pullRequest -> {
sendToView(view -> view.onSetupIssue(false));
manageDisposable(PinnedPullRequests.updateEntry(pullRequest.getId()));
manageObservable(pullRequest.save(pullRequest).toObservable());
});
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class UserPagerActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Login currentUser = Login.getUser();
if (currentUser == null) {
onRequireLogin();
return;
}
if (savedInstanceState == null) {
if (getIntent() != null && getIntent().getExtras() != null) {
login = getIntent().getExtras().getString(BundleConstant.EXTRA);
isOrg = getIntent().getExtras().getBoolean(BundleConstant.EXTRA_TYPE);
index = getIntent().getExtras().getInt(BundleConstant.EXTRA_TWO, -1);
if (!InputHelper.isEmpty(login)) {
if (isOrg) {
getPresenter().checkOrgMembership(login);
} else {
if (!Login.getUser().getLogin().equalsIgnoreCase(login))
getPresenter().onCheckBlocking(login);
}
}
} else {
Login user = Login.getUser();
if (user == null) {
onRequireLogin();
return;
}
login = user.getLogin();
}
}
if (InputHelper.isEmpty(login)) {
finish();
return;
}
setTaskName(login);
setTitle(login);
if (login.equalsIgnoreCase(currentUser.getLogin())) {
selectProfile();
}
if (!isOrg) {
FragmentsPagerAdapter adapter = new FragmentsPagerAdapter(getSupportFragmentManager(), FragmentPagerAdapterModel.buildForProfile(this, login));
pager.setAdapter(adapter);
tabs.setTabGravity(TabLayout.GRAVITY_FILL);
tabs.setTabMode(TabLayout.MODE_SCROLLABLE);
tabs.setupWithViewPager(pager);
if (savedInstanceState == null) {
if (index != -1) {
pager.setCurrentItem(index);
}
}
} else {
if (getPresenter().getIsMember() == -1) {
getPresenter().checkOrgMembership(login);
} else {
onInitOrg(getPresenter().isMember == 1);
}
}
tabs.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager) {
@Override
public void onTabReselected(TabLayout.Tab tab) {
super.onTabReselected(tab);
onScrollTop(tab.getPosition());
}
});
pager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
hideShowFab(position);
}
});
if (!isOrg) {
if (savedInstanceState != null && !counts.isEmpty()) {
Stream.of(counts).forEach(this::updateCount);
}
}
hideShowFab(pager.getCurrentItem());
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class PullRequestTimelinePresenter method onHandleDeletion.
@Override
public void onHandleDeletion(@Nullable Bundle bundle) {
if (getView() == null || getView().getPullRequest() == null)
return;
if (bundle != null) {
PullRequest pullRequest = getView().getPullRequest();
String login = pullRequest.getLogin();
String repoId = pullRequest.getRepoId();
long commId = bundle.getLong(BundleConstant.EXTRA, 0);
boolean isReviewComment = bundle.getBoolean(BundleConstant.YES_NO_EXTRA);
if (commId != 0 && !isReviewComment) {
makeRestCall(RestProvider.getIssueService(isEnterprise()).deleteIssueComment(login, repoId, commId), booleanResponse -> sendToView(view -> {
if (booleanResponse.code() == 204) {
Comment comment = new Comment();
comment.setId(commId);
view.onRemove(TimelineModel.constructComment(comment));
} else {
view.showMessage(R.string.error, R.string.error_deleting_comment);
}
}));
} else {
int groupPosition = bundle.getInt(BundleConstant.EXTRA_TWO);
int commentPosition = bundle.getInt(BundleConstant.EXTRA_THREE);
makeRestCall(RestProvider.getReviewService(isEnterprise()).deleteComment(login, repoId, commId), booleanResponse -> sendToView(view -> {
if (booleanResponse.code() == 204) {
view.onRemoveReviewComment(groupPosition, commentPosition);
} else {
view.showMessage(R.string.error, R.string.error_deleting_comment);
}
}));
}
}
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class NotificationSchedulerJobTask method onStartJob.
@Override
public boolean onStartJob(JobParameters job) {
if (!SINGLE_JOB_ID.equalsIgnoreCase(job.getTag())) {
if (PrefGetter.getNotificationTaskDuration() == -1) {
scheduleJob(this, -1, false);
finishJob(job);
return true;
}
}
Login login = null;
try {
login = Login.getUser();
} catch (Exception ignored) {
}
if (login != null) {
RestProvider.getNotificationService(PrefGetter.isEnterprise()).getNotifications(ParseDateFormat.getLastWeekDate()).subscribeOn(Schedulers.io()).subscribe(item -> {
AppHelper.cancelAllNotifications(getApplicationContext());
if (item != null) {
onSave(item.getItems(), job);
} else {
finishJob(job);
}
}, throwable -> jobFinished(job, true));
}
return true;
}
Aggregations