All Projects β†’ rommansabbir β†’ NetworkX

rommansabbir / NetworkX

Licence: other
πŸ…½πŸ…΄πŸ†ƒπŸ††πŸ…ΎπŸ†πŸ…ΊπŸ†‡ An easy & handy library to monitor device internet connection status.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to NetworkX

android-clean-architecture
πŸš€πŸš€πŸš€ The boilerplate for Android using Kotlin & Clean architecture.
Stars: ✭ 21 (-77.17%)
Mutual labels:  coroutines, coroutines-android
Simple-Notes-Kotlin-App
✍️ Simple Note Making App use mvvm architecture , dagger , coroutines and navigation component. Features includes πŸ—’οΈ create , edit and ❌ delete notes
Stars: ✭ 40 (-56.52%)
Mutual labels:  coroutines, coroutines-android
FirebaseFlowExample
A sample android application which demonstrates use of Kotlin Coroutines Flow with Firebase Cloud Firestore.
Stars: ✭ 50 (-45.65%)
Mutual labels:  coroutines, coroutines-android
FoodApp
Proof of concept for food app [JetPack + Coroutines + Flow + MockK + JaCoCo coverage + SonarQube]
Stars: ✭ 25 (-72.83%)
Mutual labels:  coroutines, coroutines-android
GitKtDroid
A sample Android applicationπŸ“± built with Kotlin for #30DaysOfKotlin
Stars: ✭ 53 (-42.39%)
Mutual labels:  coroutines, coroutines-android
MVI-Clean-Architecture
MVI + Clean Architecture + Best Practices | Example of Clean Architecture of Android app using MVI design pattern with Jetpack and popular libraries
Stars: ✭ 50 (-45.65%)
Mutual labels:  coroutines, coroutines-android
raffler-kotlin
A raffling app developed as a playground to study many topics related to Android. Kotlin + Coroutines + MVVM
Stars: ✭ 44 (-52.17%)
Mutual labels:  coroutines, coroutines-android
JustJava-Android
JustJava is a mock food ordering and delivery application for a coffee shop.
Stars: ✭ 59 (-35.87%)
Mutual labels:  coroutines, coroutines-android
BlueFlow
Android Bluetooth classic API wrapped in Coroutines Flow.
Stars: ✭ 64 (-30.43%)
Mutual labels:  coroutines, coroutines-android
Stars
An android application build with a clean architecture approach and Star wars API
Stars: ✭ 54 (-41.3%)
Mutual labels:  coroutines, coroutines-android
Retrofit2-Flow-Call-Adapter
A Retrofit 2 adapter for Kotlin Flows.
Stars: ✭ 41 (-55.43%)
Mutual labels:  coroutines, coroutines-android
Foodium
It simply loads Posts data from API and stores it in persistence storage (i.e. SQLite Database). Posts will be always loaded from local database. Remote data (from API) and Local data is always synchronized.
Stars: ✭ 1,940 (+2008.7%)
Mutual labels:  coroutines, coroutines-android
Intrusion Detection
Whenever founds internet connectivity confirms is it you, if not log you off and send you image of intruder.
Stars: ✭ 24 (-73.91%)
Mutual labels:  internet-connection
kotlin-coroutines-jdbc
A library for interacting with blocking JDBC drivers using Kotlin Coroutines.
Stars: ✭ 40 (-56.52%)
Mutual labels:  coroutines
pecan
Macro-based coroutines for Haxe
Stars: ✭ 37 (-59.78%)
Mutual labels:  coroutines
pihut-xmas-asyncio
Demonstration driving The Pi Hut Raspberry Pi 3D Xmas tree using Python Asyncio
Stars: ✭ 15 (-83.7%)
Mutual labels:  coroutines
SimpleKotlinMail
A simple, coroutine based Kotlin Email API for both client- and server-side projects
Stars: ✭ 56 (-39.13%)
Mutual labels:  coroutines
EgoSplitting
A NetworkX implementation of "Ego-splitting Framework: from Non-Overlapping to Overlapping Clusters" (KDD 2017).
Stars: ✭ 78 (-15.22%)
Mutual labels:  networkx
LinkHub
LinkHub is a simple and effective link management application that can help you to easily manage your app with no ads!
Stars: ✭ 90 (-2.17%)
Mutual labels:  coroutines
the-white-rabbit
The White Rabbit is an asynchronous RabbitMQ (AMQP) client based on Kotlin coroutines
Stars: ✭ 90 (-2.17%)
Mutual labels:  coroutines

