Changes between Initial Version and Version 5 of Ticket #135


Ignore:
Timestamp:
04/11/2014 05:02:18 PM (6 years ago)
Author:
fhd
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #135

    • Property Status changed from new to assigned
    • Property Cc fhd trev added
    • Property Summary changed from Attempt proxy registration using ConnectivityManager.setGlobalProxy to Use the new CyanogenMod proxy registration API
    • Property Priority changed from P2 to P1
    • Property Ready set
    • Property Owner set to fhd
  • Ticket #135 – Description

    initial v5  
    11=== Background === 
    2 ConnectivityManager.setGlobalProxy is only available to apps with android.permission.CONNECTIVITY_INTERNAL. However, that permission is only granted to system apps. CyanogenMod has made the method available to apps with the new cyanogenmod.permission.GLOBAL_PROXY_MANAGEMENT permission. 
     2CyanogenMod is building a new API for global proxy registration. 
    33 
    44=== What to change === 
    5 Request the GLOBAL_PROXY_MANAGEMENT permission and use ConnectivityManager.setGlobalProxy. This needs to be checked before attempting to use RootTools, since it's equally powerful and less user-unfriendly/hacky. 
     51. Request the new cyanogenmod.permission.GLOBAL_PROXY_MANAGEMENT permission. 
     62. Register a receiver with the intent filter {{{cyanogenmod.intent.action.GLOBAL_PROXY_STATE_CHANGED}}}. This is triggered whenever the global proxy is changed from the Privacy menu. 
     73. In the receiver, check that the {{{GlobalProxyManager.PROXY_CHANGE_PACKAGE_NAME_EXTRA}}} string argument is the package name of our proxy. 
     84. Register ABP as the global proxy using {{{ConnectivityManager.setGlobalProxy}}}.