-
public interface INetMonsterNetMonster Core's core.
Adds multiple functions to AOSP.
-
-
Method Summary
Modifier and Type Method Description abstract List<ICell>getCells()Retrieves data from all sources available in AOSP and then merges them into one list removing possible duplicities. abstract List<ICell>getCells(CellSource sources)Retrieves data from all of specified sources and then merges them into one list removing possible duplicities. abstract NetworkTypegetNetworkType(Integer subId)Attempts to detect presence of: LTE Advanced / LTE Carrier aggregation
HSPA+ 42 / HSPA+ DC using multiple other sources available in AOSP, mainly cells from getCells.
abstract NetworkTypegetNetworkType(Integer subId, INetworkDetector detectors)Attempts to detect current network type using selected detectors. abstract List<PhysicalChannelConfig>getPhysicalChannelConfiguration(Integer subId)Obtains synchronously currently active configurations for physical channel. -
-
Method Detail
-
getCells
@WorkerThread()@RequiresPermission(allOf = {android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_COARSE_LOCATION, android.permission.READ_PHONE_STATE}) abstract List<ICell> getCells()
Retrieves data from all sources available in AOSP and then merges them into one list removing possible duplicities.
For more information see documentation of each method that might be involved:
-
getCells
@WorkerThread()@RequiresPermission(allOf = {android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_COARSE_LOCATION, android.permission.READ_PHONE_STATE}) abstract List<ICell> getCells(CellSource sources)
Retrieves data from all of specified sources and then merges them into one list removing possible duplicities.
Resulting list contains only unique cells from selected sources. Note that some sources might not return valid data depending on current SDK version.
If none arguments are passed then you'll always get an empty list
For more information see documentation of each method that might be involved:
-
getNetworkType
@WorkerThread()@RequiresPermission(allOf = {android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_COARSE_LOCATION, android.permission.READ_PHONE_STATE}) abstract NetworkType getNetworkType(Integer subId)
Attempts to detect presence of:
LTE Advanced / LTE Carrier aggregation
HSPA+ 42 / HSPA+ DC using multiple other sources available in AOSP, mainly cells from getCells.
If none are present then falls back to AOSP's implementation.
- Parameters:
subId-subscription id as unique identifier for SIM/eSIM card
-
getNetworkType
@WorkerThread() abstract NetworkType getNetworkType(Integer subId, INetworkDetector detectors)
Attempts to detect current network type using selected detectors. Detectors are used in an sequential order and first valid instance of NetworkType is returned so order in which they are passed is important.
You might write your own INetworkDetector or use subset of bundled ones:
DetectorHspaDc (experimental, works since Build.VERSION_CODES.N)
DetectorLteAdvancedNrServiceState (stable, works since Build.VERSION_CODES.P)
DetectorLteAdvancedPhysicalChannel (stable, works since Build.VERSION_CODES.P)
DetectorLteAdvancedCellInfo (experimental, works since Build.VERSION_CODES.N)
DetectorAosp (legacy AOSP)
If detectors are empty or all of them return null then you'll get also null.
- Parameters:
subId-subscription id as unique identifier for SIM/eSIM card
detectors-set of detectors that are used to determine NetworkType
-
getPhysicalChannelConfiguration
@WorkerThread() abstract List<PhysicalChannelConfig> getPhysicalChannelConfiguration(Integer subId)
Obtains synchronously currently active configurations for physical channel.
This method is not publicly accessible in AOSP and can be used to detect multiple active carriers when LTE is active.
Works since Build.VERSION_CODES.P on some phones. Look to PhysicalChannelConfig for more details.
- Parameters:
subId-subscription id as unique identifier for SIM/eSIM card
-
-
-