Merlin

Observes network connection status & gives callbacks
Alternatives To Merlin
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Yacy_search_server2,909
18 days ago202otherJava
Distributed Peer-to-Peer Web Search Engine and Intranet Search Appliance
Mobileinfo568
2 years ago1apache-2.0Java
【Android】Hardware Information. For detailed network diagnosis, please refer to【HttpInfo】
Merlin548
a year ago1May 14, 2014otherJava
Observes network connection status & gives callbacks
Aion337
2 years ago30mitJava
Aion Network - Java Implementation
Emergent1361311 hours ago98August 12, 202219bsd-3-clauseGo
This is the new version of the emergent neural network simulation software, written now in Go (golang)
Retrospring132
6 days ago76agpl-3.0Ruby
Q/A based social network
Drc Sim65
5 years ago23otherPython
Wii U Gamepad Simulator Backend
Avain56
a year agomitPython
A Modular Framework for the Automated Vulnerability Analysis in IP-based Networks
Oksimple56
3 months agoKotlin
OkSimple :powerful and simple okhttp network library
Nprint50
a year ago2apache-2.0C++
nPrint provides a generalizable data representation for network packets that works directly with machine learning techniques
Alternatives To Merlin
Select To Compare


Alternative Project Comparisons
Readme

THIS REPOSITORY IS OFFICIALLY NO LONGER UNDER MAINTENANCE since 10/02/2022

Merlin header image

Merlin Build status Download License

Merlin aims to simplify network monitoring. Providing 3 registerable callbacks for network connectivity changes. onConnect() , onDisconnect() and onBind(NetworkStatus networkStatus).

Adding to your project

To start using Merlin, add these lines to your module's build.gradle:

repositories {
    jcenter()
}

dependencies {
    implementation 'com.novoda:merlin:1.2.0'
}

Optional steps

Note: these steps should not be necessary as the Manifest Merger should be taking care of this for you!

If for some reason your app's manifest doesn't end up containing the required entries, and you encounter issues, you might need to manually add a few things to your AndroidManifest.xml:

  1. These permissions:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  2. This service:

    <service
      android:exported="false"
      android:name="com.novoda.merlin.MerlinService" />
    

Sample usage

Create Merlin:

merlin = new Merlin.Builder().withConnectableCallbacks().build(context);

Bind and unbind the service in your activity:

@Override
protected void onResume() {
    super.onResume();
    merlin.bind();
}

@Override
protected void onPause() {
    merlin.unbind();
    super.onPause();
}

Register for callbacks:

merlin.registerConnectable(new Connectable() {
    @Override
    public void onConnect() {
        // Do something you haz internet!
    }
});

For further details you can check the wiki.

Migrating from pre-v1 versions

Version 1 of Merlin introduced several breaking changes in the implementation and the APIs, to account for the latest changes in Android N+. Please follow the instructions in the wiki to make the upgrade as painless as possible.

Migrating from 1.1.7

In version 1.1.8 some public API changes were made. According to our tests auto importing should be able to take care of these changes.

RxJava support in v1.0+

Starting in version 1.0.0, the RxJava support is no longer built into the library but it has been split out into a separate artifact. You'll need to add one of these two dependencies, depending on the version of RxJava you use:

// For RxJava 1.x
implementation 'com.novoda:merlin-rxjava:[version_number]'

// For RxJava 2.x
implementation 'com.novoda:merlin-rxjava2:[version_number]'

Links

Here are a list of useful links:

  • We always welcome people to contribute new features or bug fixes, here is how
  • If you have a problem check the Issues Page first to see if we are working on it
  • For further usage or to delve more deeply checkout the Project Wiki
  • Looking for community help, browse the already asked Stack Overflow Questions or use the tag: support-merlin when posting a new question
Popular Network Projects
Popular Wiki Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Network
Wiki
Rxjava
Connectivity
Network Monitoring
Novoda