package com.betaseries.betaseries.ui.login;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.Toast;
import com.betaseries.betaseries.BuildConfig;
import com.betaseries.betaseries.R;
import com.betaseries.betaseries.ui.AbstractFragment;
import com.betaseries.betaseries.ui.MainActivity;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/**
* Created by florentchampigny on 24/08/15.
*/
public class LoginFragment extends AbstractFragment {
public static AbstractFragment newInstance() {
return new LoginFragment();
}
@Bind(R.id.userName)
EditText userName;
@Bind(R.id.password)
EditText password;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_login_3, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
if (!BuildConfig.BETASERIES_USER.isEmpty() && !BuildConfig.BETASERIES_PASSWORD.isEmpty()) {
userName.setText(BuildConfig.BETASERIES_USER);
password.setText(BuildConfig.BETASERIES_PASSWORD);
}
}
@OnClick(R.id.login)
public void onLoginClicked() {
String user = userName.getText().toString();
String pass = password.getText().toString();
if (user.isEmpty())
Toast.makeText(getActivity(), "user.isEmpty()", Toast.LENGTH_SHORT).show();
else if (pass.isEmpty())
Toast.makeText(getActivity(), "pass.isEmpty()", Toast.LENGTH_SHORT).show();
else
authenticationManager.authentifier(user, pass)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.onErrorReturn(throwable -> {
Toast.makeText(getActivity(), "Authentication error", Toast.LENGTH_SHORT).show();
return null;
})
.subscribe(authentification -> {
if (getActivity() != null) {
startActivity(new Intent(getActivity(), MainActivity.class));
getActivity().finish();
}
});
}
}