Android Open Source - CloudPaste-Android Login Web View Activity






From Project

Back to project page CloudPaste-Android.

License

The source code is released under:

MIT License

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

package com.alwaysallthetime.cloudpaste;
//from ww  w .  j  av  a2  s .c o  m
import android.os.Bundle;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.alwaysallthetime.adnlib.AppDotNetClient;
import com.alwaysallthetime.adnlib.data.Token;
import com.alwaysallthetime.adnlib.response.TokenResponseHandler;
import com.alwaysallthetime.cloudpaste.client.CloudPasteADNClient;

public class LoginWebViewActivity extends BaseLoginActivity {

    private static final String REDIRECT_URL = "http://localhost:8000/";
    private WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login_webview);

        CookieSyncManager.createInstance(this);
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.removeAllCookie();

        mWebView = (WebView) findViewById(R.id.LoginWebView);

        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        String url = String.format("https://account.app.net/oauth/authenticate?client_id=%s&response_type=token&scope=%s", CloudPasteADNClient.CLIENT_ID, CloudPasteADNClient.AUTH_SCOPES);

        mWebView.setWebViewClient(new LoginWebViewClient());
        mWebView.loadUrl(url);
    }

    private class LoginWebViewClient extends WebViewClient {
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            if(url.indexOf(REDIRECT_URL) == 0) {
                String access = "#access_token=";
                final String token = url.substring(url.indexOf(access) + access.length());
                final AppDotNetClient client = CloudPasteADNClient.getInstance();
                client.setToken(token);
                client.retrieveCurrentToken(new TokenResponseHandler() {
                    @Override
                    public void onSuccess(Token responseData) {
                        onTokenObtained(token, responseData);
                    }
                });
            }
        }
    }
}




Java Source Code List

com.alwaysallthetime.cloudpaste.BaseCloudPasteActivity.java
com.alwaysallthetime.cloudpaste.BaseLoginActivity.java
com.alwaysallthetime.cloudpaste.CloudPaste.java
com.alwaysallthetime.cloudpaste.LaunchActivity.java
com.alwaysallthetime.cloudpaste.LoginWebViewActivity.java
com.alwaysallthetime.cloudpaste.MainActivity.java
com.alwaysallthetime.cloudpaste.MessageManagerInstance.java
com.alwaysallthetime.cloudpaste.ShareToCloudPasteActivity.java
com.alwaysallthetime.cloudpaste.adapter.MainListViewAdapter.java
com.alwaysallthetime.cloudpaste.client.CloudPasteADNClient.java