GithubHelp home page GithubHelp logo

w2sv / wifi-widget Goto Github PK

View Code? Open in Web Editor NEW
130.0 4.0 5.0 17.06 MB

Android app providing a fully configurable widget for the monitoring of your WiFi connection details.

Home Page: https://play.google.com/store/apps/details?id=com.w2sv.wifiwidget

License: GNU General Public License v3.0

Kotlin 99.29% Makefile 0.67% Shell 0.03%
android jetpack-compose kotlin widget wifi android-application connectivity networking fdroid devops

wifi-widget's Introduction

WiFi Widget

F-Droid GitHub release (latest by date including pre-releases)

GitHub code size in bytes Check & Assemble Debug


Android app providing a fully configurable widget for the monitoring of your WiFi connection details.


Download

Get it on Google Play Download from F-Droid Get it on GitHub

Features

In-App

  • Clean Material 3 Design, featuring plenty of animations
  • Supports light & dark theme, as well as dynamic colors
  • Different layouts for landscape & portrait mode
  • Live WiFi Status display with property copy-to-clipboard functionality

Widget

  • Resizable
  • Configurable appearance:
    • Light/dark theme with static/dynamic colors, or custom colors
    • Configurable background opacity
    • Configurable font size
  • Configurable WiFi property inclusion:
    • SSID, BSSID
    • IPs: Loopback, Site Local, Link Local, ULA, Multicast, Global Unicast, Public (fetched from https://api.ipify.org)
      • For address types that support IPv4 & IPv6, you may choose which versions to include
    • Frequency, Channel, Link Speed, RSSI, Standard, Gateway, DNS, DHCP
  • Configurable button row elements
  • Configurable automatic refreshing

Tech Stack

  • Kotlin
  • Jetpack Compose
  • All sorts of Androidx stuff
  • Coroutines
  • Dagger-Hilt
  • KSP
  • OkHttp 3

Screenshots

Credits

Logo foreground by Hilmy Abiyyu Asad taken from here, where it is licensed under Creative Commons(Attribution 3.0 unported).

Donations


Buy Me A Coffee

License

GPL-3.0 License © w2sv [2022 - Present]

wifi-widget's People

Contributors

poussinou avatar renovate[bot] avatar w2sv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

wifi-widget's Issues

Dark theme

Please add the dark theme to the settings page.

F-Droid build failed

> Task :app:lintVitalRelease FAILED
/builds/fdroid/fdroiddata/build/com.wa2c.android.cifsdocumentsprovider/app/src/main/AndroidManifest.xml:21: Error: MainActivity must extend android.app.Activity [Instantiatable]
            android:name=".presentation.ui.MainActivity"
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Explanation for issues of type "Instantiatable":
   Activities, services, broadcast receivers etc. registered in the manifest
   file (or for custom views, in a layout file) must be "instantiatable" by
   the system, which means that the class must be public, it must have an
   empty public constructor, and if it's an inner class, it must be a static
   inner class.
1 errors, 0 warnings
> Task :app:mergeDexRelease
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Lint found fatal errors while assembling a release target.
  
  Fix the issues identified by lint, or create a baseline to see only new errors.

Could you please take a look?

Hide labels (instead of wrapping lines)

Screen space is scarce. :-)

I'm using a widget showing only SSID and link speed. If the labels ("SSID" and "Link Speed") weren't there, the widget would only take up half the space.

Personally, I'd be truly happy with a switch allowing to turn off the labels. But maybe the labels could automatically get hidden instead of wrapping lines, i.e. when running out of horizontal space?

[Feature Request] Treat ULAs as local addresses and enable individual en-/disabling of address sub categories

I get three IPv6 addresses - a link-local address (fe80::/10), a unique local address (fd00::/8) and a unique global address (2000::/3). The link-local address always shows up as the "Local" one, but the unique local and unique global addresses sometimes switch between "public 1" and "public 2". Could the addresses be sorted lexicographically before assigning them to "public 1" and "public 2" so that I can reliably see my global address without having to have both displayed?

Originally posted by @d5xtgr in #21 (comment)

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.


Warning

Renovate failed to look up the following dependencies: Failed to look up maven package wifiwidget.library:wifiwidget.library.gradle.plugin, Failed to look up maven package wifiwidget.hilt:wifiwidget.hilt.gradle.plugin.

