Android Open Source - NerdzMessenger Logout Dialog






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;
//from  ww w.j a  va2s  .co m
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.preference.DialogPreference;
import android.util.AttributeSet;

import eu.nerdz.api.UserInfo;
import eu.nerdz.app.messenger.activities.SplashScreenActivity;

public class LogoutDialog extends DialogPreference {
    public LogoutDialog(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void onClick(DialogInterface dialog, int which) {
        if(which == DialogInterface.BUTTON_POSITIVE) {
            AccountManager am = AccountManager.get(NerdzMessenger.context);
            Account account = am.getAccountsByType(NerdzMessenger.context.getString(R.string.account_type))[0];
            am.removeAccount(account, new AccountManagerCallback<Boolean>() {

                @Override
                public void run(AccountManagerFuture<Boolean> future) {

                    while (true) {
                        if (future.isDone()) {
                            break;
                        }
                    }

                    Server.getInstance().unregisterGcmUser(new Server.Reaction() {
                        @Override
                        public void onError(Exception message) {
                            NerdzMessenger.shortToast(message.getLocalizedMessage());
                        }

                        @Override
                        public void onSuccess(UserInfo userData) {}
                    });

                    NerdzMessenger.shortToast(R.string.account_deleted);

                    Intent intent = new Intent(NerdzMessenger.context, SplashScreenActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    NerdzMessenger.context.startActivity(intent);

                }
            }, null);
        }
    }
}




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