Android Open Source - octodroid Login Activity






From Project

Back to project page octodroid.

License

The source code is released under:

MIT License

If you think the Android project octodroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.example.octodroid.activities;
//from   w ww . j a va  2  s .  c  o  m
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.view.MenuItem;
import android.widget.EditText;

import com.example.octodroid.R;
import com.example.octodroid.SessionPrefs;
import com.example.octodroid.SessionPrefsSchema;
import com.example.octodroid.views.helpers.ProgressDialogHelper;
import com.example.octodroid.views.helpers.ToastHelper;
import com.rejasupotaro.octodroid.GitHub;

import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import rx.Subscription;
import rx.android.app.AppObservable;
import rx.subscriptions.Subscriptions;

public class LoginActivity extends ActionBarActivity {
    @InjectView(R.id.username_edit_text)
    EditText usernameEditText;
    @InjectView(R.id.password_edit_text)
    EditText passwordEditText;

    private Subscription subscription = Subscriptions.empty();
    private ProgressDialogHelper progressDialogHelper;

    public static void launch(Context context) {
        Intent intent = new Intent(context, LoginActivity.class);
        context.startActivity(intent);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        ButterKnife.inject(this);
        setupViews();
    }

    @Override
    public void onDestroy() {
        subscription.unsubscribe();
        super.onDestroy();
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_search:
                SearchResultActivity.launch(this);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    @OnClick(R.id.login_button)
    void onLoginButtonClick() {
        String username = usernameEditText.getText().toString();
        String password = passwordEditText.getText().toString();
        if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {
            return;
        }

        login(username, password);
    }

    private void login(String username, String password) {
        progressDialogHelper.show();
        GitHub.client().authorization(username, password);
        subscription = AppObservable.bindActivity(this, GitHub.client().user())
                .subscribe(r -> {
                    progressDialogHelper.dismiss();
                    if (r.isSuccessful()) {
                        loginSucceeded(username, password);
                    } else {
                        ToastHelper.showLoginFailed(this);
                    }
                }, throwable -> {
                    progressDialogHelper.dismiss();
                    ToastHelper.showError(this);
                });
    }

    private void loginSucceeded(String username, String password) {
        SessionPrefs prefs = SessionPrefsSchema.get(this);
        prefs.putUsername(username);
        prefs.putPassword(password);

        MainActivity.launch(this);
        finish();
    }

    private void setupViews() {
        progressDialogHelper = new ProgressDialogHelper(this);
    }
}




Java Source Code List

com.example.octodroid.ApplicationTest.java
com.example.octodroid.MyApplication.java
com.example.octodroid.SessionPrefsSchema.java
com.example.octodroid.activities.LoginActivity.java
com.example.octodroid.activities.MainActivity.java
com.example.octodroid.activities.SearchResultActivity.java
com.example.octodroid.adapters.HottestRepositoryAdapter.java
com.example.octodroid.adapters.SearchResultAdapter.java
com.example.octodroid.views.DividerItemDecoration.java
com.example.octodroid.views.MoreLoadScrollListener.java
com.example.octodroid.views.ProfileView.java
com.example.octodroid.views.helpers.ProgressDialogHelper.java
com.example.octodroid.views.helpers.ToastHelper.java
com.example.octodroid.views.holders.ProgressViewHolder.java
com.example.octodroid.views.holders.RepositoryItemViewHolder.java
com.rejasupotaro.octodroid.ApplicationTest.java
com.rejasupotaro.octodroid.AuthenticationRequired.java
com.rejasupotaro.octodroid.ConnectivityObserver.java
com.rejasupotaro.octodroid.GitHubClient.java
com.rejasupotaro.octodroid.GitHub.java
com.rejasupotaro.octodroid.GsonProvider.java
com.rejasupotaro.octodroid.http.AbstractClient.java
com.rejasupotaro.octodroid.http.ApiClient.java
com.rejasupotaro.octodroid.http.CacheControl.java
com.rejasupotaro.octodroid.http.Header.java
com.rejasupotaro.octodroid.http.Link.java
com.rejasupotaro.octodroid.http.Method.java
com.rejasupotaro.octodroid.http.PaginationHeaderParserTest.java
com.rejasupotaro.octodroid.http.PaginationHeaderParser.java
com.rejasupotaro.octodroid.http.Pagination.java
com.rejasupotaro.octodroid.http.RequestCreator.java
com.rejasupotaro.octodroid.http.Response.java
com.rejasupotaro.octodroid.http.params.All.java
com.rejasupotaro.octodroid.http.params.Order.java
com.rejasupotaro.octodroid.http.params.Participating.java
com.rejasupotaro.octodroid.http.params.Sort.java
com.rejasupotaro.octodroid.http.params.Type.java
com.rejasupotaro.octodroid.models.Notification.java
com.rejasupotaro.octodroid.models.Plan.java
com.rejasupotaro.octodroid.models.Repository.java
com.rejasupotaro.octodroid.models.Resource.java
com.rejasupotaro.octodroid.models.SearchResult.java
com.rejasupotaro.octodroid.models.Subject.java
com.rejasupotaro.octodroid.models.User.java