Skip to content
Snippets Groups Projects
  1. Feb 08, 2021
  2. Feb 07, 2021
    • Treehugger Robot's avatar
      905c2570
    • Lorenzo Colitti's avatar
    • Lorenzo Colitti's avatar
      More cleanly separate requests and listens. · 97d09a26
      Lorenzo Colitti authored
      Currently, NetworkRequest has several types of requests (LISTEN,
      TRACK_DEFAULT, REQUEST, BACKGROUND_REQUEST), and we expect more
      to be added.
      
      There are really three categories of request:
      1. Requests satisfied by only one network and will keep that
         network up, and thus need to be sent to NetworkProviders:
         REQUEST, BACKGROUND_REQUEST.
      2. Requests satisfied by only one network but will not keep that
         network up: TRACK_DEFAULT
      3. Requests satisfied by multiple networks and will not keep any
         networks up: LISTEN.
      
      Unfortunately the separation is not very clear. Currently, for
      any valid request, either isListen() will return true or
      isRequest() will return true. This makes it impossible to tell
      whether a particular request should be sent to NetworkProviders,
      so the current code sends TRACK_DEFAULT requests to
      NetworkProviders as well. This is incorrect - a TRACK_DEFAULT
      should never keep a network up, for example.
      
      This CL attempts to clarify things by making isRequest() return
      false for TRACK_DEFAULT requests and thus never sending them to
      NetworkProviders. After this CL:
      
      - isRequest will return true only for requests that attempt to
        bring up or keep up a network.
      - isListen will return true only for requests that match multiple
        networks but do not keep any of them up.
      - Neither will return true for TRACK_DEFAULT.
      
      Test: atest ConnectivityServiceTest
      Change-Id: I7aad30ade8f7ab2a179e53483d9afd8675f64a12
      97d09a26
    • Serik Beketayev's avatar
  3. Feb 06, 2021
  4. Feb 05, 2021
Loading