Skip to content
Snippets Groups Projects
Commit ff5b092b authored by Jawnnypoo's avatar Jawnnypoo
Browse files

RxJava -> RxJava 2.x

parent c6508844
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 250 additions and 425 deletions
Loading
Loading
@@ -80,12 +80,12 @@ dependencies {
compile 'com.android.support:palette-v7:25.0.1'
compile 'com.android.support:customtabs:25.0.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
compile('com.squareup.retrofit2:converter-simplexml:2.1.0') {
exclude group: 'xpp3', module: 'xpp3'
exclude group: 'stax', module: 'stax-api'
exclude group: 'stax', module: 'stax'
}
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
compile 'com.github.aurae.retrofit2:converter-logansquare:1.4.1'
compile 'com.github.Commit451:RetrofitProguardRules:2.1.0.0'
Loading
Loading
@@ -95,10 +95,9 @@ dependencies {
compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.github.Commit451:EventBusProGuardRules:3.0.0.0'
compile 'io.reactivex:rxjava:1.2.3'
compile 'com.artemzin.rxjava:proguard-rules:1.2.3.0'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'com.trello:rxlifecycle-components:1.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.trello.rxlifecycle2:rxlifecycle-components:2.0.1'
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'com.jakewharton.timber:timber:4.3.1'
Loading
Loading
@@ -107,6 +106,8 @@ dependencies {
compile 'net.danlew:android.joda:2.9.5.1'
compile 'org.parceler:parceler-api:1.1.6'
annotationProcessor 'org.parceler:parceler:1.1.6'
compile 'com.github.Commit451.Reptar:reptar:1.0.1@aar'
compile 'com.github.Commit451.Reptar:reptar-retrofit:1.0.1@aar'
compile 'com.github.Commit451:bypasses:1.0.4'
compile 'com.github.Commit451:ElasticDragDismissLayout:1.0.4'
compile 'com.github.Commit451.AdapterLayout:adapterlayout:1.1.0'
Loading
Loading
@@ -116,7 +117,6 @@ dependencies {
compile 'com.github.Commit451:Teleprinter:1.0.2'
compile 'com.github.Commit451:BypassPicassoImageGetter:1.1.1'
compile 'com.github.Commit451:Jounce:1.0.1'
compile 'com.github.Commit451:EasyCallback:2.1.1'
compile 'com.github.Commit451:ForegroundViews:2.3.1'
compile 'com.github.Commit451:MorphTransitions:2.0.0'
compile 'com.github.Commit451:Alakazam:0.0.1'
Loading
Loading
Loading
Loading
@@ -23,6 +23,7 @@ import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.ImageUtil;
import com.commit451.gitlab.util.IntentUtil;
import com.commit451.gitlab.view.PhysicsFlowLayout;
import com.commit451.reptar.FocusedSingleObserver;
import com.jawnnypoo.physicslayout.Physics;
import com.jawnnypoo.physicslayout.PhysicsConfig;
import com.wefika.flowlayout.FlowLayout;
Loading
Loading
@@ -35,9 +36,8 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import de.hdodenhof.circleimageview.CircleImageView;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -113,10 +113,7 @@ public class AboutActivity extends BaseActivity {
.compose(this.<List<Contributor>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Contributor>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<List<Contributor>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -127,7 +124,7 @@ public class AboutActivity extends BaseActivity {
}
 
@Override
public void onNext(List<Contributor> contributors) {
public void onSuccess(List<Contributor> contributors) {
mProgress.setVisibility(View.GONE);
addContributors(Contributor.groupContributors(contributors));
}
Loading
Loading
Loading
Loading
@@ -32,6 +32,8 @@ import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.model.api.Milestone;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.reptar.FocusedSingleObserver;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
import com.commit451.teleprinter.Teleprinter;
 
import org.parceler.Parcels;
Loading
Loading
@@ -43,12 +45,10 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import retrofit2.adapter.rxjava.HttpException;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -178,10 +178,7 @@ public class AddIssueActivity extends MorphActivity {
.compose(this.<Response<List<Milestone>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Milestone>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Milestone>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -191,28 +188,22 @@ public class AddIssueActivity extends MorphActivity {
}
 
@Override
public void onNext(Response<List<Milestone>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Milestone> milestones) {
mMilestoneProgress.setVisibility(View.GONE);
mMilestoneSpinner.setVisibility(View.VISIBLE);
MilestoneSpinnerAdapter milestoneSpinnerAdapter = new MilestoneSpinnerAdapter(AddIssueActivity.this, listResponse.body());
MilestoneSpinnerAdapter milestoneSpinnerAdapter = new MilestoneSpinnerAdapter(AddIssueActivity.this, milestones);
mMilestoneSpinner.setAdapter(milestoneSpinnerAdapter);
if (mIssue != null) {
mMilestoneSpinner.setSelection(milestoneSpinnerAdapter.getSelectedItemPosition(mIssue.getMilestone()));
}
}
});
App.get().getGitLab().getProjectMembers(mProject.getId())
.compose(this.<Response<List<Member>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Member>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Member>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -222,21 +213,14 @@ public class AddIssueActivity extends MorphActivity {
}
 
@Override
public void onNext(Response<List<Member>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
mMembers.addAll(listResponse.body());
protected void onResponseSuccess(List<Member> members) {
mMembers.addAll(members);
if (mProject.belongsToGroup()) {
Timber.d("Project belongs to a group, loading those users too");
App.get().getGitLab().getGroupMembers(mProject.getNamespace().getId())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Member>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Member>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -246,12 +230,8 @@ public class AddIssueActivity extends MorphActivity {
}
 
@Override
public void onNext(Response<List<Member>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
mMembers.addAll(listResponse.body());
protected void onResponseSuccess(List<Member> members) {
mMembers.addAll(members);
setAssignees();
}
});
Loading
Loading
@@ -264,10 +244,7 @@ public class AddIssueActivity extends MorphActivity {
.compose(this.<List<Label>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Label>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<List<Label>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -278,7 +255,7 @@ public class AddIssueActivity extends MorphActivity {
}
 
@Override
public void onNext(List<Label> labels) {
public void onSuccess(List<Label> labels) {
mLabelsProgress.setVisibility(View.GONE);
mRootAddLabels.setVisibility(View.VISIBLE);
setLabels(labels);
Loading
Loading
@@ -425,13 +402,10 @@ public class AddIssueActivity extends MorphActivity {
}
}
 
private void observeUpdate(Observable<Issue> observable) {
private void observeUpdate(Single<Issue> observable) {
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Issue>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Issue>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -441,7 +415,7 @@ public class AddIssueActivity extends MorphActivity {
}
 
@Override
public void onNext(Issue issue) {
public void onSuccess(Issue issue) {
if (mIssue == null) {
App.bus().post(new IssueCreatedEvent(issue));
} else {
Loading
Loading
Loading
Loading
@@ -18,6 +18,7 @@ import com.commit451.gitlab.adapter.LabelAdapter;
import com.commit451.gitlab.model.api.Label;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.viewHolder.LabelViewHolder;
import com.commit451.reptar.FocusedSingleObserver;
 
import org.parceler.Parcels;
 
Loading
Loading
@@ -25,11 +26,12 @@ import java.util.List;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
import static com.commit451.gitlab.R.string.labels;
/**
* Add labels!
*/
Loading
Loading
@@ -67,7 +69,7 @@ public class AddLabelActivity extends BaseActivity {
ButterKnife.bind(this);
 
mProjectId = getIntent().getLongExtra(KEY_PROJECT_ID, -1);
mToolbar.setTitle(R.string.labels);
mToolbar.setTitle(labels);
mToolbar.inflateMenu(R.menu.menu_add_label);
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
Loading
Loading
@@ -123,10 +125,7 @@ public class AddLabelActivity extends BaseActivity {
.compose(this.<List<Label>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Label>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<List<Label>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -136,7 +135,7 @@ public class AddLabelActivity extends BaseActivity {
}
 
@Override
public void onNext(List<Label> labels) {
public void onSuccess(List<Label> labels) {
mSwipeRefreshLayout.setRefreshing(false);
if (labels.isEmpty()) {
mTextMessage.setVisibility(View.VISIBLE);
Loading
Loading
Loading
Loading
@@ -20,6 +20,7 @@ import com.commit451.gitlab.R;
import com.commit451.gitlab.event.MilestoneChangedEvent;
import com.commit451.gitlab.event.MilestoneCreatedEvent;
import com.commit451.gitlab.model.api.Milestone;
import com.commit451.reptar.FocusedSingleObserver;
import com.commit451.teleprinter.Teleprinter;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
 
Loading
Loading
@@ -31,10 +32,9 @@ import java.util.Date;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
public class AddMilestoneActivity extends MorphActivity {
Loading
Loading
@@ -169,14 +169,11 @@ public class AddMilestoneActivity extends MorphActivity {
 
}
 
private void createOrEditMilestone(Observable<Milestone> observable) {
private void createOrEditMilestone(Single<Milestone> observable) {
observable.subscribeOn(Schedulers.io())
.compose(this.<Milestone>bindToLifecycle())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Milestone>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Milestone>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -186,7 +183,7 @@ public class AddMilestoneActivity extends MorphActivity {
}
 
@Override
public void onNext(Milestone milestone) {
public void onSuccess(Milestone milestone) {
mProgress.setVisibility(View.GONE);
if (mMilestone == null) {
App.bus().post(new MilestoneCreatedEvent(milestone));
Loading
Loading
Loading
Loading
@@ -23,15 +23,17 @@ import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.Label;
import com.commit451.gitlab.util.ColorUtil;
import com.commit451.gitlab.util.Validator;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
import com.jakewharton.retrofit2.adapter.rxjava2.HttpException;
 
import org.parceler.Parcels;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -131,19 +133,16 @@ public class AddNewLabelActivity extends BaseActivity implements ColorChooserDia
mProgress.setAlpha(0.0f);
mProgress.animate().alpha(1.0f);
App.get().getGitLab().createLabel(getProjectId(), title, color, description)
.compose(this.<Label>bindToLifecycle())
.compose(this.<Response<Label>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Label>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<Label>() {
 
@Override
public void onError(Throwable e) {
Timber.e(e);
mProgress.setVisibility(View.GONE);
if (e instanceof retrofit2.adapter.rxjava.HttpException && ((retrofit2.adapter.rxjava.HttpException) e).response().code() == 409) {
if (e instanceof HttpException && ((HttpException) e).response().code() == 409) {
Snackbar.make(mRoot, R.string.label_already_exists, Snackbar.LENGTH_SHORT)
.show();
} else {
Loading
Loading
@@ -153,7 +152,7 @@ public class AddNewLabelActivity extends BaseActivity implements ColorChooserDia
}
 
@Override
public void onNext(Label label) {
protected void onResponseSuccess(Label label) {
Intent data = new Intent();
data.putExtra(KEY_NEW_LABEL, Parcels.wrap(label));
setResult(RESULT_OK, data);
Loading
Loading
Loading
Loading
@@ -29,6 +29,8 @@ import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.model.api.UserBasic;
import com.commit451.gitlab.util.LinkHeaderParser;
import com.commit451.gitlab.viewHolder.UserViewHolder;
import com.commit451.reptar.FocusedSingleObserver;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
import com.commit451.teleprinter.Teleprinter;
 
import org.parceler.Parcels;
Loading
Loading
@@ -38,12 +40,10 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import retrofit2.adapter.rxjava.HttpException;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -214,10 +214,7 @@ public class AddUserActivity extends MorphActivity {
.compose(this.<Response<List<UserBasic>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<UserBasic>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<UserBasic>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -229,15 +226,11 @@ public class AddUserActivity extends MorphActivity {
}
 
@Override
public void onNext(Response<List<UserBasic>> response) {
if (!response.isSuccessful()) {
onError(new HttpException(response));
return;
}
protected void onResponseSuccess(List<UserBasic> users) {
mSwipeRefreshLayout.setRefreshing(false);
mLoading = false;
mAdapter.setData(response.body());
mNextPageUrl = LinkHeaderParser.parse(response).getNext();
mAdapter.setData(users);
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
Timber.d("Next page url is %s", mNextPageUrl);
}
});
Loading
Loading
@@ -251,10 +244,7 @@ public class AddUserActivity extends MorphActivity {
.compose(this.<Response<List<UserBasic>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<UserBasic>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<UserBasic>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -263,27 +253,20 @@ public class AddUserActivity extends MorphActivity {
}
 
@Override
public void onNext(Response<List<UserBasic>> response) {
if (!response.isSuccessful()) {
onError(new HttpException(response));
return;
}
protected void onResponseSuccess(List<UserBasic> users) {
mLoading = false;
mAdapter.setLoading(false);
mAdapter.addData(response.body());
mNextPageUrl = LinkHeaderParser.parse(response).getNext();
mAdapter.addData(users);
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
}
});
}
 
private void add(Observable<Response<Member>> observable) {
private void add(Single<Response<Member>> observable) {
observable.subscribeOn(Schedulers.io())
.compose(this.<Response<Member>>bindToLifecycle())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<Member>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Response<Member>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -293,7 +276,7 @@ public class AddUserActivity extends MorphActivity {
}
 
@Override
public void onNext(Response<Member> response) {
public void onSuccess(Response<Member> response) {
if (response.isSuccessful()) {
Snackbar.make(mRoot, R.string.user_added_successfully, Snackbar.LENGTH_SHORT)
.show();
Loading
Loading
Loading
Loading
@@ -15,6 +15,7 @@ import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.FileUploadResponse;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.rx.FileObservableFactory;
import com.commit451.reptar.FocusedSingleObserver;
 
import org.parceler.Parcels;
 
Loading
Loading
@@ -25,13 +26,13 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.codetail.animation.ViewAnimationUtils;
import io.reactivex.SingleSource;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import okhttp3.MultipartBody;
import pl.aprilapps.easyphotopicker.DefaultCallback;
import pl.aprilapps.easyphotopicker.EasyImage;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -134,42 +135,34 @@ public class AttachActivity extends BaseActivity {
public void finish() {
super.finish();
overridePendingTransition(R.anim.do_nothing, R.anim.fade_out);
}
 
private void onPhotoReturned(File photo) {
mProgress.setVisibility(View.VISIBLE);
mRootButtons.setVisibility(View.INVISIBLE);
FileObservableFactory.toPart(photo)
.compose(this.<MultipartBody.Part>bindToLifecycle())
.flatMap(new Function<MultipartBody.Part, SingleSource<FileUploadResponse>>() {
@Override
public SingleSource<FileUploadResponse> apply(MultipartBody.Part part) throws Exception {
return App.get().getGitLab().uploadFile(mProject.getId(), part);
}
})
.compose(this.<FileUploadResponse>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<MultipartBody.Part>() {
.subscribe(new FocusedSingleObserver<FileUploadResponse>() {
@Override
public void onSuccess(FileUploadResponse fileUploadResponse) {
Intent data = new Intent();
data.putExtra(KEY_FILE_UPLOAD_RESPONSE, Parcels.wrap(fileUploadResponse));
setResult(RESULT_OK, data);
finish();
}
@Override
public void call(MultipartBody.Part part) {
App.get().getGitLab().uploadFile(mProject.getId(), part)
.compose(AttachActivity.this.<FileUploadResponse>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<FileUploadResponse>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Timber.e(e);
finish();
}
@Override
public void onNext(FileUploadResponse fileUploadResponse) {
Intent data = new Intent();
data.putExtra(KEY_FILE_UPLOAD_RESPONSE, Parcels.wrap(fileUploadResponse));
setResult(RESULT_OK, data);
finish();
}
});
public void onError(Throwable e) {
Timber.e(e);
finish();
}
});
}
Loading
Loading
Loading
Loading
@@ -4,7 +4,7 @@ import android.support.design.widget.TextInputLayout;
import android.text.TextUtils;
 
import com.commit451.gitlab.R;
import com.trello.rxlifecycle.components.support.RxAppCompatActivity;
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
 
/**
* Base activity for others to derive from
Loading
Loading
Loading
Loading
@@ -25,14 +25,14 @@ import com.commit451.gitlab.model.api.Build;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.util.BuildUtil;
import com.commit451.gitlab.util.DownloadUtil;
import com.commit451.reptar.FocusedSingleObserver;
 
import org.parceler.Parcels;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -78,10 +78,7 @@ public class BuildActivity extends BaseActivity {
.compose(BuildActivity.this.<Build>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Build>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Build>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -92,7 +89,7 @@ public class BuildActivity extends BaseActivity {
}
 
@Override
public void onNext(Build build) {
public void onSuccess(Build build) {
mProgress.setVisibility(View.GONE);
Snackbar.make(mRoot, R.string.build_started, Snackbar.LENGTH_LONG)
.show();
Loading
Loading
@@ -106,10 +103,7 @@ public class BuildActivity extends BaseActivity {
.compose(BuildActivity.this.<Build>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Build>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Build>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -120,7 +114,7 @@ public class BuildActivity extends BaseActivity {
}
 
@Override
public void onNext(Build build) {
public void onSuccess(Build build) {
mProgress.setVisibility(View.GONE);
Snackbar.make(mRoot, R.string.build_erased, Snackbar.LENGTH_LONG)
.show();
Loading
Loading
@@ -134,10 +128,7 @@ public class BuildActivity extends BaseActivity {
.compose(BuildActivity.this.<Build>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Build>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Build>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -148,7 +139,7 @@ public class BuildActivity extends BaseActivity {
}
 
@Override
public void onNext(Build build) {
public void onSuccess(Build build) {
mProgress.setVisibility(View.GONE);
Snackbar.make(mRoot, R.string.build_canceled, Snackbar.LENGTH_LONG)
.show();
Loading
Loading
Loading
Loading
@@ -17,6 +17,7 @@ import com.commit451.gitlab.adapter.DiffAdapter;
import com.commit451.gitlab.model.api.Diff;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.RepositoryCommit;
import com.commit451.reptar.FocusedSingleObserver;
 
import org.parceler.Parcels;
 
Loading
Loading
@@ -24,9 +25,8 @@ import java.util.List;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -104,10 +104,7 @@ public class DiffActivity extends BaseActivity {
.compose(this.<List<Diff>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Diff>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<List<Diff>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -118,7 +115,7 @@ public class DiffActivity extends BaseActivity {
}
 
@Override
public void onNext(List<Diff> diffs) {
public void onSuccess(List<Diff> diffs) {
mSwipeRefreshLayout.setRefreshing(false);
mDiffAdapter.setData(diffs);
}
Loading
Loading
Loading
Loading
@@ -25,6 +25,7 @@ import com.commit451.gitlab.App;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.RepositoryFile;
import com.commit451.gitlab.rx.DecodeObservableFactory;
import com.commit451.reptar.FocusedSingleObserver;
 
import java.io.File;
import java.io.FileOutputStream;
Loading
Loading
@@ -35,9 +36,8 @@ import java.nio.charset.Charset;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
public class FileActivity extends BaseActivity {
Loading
Loading
@@ -127,10 +127,7 @@ public class FileActivity extends BaseActivity {
.compose(this.<RepositoryFile>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<RepositoryFile>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<RepositoryFile>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -141,7 +138,7 @@ public class FileActivity extends BaseActivity {
}
 
@Override
public void onNext(RepositoryFile repositoryFile) {
public void onSuccess(RepositoryFile repositoryFile) {
mProgressView.setVisibility(View.GONE);
bindFile(repositoryFile);
}
Loading
Loading
@@ -165,10 +162,7 @@ public class FileActivity extends BaseActivity {
.compose(this.<byte[]>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<byte[]>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<byte[]>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -177,7 +171,7 @@ public class FileActivity extends BaseActivity {
}
 
@Override
public void onNext(byte[] bytes) {
public void onSuccess(byte[] bytes) {
bindBlob(bytes);
}
});
Loading
Loading
Loading
Loading
@@ -24,14 +24,14 @@ import com.commit451.gitlab.adapter.GroupPagerAdapter;
import com.commit451.gitlab.model.api.Group;
import com.commit451.gitlab.model.api.GroupDetail;
import com.commit451.gitlab.transformation.PaletteTransformation;
import com.commit451.reptar.FocusedSingleObserver;
 
import org.parceler.Parcels;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -95,10 +95,7 @@ public class GroupActivity extends BaseActivity {
.compose(this.<GroupDetail>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<GroupDetail>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<GroupDetail>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -108,7 +105,7 @@ public class GroupActivity extends BaseActivity {
}
 
@Override
public void onNext(GroupDetail groupDetail) {
public void onSuccess(GroupDetail groupDetail) {
mProgress.setVisibility(View.GONE);
bind(groupDetail);
}
Loading
Loading
Loading
Loading
@@ -21,6 +21,7 @@ import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.DynamicGridLayoutManager;
import com.commit451.gitlab.util.LinkHeaderParser;
import com.commit451.gitlab.viewHolder.GroupViewHolder;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
 
import org.greenrobot.eventbus.Subscribe;
 
Loading
Loading
@@ -28,11 +29,9 @@ import java.util.List;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import retrofit2.adapter.rxjava.HttpException;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -138,10 +137,7 @@ public class GroupsActivity extends BaseActivity {
.compose(this.<Response<List<Group>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Group>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Group>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -153,22 +149,18 @@ public class GroupsActivity extends BaseActivity {
}
 
@Override
public void onNext(Response<List<Group>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Group> groups) {
mLoading = false;
mSwipeRefreshLayout.setRefreshing(false);
if (listResponse.body().isEmpty()) {
if (groups.isEmpty()) {
mMessageText.setText(R.string.no_groups);
mMessageText.setVisibility(View.VISIBLE);
mGroupRecyclerView.setVisibility(View.GONE);
} else {
mGroupAdapter.setGroups(listResponse.body());
mGroupAdapter.setGroups(groups);
mMessageText.setVisibility(View.GONE);
mGroupRecyclerView.setVisibility(View.VISIBLE);
mNextPageUrl = LinkHeaderParser.parse(listResponse).getNext();
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
}
}
});
Loading
Loading
@@ -195,10 +187,7 @@ public class GroupsActivity extends BaseActivity {
.compose(this.<Response<List<Group>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Group>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Group>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -207,14 +196,10 @@ public class GroupsActivity extends BaseActivity {
}
 
@Override
public void onNext(Response<List<Group>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Group> groups) {
mLoading = false;
mGroupAdapter.addGroups(listResponse.body());
mNextPageUrl = LinkHeaderParser.parse(listResponse).getNext();
mGroupAdapter.addGroups(groups);
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
}
});
}
Loading
Loading
Loading
Loading
@@ -28,6 +28,8 @@ import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.IntentUtil;
import com.commit451.gitlab.util.LinkHeaderParser;
import com.commit451.gitlab.view.SendMessageView;
import com.commit451.reptar.FocusedSingleObserver;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
import com.commit451.teleprinter.Teleprinter;
 
import org.greenrobot.eventbus.Subscribe;
Loading
Loading
@@ -38,12 +40,12 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.Single;
import io.reactivex.SingleSource;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import retrofit2.adapter.rxjava.HttpException;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -130,10 +132,7 @@ public class IssueActivity extends BaseActivity {
.compose(IssueActivity.this.<String>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<String>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -143,7 +142,7 @@ public class IssueActivity extends BaseActivity {
}
 
@Override
public void onNext(String s) {
public void onSuccess(String value) {
App.bus().post(new IssueReloadEvent());
Toast.makeText(IssueActivity.this, R.string.issue_deleted, Toast.LENGTH_SHORT)
.show();
Loading
Loading
@@ -225,14 +224,17 @@ public class IssueActivity extends BaseActivity {
}
});
App.get().getGitLab().getProject(projectNamespace, projectName)
.compose(this.<Project>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Project>() {
.flatMap(new Function<Project, SingleSource<List<Issue>>>() {
@Override
public void onCompleted() {
public SingleSource<List<Issue>> apply(Project project) throws Exception {
mProject = project;
return App.get().getGitLab().getIssuesByIid(project.getId(), mIssueIid);
}
})
.compose(this.<List<Issue>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new FocusedSingleObserver<List<Issue>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -243,41 +245,19 @@ public class IssueActivity extends BaseActivity {
}
 
@Override
public void onNext(Project project) {
mProject = project;
App.get().getGitLab().getIssuesByIid(mProject.getId(), mIssueIid)
.compose(IssueActivity.this.<List<Issue>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Issue>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Timber.e(e);
mSwipeRefreshLayout.setRefreshing(false);
Snackbar.make(mRoot, getString(R.string.failed_to_load), Snackbar.LENGTH_SHORT)
.show();
}
@Override
public void onNext(List<Issue> issues) {
if (issues.isEmpty()) {
mSwipeRefreshLayout.setRefreshing(false);
Snackbar.make(mRoot, getString(R.string.failed_to_load), Snackbar.LENGTH_SHORT)
.show();
} else {
mIssue = issues.get(0);
mIssueDetailsAdapter = new IssueDetailsAdapter(IssueActivity.this, mIssue, mProject);
mNotesRecyclerView.setAdapter(mIssueDetailsAdapter);
bindIssue();
bindProject();
loadNotes();
}
}
});
public void onSuccess(List<Issue> issues) {
if (issues.isEmpty()) {
mSwipeRefreshLayout.setRefreshing(false);
Snackbar.make(mRoot, getString(R.string.failed_to_load), Snackbar.LENGTH_SHORT)
.show();
} else {
mIssue = issues.get(0);
mIssueDetailsAdapter = new IssueDetailsAdapter(IssueActivity.this, mIssue, mProject);
mNotesRecyclerView.setAdapter(mIssueDetailsAdapter);
bindIssue();
bindProject();
loadNotes();
}
}
});
}
Loading
Loading
@@ -331,10 +311,8 @@ public class IssueActivity extends BaseActivity {
.compose(this.<Response<List<Note>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Note>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Note>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -346,15 +324,11 @@ public class IssueActivity extends BaseActivity {
}
 
@Override
public void onNext(Response<List<Note>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Note> notes) {
mLoading = false;
mSwipeRefreshLayout.setRefreshing(false);
mNextPageUrl = LinkHeaderParser.parse(listResponse).getNext();
mIssueDetailsAdapter.setNotes(listResponse.body());
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
mIssueDetailsAdapter.setNotes(notes);
}
});
}
Loading
Loading
@@ -366,10 +340,7 @@ public class IssueActivity extends BaseActivity {
.compose(this.<Response<List<Note>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Note>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Note>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -379,15 +350,11 @@ public class IssueActivity extends BaseActivity {
}
 
@Override
public void onNext(Response<List<Note>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Note> notes) {
mLoading = false;
mIssueDetailsAdapter.setLoading(false);
mNextPageUrl = LinkHeaderParser.parse(listResponse).getNext();
mIssueDetailsAdapter.addNotes(listResponse.body());
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
mIssueDetailsAdapter.addNotes(notes);
}
});
}
Loading
Loading
@@ -409,10 +376,7 @@ public class IssueActivity extends BaseActivity {
.compose(this.<Note>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Note>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Note>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -423,7 +387,7 @@ public class IssueActivity extends BaseActivity {
}
 
@Override
public void onNext(Note note) {
public void onSuccess(Note note) {
mProgress.setVisibility(View.GONE);
mIssueDetailsAdapter.addNote(note);
mNotesRecyclerView.smoothScrollToPosition(IssueDetailsAdapter.getHeaderCount());
Loading
Loading
@@ -440,15 +404,12 @@ public class IssueActivity extends BaseActivity {
}
}
 
private void updateIssueStatus(Observable<Issue> observable) {
private void updateIssueStatus(Single<Issue> observable) {
observable
.compose(this.<Issue>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Issue>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Issue>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -459,7 +420,7 @@ public class IssueActivity extends BaseActivity {
}
 
@Override
public void onNext(Issue issue) {
public void onSuccess(Issue issue) {
mProgress.setVisibility(View.GONE);
mIssue = issue;
App.bus().post(new IssueChangedEvent(mIssue));
Loading
Loading
Loading
Loading
@@ -14,15 +14,15 @@ import com.commit451.gitlab.model.api.Milestone;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.RepositoryCommit;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.reptar.FocusedSingleObserver;
 
import java.util.List;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -110,10 +110,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
App.get().getGitLab().getProject(namespace, project)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Project>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Project>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -122,7 +119,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
}
 
@Override
public void onNext(Project project) {
public void onSuccess(Project project) {
loadNextPart(project);
}
});
Loading
Loading
@@ -139,10 +136,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
.compose(LoadSomeInfoActivity.this.<RepositoryCommit>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<RepositoryCommit>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<RepositoryCommit>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -151,7 +145,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
}
 
@Override
public void onNext(RepositoryCommit repositoryCommit) {
public void onSuccess(RepositoryCommit repositoryCommit) {
Navigator.navigateToDiffActivity(LoadSomeInfoActivity.this, mProject, repositoryCommit);
finish();
}
Loading
Loading
@@ -163,10 +157,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
.compose(LoadSomeInfoActivity.this.<List<MergeRequest>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<MergeRequest>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<List<MergeRequest>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -175,7 +166,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
}
 
@Override
public void onNext(List<MergeRequest> mergeRequests) {
public void onSuccess(List<MergeRequest> mergeRequests) {
if (!mergeRequests.isEmpty()) {
Navigator.navigateToMergeRequest(LoadSomeInfoActivity.this, mProject, mergeRequests.get(0));
finish();
Loading
Loading
@@ -191,10 +182,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
.compose(LoadSomeInfoActivity.this.<Build>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Build>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Build>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -203,7 +191,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
}
 
@Override
public void onNext(Build build) {
public void onSuccess(Build build) {
Navigator.navigateToBuild(LoadSomeInfoActivity.this, mProject, build);
finish();
}
Loading
Loading
@@ -215,10 +203,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
.compose(LoadSomeInfoActivity.this.<List<Milestone>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Milestone>>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<List<Milestone>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -227,7 +212,7 @@ public class LoadSomeInfoActivity extends BaseActivity {
}
 
@Override
public void onNext(List<Milestone> milestones) {
public void onSuccess(List<Milestone> milestones) {
if (!milestones.isEmpty()) {
Navigator.navigateToMilestone(LoadSomeInfoActivity.this, mProject, milestones.get(0));
finish();
Loading
Loading
Loading
Loading
@@ -47,7 +47,11 @@ import com.commit451.gitlab.ssl.CustomHostnameVerifier;
import com.commit451.gitlab.ssl.CustomKeyManager;
import com.commit451.gitlab.ssl.X509CertificateException;
import com.commit451.gitlab.ssl.X509Util;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
import com.commit451.teleprinter.Teleprinter;
import com.jakewharton.retrofit2.adapter.rxjava2.HttpException;
import org.reactivestreams.Subscriber;
 
import java.io.IOException;
import java.net.ConnectException;
Loading
Loading
@@ -66,17 +70,14 @@ import javax.net.ssl.SSLPeerUnverifiedException;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import okhttp3.Credentials;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
public class LoginActivity extends BaseActivity {
Loading
Loading
@@ -304,30 +305,26 @@ public class LoginActivity extends BaseActivity {
}
}
 
private void attemptLogin(Observable<Response<UserLogin>> observable) {
private void attemptLogin(Single<Response<UserLogin>> observable) {
observable
.compose(this.<Response<UserLogin>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<UserLogin>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<UserLogin>() {
 
@Override
public void onError(Throwable e) {
Timber.e(e);
handleConnectionError(e);
if (e instanceof HttpException) {
handleConnectionResponse(response());
} else {
handleConnectionError(e);
}
}
 
@Override
public void onNext(Response<UserLogin> response) {
if (!response.isSuccessful() || response.body() == null) {
handleConnectionResponse(response);
return;
}
mAccount.setPrivateToken(response.body().getPrivateToken());
protected void onResponseSuccess(UserLogin userLogin) {
mAccount.setPrivateToken(userLogin.getPrivateToken());
loadUser();
}
});
Loading
Loading
@@ -431,25 +428,22 @@ public class LoginActivity extends BaseActivity {
.compose(this.<Response<UserFull>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<UserFull>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<UserFull>() {
 
@Override
public void onError(Throwable e) {
Timber.e(e);
handleConnectionError(e);
if (e instanceof HttpException) {
handleConnectionResponse(response());
} else {
handleConnectionError(e);
}
}
 
@Override
public void onNext(Response<UserFull> response) {
protected void onResponseSuccess(UserFull userFull) {
mProgress.setVisibility(View.GONE);
if (!response.isSuccessful() || response.body() == null) {
handleConnectionResponse(response);
return;
}
mAccount.setUser(response.body());
mAccount.setUser(userFull);
mAccount.setLastUsed(new Date());
App.get().getPrefs().addAccount(mAccount);
App.get().setAccount(mAccount);
Loading
Loading
Loading
Loading
@@ -17,14 +17,16 @@ import com.commit451.gitlab.adapter.MergeRequestSectionsPagerAdapter;
import com.commit451.gitlab.event.MergeRequestChangedEvent;
import com.commit451.gitlab.model.api.MergeRequest;
import com.commit451.gitlab.model.api.Project;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
import com.jakewharton.retrofit2.adapter.rxjava2.HttpException;
 
import org.parceler.Parcels;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import timber.log.Timber;
 
/**
Loading
Loading
@@ -63,21 +65,18 @@ public class MergeRequestActivity extends BaseActivity {
case R.id.action_merge:
mProgress.setVisibility(View.VISIBLE);
App.get().getGitLab().acceptMergeRequest(mProject.getId(), mMergeRequest.getId())
.compose(MergeRequestActivity.this.<MergeRequest>bindToLifecycle())
.compose(MergeRequestActivity.this.<Response<MergeRequest>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<MergeRequest>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<MergeRequest>() {
 
@Override
public void onError(Throwable e) {
Timber.e(e);
mProgress.setVisibility(View.GONE);
String message = getString(R.string.unable_to_merge);
if (e instanceof retrofit2.adapter.rxjava.HttpException) {
int code = ((retrofit2.adapter.rxjava.HttpException) e).response().code();
if (e instanceof HttpException) {
int code = ((HttpException) e).response().code();
if (code == 406) {
message = getString(R.string.merge_request_already_merged_or_closed);
}
Loading
Loading
@@ -87,7 +86,7 @@ public class MergeRequestActivity extends BaseActivity {
}
 
@Override
public void onNext(MergeRequest mergeRequest) {
protected void onResponseSuccess(MergeRequest mergeRequest) {
mProgress.setVisibility(View.GONE);
Snackbar.make(mRoot, R.string.merge_request_accepted, Snackbar.LENGTH_LONG)
.show();
Loading
Loading
Loading
Loading
@@ -24,6 +24,8 @@ import com.commit451.gitlab.model.api.Milestone;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.LinkHeaderParser;
import com.commit451.reptar.FocusedSingleObserver;
import com.commit451.reptar.retrofit.ResponseSingleObserver;
 
import org.greenrobot.eventbus.Subscribe;
import org.parceler.Parcels;
Loading
Loading
@@ -33,12 +35,10 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Response;
import retrofit2.adapter.rxjava.HttpException;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import timber.log.Timber;
 
public class MilestoneActivity extends BaseActivity {
Loading
Loading
@@ -181,10 +181,7 @@ public class MilestoneActivity extends BaseActivity {
.compose(this.<Response<List<Issue>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Issue>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Issue>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -197,15 +194,11 @@ public class MilestoneActivity extends BaseActivity {
}
 
@Override
public void onNext(Response<List<Issue>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Issue> issues) {
mSwipeRefreshLayout.setRefreshing(false);
mLoading = false;
 
if (!listResponse.body().isEmpty()) {
if (!issues.isEmpty()) {
mMessageText.setVisibility(View.GONE);
} else {
Timber.d("No issues found");
Loading
Loading
@@ -213,8 +206,8 @@ public class MilestoneActivity extends BaseActivity {
mMessageText.setText(R.string.no_issues);
}
 
mNextPageUrl = LinkHeaderParser.parse(listResponse).getNext();
mMilestoneIssuesAdapter.setIssues(listResponse.body());
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
mMilestoneIssuesAdapter.setIssues(issues);
}
});
}
Loading
Loading
@@ -232,10 +225,7 @@ public class MilestoneActivity extends BaseActivity {
.compose(this.<Response<List<Issue>>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<List<Issue>>>() {
@Override
public void onCompleted() {
}
.subscribe(new ResponseSingleObserver<List<Issue>>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -244,14 +234,10 @@ public class MilestoneActivity extends BaseActivity {
}
 
@Override
public void onNext(Response<List<Issue>> listResponse) {
if (!listResponse.isSuccessful()) {
onError(new HttpException(listResponse));
return;
}
protected void onResponseSuccess(List<Issue> issues) {
mLoading = false;
mNextPageUrl = LinkHeaderParser.parse(listResponse).getNext();
mMilestoneIssuesAdapter.addIssues(listResponse.body());
mNextPageUrl = LinkHeaderParser.parse(response()).getNext();
mMilestoneIssuesAdapter.addIssues(issues);
}
});
}
Loading
Loading
@@ -265,14 +251,11 @@ public class MilestoneActivity extends BaseActivity {
}
}
 
private void updateMilestoneStatus(Observable<Milestone> observable) {
private void updateMilestoneStatus(Single<Milestone> observable) {
observable.compose(this.<Milestone>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Milestone>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Milestone>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -283,7 +266,7 @@ public class MilestoneActivity extends BaseActivity {
}
 
@Override
public void onNext(Milestone milestone) {
public void onSuccess(Milestone milestone) {
mProgress.setVisibility(View.GONE);
mMilestone = milestone;
App.bus().post(new MilestoneChangedEvent(mMilestone));
Loading
Loading
Loading
Loading
@@ -25,15 +25,15 @@ import com.commit451.gitlab.model.Ref;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.IntentUtil;
import com.commit451.reptar.FocusedSingleObserver;
 
import org.parceler.Parcels;
 
import butterknife.BindView;
import butterknife.ButterKnife;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
 
public class ProjectActivity extends BaseActivity {
Loading
Loading
@@ -183,14 +183,11 @@ public class ProjectActivity extends BaseActivity {
loadProject(App.get().getGitLab().getProject(projectNamespace, projectName));
}
 
private void loadProject(Observable<Project> observable) {
private void loadProject(Single<Project> observable) {
observable.compose(this.<Project>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Project>() {
@Override
public void onCompleted() {
}
.subscribe(new FocusedSingleObserver<Project>() {
 
@Override
public void onError(Throwable e) {
Loading
Loading
@@ -203,7 +200,7 @@ public class ProjectActivity extends BaseActivity {
}
 
@Override
public void onNext(Project project) {
public void onSuccess(Project project) {
mProgress.animate()
.alpha(0.0f)
.withEndAction(new HideRunnable(mProgress));
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment