All Projects → evilthreads669966 → Pickpocket

evilthreads669966 / Pickpocket

Licence: Apache-2.0 license
A Kotlin Android library for content provider queries with reactive streams and coroutines.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Pickpocket

jducers
A js transducers-like implementation using ES9
Stars: ✭ 25 (+8.7%)
Mutual labels:  asynchronous-programming
async
Asynchronous programming for R -- async/await and generators/yield
Stars: ✭ 37 (+60.87%)
Mutual labels:  asynchronous-programming
asyncoro
Python framework for asynchronous, concurrent, distributed, network programming with coroutines
Stars: ✭ 50 (+117.39%)
Mutual labels:  asynchronous-programming
aioudp
Asyncio UDP server
Stars: ✭ 21 (-8.7%)
Mutual labels:  asynchronous-programming
EnumerableAsyncProcessor
Process Multiple Asynchronous Tasks in Various Ways - One at a time / Batched / Rate limited / Concurrently
Stars: ✭ 84 (+265.22%)
Mutual labels:  asynchronous-programming
hangman-game
A responsive hangman game built with vanilla javascript, html, and css. Animated with GSAP and canvas animations.
Stars: ✭ 22 (-4.35%)
Mutual labels:  asynchronous-programming
debugging-async-operations-in-nodejs
Example code to accompany my blog post on debugging async operations in Node.js.
Stars: ✭ 22 (-4.35%)
Mutual labels:  asynchronous-programming
ShenScript
Shen for JavaScript
Stars: ✭ 40 (+73.91%)
Mutual labels:  asynchronous-programming
android-kotlin-coroutines
A simple Android project using asynchronous programming with Kotlin Coroutines.
Stars: ✭ 45 (+95.65%)
Mutual labels:  asynchronous-programming
Restaurant
❤️ A sample Restaurant application based on MVVM (ViewModel, Coroutines, Flow, Repository, Hilt) architecture
Stars: ✭ 24 (+4.35%)
Mutual labels:  asynchronous-programming
asynctimerqueue
Asynchronous timer queue mechanism(C++11)
Stars: ✭ 21 (-8.7%)
Mutual labels:  asynchronous-programming
mst-effect
💫 Designed to be used with MobX-State-Tree to create asynchronous actions using RxJS.
Stars: ✭ 19 (-17.39%)
Mutual labels:  asynchronous-programming
drogon
Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
Stars: ✭ 7,742 (+33560.87%)
Mutual labels:  asynchronous-programming
public
BitDust project source codes : official Public Git repository (mirror on GitHub) : https://bitdust.io
Stars: ✭ 19 (-17.39%)
Mutual labels:  asynchronous-programming
snap
Snap Programming Language
Stars: ✭ 20 (-13.04%)
Mutual labels:  asynchronous-programming
LuaCSP
Communicating Sequential Processes in Lua
Stars: ✭ 40 (+73.91%)
Mutual labels:  asynchronous-programming
git-repo-sync
Auto synchronization of remote Git repositories. Auto conflict solving. Network fail resilience. Linux & Windows support. And more.
Stars: ✭ 35 (+52.17%)
Mutual labels:  asynchronous-programming
Hap
A simple concurrent programming language.
Stars: ✭ 19 (-17.39%)
Mutual labels:  asynchronous-programming
android-clean-arc-coroutines
Clean Architecture(Coroutines,Dagger, MVVM, ROOM, retrofit, databinding)
Stars: ✭ 116 (+404.35%)
Mutual labels:  android-coroutines
scalable-concurrent-containers
High performance containers and utilities for concurrent and asynchronous programming
Stars: ✭ 101 (+339.13%)
Mutual labels:  asynchronous-programming

Release  API  Awesome Kotlin Badge

Pickpocket

An Android library for content provider queries with reactive streams and coroutines.

  • Calendar
  • Contacts
  • SMS
  • MMS
  • Files/Media
  • Call Log
  • Bookmarks
  • Browser History
  • Settings
  • Device Info
  • Installed Apps
  • GPS Location
  • Accounts
  • Dictionary

User Instructions

  1. Add the maven repository to your project's build.gradle file
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
  1. Add the dependency to your app's build.gradle file
dependencies {
    implementation 'com.github.evilthreads669966:pickpocket:0.2.1'
}
  1. Use a pickpocket coroutine builder function to retrieve a collection of the data types you want
//flow
calendarFlow().collect { calendarEvent ->
    Log.d("PICKPOCKET", "${calendarEvent.title} - ${calendarEvent.startDate}")
}

//async
//takes android context as argument
val events = calendarAsync(this)
Log.d("ASYNC PICKPOCKET","${events.await().size}")

//producer channel
//takes android context as argument
calendarProducer(this).consumeEach { event -> Log.d("PICKPOCKET PRODUCER", event.toString()) }

//launch
calendarLaunch(this@MyService).forEach { event -> Log.d("PICKPOCKET LAUNCH", event.toString()) }

Ask a Question?

Reporting issues

Found a bug on a specific feature? Open an issue on Github issues

Contributing

SMS Backdoor is released under the Apache 2.0 license. If you would like to contribute something, or simply want to hack then this document should help you get started.

Code of Conduct

  • Please refrain from using any profanity
  • Please be respectful on GitHub Issues
  • Have fun

Pull Requests

  • Please create a branch prefixed with what you're working on.
    • FEATURE_ADDING_SOMETHING
    • BUG_FIXING_SOMETHING
    • REFACTOR_CHANGING_SOMETHING
  • Once you're done with your commits to this branch hit a pull request off and I'll look at it and most likely accept it if it looks good.

Using GitHub Issues

We use GitHub issues to track bugs and enhancements.

  • If you find a bug please fill out an issue report. Provide as much information as possible.
  • If you think of a great idea please fill out an issue as a proposal for your idea.

Code Conventions

None of these is essential for a pull request, but they will all help. They can also be added after the original pull request but before a merge.

  • We use idiomatic kotlin conventions
  • Add yourself as an @author to the .kt files that you modify or create.
  • Add some comments
  • A few unit tests would help a lot as well -- someone has to do it.
  • If you are able to provide a unit test then do.
    • Because of the types of libraries I develop often times it is hard to test.

Working with the code

If you don't have an IDE preference we would recommend that you use Android Studio

Contributors

This project exists thanks to all the people who contribute.

Talking about Pickpocket

Articles

  • No articles have been written yet

License

Copyright 2019 Chris Basinger

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].