.method
public
openGPS()I
.locals
9
.prologue
const
/
4
v8,
0x0
const
/
4
v7, -
0x1
.line
1278
iget-
boolean
v0, p0, Lcld/navi/mainframe/MainActivity;->mUseGpsEmu:Z
if
-eqz v0, :cond_1
.line
1280
invoke-virtual {p0}, Lcld/navi/mainframe/MainActivity;->resumeGpsEmu()V
:cond_0
move v0, v8
.line
1309
:goto_0
return
v0
.line
1284
:cond_1
iget-object v0, p0, Lcld/navi/mainframe/MainActivity;->mLocationProvider:Ljava/lang/String;
if
-nez v0, :cond_0
.line
1286
iget-object v0, p0, Lcld/navi/mainframe/MainActivity;->mLocationManager:Landroid/location/LocationManager;
iget-object v1, p0, Lcld/navi/mainframe/MainActivity;->mCriteria:Landroid/location/Criteria;
const
/
4
v2,
0x1
invoke-virtual {v0, v1, v2}, Landroid/location/LocationManager;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcld/navi/mainframe/MainActivity;->mLocationProvider:Ljava/lang/String;
.line
1288
iget-object v0, p0, Lcld/navi/mainframe/MainActivity;->mLocationProvider:Ljava/lang/String;
if
-eqz v0, :cond_2
.line
1292
:try_start_0
iget-object v0, p0, Lcld/navi/mainframe/MainActivity;->mILM:Landroid/location/ILocationManager;
iget-object v1, p0, Lcld/navi/mainframe/MainActivity;->mGPSStatusListener:Lcld/navi/mainframe/MainActivity$NaviGPSStatusListener;
invoke-
interface
{v0, v1}, Landroid/location/ILocationManager;->addGpsStatusListener(Landroid/location/IGpsStatusListener;)Z
.line
1293
iget-object v0, p0, Lcld/navi/mainframe/MainActivity;->mILM:Landroid/location/ILocationManager;
iget-object v1, p0, Lcld/navi/mainframe/MainActivity;->mLocationProvider:Ljava/lang/String;
iget-wide v2, p0, Lcld/navi/mainframe/MainActivity;->mMinTime:J
iget v4, p0, Lcld/navi/mainframe/MainActivity;->mMinDistance:F
iget-object v5, p0, Lcld/navi/mainframe/MainActivity;->mLocationListener:Lcld/navi/mainframe/MainActivity$NaviLocationListener;
invoke-
interface
/range {v0 .. v5}, Landroid/location/ILocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/ILocationListener;)V
#就是这里,就是因为这里调用了老的函数,所以引发了错误
:try_end_0
.
catch
Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0
move v0, v8
.line
1294
goto
:goto_0
.line
1296
:catch_0
move-exception v0
move-object v6, v0
.line
1298
.local v6, e:Landroid/os/RemoteException;
invoke-virtual {p0}, Lcld/navi/mainframe/MainActivity;->closeGPS()I
move v0, v7
.line
1299
goto
:goto_0
.end local v6 #e:Landroid/os/RemoteException;
:cond_2
move v0, v7
.line
1304
goto
:goto_0
.end method