Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ea955de authored by Daniel Micay's avatar Daniel Micay Committed by Michael Bestas
Browse files

Use system captive portal URL

The captive_portal_server setting is deprecated, and hard-wiring it as a
string is also probably a bad idea. Since it's deprecated, this code
will miss an override via the modern settings. This also hard-wired a
slightly different fallback than ConnectivityService, and simply
adjusting it here wouldn't stop that from happening again. It's best to
just use the privileged API for obtaining the proper value. The choice
of LOCAL_MAC_ADDRESS as the permission for this is a bit strange, but
that's what is required, probably because a better fit didn't exist.

Change-Id: I78d07d5ff96598cebf6d4ed032fe1516791836fe
parent d6af60c4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
    <uses-permission android:name="lineageos.permission.HARDWARE_ABSTRACTION_ACCESS" />
    <uses-permission android:name="android.permission.BACKUP" />
    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
    <uses-permission android:name="lineageos.permission.FINISH_SETUP" />
    <uses-permission android:name="lineageos.permission.WRITE_SETTINGS" />
    <uses-permission android:name="lineageos.permission.WRITE_SECURE_SETTINGS" />
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
        <permission name="android.permission.CHANGE_CONFIGURATION"/>
        <permission name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
        <permission name="android.permission.INTERACT_ACROSS_USERS"/>
        <permission name="android.permission.LOCAL_MAC_ADDRESS"/>
        <permission name="android.permission.MANAGE_USERS"/>
        <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
        <permission name="android.permission.SET_TIME"/>
+3 −5
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.net.CaptivePortal;
import android.net.ConnectivityManager;
import android.net.ICaptivePortal;
import android.os.AsyncTask;
import android.provider.Settings;
import android.util.Log;

import java.io.IOException;
@@ -38,17 +37,16 @@ public class CaptivePortalSetupActivity extends WrapperSubBaseActivity {

    public static final String TAG = CaptivePortalSetupActivity.class.getSimpleName();

    private static final String DEFAULT_SERVER = "clients3.google.com";
    private static final int CAPTIVE_PORTAL_SOCKET_TIMEOUT_MS = 10000;

    private URL mCaptivePortalUrl;

    @Override
    protected void onStartSubactivity() {
        String server = Settings.Global.getString(getContentResolver(), "captive_portal_server");
        if (server == null) server = DEFAULT_SERVER;
        ConnectivityManager connectivity = getSystemService(ConnectivityManager.class);

        try {
            mCaptivePortalUrl = new URL("http://" + server + "/generate_204");
            mCaptivePortalUrl = new URL(connectivity.getCaptivePortalServerUrl());
        } catch (MalformedURLException e) {
            Log.e(TAG, "Not a valid url" + e);
        }