@@ -263,13 +263,13 @@ private void setupMapType(int mapType) {
263
263
// as they are redundant (hybrid) and broken (satellite).
264
264
switch (mapType) {
265
265
case 0:
266
- mMap.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE); //setMapType(GoogleMap.MAP_TYPE_NORMAL);
266
+ mMap.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
267
267
break;
268
268
case 1:
269
- mMap.setTileSource(TileSourceFactory.CYCLEMAP); //.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
269
+ mMap.setTileSource(TileSourceFactory.CYCLEMAP);
270
270
break;
271
271
default:
272
- mMap.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE); //setMapType(GoogleMap.MAP_TYPE_NORMAL);
272
+ mMap.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
273
273
break;
274
274
}
275
275
}
@@ -392,11 +392,9 @@ private void loadEntries() {
392
392
new AsyncTask<Void,Void,GeoPoint>() {
393
393
@Override
394
394
protected GeoPoint doInBackground(Void... voids) {
395
- final int SIGNAL_SIZE_RATIO = 15; // A scale factor to draw BTS Signal circles
396
395
int signal;
397
396
398
397
mCellTowerGridMarkerClusterer.getItems().clear();
399
- // loadOpenCellIDMarkers();
400
398
401
399
//New function only gets bts from DBe_import by sim network
402
400
loadOcidMarkersByNetwork();
@@ -407,9 +405,8 @@ protected GeoPoint doInBackground(Void... voids) {
407
405
try {
408
406
// Grab cell data from CELL_TABLE (cellinfo) --> DBi_bts
409
407
c = mDbHelper.getCellData();
410
-
411
- }catch(IllegalStateException ix) {
412
- Log.e(TAG, ix.getMessage(), ix);
408
+ } catch(IllegalStateException ix) {
409
+ Log.e(TAG, "Problem getting data from CELL_TABLE", ix);
413
410
}
414
411
415
412
/*
@@ -425,32 +422,35 @@ protected GeoPoint doInBackground(Void... voids) {
425
422
final int mnc = c.getInt(c.getColumnIndex(DBTableColumnIds.DBI_BTS_MNC)); // MNC
426
423
final double dlat = c.getDouble(c.getColumnIndex(DBTableColumnIds.DBI_BTS_LAT)); // Lat
427
424
final double dlng = c.getDouble(c.getColumnIndex(DBTableColumnIds.DBI_BTS_LON)); // Lon
428
- if (dlat == 0.0 && dlng == 0.0) {
425
+
426
+ if (Double.doubleToRawLongBits(dlat) == 0
427
+ && Double.doubleToRawLongBits(dlng) == 0) {
429
428
continue;
430
429
}
431
- //TODO this (signal) is not in DBi_bts
432
- signal = 1;//c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_AVG_SIGNAL)); // signal
430
+ // TODO this (signal) is not in DBi_bts
431
+ signal = 1;
432
+ //c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_AVG_SIGNAL)); // signal
433
433
// In case of missing or negative signal, set a default fake signal,
434
434
// so that we can still draw signal circles. ?
435
- if (signal <= 0) {
436
- signal = 20;
437
- }
435
+ // if (signal <= 0) {
436
+ // signal = 20;
437
+ // }
438
438
439
- if ((dlat != 0.0) || (dlng != 0.0)) {
439
+ if (Double.doubleToRawLongBits(dlat) != 0
440
+ || Double.doubleToRawLongBits(dlng) != 0) {
440
441
loc = new GeoPoint(dlat, dlng);
441
442
442
-
443
443
CellTowerMarker ovm = new CellTowerMarker(mContext, mMap,
444
- "Cell ID: " + cellID,
445
- "", loc,
446
- new MarkerData(
447
- "" + cellID,
448
- "" + loc.getLatitude(),
449
- "" + loc.getLongitude(),
450
- "" + lac,
451
- "" + mcc,
452
- "" + mnc,
453
- "", false)
444
+ "Cell ID: " + cellID,
445
+ "", loc,
446
+ new MarkerData(
447
+ String.valueOf( cellID) ,
448
+ String.valueOf( loc.getLatitude() ),
449
+ String.valueOf( loc.getLongitude() ),
450
+ String.valueOf( lac) ,
451
+ String.valueOf( mcc) ,
452
+ String.valueOf( mnc) ,
453
+ "", false)
454
454
);
455
455
// The pin of our current position
456
456
ovm.setIcon(getResources().getDrawable(R.drawable.ic_map_pin_blue));
@@ -482,10 +482,14 @@ public void run() {
482
482
c.close();
483
483
}
484
484
// plot neighbouring cells
485
- while (mAimsicdService == null) try {
486
- if (isCancelled()) return null;
487
- Thread.sleep(100);
488
- } catch (Exception e) {}
485
+ while (mAimsicdService == null)
486
+ try {
487
+ if (isCancelled())
488
+ return null;
489
+ Thread.sleep(100);
490
+ } catch (InterruptedException e) {
491
+ Log.w(TAG, "thread interrupted", e);
492
+ }
489
493
List<Cell> nc = mAimsicdService.getCellTracker().updateNeighbouringCells();
490
494
for (Cell cell : nc) {
491
495
if (isCancelled()) return null;
@@ -495,13 +499,13 @@ public void run() {
495
499
getString(R.string.cell_id_label) + cell.getCID(),
496
500
"", loc,
497
501
new MarkerData(
498
- "" + cell.getCID(),
499
- "" + loc.getLatitude(),
500
- "" + loc.getLongitude(),
501
- "" + cell.getLAC(),
502
- "" + cell.getMCC(),
503
- "" + cell.getMNC(),
504
- "", false));
502
+ String.valueOf( cell.getCID() ),
503
+ String.valueOf( loc.getLatitude() ),
504
+ String.valueOf( loc.getLongitude() ),
505
+ String.valueOf( cell.getLAC() ),
506
+ String.valueOf( cell.getMCC() ),
507
+ String.valueOf( cell.getMNC() ),
508
+ "", false));
505
509
506
510
// The pin of other BTS
507
511
ovm.setIcon(getResources().getDrawable(R.drawable.ic_map_pin_orange));
@@ -526,7 +530,8 @@ public void run() {
526
530
*/
527
531
@Override
528
532
protected void onPostExecute(GeoPoint defaultLoc) {
529
- if (loc != null && (loc.getLatitude() != 0.0 && loc.getLongitude() != 0.0)) {
533
+ if (loc != null && (Double.doubleToRawLongBits(loc.getLatitude()) != 0
534
+ && Double.doubleToRawLongBits(loc.getLongitude()) != 0)) {
530
535
mMap.getController().setZoom(16);
531
536
mMap.getController().animateTo(new GeoPoint(loc.getLatitude(), loc.getLongitude()));
532
537
} else {
@@ -567,7 +572,7 @@ private void loadOcidMarkersByNetwork() {
567
572
int imnc =0;
568
573
if (networkOperator != null) {
569
574
imcc = Integer.parseInt(networkOperator.substring(0, 3));
570
- imnc =Integer.parseInt(networkOperator.substring(3));
575
+ imnc = Integer.parseInt(networkOperator.substring(3));
571
576
}
572
577
// DBe_import tower pins.
573
578
Drawable cellTowerMarkerIcon = getResources().getDrawable(R.drawable.ic_map_pin_green);
@@ -577,36 +582,35 @@ private void loadOcidMarkersByNetwork() {
577
582
if (c.moveToFirst()) {
578
583
do {
579
584
// CellID,Lac,Mcc,Mnc,Lat,Lng,AvgSigStr,Samples
580
- final int cellID = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_CID)); // CellID
581
- final int lac = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_LAC)); // Lac
582
- final int mcc = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_MCC)); // Mcc
583
- final int mnc = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_MNC)); // Mnc
584
- final double dlat = Double.parseDouble(c.getString(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_GPS_LAT))); // Lat
585
- final double dlng = Double.parseDouble(c.getString(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_GPS_LON))); // Lon
586
- final GeoPoint location = new GeoPoint(dlat, dlng); //
585
+ final int cellID = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_CID));
586
+ final int lac = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_LAC));
587
+ final int mcc = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_MCC));
588
+ final int mnc = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_MNC));
589
+ final double dlat = Double.parseDouble(c.getString(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_GPS_LAT)));
590
+ final double dlng = Double.parseDouble(c.getString(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_GPS_LON)));
591
+ final GeoPoint location = new GeoPoint(dlat, dlng);
587
592
//where is c.getString(6)AvgSigStr
588
- final int samples = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_SAMPLES)); //Samples
593
+ final int samples = c.getInt(c.getColumnIndex(DBTableColumnIds.DBE_IMPORT_SAMPLES));
589
594
// Add map marker for CellID
590
595
CellTowerMarker ovm = new CellTowerMarker(mContext, mMap,
591
596
"Cell ID: " + cellID,
592
597
"", location,
593
598
new MarkerData(
594
- "" + cellID,
595
- "" + location.getLatitude(),
596
- "" + location.getLongitude(),
597
- "" + lac,
598
- "" + mcc,
599
- "" + mnc,
600
- "" + samples,
601
- false));
599
+ String.valueOf( cellID) ,
600
+ String.valueOf( location.getLatitude() ),
601
+ String.valueOf( location.getLongitude() ),
602
+ String.valueOf( lac) ,
603
+ String.valueOf( mcc) ,
604
+ String.valueOf( mnc) ,
605
+ String.valueOf( samples) ,
606
+ false));
602
607
603
608
ovm.setIcon(cellTowerMarkerIcon);
604
609
items.add(ovm);
605
610
} while (c.moveToNext());
606
611
}
607
612
c.close();
608
613
609
-
610
614
mCellTowerGridMarkerClusterer.addAll(items);
611
615
}
612
616
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
@@ -619,8 +623,7 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin
619
623
620
624
public void setRefreshActionButtonState(final boolean refreshing) {
621
625
if (mOptionsMenu != null) {
622
- final MenuItem refreshItem = mOptionsMenu
623
- .findItem(R.id.get_opencellid);
626
+ final MenuItem refreshItem = mOptionsMenu.findItem(R.id.get_opencellid);
624
627
if (refreshItem != null) {
625
628
if (refreshing) {
626
629
refreshItem.setActionView(R.layout.actionbar_indeterminate_progress);
@@ -641,7 +644,7 @@ public void onStop() {
641
644
public void onStart() {
642
645
super.onStart();
643
646
((AppAIMSICD) getApplication()).attach(this);
644
- if( TinyDB.getInstance().getBoolean(TinyDbKeys.FINISHED_LOAD_IN_MAP)) {
647
+ if(TinyDB.getInstance().getBoolean(TinyDbKeys.FINISHED_LOAD_IN_MAP)) {
645
648
setRefreshActionButtonState(false);
646
649
}
647
650
}
0 commit comments