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

Commit bdb0896b authored by Matthias Thomae's avatar Matthias Thomae
Browse files

Add support for UAProf header in HTTP requests

Each HTTP request sent from a mobile handset is usually required to
include a x-wap-profile header following the UAProf specification. The
value of this header is a URL that points to the location of a
document which specifies relevant capabilities of the phone, e.g.
supported network bearers, video formats or screen size. This change
defines a global string resource that holds this URL, and also adds
the necessary code in the web widget to include this header in HTTP
requests.
parent c1c45a4d
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.webkit;

import android.net.http.EventHandler;
import android.net.http.RequestHandle;
import android.os.Build;
import android.util.Log;
import android.webkit.CacheManager.CacheResult;

@@ -35,6 +36,7 @@ class FrameLoader {
    private int mCacheMode;
    private String mReferrer;
    private String mContentType;
    private final String mUaprofHeader;

    private static final int URI_PROTOCOL = 0x100;

@@ -57,6 +59,8 @@ class FrameLoader {
        mMethod = method;
        mCacheMode = WebSettings.LOAD_NORMAL;
        mSettings = settings;
        mUaprofHeader = mListener.getContext().getResources().getString(
                com.android.internal.R.string.config_useragentprofile_url, Build.MODEL);
    }

    public void setReferrer(String ref) {
@@ -356,6 +360,11 @@ class FrameLoader {
        }
        
        mHeaders.put("User-Agent", mSettings.getUserAgentString());

        // Set the x-wap-profile header
        if (mUaprofHeader != null && mUaprofHeader.length() > 0) {
            mHeaders.put("x-wap-profile", mUaprofHeader);
        }
    }

    /**
+7 −0
Original line number Diff line number Diff line
@@ -332,4 +332,11 @@
    <!-- 2 means give warning -->
    <integer name="config_datause_notification_type">2</integer>

    <!-- The URL that should be sent in an x-wap-profile header with an HTTP request,
         as defined in the Open Mobile Alliance User Agent Profile specification
         OMA-TS-UAProf-V2_0-20060206-A Section 8.1.1.1. If the URL contains a '%s'
         format string then that substring will be replaced with the value of
         Build.MODEL. The format string shall not be escaped. -->
    <string name="config_useragentprofile_url"></string>

</resources>