Skip to content

Commit 7dc98f3

Browse files
committed
Merge pull request #52 from xLaMbChOpSx/master
Cell Tracking Update, Disclaimer Acceptance, MapViewer Updates
2 parents 53b5075 + eb56f63 commit 7dc98f3

File tree

9 files changed

+275
-276
lines changed

9 files changed

+275
-276
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
android:screenOrientation="portrait" >
3737
<intent-filter>
3838
<action android:name="android.intent.action.MAIN" />
39+
<action android:name="android.intent.action.VIEW" />
40+
<action android:name="android.intent.action.DELETE" />
3941

4042
<category android:name="android.intent.category.LAUNCHER" />
4143
<category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />

app/src/main/java/com/SecUpwN/AIMSICD/AIMSICD.java

Lines changed: 50 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,14 @@
2121
import android.app.AlertDialog;
2222
import android.content.ComponentName;
2323
import android.content.Context;
24+
import android.content.DialogInterface;
2425
import android.content.Intent;
2526
import android.content.ServiceConnection;
2627
import android.content.SharedPreferences;
28+
import android.content.SharedPreferences.Editor;
2729
import android.net.ConnectivityManager;
2830
import android.net.NetworkInfo;
31+
import android.net.Uri;
2932
import android.os.AsyncTask;
3033
import android.os.Bundle;
3134
import android.os.Environment;
@@ -68,7 +71,9 @@ public class AIMSICD extends Activity {
6871
private final Context mContext = this;
6972
private boolean mBound;
7073
private SharedPreferences prefs;
74+
private Editor prefsEditor;
7175
private AIMSICDDbAdapter dbHelper;
76+
private String mDisclaimerAccepted;
7277

7378
private AimsicdService mAimsicdService;
7479

@@ -89,11 +94,43 @@ public void onCreate(Bundle savedInstanceState) {
8994
startService(intent);
9095
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
9196

97+
prefs = mContext.getSharedPreferences(
98+
AimsicdService.SHARED_PREFERENCES_BASENAME, 0);
99+
100+
mDisclaimerAccepted = getResources().getString(R.string.disclaimer_accepted);
101+
102+
if (!prefs.getBoolean(mDisclaimerAccepted, false)) {
103+
final AlertDialog.Builder disclaimer = new AlertDialog.Builder(this)
104+
.setTitle(R.string.disclaimer_title)
105+
.setMessage(R.string.disclaimer)
106+
.setPositiveButton(R.string.text_ok, new DialogInterface.OnClickListener() {
107+
public void onClick(DialogInterface dialog, int which) {
108+
prefsEditor = prefs.edit();
109+
prefsEditor.putBoolean(mDisclaimerAccepted, true);
110+
prefsEditor.commit();
111+
}
112+
})
113+
.setNegativeButton(R.string.text_cancel, new DialogInterface.OnClickListener() {
114+
public void onClick(DialogInterface dialog, int which) {
115+
prefsEditor = prefs.edit();
116+
prefsEditor.putBoolean(mDisclaimerAccepted, false);
117+
prefsEditor.commit();
118+
Uri packageUri = Uri.parse("package:com.SecUpwN.AIMSICD");
119+
Intent uninstallIntent =
120+
new Intent(Intent.ACTION_DELETE, packageUri);
121+
startActivity(uninstallIntent);
122+
finish();
123+
mAimsicdService.onDestroy();
124+
}
125+
});
126+
127+
AlertDialog disclaimerAlert = disclaimer.create();
128+
disclaimerAlert.show();
129+
}
130+
92131
//Create DB Instance
93132
dbHelper = new AIMSICDDbAdapter(mContext);
94133

95-
prefs = mContext.getSharedPreferences(
96-
AimsicdService.SHARED_PREFERENCES_BASENAME, 0);
97134
}
98135

99136
@Override
@@ -212,9 +249,9 @@ private void updateUI() {
212249
content.setText(mAimsicdService.getNetworkTypeName(netID, false));
213250

214251
content = (TextView) findViewById(R.id.data_activity);
215-
content.setText(mAimsicdService.getActivityDesc(netID));
252+
content.setText(mAimsicdService.getActivityDesc());
216253
content = (TextView) findViewById(R.id.data_status);
217-
content.setText(mAimsicdService.getStateDesc(netID));
254+
content.setText(mAimsicdService.getStateDesc());
218255
content = (TextView) findViewById(R.id.network_roaming);
219256
content.setText(mAimsicdService.isRoaming());
220257

@@ -243,7 +280,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
243280
@Override
244281
public boolean onPrepareOptionsMenu(Menu menu) {
245282
MenuItem mTrackCell = menu.findItem(R.id.track_cell);
246-
MenuItem mTrackSignal = menu.findItem(R.id.track_signal);
247283
MenuItem mTrackLocation = menu.findItem(R.id.track_location);
248284
MenuItem mTrackFemtocell = menu.findItem(R.id.track_femtocell);
249285

@@ -255,14 +291,6 @@ public boolean onPrepareOptionsMenu(Menu menu) {
255291
mTrackCell.setIcon(R.drawable.untrack_cell);
256292
}
257293

258-
if (mAimsicdService.TrackingSignal) {
259-
mTrackSignal.setTitle(R.string.untrack_signal);
260-
mTrackSignal.setIcon(R.drawable.ic_action_network_cell);
261-
} else {
262-
mTrackSignal.setTitle(R.string.track_signal);
263-
mTrackSignal.setIcon(R.drawable.ic_action_network_cell_not_tracked);
264-
}
265-
266294
if (mAimsicdService.TrackingLocation) {
267295
mTrackLocation.setTitle(R.string.untrack_location);
268296
mTrackLocation.setIcon(R.drawable.ic_action_location_found);
@@ -271,12 +299,16 @@ public boolean onPrepareOptionsMenu(Menu menu) {
271299
mTrackLocation.setIcon(R.drawable.ic_action_location_off);
272300
}
273301

274-
if (mAimsicdService.TrackingFemtocell) {
275-
mTrackFemtocell.setTitle(R.string.untrack_femtocell);
276-
mTrackFemtocell.setIcon(R.drawable.ic_action_network_cell);
302+
if (mAimsicdService.getPhoneID() == TelephonyManager.PHONE_TYPE_CDMA) {
303+
if (mAimsicdService.TrackingFemtocell) {
304+
mTrackFemtocell.setTitle(R.string.untrack_femtocell);
305+
mTrackFemtocell.setIcon(R.drawable.ic_action_network_cell);
306+
} else {
307+
mTrackFemtocell.setTitle(R.string.track_femtocell);
308+
mTrackFemtocell.setIcon(R.drawable.ic_action_network_cell_not_tracked);
309+
}
277310
} else {
278-
mTrackFemtocell.setTitle(R.string.track_femtocell);
279-
mTrackFemtocell.setIcon(R.drawable.ic_action_network_cell_not_tracked);
311+
mTrackFemtocell.setVisible(false);
280312
}
281313

282314
return super.onPrepareOptionsMenu(menu);
@@ -291,10 +323,6 @@ public boolean onOptionsItemSelected(MenuItem item) {
291323
trackcell();
292324
invalidateOptionsMenu();
293325
return true;
294-
case R.id.track_signal:
295-
tracksignal();
296-
invalidateOptionsMenu();
297-
return true;
298326
case R.id.track_location:
299327
tracklocation();
300328
invalidateOptionsMenu();
@@ -354,17 +382,6 @@ private void showmap() {
354382
startActivity(myIntent);
355383
}
356384

357-
/**
358-
* Signal Strength Tracking - Enable/Disable
359-
*/
360-
private void tracksignal() {
361-
if (mAimsicdService.TrackingSignal) {
362-
mAimsicdService.setSignalTracking(false);
363-
} else {
364-
mAimsicdService.setSignalTracking(true);
365-
}
366-
}
367-
368385
/**
369386
* Cell Information Tracking - Enable/Disable
370387
*/

app/src/main/java/com/SecUpwN/AIMSICD/AIMSICDDbAdapter.java

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public class AIMSICDDbAdapter {
3232
private static final String COLUMN_ID = "_id";
3333
private final String LOCATION_TABLE = "locationinfo";
3434
private final String CELL_TABLE = "cellinfo";
35-
private final String SIGNAL_TABLE = "signalinfo";
3635
private final String OPENCELLID_TABLE = "opencellid";
3736
private final String DEFAULT_MCC_TABLE = "defaultlocation";
3837
private final String DB_NAME = "myCellInfo";
@@ -71,15 +70,6 @@ public void close() {
7170
"Country VARCHAR, Operator VARCHAR, OperatorName VARCHAR, " +
7271
"Timestamp TIMESTAMP NOT NULL DEFAULT current_timestamp);";
7372

74-
/**
75-
* Signal Strength Tracking Database
76-
*/
77-
private final String SIG_DATABASE_CREATE = "create table " +
78-
SIGNAL_TABLE + " (" + COLUMN_ID +
79-
" integer primary key autoincrement, Lac INTEGER, CellID INTEGER, " +
80-
"Net VARCHAR, Lat VARCHAR, Lng VARCHAR, Signal INTEGER, Connection VARCHAR, " +
81-
"Timestamp TIMESTAMP NOT NULL DEFAULT current_timestamp);";
82-
8373
/**
8474
* OpenCellID Cell Information Database
8575
*/
@@ -184,39 +174,6 @@ public long insertLocation(int lac, int cellID,
184174
}
185175
}
186176

187-
/**
188-
* Inserts Signal Strength Details into Database
189-
*
190-
* @return row id or -1 if error
191-
*/
192-
public long insertSignal(int lac, int cellID,
193-
int netType, double latitude, double longitude,
194-
int signalInfo, String cellInfo) {
195-
//Populate Content Values for Insert or Update
196-
ContentValues signalValues = new ContentValues();
197-
signalValues.put("Lac", lac);
198-
signalValues.put("CellID", cellID);
199-
signalValues.put("Net", netType);
200-
signalValues.put("Lat", latitude);
201-
signalValues.put("Lng", longitude);
202-
signalValues.put("Signal", signalInfo);
203-
signalValues.put("Connection", cellInfo);
204-
205-
if (cellSignalExists(cellID)) {
206-
return mDb.update(SIGNAL_TABLE, signalValues, "CellID=?",
207-
new String[]{Integer.toString(cellID)});
208-
} else {
209-
return mDb.insert(LOCATION_TABLE, null, signalValues);
210-
}
211-
}
212-
213-
/**
214-
* Returns Signal Strength database contents
215-
*/
216-
public Cursor getSignalData() {
217-
return mDb.query(true, SIGNAL_TABLE, new String[] {"Net", "Lat", "Lng", "Signal", "CellID"},
218-
"Lat <> 0.0 AND lng <> 0.0",null,null,null,null,null);
219-
}
220177

221178
/**
222179
* Returns Cell Information database contents
@@ -283,16 +240,6 @@ public boolean openCellExists(int cellID) {
283240
return cursor.getCount()>0;
284241
}
285242

286-
/**
287-
* Checks to see if Cell Signal data already exists in database
288-
*/
289-
public boolean cellSignalExists(int cellID) {
290-
Cursor cursor = mDb.rawQuery("SELECT * FROM " + SIGNAL_TABLE + " WHERE CellID = " +
291-
cellID, null);
292-
293-
return cursor.getCount()>0;
294-
}
295-
296243
public double[] getDefaultLocation(int mcc) {
297244
double[] loc = new double[2];
298245

@@ -361,7 +308,6 @@ public void exportDB () {
361308
try {
362309
export(LOCATION_TABLE);
363310
export(CELL_TABLE);
364-
export(SIGNAL_TABLE);
365311
export(OPENCELLID_TABLE);
366312
final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
367313
builder.setTitle(R.string.database_export_successful)
@@ -426,7 +372,6 @@ public class DbHelper extends SQLiteOpenHelper {
426372
public void onCreate(SQLiteDatabase database) {
427373
database.execSQL(LOC_DATABASE_CREATE);
428374
database.execSQL(CELL_DATABASE_CREATE);
429-
database.execSQL(SIG_DATABASE_CREATE);
430375
database.execSQL(OPENCELLID_DATABASE_CREATE);
431376
database.execSQL(DEFAULT_MCC_DATABASE_CREATE);
432377
populateDefaultMCC(database);
@@ -440,7 +385,6 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
440385
);
441386
db.execSQL("DROP TABLE IF EXISTS " + LOCATION_TABLE);
442387
db.execSQL("DROP TABLE IF EXISTS " + CELL_TABLE);
443-
db.execSQL("DROP TABLE IF EXISTS " + SIGNAL_TABLE);
444388
db.execSQL("DROP TABLE IF EXISTS " + OPENCELLID_TABLE);
445389
db.execSQL("DROP TABLE IF EXISTS " + DEFAULT_MCC_TABLE);
446390

app/src/main/java/com/SecUpwN/AIMSICD/DbViewer.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ public void onClick(View v) {
6161
}
6262

6363
private void BuildTable(Cursor tableData) {
64-
if (tableData != null && tableData.moveToFirst()) {
65-
64+
if (tableData != null && tableData.getCount() > 0) {
6665
if (mTableSelected.equals("OpenCellID Data")) {
6766
BaseInflaterAdapter<CardItemData> adapter = new BaseInflaterAdapter<CardItemData>(
6867
new OpenCellIdCardInflater());
@@ -99,7 +98,9 @@ private void BuildTable(Cursor tableData) {
9998
}
10099
lv.setAdapter(adapter);
101100
}
101+
lv.setVisibility(View.VISIBLE);
102102
} else {
103+
lv.setVisibility(View.GONE);
103104
Helpers.sendMsg(this, "Table contains no data to display");
104105
}
105106
}
@@ -116,8 +117,6 @@ protected Cursor doInBackground(Cursor... params) {
116117
mDb.open();
117118
if (mTableSelected.equals("Cell Data")) {
118119
return mDb.getCellData();
119-
} else if (mTableSelected.equals("Signal Strength Data")) {
120-
return mDb.getSignalData();
121120
} else if (mTableSelected.equals("Location Data")) {
122121
return mDb.getLocationData();
123122
} else if (mTableSelected.equals("OpenCellID Data")) {

0 commit comments

Comments
 (0)