Android Open Source - rsmonitor-heartrate Token Refresh Dialog






From Project

Back to project page rsmonitor-heartrate.

License

The source code is released under:

GNU General Public License

If you think the Android project rsmonitor-heartrate 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.facebook.android;
//from w  w w.  ja  v  a2 s .  c o m
import java.text.DateFormat;
import java.util.Date;

import com.renaultsport.heartrate.R;

import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class TokenRefreshDialog extends Dialog {

    private EditText tokenEdit, tokenExpiresEdit;
    private TextView mUsefulTip;
    private Button mRefreshButton;
    private Activity activity;

    public TokenRefreshDialog(Activity activity) {
        super(activity);
        this.activity = activity;
        setTitle(R.string.refresh_token_title);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.token_refresh);

        tokenEdit = (EditText) findViewById(R.id.tokenEdit);
        tokenEdit.setText(Utility.mFacebook.getAccessToken());

        tokenExpiresEdit = (EditText) findViewById(R.id.tokenExpiresEdit);
        setExpiresAt(Utility.mFacebook.getAccessExpires());

        mUsefulTip = (TextView) findViewById(R.id.usefulTip);
        mUsefulTip.setMovementMethod(LinkMovementMethod.getInstance());
        mRefreshButton = (Button) findViewById(R.id.refresh_button);

        mRefreshButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                changeButtonState(false);
                RefreshTokenListener listener = new RefreshTokenListener();
                if (!Utility.mFacebook.extendAccessToken(activity, listener)) {
                    listener.onError(new Error(
                            activity.getString(R.string.refresh_token_binding_error)));
                }
            }
        });
    }

    private class RefreshTokenListener implements Facebook.ServiceListener {

        @Override
        public void onFacebookError(FacebookError e) {
            changeButtonState(true);
            String title = String.format(activity.getString(R.string.facebook_error) + "%d",
                    e.getErrorCode());
            Util.showAlert(activity, title, e.getMessage());
        }

        @Override
        public void onError(Error e) {
            changeButtonState(true);
            Util.showAlert(activity, activity.getString(R.string.error), e.getMessage());
        }

        @Override
        public void onComplete(Bundle values) {
            changeButtonState(true);

            // The access_token and expires_at values are automatically updated,
            // so they can be obtained by using:
            // - Facebook.getAccessToken()
            // - Facebook.getAccessExpires()
            // methods, but we can also get them from the 'values' bundle.
            tokenEdit.setText(values.getString(Facebook.TOKEN));
            setExpiresAt(values.getLong(Facebook.EXPIRES));
        }
    }

    private void changeButtonState(boolean enabled) {
        mRefreshButton.setEnabled(enabled);
        mRefreshButton.setText(enabled ? R.string.refresh_button : R.string.refresh_button_pending);
    }

    private void setExpiresAt(long time) {
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
        tokenExpiresEdit.setText(dateFormat.format(new Date(time)));
    }
}




Java Source Code List

com.facebook.android.AsyncFacebookRunner.java
com.facebook.android.BaseDialogListener.java
com.facebook.android.BaseRequestListener.java
com.facebook.android.DialogError.java
com.facebook.android.FQLQuery.java
com.facebook.android.FacebookError.java
com.facebook.android.FacebookFunctions.java
com.facebook.android.Facebook.java
com.facebook.android.FbDialog.java
com.facebook.android.FieldsConnectionsDialog.java
com.facebook.android.FriendsGetProfilePics.java
com.facebook.android.FriendsList.java
com.facebook.android.GraphExplorer.java
com.facebook.android.IntentUriHandler.java
com.facebook.android.LoginButton.java
com.facebook.android.PermissionsDialog.java
com.facebook.android.Places.java
com.facebook.android.SessionEvents.java
com.facebook.android.SessionStore.java
com.facebook.android.TokenRefreshDialog.java
com.facebook.android.UpdateStatusResultDialog.java
com.facebook.android.UploadPhotoResultDialog.java
com.facebook.android.Util.java
com.facebook.android.Utility.java
com.googlecode.android.widgets.DateSlider.AlternativeDateSlider.java
com.googlecode.android.widgets.DateSlider.CustomDateSlider.java
com.googlecode.android.widgets.DateSlider.DateSlider.java
com.googlecode.android.widgets.DateSlider.DateTimeSlider.java
com.googlecode.android.widgets.DateSlider.DefaultDateSlider.java
com.googlecode.android.widgets.DateSlider.MonthYearDateSlider.java
com.googlecode.android.widgets.DateSlider.ScrollLayout.java
com.googlecode.android.widgets.DateSlider.TimeSlider.java
com.googlecode.android.widgets.DateSlider.TimeView.java
com.renaultsport.heartrate.ActivityMain.java
com.renaultsport.heartrate.ActivityRecord.java
com.renaultsport.heartrate.ActivitySplash.java
com.renaultsport.heartrate.ActivityUpload.java
com.renaultsport.heartrate.ActivityVideoReader.java
com.renaultsport.heartrate.ActivityWarning.java
com.renaultsport.heartrate.MainApplication.java
com.renaultsport.heartrate.utils.CaptureCamera.java
com.renaultsport.heartrate.utils.ClientThread.java
com.renaultsport.heartrate.utils.Constants.java
com.renaultsport.heartrate.utils.RunEncoder.java
team.stride.tabs.TabGroupActivity.java