mirror of
https://github.com/k0shk0sh/FastHub.git
synced 2025-12-08 19:05:54 +00:00
improving offline module and reading for 1.2.0
This commit is contained in:
parent
247a803e68
commit
11ddea1fd0
@ -27,8 +27,8 @@ android {
|
||||
applicationId "com.fastaccess.github"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 25
|
||||
versionCode 111
|
||||
versionName "1.1.1"
|
||||
versionCode 120
|
||||
versionName "1.2.0"
|
||||
signingConfig signingConfigs.signing
|
||||
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
|
||||
|
||||
@ -15,7 +15,6 @@ import io.requery.meta.EntityModel;
|
||||
import io.requery.rx.RxSupport;
|
||||
import io.requery.rx.SingleEntityStore;
|
||||
import io.requery.sql.Configuration;
|
||||
import io.requery.sql.ConfigurationBuilder;
|
||||
import io.requery.sql.EntityDataStore;
|
||||
import io.requery.sql.TableCreationMode;
|
||||
|
||||
@ -46,9 +45,7 @@ public class App extends MultiDexApplication {
|
||||
if (dataStore == null) {
|
||||
EntityModel model = Models.DEFAULT;
|
||||
DatabaseSource source = new DatabaseSource(this, model, "FastHub-DB", 1);
|
||||
Configuration configuration = new ConfigurationBuilder(source, model)
|
||||
.useDefaultLogging()
|
||||
.build();
|
||||
Configuration configuration = source.getConfiguration();
|
||||
if (BuildConfig.DEBUG) {
|
||||
source.setTableCreationMode(TableCreationMode.DROP_CREATE);
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.converters.UserConverter;
|
||||
|
||||
@ -61,79 +62,72 @@ import static com.fastaccess.data.dao.model.Comment.UPDATED_AT;
|
||||
.andThen(App.getInstance().getDataStore().insert(modelEntity).toCompletable());
|
||||
}
|
||||
|
||||
public static Completable saveForGist(@NonNull List<Comment> models, @NonNull String gistId) {
|
||||
public static Observable saveForGist(@NonNull List<Comment> models, @NonNull String gistId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Comment.class)
|
||||
singleEntityStore.delete(Comment.class)
|
||||
.where(GIST_ID.equal(gistId))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(model -> {
|
||||
model.setGistId(gistId);
|
||||
return model.save(model);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(model -> {
|
||||
model.setGistId(gistId);
|
||||
model.save(model).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable saveForCommits(@NonNull List<Comment> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String commitId) {
|
||||
public static Observable saveForCommits(@NonNull List<Comment> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String commitId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Comment.class)
|
||||
singleEntityStore.delete(Comment.class)
|
||||
.where(COMMIT_ID.equal(commitId)
|
||||
.and(REPO_ID.equal(repoId))
|
||||
.and(LOGIN.equal(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(model -> {
|
||||
model.setLogin(login);
|
||||
model.setRepoId(repoId);
|
||||
model.setCommitId(commitId);
|
||||
return model.save(model);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(model -> {
|
||||
model.setLogin(login);
|
||||
model.setRepoId(repoId);
|
||||
model.setCommitId(commitId);
|
||||
model.save(model).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable saveForIssues(@NonNull List<Comment> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String issueId) {
|
||||
public static Observable saveForIssues(@NonNull List<Comment> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String issueId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Comment.class)
|
||||
singleEntityStore.delete(Comment.class)
|
||||
.where(ISSUE_ID.equal(issueId)
|
||||
.and(REPO_ID.equal(repoId))
|
||||
.and(LOGIN.equal(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(model -> {
|
||||
model.setLogin(login);
|
||||
model.setRepoId(repoId);
|
||||
model.setIssueId(issueId);
|
||||
return model.save(model);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(model -> {
|
||||
model.setLogin(login);
|
||||
model.setRepoId(repoId);
|
||||
model.setIssueId(issueId);
|
||||
model.save(model).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable saveForPullRequest(@NonNull List<Comment> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String pullRequestId) {
|
||||
public static Observable saveForPullRequest(@NonNull List<Comment> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String pullRequestId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Comment.class)
|
||||
singleEntityStore.delete(Comment.class)
|
||||
.where(PULL_REQUEST_ID.equal(pullRequestId)
|
||||
.and(REPO_ID.equal(repoId))
|
||||
.and(LOGIN.equal(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(model -> {
|
||||
model.setLogin(login);
|
||||
model.setRepoId(repoId);
|
||||
model.setPullRequestId(pullRequestId);
|
||||
return model.save(model);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(model -> {
|
||||
model.setLogin(login);
|
||||
model.setRepoId(repoId);
|
||||
model.setPullRequestId(pullRequestId);
|
||||
model.save(model).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<Comment>> getGistComments(@NonNull String gistId) {
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.CommitFileListModel;
|
||||
import com.fastaccess.data.dao.CommitListModel;
|
||||
@ -63,40 +64,36 @@ public abstract class AbstractCommit implements Parcelable {
|
||||
.toCompletable();
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<Commit> models, @NonNull String repoId, @NonNull String login) {
|
||||
public static Observable save(@NonNull List<Commit> models, @NonNull String repoId, @NonNull String login) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Commit.class)
|
||||
singleEntityStore.delete(Commit.class)
|
||||
.where(REPO_ID.eq(repoId)
|
||||
.and(LOGIN.eq(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(commitModel -> {
|
||||
commitModel.setRepoId(repoId);
|
||||
commitModel.setLogin(login);
|
||||
return commitModel.save(commitModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(commitModel -> {
|
||||
commitModel.setRepoId(repoId);
|
||||
commitModel.setLogin(login);
|
||||
commitModel.save(commitModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<Commit> models, @NonNull String repoId, @NonNull String login, long number) {
|
||||
public static Observable save(@NonNull List<Commit> models, @NonNull String repoId, @NonNull String login, long number) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Commit.class)
|
||||
singleEntityStore.delete(Commit.class)
|
||||
.where(REPO_ID.eq(repoId)
|
||||
.and(LOGIN.eq(login))
|
||||
.and(PULL_REQUEST_NUMBER.eq(number)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(commitModel -> {
|
||||
commitModel.setRepoId(repoId);
|
||||
commitModel.setLogin(login);
|
||||
commitModel.setPullRequestNumber(number);
|
||||
return commitModel.save(commitModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(commitModel -> {
|
||||
commitModel.setRepoId(repoId);
|
||||
commitModel.setLogin(login);
|
||||
commitModel.setPullRequestNumber(number);
|
||||
commitModel.save(commitModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<Commit>> getCommits(@NonNull String repoId, @NonNull String login) {
|
||||
|
||||
@ -70,6 +70,7 @@ import rx.Observable;
|
||||
public static Completable save(@NonNull List<Gist> gists) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Gist.class)
|
||||
.where(Gist.OWNER_NAME.isNull())
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
@ -78,19 +79,17 @@ import rx.Observable;
|
||||
.toCompletable();
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<Gist> gists, @NonNull String ownerName) {
|
||||
public static Observable save(@NonNull List<Gist> gists, @NonNull String ownerName) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Gist.class)
|
||||
singleEntityStore.delete(Gist.class)
|
||||
.where(Gist.OWNER_NAME.equal(ownerName))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(gists)
|
||||
.map(gistsModel -> {
|
||||
gistsModel.setOwnerName(ownerName);
|
||||
return gistsModel.save(gistsModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(gists)
|
||||
.forEach(gistsModel -> {
|
||||
gistsModel.setOwnerName(ownerName);
|
||||
gistsModel.save(gistsModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
@NonNull public static Observable<List<Gist>> getMyGists(@NonNull String ownerName) {
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.LabelListModel;
|
||||
import com.fastaccess.data.dao.MilestoneModel;
|
||||
@ -77,22 +78,19 @@ import static com.fastaccess.data.dao.model.Issue.UPDATED_AT;
|
||||
.toCompletable());
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<Issue> models, @NonNull String repoId, @NonNull String login) {
|
||||
public static Observable save(@NonNull List<Issue> models, @NonNull String repoId, @NonNull String login) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Issue.class)
|
||||
singleEntityStore.delete(Issue.class)
|
||||
.where(REPO_ID.equal(repoId)
|
||||
.and(LOGIN.equal(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(issueModel -> {
|
||||
issueModel.setRepoId(repoId);
|
||||
issueModel.setLogin(login);
|
||||
return issueModel.save(issueModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(issueModel -> {
|
||||
issueModel.setRepoId(repoId);
|
||||
issueModel.setLogin(login);
|
||||
issueModel.save(issueModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<Issue>> getIssues(@NonNull String repoId, @NonNull String login, @NonNull IssueState issueState) {
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.LabelModel;
|
||||
import com.fastaccess.data.dao.MilestoneModel;
|
||||
@ -68,24 +69,22 @@ import static com.fastaccess.data.dao.model.IssueEvent.REPO_ID;
|
||||
.toCompletable());
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<IssueEvent> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String issueId) {
|
||||
public static Observable save(@NonNull List<IssueEvent> models, @NonNull String repoId,
|
||||
@NonNull String login, @NonNull String issueId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(IssueEvent.class)
|
||||
singleEntityStore.delete(IssueEvent.class)
|
||||
.where(LOGIN.equal(login)
|
||||
.and(REPO_ID.equal(repoId))
|
||||
.and(ISSUE_ID.equal(issueId)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(issueEventModel -> {
|
||||
issueEventModel.setIssueId(issueId);
|
||||
issueEventModel.setLogin(login);
|
||||
issueEventModel.setRepoId(repoId);
|
||||
return issueEventModel.save(issueEventModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(issueEventModel -> {
|
||||
issueEventModel.setIssueId(issueId);
|
||||
issueEventModel.setLogin(login);
|
||||
issueEventModel.setRepoId(repoId);
|
||||
issueEventModel.save(issueEventModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<IssueEvent>> get(@NonNull String repoId, @NonNull String login,
|
||||
|
||||
@ -3,6 +3,7 @@ package com.fastaccess.data.dao.model;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.NotificationSubjectModel;
|
||||
import com.fastaccess.data.dao.converters.NotificationSubjectConverter;
|
||||
@ -48,15 +49,13 @@ import rx.Observable;
|
||||
.toCompletable());
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<Notification> models) {
|
||||
public static Observable<Object> save(@NonNull List<Notification> models) {
|
||||
SingleEntityStore<Persistable> dataSource = App.getInstance().getDataStore();
|
||||
return dataSource.delete(Notification.class)
|
||||
dataSource.delete(Notification.class)
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(notification -> notification.save(notification)))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(notification -> notification.save(notification).toObservable().toBlocking().singleOrDefault(null)));
|
||||
}
|
||||
|
||||
public static Observable<List<Notification>> getNotifications() {
|
||||
|
||||
@ -5,6 +5,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.R;
|
||||
import com.fastaccess.data.dao.LabelListModel;
|
||||
@ -96,21 +97,19 @@ import static com.fastaccess.data.dao.model.PullRequest.UPDATED_AT;
|
||||
.toCompletable());
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<PullRequest> models, @NonNull String repoId, @NonNull String login) {
|
||||
public static Observable save(@NonNull List<PullRequest> models, @NonNull String repoId, @NonNull String login) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(PullRequest.class)
|
||||
singleEntityStore.delete(PullRequest.class)
|
||||
.where(REPO_ID.equal(repoId)
|
||||
.and(LOGIN.equal(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(pulRequest -> {
|
||||
pulRequest.setRepoId(repoId);
|
||||
pulRequest.setLogin(login);
|
||||
return pulRequest.save(pulRequest);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(pulRequest -> {
|
||||
pulRequest.setRepoId(repoId);
|
||||
pulRequest.setLogin(login);
|
||||
pulRequest.save(pulRequest).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<PullRequest>> getPullRequests(@NonNull String repoId, @NonNull String login,
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.ReleasesAssetsListModel;
|
||||
import com.fastaccess.data.dao.converters.ReleasesAssetsConverter;
|
||||
@ -65,20 +66,18 @@ public abstract class AbstractRelease implements Parcelable {
|
||||
.toCompletable());
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<Release> models, @NonNull String repoId, @NonNull String login) {
|
||||
public static Observable save(@NonNull List<Release> models, @NonNull String repoId, @NonNull String login) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Release.class)
|
||||
singleEntityStore.delete(Release.class)
|
||||
.where(REPO_ID.eq(login))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(releasesModel -> {
|
||||
releasesModel.setRepoId(repoId);
|
||||
releasesModel.setLogin(login);
|
||||
return releasesModel.save(releasesModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(releasesModel -> {
|
||||
releasesModel.setRepoId(repoId);
|
||||
releasesModel.setLogin(login);
|
||||
releasesModel.save(releasesModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.LicenseModel;
|
||||
import com.fastaccess.data.dao.RepoPermissionsModel;
|
||||
@ -139,34 +140,30 @@ import static com.fastaccess.data.dao.model.Repo.UPDATED_AT;
|
||||
.firstOrNull();
|
||||
}
|
||||
|
||||
public static Completable saveStarred(@NonNull List<Repo> models, @NonNull String starredUser) {
|
||||
public static Observable saveStarred(@NonNull List<Repo> models, @NonNull String starredUser) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Repo.class)
|
||||
singleEntityStore.delete(Repo.class)
|
||||
.where(STARRED_USER.eq(starredUser))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(repoModel -> {
|
||||
repoModel.setStarredUser(starredUser);
|
||||
return repoModel.save(repoModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(repo -> {
|
||||
repo.setStarredUser(starredUser);
|
||||
repo.save(repo).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable saveMyRepos(@NonNull List<Repo> models, @NonNull String reposOwner) {
|
||||
public static Observable saveMyRepos(@NonNull List<Repo> models, @NonNull String reposOwner) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(Repo.class)
|
||||
singleEntityStore.delete(Repo.class)
|
||||
.where(REPOS_OWNER.eq(reposOwner))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(repoModel -> {
|
||||
repoModel.setReposOwner(reposOwner);
|
||||
return repoModel.save(repoModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(repo -> {
|
||||
repo.setReposOwner(reposOwner);
|
||||
repo.save(repo).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<Repo>> getStarred(@NonNull String starredUser) {
|
||||
|
||||
@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
import com.fastaccess.data.dao.types.FilesType;
|
||||
|
||||
@ -48,21 +49,19 @@ import static com.fastaccess.data.dao.model.RepoFile.TYPE;
|
||||
.toCompletable();
|
||||
}
|
||||
|
||||
public static Completable save(@NonNull List<RepoFile> models, @NonNull String login, @NonNull String repoId) {
|
||||
public static Observable save(@NonNull List<RepoFile> models, @NonNull String login, @NonNull String repoId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(RepoFile.class)
|
||||
singleEntityStore.delete(RepoFile.class)
|
||||
.where(REPO_ID.eq(repoId)
|
||||
.and(LOGIN.eq(login)))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(filesModel -> {
|
||||
filesModel.setRepoId(repoId);
|
||||
filesModel.setLogin(login);
|
||||
return filesModel.save(filesModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(filesModel -> {
|
||||
filesModel.setRepoId(repoId);
|
||||
filesModel.setLogin(login);
|
||||
filesModel.save(filesModel).toObservable().toBlocking().singleOrDefault(null);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Observable<List<RepoFile>> getFiles(@NonNull String login, @NonNull String repoId) {
|
||||
|
||||
@ -5,6 +5,7 @@ import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fastaccess.App;
|
||||
|
||||
import java.util.Date;
|
||||
@ -110,49 +111,43 @@ public abstract class AbstractUser implements Parcelable {
|
||||
.firstOrNull();
|
||||
}
|
||||
|
||||
public static Completable saveUserFollowerList(@NonNull List<User> models, @NonNull String followingName) {
|
||||
public static Observable saveUserFollowerList(@NonNull List<User> models, @NonNull String followingName) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(User.class)
|
||||
singleEntityStore.delete(User.class)
|
||||
.where(FOLLOWING_NAME.eq(followingName))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(userModel -> {
|
||||
userModel.setFollowingName(followingName);
|
||||
return userModel.saveToCompletable(userModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(userModel -> {
|
||||
userModel.setFollowingName(followingName);
|
||||
userModel.save(userModel);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable saveUserFollowingList(@NonNull List<User> models, @NonNull String followerName) {
|
||||
public static Observable saveUserFollowingList(@NonNull List<User> models, @NonNull String followerName) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(User.class)
|
||||
singleEntityStore.delete(User.class)
|
||||
.where(FOLLOWER_NAME.eq(followerName))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(userModel -> {
|
||||
userModel.setFollowerName(followerName);
|
||||
return userModel.saveToCompletable(userModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(userModel -> {
|
||||
userModel.setFollowerName(followerName);
|
||||
userModel.save(userModel);
|
||||
}));
|
||||
}
|
||||
|
||||
public static Completable saveUserContributorList(@NonNull List<User> models, @NonNull String repoId) {
|
||||
public static Observable saveUserContributorList(@NonNull List<User> models, @NonNull String repoId) {
|
||||
SingleEntityStore<Persistable> singleEntityStore = App.getInstance().getDataStore();
|
||||
return singleEntityStore.delete(User.class)
|
||||
singleEntityStore.delete(User.class)
|
||||
.where(REPO_ID.eq(repoId))
|
||||
.get()
|
||||
.toSingle()
|
||||
.toCompletable()
|
||||
.andThen(Observable.from(models)
|
||||
.map(userModel -> {
|
||||
userModel.setRepoId(repoId);
|
||||
return userModel.saveToCompletable(userModel);
|
||||
}))
|
||||
.toCompletable();
|
||||
.value();
|
||||
return Observable.create(subscriber -> Stream.of(models)
|
||||
.forEach(userModel -> {
|
||||
userModel.setRepoId(repoId);
|
||||
userModel.save(userModel);
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ public class NotificationSchedulerJobTask extends JobService {
|
||||
private void onSave(@Nullable List<Notification> notificationThreadModels) {
|
||||
if (notificationThreadModels != null) {
|
||||
Notification.save(notificationThreadModels)
|
||||
.subscribe(() -> onNotifyUser(notificationThreadModels));
|
||||
.subscribe(o -> onNotifyUser(notificationThreadModels));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user