Files affected: gradle/libs.versions.toml


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/workflow.yaml
  • actions/checkout v4
  • actions/setup-java v4
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
app/build.gradle.kts
benchmarking/build.gradle.kts
common/build.gradle.kts
datastore/build.gradle.kts
domain/build.gradle.kts
gradle/libs.versions.toml
  • com.github.w2sv:AndroidUtils 0.3.27-rc5
  • com.github.w2sv:Compose-Color-Picker-Bundle 1.0.0-rc9
  • com.github.w2sv:KotlinUtils 0.0.7-rc2
  • androidx.appcompat:appcompat 1.6.1
  • androidx.core:core-ktx 1.12.0
  • androidx.localbroadcastmanager:localbroadcastmanager 1.1.0
  • androidx.core:core-splashscreen 1.0.1
  • androidx.lifecycle:lifecycle-runtime-ktx 2.7.0
  • androidx.work:work-runtime-ktx 2.9.0
  • androidx.datastore:datastore-preferences 1.0.0
  • androidx.compose.material3:material3 1.2.0
  • androidx.compose.ui:ui 1.6.2
  • androidx.compose.ui:ui-tooling-preview 1.6.2
  • androidx.compose.ui:ui-tooling 1.6.2
  • androidx.activity:activity-compose 1.8.2
  • androidx.lifecycle:lifecycle-viewmodel-compose 2.7.0
  • androidx.lifecycle:lifecycle-runtime-compose 2.7.0
  • androidx.test.ext:junit 1.1.5
  • androidx.benchmark:benchmark-macro-junit4 1.2.3
  • androidx.profileinstaller:profileinstaller 1.3.1
  • androidx.test:runner 1.5.2
  • com.google.android.material:material 1.11.0
  • com.google.accompanist:accompanist-permissions 0.34.0
  • com.google.dagger:hilt-android 2.51
  • com.google.dagger:hilt-android-compiler 2.51
  • org.jetbrains.kotlinx:kotlinx-collections-immutable 0.3.7
  • com.github.PaulWoitaschek:Slimber 2.0.0
  • com.squareup.okhttp3:okhttp 4.12.0
  • com.slack.lint.compose:compose-lint-checks 1.3.1
  • com.android.tools.build:gradle 8.3.0
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.9.22
  • com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin 1.9.22-1.0.18
  • com.android.application 8.3.0
  • com.android.library 8.3.0
  • com.android.test 8.3.0
  • androidx.baselineprofile 1.2.3
  • org.jetbrains.kotlin.android 1.9.22
  • com.google.dagger.hilt.android 2.51
  • com.google.devtools.ksp 1.9.22-1.0.18
  • com.github.triplet.play 3.9.0
  • wifiwidget.library unspecified
  • wifiwidget.hilt unspecified
networking/build.gradle.kts
plugins/settings.gradle.kts
plugins/build.gradle.kts
widget/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.4

  • Check this box to trigger a request for Renovate to run again on this repository

removing all "Buttons" options still makes a bar that blocks data on the widget

Hello,
If all the checks are removed under the buttons section, there is still a bar. This can block data from being displayed depending on number of lines. In my case 3 lines. With my current setup I either have to have a large excessive block on the bottom or small widget with scroll bar and small block on the bottom. This is on Samsung 24 ultra android v14, one UI v6.1, app v1.4.04.
Maybe this is more suggestion than bug but maybe this bar should go hidden if all deselected. Thanks for the app :)
Screenshot_20240211_160916_Nova7
Screenshot_20240211_160851_Nova7
Screenshot_20240211_160736_WiFi Widget

Labels

Labels aren't displaying correctly font is only 50% showing
Screenshot_20240216-055714

Public IP Broken

When Public IP is checked and IPv6 is disabled the widget still shows both the IPv6 and IPv4 addresses, the same if IPv6 is checked and IPv4 is unchecked both are still shown.

This feature is currently broken.

The dynamic colors are not working correctly.

Screenshot_20240303_113538_Nova Launcher
How to understand this and why it does not work my system: android 14 and one UI 6.1 device samsung s22 ultra, on my tablet s6 lite with one UI 5.1.1 no such problems. P. S for both situations launcher is Nova.

feature request : create aliases for bssids

Hi,
i mostly use your APP for checking which access point i am connected to, in a network with multiple AP sharing a ssid.

I would love to be able to save bssids with user defined aliases to see quickly if my phone connects to the nearest access point.
It would make this app even more useufull when optimising WiFi infrastructure.

Widget shows another ip address when setup a VPN via TUN device

~ $ ifconfig
Warning: cannot open /proc/net/dev (Permission denied). Limited output.
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1  (UNSPEC)

tun0: flags=81<UP,POINTOPOINT,RUNNING>  mtu 9000
        inet 172.19.0.1  netmask 255.255.255.252  destination 172.19.0.1
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.199.166  netmask 255.255.255.0  broadcast 192.168.199.255
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 3000  (UNSPEC)

widget presents the ipv4 address as 172.19.0.1 when VPN enabled via TUN device (such as clash).

Is it possible to select the specified port to show the address?
Or filter out the tun port directly?

Display BSSID

Would it be possible to display the base service set id currently in use? See

All fields stuck at "Loading..." since latest update.

All fields in the widget display a dark grey "Loading..." instead of the intended information. If I manually click to refresh, the timestamp updates, but no information is shown.

WiFi Widget version 1.2.73
LineageOS version 20 (Android version 13)
Essential PH-1

Widget not resizable in width

Hi,
I installed the app on my device with Android 13, but I encountered the following situation.

photo_2023-02-04_15-25-40

I can't resize the widget to make it larger, in fact there is no blue dot on the left and right borders. This, as you can see, causes the break of the labels on the left.

Bug Report

Can not update; get message: "Error Installing WIFI Widget"

The privileged permissions have not been granted to the extensions! Please create bug report.

So here it is what else do you need?

Show device MAC

Recent versions of android have an option to randomize the interface MAC as a privacy measure. It would be worth displaying the present value since this can be used e.g. to look up router and switch port state for connections.

Thanks

Feature request: IPv6 support

Currently the widget only shows the IPv4 information. It would be nice if IPv6 information (addresses, mask, gateway, DNS) would be displayed as well.

APK availability

First a big thanks for making your app available F/LOSS under a libre license! Would you also consider making the APK available outside Google's walled garden, for those who have no access to it? Easiest way would be attaching it to the corresponding release. Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.