Android Open Source - SciProApp-Android Authenticate






From Project

Back to project page SciProApp-Android.

License

The source code is released under:

Apache License

If you think the Android project SciProApp-Android 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

/*
 * Copyright (c) 2011 Patrick Strang.//from  w ww  .  jav a 2  s .co  m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package se.su.dsv.scipro.android.activity;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import se.su.dsv.scipro.android.R;
import se.su.dsv.scipro.android.SciProApplication;
import se.su.dsv.scipro.android.tasks.AuthAsyncTask;
import se.su.dsv.scipro.android.tasks.LoginAsyncTask;
import se.su.dsv.scipro.android.tasks.LoginResponder;
import se.su.dsv.scipro.android.tasks.LoginResult;

/**
 * User: patrick
 * Date: 2011-05-20
 * Time: 16:02
 */
public class Authenticate extends Activity implements LoginResponder {

    public static final String TAG = "Authenticate";
    private TextView usernameText;
    private TextView passwordText;
    private TextView apikeyText;
    private Button authenticateButton;
    private AlertDialog authenticateInfoDialog;
    private ProgressDialog authenticationInProgress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_authenticate);
        setUpViews();
        createAuthenticateInfoDialog();
    }

    private void createAuthenticateInfoDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("SciPro Authentication");
        builder.setMessage("You can either use your SciPro password to authenticate or the pre-generated API-key. If " +
                "you have no API-key, one will be generated for you when authenticating with your SciPro password.");
        builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });
        authenticateInfoDialog = builder.create();
    }

    @Override
    protected void onResume() {
        super.onResume();
        authenticateInfoDialog.show();
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        finish();
    }

    private void setUpViews() {
        usernameText = (TextView) findViewById(R.id.auth_username_entry);
        passwordText = (TextView) findViewById(R.id.auth_password_entry);
        apikeyText = (TextView) findViewById(R.id.auth_apikey_entry);
        authenticateButton = (Button) findViewById(R.id.auth_button);

        authenticateButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String username = usernameText.getText().toString();
                String password = passwordText.getText().toString();
                String apikey = apikeyText.getText().toString();

                if (username.length() > 0) {
                    boolean passwordIsSet = password.length() > 0;
                    boolean apikeyIsSet = apikey.length() > 0;
                    if (passwordIsSet || apikeyIsSet) {
                        if (passwordIsSet) {
                            new LoginAsyncTask(Authenticate.this, username, password).execute();
                        } else {
                            new AuthAsyncTask(Authenticate.this, username, apikey).execute();
                        }
                    }
                }
            }
        });
    }

    public void loggingIn() {
        authenticationInProgress = ProgressDialog.show(Authenticate.this,
                "Authenticating",
                "Authentication with SciPro in progress...");
    }

    public void loggedIn(LoginResult result) {
        authenticationInProgress.dismiss();

        if(result.authenticated) {
            SciProApplication.getInstance().setUsername(result.username);
            SciProApplication.getInstance().setApiKey(result.apikey);
            SciProApplication.getInstance().setUserid(result.userid);
            finish();
        }
    }
}




Java Source Code List

se.su.dsv.scipro.android.IHeaderOnClick.java
se.su.dsv.scipro.android.Preferences.java
se.su.dsv.scipro.android.SciProApplication.java
se.su.dsv.scipro.android.activity.Authenticate.java
se.su.dsv.scipro.android.activity.MainActivity.java
se.su.dsv.scipro.android.activity.NewMessage.java
se.su.dsv.scipro.android.activity.PrivateMessageView.java
se.su.dsv.scipro.android.activity.PrivateMessages.java
se.su.dsv.scipro.android.activity.ProjectView.java
se.su.dsv.scipro.android.activity.StatusCheckIn.java
se.su.dsv.scipro.android.activity.SupervisorHome.java
se.su.dsv.scipro.android.adapters.MessageListAdapter.java
se.su.dsv.scipro.android.adapters.ProjectListAdapter.java
se.su.dsv.scipro.android.dao.FinalSeminar.java
se.su.dsv.scipro.android.dao.PrivateMessage.java
se.su.dsv.scipro.android.dao.Project.java
se.su.dsv.scipro.android.dao.User.java
se.su.dsv.scipro.android.helpers.MenuHelper.java
se.su.dsv.scipro.android.json.SciProJSON.java
se.su.dsv.scipro.android.location.LocationIntentReceiver.java
se.su.dsv.scipro.android.providers.SciProProvider.java
se.su.dsv.scipro.android.services.UpdaterService.java
se.su.dsv.scipro.android.tasks.AuthAsyncTask.java
se.su.dsv.scipro.android.tasks.GetMessagesAsyncTask.java
se.su.dsv.scipro.android.tasks.GetProjectsAsyncTask.java
se.su.dsv.scipro.android.tasks.LoginAsyncTask.java
se.su.dsv.scipro.android.tasks.LoginResponder.java
se.su.dsv.scipro.android.tasks.LoginResult.java
se.su.dsv.scipro.android.tasks.SendMessageAsyncTask.java
se.su.dsv.scipro.android.tasks.SetMessageReadAsyncTask.java
se.su.dsv.scipro.android.tasks.SetStatusAsyncTask.java
se.su.dsv.scipro.android.utils.Base64Coder.java
se.su.dsv.scipro.android.utils.DaoUtils.java
se.su.dsv.scipro.android.utils.SciProUtils.java
se.su.dsv.scipro.android.utils.StringUtils.java
se.su.dsv.scipro.android.view.MessageListItem.java
se.su.dsv.scipro.android.view.ProjectListItem.java