Skip to content
Snippets Groups Projects
Commit 14e63a9e authored by John Carlson's avatar John Carlson
Browse files

Begin migration to full Rx

parent 0d72aa40
No related branches found
No related tags found
No related merge requests found
Pipeline #
Loading
Loading
@@ -16,7 +16,7 @@ import com.commit451.gitlab.App;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.FileUploadResponse;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.observable.FileObservableFactory;
import com.commit451.gitlab.rx.FileObservableFactory;
 
import org.parceler.Parcels;
 
Loading
Loading
@@ -158,6 +158,7 @@ public class AttachActivity extends BaseActivity {
mProgress.setVisibility(View.VISIBLE);
mRootButtons.setVisibility(View.INVISIBLE);
FileObservableFactory.toPart(photo)
.compose(this.<MultipartBody.Part>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<MultipartBody.Part>() {
Loading
Loading
Loading
Loading
@@ -25,7 +25,7 @@ import com.commit451.easycallback.EasyCallback;
import com.commit451.gitlab.App;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.RepositoryFile;
import com.commit451.gitlab.observable.DecodeObservableFactory;
import com.commit451.gitlab.rx.DecodeObservableFactory;
 
import java.io.File;
import java.io.FileOutputStream;
Loading
Loading
@@ -150,6 +150,7 @@ public class FileActivity extends BaseActivity {
 
private void loadBlob(RepositoryFile repositoryFile) {
DecodeObservableFactory.newDecode(repositoryFile.getContent())
.compose(this.<byte[]>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<byte[]>() {
Loading
Loading
Loading
Loading
@@ -73,6 +73,10 @@ 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
@@ -132,26 +136,6 @@ public class LoginActivity extends BaseActivity {
}
};
 
private final Callback<UserLogin> mLoginCallback = new Callback<UserLogin>() {
@Override
public void onResponse(Call<UserLogin> call, Response<UserLogin> response) {
if (!response.isSuccessful() || response.body() == null) {
handleConnectionResponse(response);
return;
}
mAccount.setPrivateToken(response.body().getPrivateToken());
loadUser();
}
@Override
public void onFailure(Call<UserLogin> call, Throwable t) {
Timber.e(t);
handleConnectionError(t);
}
};
private final Callback<UserFull> mTestUserCallback = new Callback<UserFull>() {
 
@Override
Loading
Loading
@@ -341,12 +325,41 @@ public class LoginActivity extends BaseActivity {
}
GitLab gitLab = GitLabFactory.create(mAccount, gitlabClientBuilder.build());
if (mUserInput.getText().toString().contains("@")) {
gitLab.loginWithEmail(mUserInput.getText().toString(), mPasswordInput.getText().toString()).enqueue(mLoginCallback);
attemptLogin(gitLab.loginWithEmail(mUserInput.getText().toString(), mPasswordInput.getText().toString()));
} else {
gitLab.loginWithUsername(mUserInput.getText().toString(), mPasswordInput.getText().toString()).enqueue(mLoginCallback);
attemptLogin(gitLab.loginWithEmail(mUserInput.getText().toString(), mPasswordInput.getText().toString()));
}
}
 
private void attemptLogin(Observable<Response<UserLogin>> observable) {
observable
.compose(this.<Response<UserLogin>>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<UserLogin>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Timber.e(e);
handleConnectionError(e);
}
@Override
public void onNext(Response<UserLogin> response) {
if (!response.isSuccessful() || response.body() == null) {
handleConnectionResponse(response);
return;
}
mAccount.setPrivateToken(response.body().getPrivateToken());
loadUser();
}
});
}
private void connectByToken() {
mAccount.setPrivateToken(mTokenInput.getText().toString());
loadUser();
Loading
Loading
Loading
Loading
@@ -32,6 +32,7 @@ import java.util.List;
 
import okhttp3.MultipartBody;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.DELETE;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
Loading
Loading
@@ -43,6 +44,7 @@ import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.Url;
import rx.Observable;
 
 
/**
Loading
Loading
@@ -56,12 +58,12 @@ public interface GitLab {
 
@FormUrlEncoded
@POST(API_VERSION + "/session")
Call<UserLogin> loginWithUsername(@Field("login") String login,
@Field("password") String password);
Observable<Response<UserLogin>> loginWithUsername(@Field("login") String login,
@Field("password") String password);
 
@FormUrlEncoded
@POST(API_VERSION + "/session")
Call<UserLogin> loginWithEmail(@Field("email") String email,
Observable<Response<UserLogin>> loginWithEmail(@Field("email") String email,
@Field("password") String password);
 
/* --- USERS --- */
Loading
Loading
Loading
Loading
@@ -24,7 +24,7 @@ import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.RepositoryFile;
import com.commit451.gitlab.model.api.RepositoryTreeObject;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.observable.DecodeObservableFactory;
import com.commit451.gitlab.rx.DecodeObservableFactory;
import com.commit451.gitlab.util.BypassImageGetterFactory;
import com.commit451.gitlab.util.InternalLinkMovementMethod;
import com.vdurmont.emoji.EmojiParser;
Loading
Loading
@@ -140,6 +140,7 @@ public class ProjectFragment extends ButterKnifeFragment {
}
mSwipeRefreshLayout.setRefreshing(false);
DecodeObservableFactory.newDecode(response.getContent())
.compose(ProjectFragment.this.<byte[]>bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<byte[]>() {
Loading
Loading
package com.commit451.gitlab.observable;
package com.commit451.gitlab.rx;
 
import android.util.Base64;
 
Loading
Loading
package com.commit451.gitlab.observable;
package com.commit451.gitlab.rx;
 
import com.commit451.gitlab.util.FileUtil;
 
Loading
Loading
Loading
Loading
@@ -34,7 +34,8 @@ public class TestUtil {
GitLab gitLab = GitLabFactory.create(account, gitlabClientBuilder.build(), true);
Response<UserLogin> loginResponse = gitLab
.loginWithUsername("TestAllTheThings", "testing123")
.execute();
.toBlocking()
.first();
assertTrue(loginResponse.isSuccessful());
assertNotNull(loginResponse.body().getPrivateToken());
//attach the newly retrieved private token
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