title: onLocationChanged() takes too much time to call
body: <p>In the physical device, it takes too much time to call. But in avd it's run perfectly. I test this code in redmi note 4 and zuk z2 plus. Both device location set on <code>HIGH_ACCURACY</code> . I want to fetch the location rapidly. But it takes too much time to execute.  </p>
  
  <pre><code> locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0f,wcLoactionListener)
   locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0f,wcLoactionListener)
  </code></pre>
  
  <p>But if I removed this line</p>
  
  <pre><code>locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0f,wcLoactionListener)
  </code></pre>
  
  <p>then onLocationChanged() not calling.</p>
  
  <p>Here is my location listener</p>
  
  <pre><code>class MyListener:LocationListener {
  
  
  
      override fun onLocationChanged(location: Location?) {
  
          Log.d("Loc","*************************************************** "+ location)
      }
  
      override fun onStatusChanged(provider: String?, status: Int, extras: Bundle?) {
  
      }
  
      override fun onProviderEnabled(provider: String?) {
  
      }
  
  
      override fun onProviderDisabled(provider: String?) {
  
      }
  }
  </code></pre>
  
  <p><strong>Mainactivity:-</strong></p>
  
  <pre><code>class MainActivity : AppCompatActivity() {
      val LOCATION_CODE = 212
      private lateinit var locationManager: LocationManager
      private lateinit var cwcLoactionListener:MyListener
      override fun onCreate(savedInstanceState: Bundle?) {
          super.onCreate(savedInstanceState)
          setContentView(R.layout.activity_main)
          cwcLoactionListener = MyListener()
          checkLocationPermission()
      }
  
      @SuppressLint("MissingPermission")
      fun fechLOc(){
          locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
          locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0f,cwcLoactionListener)
          locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,500,0f,cwcLoactionListener)
      }
  
      private fun checkLocationPermission() {
          if(Build.VERSION.SDK_INT&gt;=23){
  
              if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) !=
                  PackageManager.PERMISSION_GRANTED ){
  
                  requestPermissions(arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION), LOCATION_CODE)
                  return
              }
          }
          fechLOc()
      }
  
      override fun onRequestPermissionsResult(requestCode: Int, permissions: Array&lt;out String&gt;, grantResults: IntArray) {
  
          when (requestCode) {
              LOCATION_CODE-&gt;{
                  if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
                      Toast.makeText(this,"Accept this permission", Toast.LENGTH_LONG).show()
                  }else{
                      fechLOc()
                  }
              }
              else -&gt;{
                  super.onRequestPermissionsResult(requestCode, permissions, grantResults)
              }
  
          }
  
  
      }
  }
  </code></pre>
  
  <p>manifest</p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.INTERNET"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  </code></pre>