All Projects → wickerlabs → calllogs

wickerlabs / calllogs

Licence: BSD-2-Clause License
Android library for accessing device call logs

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to calllogs

dynamic-engine
Monitor events in the background on Android.
Stars: ✭ 24 (-57.89%)
Mutual labels:  call
hepipe.js
Pipe arbitrary data rows (logs, events, cdrs, esl, etc) to HEP Server (HOMER)
Stars: ✭ 22 (-61.4%)
Mutual labels:  logs
aws-cloudformation-resource-providers-logs
The CloudFormation Resource Provider Package For Amazon CloudWatch Logs
Stars: ✭ 25 (-56.14%)
Mutual labels:  logs
WELA
WELA (Windows Event Log Analyzer): The Swiss Army knife for Windows Event Logs! ゑ羅(ウェラ)
Stars: ✭ 442 (+675.44%)
Mutual labels:  logs
PoShLog
🔩 PoShLog is PowerShell cross-platform logging module. It allows you to log structured event data into console, file and much more places easily. It's built upon great C# logging library Serilog - https://serilog.net/
Stars: ✭ 108 (+89.47%)
Mutual labels:  logs
osx-callhistory-decryptor
macOS (incl big sur) call history decryptor/converter to CSV format.
Stars: ✭ 19 (-66.67%)
Mutual labels:  call
zinc
ZincSearch. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
Stars: ✭ 9,936 (+17331.58%)
Mutual labels:  logs
syncr
A rolling, append-only, local and remote data stream library for Go
Stars: ✭ 16 (-71.93%)
Mutual labels:  logs
quickstart-calls-directcall-ios
iOS sample for Direct Call of Sendbird Calls, guiding you to build a real-time voice and video calls quickly and easily.
Stars: ✭ 13 (-77.19%)
Mutual labels:  call
k2hftfuse
File transaction by FUSE-based file system
Stars: ✭ 30 (-47.37%)
Mutual labels:  logs
paStash
pastaʃ'ʃ = Spaghetti I/O Event Data Processing, Interpolation, Correlation and beyond 🍝
Stars: ✭ 89 (+56.14%)
Mutual labels:  logs
Flogs
An Advanced Logging Framework develop in flutter that provides quick & simple logging solution.
Stars: ✭ 158 (+177.19%)
Mutual labels:  logs
sematext-logsene-android
Sematext Logs Client Library for Android
Stars: ✭ 22 (-61.4%)
Mutual labels:  logs
logd.me
Your personal and friendly life log!
Stars: ✭ 16 (-71.93%)
Mutual labels:  logs
ethjs-rpc
A super simple module for making low level queries to the Ethereum RPC layer.
Stars: ✭ 14 (-75.44%)
Mutual labels:  call
jade
Asterisk based call center solution
Stars: ✭ 41 (-28.07%)
Mutual labels:  call
ptkdev-logger
🦒 Beautiful Logger for Node.js: the best alternative to the console.log statement
Stars: ✭ 117 (+105.26%)
Mutual labels:  logs
vonage-node-code-snippets
NodeJS code examples for using Nexmo
Stars: ✭ 46 (-19.3%)
Mutual labels:  call
gitlab-job-log-viewer
Browser extension for code highlighting raw logs in Gitlab CI
Stars: ✭ 21 (-63.16%)
Mutual labels:  logs
ULogViewer
Cross-Platform Universal Log Viewer.
Stars: ✭ 64 (+12.28%)
Mutual labels:  logs

Call Logs - Android library for accessing device call logs

Android Arsenal

Image of the library in action

Installation

Step 1. Add the JitPack repository to your root build.gradle file.

allprojects {
	repositories {
		...
		maven { url "https://jitpack.io" }
	}
}

Step 2. Add the library dependency to your app build.gradle file

dependencies {
        implementation 'com.github.wickerlabs:CallLogs:1+@aar'
}

Step 3. Handle permissions (For API 23+)

For those targeting API 23+, 
you should handle the runtime permissions for READ_CONTACTS and READ_CALL_LOG. 
As a reference, check  out the sample app in the repository. 
Other than that, permissions are automatically added to the manifest file.

Usage

  • Initialization

    LogsManager logsManager = new LogsManager(context);
  • Getting a list of call logs

    List<LogObject> callLogs = logsManager.getLogs(type);
  • Available list types :

    LogsManager.INCOMING_CALLS: for getting the list (LogObject) of all the incoming calls.

    LogsManager.OUTGOING_CALLS: for getting the list (LogObject) of all the incoming calls.

    LogsManager.MISSED_CALLS: for getting the list (LogObject) of all the incoming calls.

    LogsManager.ALL_CALLS: for getting the list (LogObject) of all the calls.

  • Getting call durations

logsManager.getIncomingDuration(): returns the number of seconds for all the incoming calls made.

logsManager.getOutgoingDuration(): returns the number of seconds for all the outgoing calls made.

logsManager.getTotalDuration(): returns the number of seconds for all the calls made.

logsManager.getCoolDuration(type): returns a String in the form of "x hrs xx mins" or "xx mins xx secs"

  • Available duration types :

    LogsManager.INCOMING: for getting duration for all the incoming calls.

    LogsManager.OUTGOING: for getting duration for all the incoming calls.

    LogsManager.TOTAL: for getting duration for all the calls.

Using LogObjects

  • Some useful methods

logObject.getDuration(): returns an int of the seconds used for that particular call.

logObject.getNumber(): returns a String of the number associated with the call made.

logObject.getContactName(): returns a String of the contact name for the number in the log, if not found, it returns the number.

logObject.getType(): returns an int for the type of the call log.

logObject.getCoolDuration(): returns a String in the form of "x hrs xx mins" or "xx mins xx secs" based on the duration.

Examples

  • Retriving a list of all call logs:

     ListView logList = (ListView) findViewById(R.id.LogsList);
     LogsManager logsManager = new LogsManager(this);
     List<LogObject> callLogs = logsManager.getLogs(LogsManager.ALL_CALLS);
     LogsAdapter logsAdapter = new LogsAdapter(this, R.layout.log_layout, callLogs);
     logList.setAdapter(logsAdapter);

be sure to check out the sample app in the repository.

Acknowledgements

Icons made by madebyoliver from www.flaticon.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].