NetworkX

-----------------------------------------------------

Maintained

Maintained

JitPack

⚑ Latest Version: 4.2.0 | Change Logs πŸ”°

  • NetworkX now works with both Activity or Application Scope (NetworkX lifecycle is bounded to NetworkXLifecycle.Activity or NetworkXLifecycle.Application).
  • Introduced SmartConfig to replace old config [NetworkXConfig has been deprecated].
  • New API to initialize NetworkX, enabled smart refactoring to replace old API with new one.
  • New API [NoInternetDialogV2.forceClose()] added to close Dialog forcefully.
  • Added support for custom Drawable to be shown in NoInternetDialogV2.
  • Added support for No Internet Dialog JetPack Compose version.
  • Several Classes, APIs has been deprecated.
  • Removed unused classes/packages.

-----------------------------------------------------

Installation

➀ Step 1:

Add the JitPack repository to your build file .

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

➀ Step 2:

Add the dependency.

    dependencies {
            implementation 'com.github.rommansabbir:NetworkX:4.2.0'
    }

➀ Step 3:

Initialize NetworkX from your Application.onCreate()

    //Deprecated way
    val builder = NetworkXConfig.Builder()
        .withApplication(this)
        // You can disable speed meter if not required
        .withEnableSpeedMeter(true)
        .build()
    NetworkXProvider.enable(builder)

    //New smart way
    NetworkXProvider.enable(SmartConfig(this, true, NetworkXLifecycle.Application))

➀ Step 4:

  • To check Internet Connection status, simply call extension variable isInternetConnected or isInternetConnectedLiveData or isInternetConnectedFlow.
    isInternetConnectedFlow.collectLatest {
        lifecycleScope.launch {
                textView.text = "Internet connection status: $it"
            }
        }
  • To get connected network speed/last known speed [LastKnownSpeed] call extension variable lastKnownSpeed or lastKnownSpeedLiveData or lastKnownSpeedFlow
    lastKnownSpeed?.let {
        textView2.text ="S-${it.speed}|T-${it.networkTypeNetwork}|SS-${it.simplifiedSpeed}"
    }

-----------------------------------------------------

NoInternetDialogV2

  • Show Dialog
    NoInternetDialogV2(
        activity = WeakReference(this@MainActivity),
        title = "No Internet Bro",
        message = "This is just a dummy message",
        buttonTitle = "Okay",
        isCancelable = true
    ) { /* Button Presses */ }
  • Close Dialog (Forcefully)
    NoInternetDialogV2.forceClose()
  • Determine if the NoInternetDialogV2 is currently visible or not.
    NoInternetDialogV2.isVisible
  • Show Dialog (Compose Version)
    val ui = defaultNoInternetUI()
    NoInternetDialogCompose(
      true,
      ui,
      { /*Dialog Cancelled*/ },
      { /*Dialog closed by user, by pressing action button*/ }
    )

-----------------------------------------------------

Notes:

  • NetworkX (including Speed Meter) can work on both Application scope or Activity scope. If scope is Activity, NetworkX will start/release it's components based on ActivityLifecycleCallback (onCreate - onDestroy). Else, it will start it's components only once and there will be no components release event.
  • To emit (MutableStateFlow) Last Known Speed or Internet Connection Status,required CoroutineScope works under a Dispatchers.IO context.
  • The default value for Internet Connection Status is false.
  • The default value for LastKnownSpeed is NONE.

-----------------------------------------------------

Contact me

βœ” LinkedIn

βœ” Website

-----------------------------------------------------

License

Apache Version 2.0

Copyright (C) 2022 Romman Sabbir

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].