diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4e045ac1418eaeb3673303bee5398934e5a587c6..31363dd0f91fca51c74b6e33f3ce8d62295e04f3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -27,19 +27,8 @@
             android:theme="@style/AppTheme.NoActionBar" />
         <activity
             android:name=".activity.epic_1.LoginActivity"
-            android:fullBackupContent="true"
             android:theme="@style/Theme.AppCompat.Light.NoActionBar">
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
 
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.BROWSABLE" />
-
-                <data
-                    android:host="myui-dev.cs.ui.ac.id"
-                    android:path="/backend/token/"
-                    android:scheme="akuncs" />
-            </intent-filter>
         </activity>
 
         <!-- news -->
diff --git a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/LoginActivity.java b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/LoginActivity.java
index 80a30ae2e77e19846a6c92f00b03e96a49279b53..6e2110231e1943c8ae919175e2d4f783a6772bb3 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/LoginActivity.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/activity/epic_1/LoginActivity.java
@@ -7,14 +7,25 @@ package id.ac.ui.cs.myui.activity.epic_1;
  */
 
 
+import android.annotation.TargetApi;
 import android.content.Intent;
+import android.content.IntentSender;
 import android.content.SharedPreferences;
 import android.net.Uri;
+import android.net.UrlQuerySanitizer;
+import android.os.Build;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.view.View;
+import android.webkit.CookieManager;
+import android.webkit.CookieSyncManager;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
 import android.widget.Button;
+import android.widget.Toast;
 
 import id.ac.ui.cs.myui.BuildConfig;
 import id.ac.ui.cs.myui.R;
@@ -32,75 +43,74 @@ public class LoginActivity extends AppCompatActivity {
 
     SharedPreferences sharedPreferences;
     private String destination;
+    private WebView wv;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_login);
-        //set title bar
-        setTitle("Halaman Login");
-        sharedPreferences = getSharedPreferences("user", 0);
-        Intent intent = new Intent(
-                Intent.ACTION_VIEW,
-                Uri.parse(BuildConfig.AUTH_BASE_URL + "" + "oauth/authorize/?response_type=code&client_id=" + BuildConfig.CLIENT_ID + "&state=random_state_string"));
-        intent.putExtra("to", destination);
-        intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
-        Log.d("launchlogin", "launch");
-        startActivity(intent);
-
+        setContentView(R.layout.activity_login_webview);
 
-        Button btnLogin = (Button) findViewById(R.id.btnLogin);
-        btnLogin.setOnClickListener(new View.OnClickListener() {
+        sharedPreferences = getSharedPreferences("user", 0);
+        destination = sharedPreferences.getString("destination", "");
+        String loadUrl = BuildConfig.AUTH_BASE_URL+ "" + "oauth/authorize/?response_type=code&client_id=" + BuildConfig.CLIENT_ID + "&state=random_state_string";
+        Log.i("loadUrl",loadUrl);
+        CookieSyncManager cookieSyncMngr = CookieSyncManager.createInstance(this);
+        CookieManager cookieManager = CookieManager.getInstance();
+        cookieManager.removeAllCookie();
+        wv = (WebView) findViewById(R.id.webview);
+        wv.clearCache(true);
+        wv.clearHistory();
+        wv.getSettings().setJavaScriptEnabled(true);
+          wv.setWebViewClient(new WebViewClient(){
+            @SuppressWarnings("deprecation")
             @Override
-            public void onClick(View view) {
-                Intent intent = new Intent(
-                        Intent.ACTION_VIEW,
-                        Uri.parse(BuildConfig.AUTH_BASE_URL + "" + "oauth/authorize/?response_type=code&client_id=" + BuildConfig.CLIENT_ID + "&state=random_state_string"));
-                intent.putExtra("to", destination);
-                intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
-                startActivity(intent);
-
+            public boolean shouldOverrideUrlLoading(WebView webView, String url)
+            {
+                return shouldOverrideUrlLoading(url);
             }
-        });
 
-    }
+            @TargetApi(Build.VERSION_CODES.N)
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request)
+            {
+                Uri uri = request.getUrl();
+                return shouldOverrideUrlLoading(uri.toString());
+            }
 
-    protected void onResume() {
-        super.onResume();
-        Log.i("MASUK", "Masuk");
-        destination = sharedPreferences.getString("destination", "");
-        Log.i("destination", destination);
-        // the intent filter defined in AndroidManifest will handle the return from ACTION_VIEW intent
-        Uri uri = getIntent().getData();
-        if (uri != null && uri.toString().startsWith(BuildConfig.REDIRECT_URI)) {
-            Log.i("URI", uri.toString());
-            // use the parameter your API exposes for the code (mostly it's "code")
-            String code = uri.getQueryParameter("code");
-            Log.i("CODE", code);
-            if (code != null) {
-                // get access token
-                try {
+            private boolean shouldOverrideUrlLoading(final String url) {
+                if(url.startsWith("akuncs://")){
+                Uri uri = Uri.parse(url);
+                String code = uri.getQueryParameter("code");
+                Log.i("CODE", code);
+                if (code != null) {
+                    // get access token
+                    try {
 
 //                    Do in background
-                    if (destination.equalsIgnoreCase("ScheduleActivity")) {
-                        ServiceGenerator serviceGenerator = new ServiceGenerator(LoginActivity.this, code, ScheduleActivity.class);
-                        serviceGenerator.execute();
-                    } else if (destination.equalsIgnoreCase("PanicButtonActivity")) {
-                        ServiceGenerator serviceGenerator = new ServiceGenerator(LoginActivity.this, code, PanicButtonActivity.class);
-                        serviceGenerator.execute();
-                    } else {
-                        ServiceGenerator serviceGenerator = new ServiceGenerator(LoginActivity.this, code, NewsHomeActivity.class);
-                        serviceGenerator.execute();
+                        if (destination.equalsIgnoreCase("ScheduleActivity")) {
+                            ServiceGenerator serviceGenerator = new ServiceGenerator(LoginActivity.this, code, ScheduleActivity.class);
+                            serviceGenerator.execute();
+                        } else if (destination.equalsIgnoreCase("PanicButtonActivity")) {
+                            ServiceGenerator serviceGenerator = new ServiceGenerator(LoginActivity.this, code, PanicButtonActivity.class);
+                            serviceGenerator.execute();
+                        } else {
+                            ServiceGenerator serviceGenerator = new ServiceGenerator(LoginActivity.this, code, NewsHomeActivity.class);
+                            serviceGenerator.execute();
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
                     }
-                } catch (Exception e) {
-                    e.printStackTrace();
+                } else if (uri.getQueryParameter("error") != null) {
+                    // show an error message here
+
+                }
+                return true;
                 }
-            } else if (uri.getQueryParameter("error") != null) {
-                // show an error message here
+                return false;
             }
-        }
+        });
+        wv.loadUrl(loadUrl);
 
-        finish();
     }
 }