81 lines
3.3 KiB
Java
81 lines
3.3 KiB
Java
package com.cege.games.release.apple;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.app.Activity;
|
|
import android.content.Intent;
|
|
import android.graphics.Rect;
|
|
import android.net.Uri;
|
|
import android.util.Log;
|
|
import android.view.ViewGroup;
|
|
import android.view.Window;
|
|
import android.webkit.CookieManager;
|
|
import android.webkit.WebResourceRequest;
|
|
import android.webkit.WebSettings;
|
|
import android.webkit.WebView;
|
|
import android.webkit.WebViewClient;
|
|
|
|
import com.cege.games.release.Constants;
|
|
import com.cege.games.release.R;
|
|
|
|
public class AppleLoginActivity extends Activity {
|
|
private static final String TAG = AppleLoginActivity.class.getSimpleName();
|
|
@SuppressLint("SetJavaScriptEnabled")
|
|
@Override
|
|
public void onCreate(android.os.Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
Intent intent = getIntent();
|
|
setContentView(R.layout.activity_web_page);
|
|
|
|
WebView.setWebContentsDebuggingEnabled(true);
|
|
WebView mWebView = findViewById(R.id.web_view);
|
|
WebSettings webSettings = mWebView.getSettings();
|
|
webSettings.setJavaScriptEnabled(true);
|
|
webSettings.setDomStorageEnabled(true);
|
|
webSettings.setDatabaseEnabled(true);
|
|
webSettings.setAllowContentAccess(true);
|
|
webSettings.setAppCacheEnabled(true);
|
|
webSettings.setBuiltInZoomControls(true);
|
|
webSettings.setUseWideViewPort(true);
|
|
webSettings.setLoadWithOverviewMode(true);
|
|
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
|
CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView,true);
|
|
// get url from intent
|
|
String funId = intent.getStringExtra("funId");
|
|
String url = Constants.APPLE_AUTH_URL
|
|
+ "?response_type=code%20id_token&v=1.1.6&response_mode=form_post&client_id="
|
|
+ Constants.APPLE_CLIENT_ID + "&scope=" + Constants.APPLE_SCOPE + "&state=" + funId + "&redirect_uri="
|
|
+ Constants.APPLE_REDIRECT_URI;
|
|
// show web view
|
|
mWebView.loadUrl(url);
|
|
mWebView.setWebViewClient(new WebViewClient() {
|
|
@Override
|
|
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
|
|
String url = request.getUrl().toString();
|
|
Log.i(TAG, url);
|
|
if (url.startsWith("cebg")) {
|
|
// Close the dialog after getting the authorization code
|
|
Intent myapp_intent = new Intent(Intent.ACTION_VIEW);
|
|
myapp_intent.setData(Uri.parse(url));
|
|
startActivity(myapp_intent);
|
|
finish();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// @Override
|
|
// public void onPageFinished(WebView view, String url) {
|
|
// super.onPageFinished(view, url);
|
|
// Rect displayRectangle = new Rect();
|
|
// Window window = getWindow();
|
|
// window.getDecorView().getWindowVisibleDisplayFrame(displayRectangle);
|
|
// ViewGroup.LayoutParams layoutparms = view.getLayoutParams();
|
|
// layoutparms.height = displayRectangle.height();
|
|
// layoutparms.width = displayRectangle.width();
|
|
// view.setLayoutParams(layoutparms);
|
|
// }
|
|
});
|
|
}
|
|
|
|
}
|