Android WiFi Walkie Talkie (js-collider framework demo)

Related tags

App WalkieTalkie
Overview

WalkieTalkie

This program transmits sound recorded from microphone to some other devices running the same program on the same network segment, so works like Walkie Talkie radio.

Get it on F-Droid Get it on Google Play

Devices find each other by Android NSD (aka Bonjour), no any configuration required. Unfortunately Android NSD implementation is not stable enough, so sometimes application can not establish connection properly. Application restart or device reboot usually helps. Audio data is being transmitted by the unicast channel (TCP/IP), so each device works as a server and as a client at the same time.

Program was implemented as a demonstration of JS-Collider: Java high performance scalable NIO framework, see https://github.com/js-labs/js-collider.

Comments
  • Feature: background watcher?

    Feature: background watcher?

    Feature request for a way to allow the app to background itself in such a way that app can still receive broadcasts?

    Perhaps include a "wake up" packet at the beginning of a transmission in order to fully wake up device in order to be able to play the broadcast. (a la some kind of modern magic packet?)

    Feature goals:

    1. Allow app to be a service
    2. Has the effect that after feature implementation, user can install app, turn screen off and let device go to sleep, can still receive broadcast audio. Perhaps preempt transmission is required to fully wake device?
    opened by xenithorb 5
  • Build err in android studio.

    Build err in android studio.

    Dear js-labs.

    I tried to build this nice app but build error occured in android studio.

    D:\WalkieTalkie-master (1)\WalkieTalkie-master\src\main\java\org\jsl\wfwt\ChannelSession.java Error:(63, 53) error: cannot find symbol class Task

    Error:(82, 29) error: constructor RetainableByteBufferCache in class RetainableByteBufferCache cannot be applied to given types; required: boolean,int,int found: boolean,int,ByteOrder,int reason: actual and formal argument lists differ in length

    D:\WalkieTalkie-master (1)\WalkieTalkie-master\src\main\java\org\jsl\wfwt\AudioRecorder.java Error:(44, 53) error: cannot find symbol class Task

    D:\WalkieTalkie-master (1)\WalkieTalkie-master\src\main\java\org\jsl\wfwt\HandshakeClientSession.java Error:(44, 53) error: cannot find symbol class Task

    Is the current source buildable in Android Studio? If possible, please let me know how.

    Thanks. Regards.

    opened by juni0604 3
  • Add French translation + buttons

    Add French translation + buttons

    this PR adds the french translation (you can notify me in the future if there is any new key to translate)

    This also adds two buttons with links to google play and fdroid

    opened by Poussinou 3
  • Create portuguese translation

    Create portuguese translation

    Thank you for this nice application, very useful for me! I've searched how to help, and found I could translate to portuguese. I have not built the app to ensure all is ok, as I'm nuts in android programming.

    opened by zezinho42 2
  • Force Java7 when using Java7 functionality.

    Force Java7 when using Java7 functionality.

    When using features like the diamon operator, you should explicitly state the java version. you can do that by adding the following lines to build.gradle in the android section:

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    
    opened by ghost 1
  • Mismatching version information

    Mismatching version information

    The AndroidManifest.xml says...

              android:versionCode="6"
              android:versionName="1.5">
    

    ... butbuild.gradle file:

            versionCode 5
            versionName "1.4"
    

    I'd recommend managing version names only in one place, gradle or manifest.

    opened by ghost 1
  • Play Store Data Safety Section

    Play Store Data Safety Section

    Hi Team

    In the recent Play Store policy, it will become mandatory for you to fill out the Data Safety Section. Since this is an OSS Android app, it will make sense to have it as a part of the repository as well.

    I have run the scan using my tool here on your repo, attached are the scan results. I found the following:

    2 data types 0 SDK.

    If this is helpful, do use our free tool to generate Play Store Data Safety report: https://github.com/Privado-Inc/privado

    Also, do share your feedback & thanks for the OSS app 😄 image image

    opened by vaibhavantil1 0
  • Crash when seeing other peer.

    Crash when seeing other peer.

    02-07 20:11:53.993 20584 20616 E AndroidRuntime: FATAL EXCEPTION: CTP-22900
    02-07 20:11:53.993 20584 20616 E AndroidRuntime: Process: org.jsl.wfwt, PID: 20584
    02-07 20:11:53.993 20584 20616 E AndroidRuntime: java.lang.ExceptionInInitializerError
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at org.jsl.wfwt.AudioPlayer.create(AudioPlayer.java:279)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at org.jsl.wfwt.HandshakeClientSession.onDataReceived(HandshakeClientSession.java:138)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at org.jsl.collider.SocketChannelReader.handleData(SocketChannelReader.java:285)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at org.jsl.collider.SocketChannelReader.runInThreadPool(SocketChannelReader.java:507)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at org.jsl.collider.ThreadPool$Worker.run(ThreadPool.java:95)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime: Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.jsl.wfwt.AudioPlayer can not access a member of class org.jsl.wfwt.AudioPlayer$Impl with modifiers "private volatile"
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.<init>(AtomicReferenceFieldUpdater.java:348)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater(AtomicReferenceFieldUpdater.java:109)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at org.jsl.wfwt.AudioPlayer.<clinit>(AudioPlayer.java:41)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        ... 5 more
    02-07 20:11:53.993 20584 20616 E AndroidRuntime: Caused by: java.lang.IllegalAccessException: Class org.jsl.wfwt.AudioPlayer can not access a member of class org.jsl.wfwt.AudioPlayer$Impl with modifiers "private volatile"
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:125)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at sun.reflect.misc.ReflectUtil.ensureMemberAccess(ReflectUtil.java:100)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        at java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.<init>(AtomicReferenceFieldUpdater.java:330)
    02-07 20:11:53.993 20584 20616 E AndroidRuntime:        ... 7 more
    02-07 20:11:54.002  1443 20624 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
    02-07 20:11:54.003  1443  3790 W ActivityTaskManager:   Force finishing activity org.jsl.wfwt/.MainActivity```
    
    Running Android 11.
    opened by vi 2
  • some problems

    some problems

    In WalkieService.java file,

                final Collider.Config colliderConfig = new Collider.Config();
                colliderConfig.threadPriority = Thread.MAX_PRIORITY;
    

    I cannot find symbol variable threadPriority in the Collider.Config class. I think you probably need to update your code in js-labs/js-collider of org.js-labs:js-collider:0.2.2. please check.

    opened by miny801004 0
  • voice delivery problem(android version 9.x and 10.x)

    voice delivery problem(android version 9.x and 10.x)

    hello. I am using open source well. Voice communication is good in android version 4.x to 8.x. But the voice is always cut off in android version 9.x and 10.x. I don't know what the cause is. Could you test the problem and fix it?

    opened by miny801004 5
  • max devices per service name?

    max devices per service name?

    I use a good app well.

    I have some questions.

    While looking at the NSD code, I thought I could implement "several channel" by separating the service name.

    service type = "xxxx ._tcp" service name = "channel_00,01,02,03...."

    1. Is classification by service name only logical?

    2. How are the maximum terminals in a service? -> Can I think of the total number of IPs available on a WIFI AP?

    opened by juni0604 3
Owner
Sergey Zubarev
Sergey Zubarev
Android-splash-screen-demo - Sample application to demo the various features provided in android-splash-screen

Android Splash screen API demo This is a sample application used to demonstrate the various features provided in android-splash-screen. More details c

Sridhar 1 Jan 3, 2022
OpenWeatherMap-API-Demo - Demo Android Application for OpenWeatherMap API

WeatherForecast Demo Android Application for OpenWeatherMap API Table of Content

Rashid Hussain 0 Jul 10, 2022
Abel Suviri 6 Dec 16, 2022
Demo of Downloading Songs/Images through Android Download Manager using RxJava2

Downloader Demo using RxJava Overview This project is for downloading items(songs, images etc) in Android using RxJava2. There are, however 2 conditio

Anshul Jain 168 Nov 25, 2022
Android common lib demo, include ImageCache, HttpCache, DropDownListView, DownloadManager, install apk silent and so on, you can find description

android-demo 关于我,欢迎关注 微博:Trinea 主页:trinea.cn 邮箱:trinea.cn#gmail.com 微信:codek2 依赖:trinea-android-common android-auto-scroll-view-pager viewpager-indica

Trinea 1.1k Dec 30, 2022
A simple chat demo for socket.io and Android

socket.io-android-chat This is a simple chat demo for socket.io and Android. You can connect to https://socket-io-chat.now.sh using this app. Installa

Naoyuki Kanezawa 1.9k Dec 30, 2022
Android Demo App for League of legends's Champions based on MVVM design pattern

?? LOL-Champs If this project is useful, please give it a star ⭐ A Android Sample App with champion information of the League of Legends(LOL) using An

JunBi Kim 69 Dec 19, 2022
Create Android Demo with TCP/IP Protocol.

DEMO说明文档 本demo为Java 编写的给Android手机或平板使用TCP方式控制Dobot协作机器人CR(以下简称CR)的DEMO DEMO系统要求 Android 4.3版本以上即可 工程文件说明 工程文件需要使用Android Studio打开,请使用4.0版本的Android Stu

Dobot 1 Aug 16, 2022
A demo for Android font typeface support in React Native!

A Step-by-step Guide to a Consistent Multi-Platform Font Typeface Experience in React Native Goal Be able to use font typeface modifiers such as fontW

Jules Sam. Randolph 53 Dec 23, 2022
☀️ Wheater is a small demo application based on modern Android tech-stacks and MVVM architecture. ⛅

Wheater is a small demo application based on modern Android tech-stacks and MVVM architecture. Tech stack & Open-source libraries Minimum SDK level 19

null 2 Jan 17, 2022
Lightning Dev Kit Android Demo Wallet

uMlando-wallet Lightning Dev Kit Android Demo Wallet This project uses a .aar package for the Android platforms that provide language bindings for the

Conor Okus 6 Dec 23, 2022
Non-decompiling Android vulnerability scanner (DC25 demo lab, CB17)

README trueseeing is a fast, accurate and resillient vulnerabilities scanner for Android apps. It operates on Android Packaging File (APK) and outputs

Monolith Works Inc. 0 Jan 14, 2022
:octocat: A demo project based on MVVM architecture and material design & animations.

GithubFollows A simple demo project based on MVVM clean architecture and material design & animations. Architecture Specs & Open-source libraries Mini

Jaewoong Eum 288 Dec 25, 2022
🎬 A demo project for The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies A simple project for The Movie DB based on Kotlin MVVM clean architecture and material design & animations. How to build on your environment

Jaewoong Eum 420 Nov 29, 2022
A demo of the power menu with Reveal and other animations

MaterialPowerMenu A demo of the power menu with Reveal and other animations Some days ago, I saw a gif on Google+ demonstating a concept of Android Po

Naman Dwivedi 888 Oct 11, 2022
Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Dheeraj Gupta 5 Dec 24, 2022
🎬 A demo project using The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies2 A simple project using The Movie DB based on Kotlin MVVM architecture and material designs & animations. How to build on your environment A

Jaewoong Eum 450 Jan 2, 2023
Marvel API Demo App

Marvel API Demo app How to set up the API Keys OPEN FILE: gradle.properties ADD (using valid public/private keys): MARVEL_PUBLIC_KEY = "" MARVEL_PRIV

null 0 Nov 5, 2021
MarsRealEstate is a simple demo app using ViewModel & LiveData with Retrofit, Glide and Moshi in Kotlin.

Android-NASA-Real-Estate-Mars Is Android app that uses Kotlin and MVVM architecture is a simple app that uses Coroutines, LiveData with Retrofit, Glid

Dmytro K 0 Nov 17, 2021