Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A Android-IMSI-Catcher-Detector
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 162
    • Issues 162
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CellularPrivacy
  • Android-IMSI-Catcher-Detector
  • Issues
  • #734
Closed
Open
Issue created Dec 31, 2015 by Administrator@rootContributor0 of 33 checklist items completed0/33 checklist items

Improve AIMSICDDbAdapter.java

Created by: SecUpwN

This is the TODO and Issues taken from AIMSICDDbAdapter.java which needs some heavy fixing. Not sure if you are abe to check these off one by one @larsgrefer or if we need a professional DB expert.


  • General
    • We'd like to Export the entire DB (like a dump), so we need ...
    • prepareOpenCellUploadData() this needs to be updated and re-coded
    • all functions related to SignalStrengthTracker.java need to be updated
    • addSignalStrength (int cellID, int signal, String timestamp) The timestamp is stored as String.valueOf(System.currentTimeMillis()); because the new db column for this is TEXT?
    • getAverageSignalStrength() // rx_signal
  • Various DB operations
  • We should make all detections outside of AIMSICDDbAdapter.java in a separate module as described in the diagram in #215 (closed) where it is referred to as "Detection Module" (DET).
  • Seems as if we're querying too much, when we only need items: 1,3,4,8,11 (Try to avoid over query to improve performance.)
    • rewrite mDb.query to use mDb.rawQuery ?? // Perhaps: "UPDATE DBi_measure VALUES isSubmitted=1 WHERE isSubmitted<>1;" ?
    • Add "act" in upload data for the DBi_measure:RAT
    • function getOCIDSubmitData() is not fully working ==> DB join not yet implemented
  • Database Population
  • Clarify: Why are we only populating 8 items out of 19?
  • Dumping aimsicd.db into aimsicd_dump.db
  • We probably also need to test if we have the sqlite3 binary. (See Busybox checking code.)
  • Apparently pipes doesn't work from Java... No idea why, as they appear to work
    • in the AtCommandFragment.java... for checking for /dev/ files.
  • Exporting database tables into CSV files
  • We should consider having a better file selector here, so that the user can select his own location for storing the backup files.
  • Don't use progress bar for each column item, but instead each table.
  • Cleanup and filtering of DB tables
  • Look into "long CID" and "Short CID" for UMTS/LTE...
  • Implement some kind of counter, to count how many cells was removed.
  • Better description of what was removed.
  • Give a return value for success/failure
  • Implement the "rej_cause" check and UPDATE table.
  • Implement proper usage of List of RAT versus Type from http://git.io/vEjfG
  • Implement Filtering done as it should be with http://git.io/vEjfD

Notes: By using rawQuery, we could count the number of items affected: mDb.rawQuery(sqlq, null); - But rawQuery() is not executed until there is an associated Cursor operation!

  • Signal Strengths Table
  • timestamp in DBi_measure is a String, but the one from SignalStrengthTracker is a long
  • Insert new detection strings into database
  • Need to change time data type to INTEGER in DB
  • * Section "Inserts a measurement into the DBi_measure and DBi_bts tables"*
  • Still not adding entry to DBi_bts
  • Where is this used and how?
  • MAYBE it's current use is still okay?
  • Using bts_id is WRONG! That is a foreign key id in the DBi_bts and used in DBi_measure
  • Inserting log data into the EventLog table
  • ALL events should be logged!!
  • To avoid repeated copies, only check last DB entries
  • Before inserting event, check that LAC/CID are not "-1".
  • Any related notifications are better put here as well, right?
  • **Section "Check if CID (currently bts_id) is already in DBi_measure"
  • replace bts_id with DBi_bts:CID
  • This is redundant because of cellInDbiBts

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Assignee
Assign to
Time tracking