From 15123644a1f40a529b69d901ec03f0daa484930d Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Wed, 9 Dec 2020 05:47:06 +0700 Subject: [PATCH] [MS OAuth] Open web to login --- app/build.gradle | 1 + .../java/net/kdt/pojavlaunch/CustomTabs.java | 35 +++++++++++++++++++ .../kdt/pojavlaunch/PojavLoginActivity.java | 1 + 3 files changed, 37 insertions(+) create mode 100644 app/src/main/java/net/kdt/pojavlaunch/CustomTabs.java diff --git a/app/build.gradle b/app/build.gradle index afce70313..53038c1a8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -67,6 +67,7 @@ dependencies { implementation 'com.android.support:preference-v14:26.0.0' implementation 'com.android.support:design:26.0.0' implementation 'com.android.support:support-annotations:26.0.0' + implementation 'com.android.support:customtabs:25.2.0' // implementation 'com.intuit.sdp:sdp-android:1.0.5' // implementation 'com.intuit.ssp:ssp-android:1.0.5' diff --git a/app/src/main/java/net/kdt/pojavlaunch/CustomTabs.java b/app/src/main/java/net/kdt/pojavlaunch/CustomTabs.java new file mode 100644 index 000000000..3e4e90bb2 --- /dev/null +++ b/app/src/main/java/net/kdt/pojavlaunch/CustomTabs.java @@ -0,0 +1,35 @@ +package net.kdt.pojavlaunch; + +import android.app.*; +import android.content.*; +import android.graphics.*; +import android.net.*; +import android.support.customtabs.*; +import android.support.v4.content.*; +import android.widget.*; +import net.kdt.pojavlaunch.*; + +public class CustomTabs { + + public static void openTab(Context context, String url) { + CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); + builder.setShowTitle(true); + + CustomTabsIntent customTabsIntent = builder.build(); + customTabsIntent.launchUrl(context, Uri.parse(url)); + } + + public static class CopyBroadcastReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + String url = intent.getDataString(); + + ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); + ClipData data = ClipData.newPlainText("Link", url); + clipboardManager.setPrimaryClip(data); + + Toast.makeText(context, "Copied " + url, Toast.LENGTH_SHORT).show(); + } + } +} diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 5316a1d0e..3cb0fd5bd 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -625,6 +625,7 @@ public class PojavLoginActivity extends BaseActivity public void loginMicrosoft(View view) { // TODO // Documentation: https://wiki.vg/Microsoft_Authentication_Scheme + CustomTabs.openTab(this, "https://login.live.com/oauth20_authorize.srf?client_id=00000000402b5328&response_type=code&scope=service%3A%3Auser.auth.xboxlive.com%3A%3AMBI_SSL&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf"); } // developer methods