Android Open Source - NerdzMessenger Splash Screen Activity






From Project

Back to project page NerdzMessenger.

License

The source code is released under:

GNU General Public License

If you think the Android project NerdzMessenger 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 eu.nerdz.app.messenger.activities;
/*  w  ww . ja va 2 s . c  o  m*/
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;

import eu.nerdz.api.UserInfo;
import eu.nerdz.app.messenger.NerdzMessenger;
import eu.nerdz.app.messenger.Prefs;
import eu.nerdz.app.messenger.R;
import eu.nerdz.app.messenger.Server;


public class SplashScreenActivity extends Activity {


    private static final String TAG = "NdzSplashScreenAct";

    @Override
    public void onCreate(Bundle savedInstanceState) {

        Log.i(TAG, "onCreate(" + savedInstanceState + ")");

        super.onCreate(savedInstanceState);

        if (!NerdzMessenger.checkPlayServices(this)) {
            return;
        }
        this.setContentView(R.layout.layout_splash_screen);

        this.showDialog(new Runnable() {
            @Override
            public void run() {

                Log.d(TAG, "Continuing login in 1 second...");

                new Handler().postDelayed(new Runnable() {

                    public void run() {

                        SplashScreenActivity.this.keepOnLoggingIn();
                    }
                }, 1000L);
            }
        });


    }

    @Override
    public void onResume() {
        super.onResume();
        NerdzMessenger.checkPlayServices(this);
    }


    private void keepOnLoggingIn() {

        Log.i(TAG, "keepOnLoggingIn()");

        Server.getInstance().userData(this, new Server.Reaction() {
            @Override
            public void onError(Exception message) {
                SplashScreenActivity.this.shortToast(message.getLocalizedMessage());
                SplashScreenActivity.this.finish();
            }

            @Override
            public void onSuccess(UserInfo userData) {
                SplashScreenActivity.this.launchConversations(userData);
            }
        });
    }

    private void launchConversations(UserInfo userInfo) {
        Intent intent = new Intent(SplashScreenActivity.this, ConversationsListActivity.class);
        SplashScreenActivity.this.startActivity(intent);

    }

    private void shortToast(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }

    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    private void showDialog(final Runnable runnable) {

        if(!Prefs.accepted()) {

            AlertDialog.Builder builder;

            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                builder = new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_LIGHT);
            } else {
                builder = new AlertDialog.Builder(this);
            }

            builder.setMessage(R.string.conditions)
                   .setCancelable(false)
                   .setNegativeButton(R.string.disagree, new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           SplashScreenActivity.this.finish();
                       }
                   })
                   .setPositiveButton(R.string.agree, new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           Prefs.setAccepted();
                           runnable.run();
                       }
                   })
                   .setTitle(R.string.conditions_title);
            builder.create().show();
        } else {
            runnable.run();
        }
    }

}




Java Source Code List

eu.nerdz.app.Keys.java
eu.nerdz.app.authenticator.LoginActivity.java
eu.nerdz.app.authenticator.NerdzAuthenticatorService.java
eu.nerdz.app.authenticator.NerdzAuthenticator.java
eu.nerdz.app.messenger.AlreadyLoggedInException.java
eu.nerdz.app.messenger.DieHorriblyError.java
eu.nerdz.app.messenger.GcmBroadcastReceiver.java
eu.nerdz.app.messenger.GcmIntentService.java
eu.nerdz.app.messenger.Implementation.java
eu.nerdz.app.messenger.LogoutDialog.java
eu.nerdz.app.messenger.MessagesHolder.java
eu.nerdz.app.messenger.NerdzMessenger.java
eu.nerdz.app.messenger.Prefs.java
eu.nerdz.app.messenger.Server.java
eu.nerdz.app.messenger.SettingsFragment.java
eu.nerdz.app.messenger.activities.ConversationActivity.java
eu.nerdz.app.messenger.activities.ConversationsListActivity.java
eu.nerdz.app.messenger.activities.NerdzMessengerActivity.java
eu.nerdz.app.messenger.activities.NewMessageActivity.java
eu.nerdz.app.messenger.activities.SettingsActivity.java
eu.nerdz.app.messenger.activities.SplashScreenActivity.java