Skip to content

Android client. Add some options to channel prop#3320

Draft
amirmahdifard wants to merge 8 commits into
BearWare:masterfrom
amirmahdifard:channeloptions
Draft

Android client. Add some options to channel prop#3320
amirmahdifard wants to merge 8 commits into
BearWare:masterfrom
amirmahdifard:channeloptions

Conversation

@amirmahdifard

Copy link
Copy Markdown
Contributor

enable fixed audio volume for all users and its slider
stream timeout timers
voice stream max duration
media file stream max duration

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

small and nice improvements. Thanks.

Comment thread Client/TeamTalkAndroid/src/main/java/dk/bearware/gui/ChannelPropActivity.java Outdated
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

is 500 ms even used? So What should I do, How do I calculate the sliders to become what you want?

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 by the way, when will you decide to merge all my pull requests?

@amirmahdifard
amirmahdifard requested a review from bear101 June 10, 2026 17:27
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 I incorrectly used seekbar for this case, but seekbar is not good and it's limited, but I used edit text like disk quota and max users text boxes also like desktop qt client, so now user is free to enter any number. I also added the (msec) hint so user knows that they should enter in mili seconds, like disk quota (kbites) hint

@bear101

bear101 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

@hwangsihu did you test it on your Android device?

@hwangsihu

Copy link
Copy Markdown
Contributor

Yeah, It's working fine.

@hwangsihu

Copy link
Copy Markdown
Contributor

Ah, I missed something. It's an issue where fixed volumes are enabled by default. I'll fix this.

Comment thread Client/TeamTalkAndroid/src/main/java/dk/bearware/gui/ChannelPropActivity.java Outdated
@hwangsihu

Copy link
Copy Markdown
Contributor

While editing, I made a few adjustments to match qtTeamTalk.

Comment thread Library/TeamTalkJNI/src/dk/bearware/Channel.java Outdated
Comment thread Library/TeamTalkJNI/src/dk/bearware/Channel.java Outdated
@hwangsihu
hwangsihu force-pushed the channeloptions branch 2 times, most recently from fd0f340 to c68d504 Compare June 14, 2026 07:01
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 why are you asking @hwangsihu to test my changes in his android device? you think I don't test my own changes when i'm opening a pull request? please respect contributors who are taking their times to work on your project. My pull requests are open here more than 3 or 4 weeks now, while my pull request I sent to nvda repozitory has been merged less than 24 hours. You don't see all my hevvy work on teamtalk android in the passed?

@hwangsihu

Copy link
Copy Markdown
Contributor

I don't think there's any reason to delay. Please approve any PRs you think can now be merged. I almost fixed the problematic code in Amir's PRs.

And this is the master branch, not the production branch. There is no perfect person in this world. It's natural for problems to arise, and it's up to someone to fix them whenever they are discovered.

According to Amir's claims, he lives in Iran and is currently suffering from an internet blockade. Despite struggling with VPN issues, he hasn't stopped contributing to TeamTalkAndroid. I think we need to respect these passionate developers.

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@hwangsihu true. Actually, as you even see, my code didn't have any problem they were working fine, but @bear101 requested a bit of stile change. For example, replacing number 1000 with a menu item baced url, and renamings like that but everything I post, I test them actually i'm so sensitiv about my code. Sometimes I need to compile a code 100 times and test them to make them work. And about my life status, the troo fakt is that people from other cuntrys with easy lives can't understand this. How a person from denmark can understand a person's problems in iran? that's why they don't care

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 @hwangsihu please also merge my other pull requests they are all ready for review.

@amirmahdifard
amirmahdifard requested a review from bear101 June 17, 2026 13:07
hwangsihu and others added 3 commits June 19, 2026 18:39
- Remove unused AdapterView import
- Fix the column-0 indentation of the fixed-volume visibility lines and
  split the two-statements-per-line setEnabled/setVisibility calls
- Replace the leftover "Medium Text" placeholder in the voice/media
  duration labels with an empty string

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
seekbars were incorrect choise for these. Now users are able to enter any number they want in miliseconds
- Rename the fixed-volume slider label "Volume" to "Volume level"
- Fix the default channel audio config so fixed volume (AGC) is off by
  default with gain level 9600, matching qtTeamTalk/TeamTalkClassic.
  Corrected in the SDK AudioConfigConstants (Java) and mirrored in the
  .NET binding so all clients share the same defaults.
- Take voice/media stream timeouts in seconds (1-decimal) like the
  qtTeamTalk channel dialog, so sub-second values are preserved

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 when will you press the merge button for this pr?

@hwangsihu hwangsihu added this to the TeamTalk v5.23 milestone Jun 24, 2026
@bear101

bear101 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

@hwangsihu @amirmahdifard here's an AI answer to how to write good git commit messages:

Writing a good Git commit message is essential for maintaining a clear and useful project history. Here’s a concise guide to crafting effective commit messages:

Structure of a Good Commit Message

  1. Subject Line (Title)
  • Keep it short: 50 characters or fewer.
  • Use imperative mood: Start with a verb (e.g., "Fix bug", "Add feature").
  • Capitalize the first letter.
  • No period at the end.

Example:

Add user authentication middleware

  1. Body (Optional but Recommended for Complex Changes)
  • Separate from the subject line with a blank line.
  • Wrap at 72 characters for readability.
  • Explain the "what" and "why": Focus on the reasoning behind the change, not just the change itself.
  • Use bullet points or lists if needed for clarity.

Example:

Add user authentication middleware

- Implement JWT-based authentication for API endpoints
- Resolves issue #123 where users could access protected routes without logging in

@bear101

bear101 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

@amirmahdifard now please fix your commit messages using these rules of thumb with regard to commit messages.

Also don't use the "Android client" prefix in the subject. If you want to know what code is changed you can look at the files. Use the --name-only option to git log.

@bear101

bear101 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

@hwangsihu aren't the 4 commits overwriting the same code? It doesn't make sense to write changes that are overwritten in later commits.

@hwangsihu hwangsihu changed the title Android client. Added the missing options to channel prop Android client. Add some options to channel prop Jun 28, 2026
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 it is impossible to edit a commit message that is already sent. I will do in my new commits from now on. And how you like the title of the pr to look like?

Android client should use TeamTalkConstants.DEFAULT_CHANNEL_AUDIOCONFIG_LEVEL
TextView fixvolLabel = findViewById(R.id.fixvolumeLabel);
SeekBar fixvolume = findViewById(R.id.fixvolumeSeekBar);

fixvolume.setMax((SoundLevel.SOUND_GAIN_MAX - SoundLevel.SOUND_GAIN_MIN) / 1000);

@bear101 bear101 Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is where you should assign TeamTalkConstants.DEFAULT_CHANNEL_AUDIOCONFIG_LEVEL

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amirmahdifard isn't this correct?

Revert DEFAULT_AGC_GAINLEVEL to 8000
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 done. i merged your pr which you opened for this branch and your changes are now here. I will merge your prs whenever you open pr to my branches

@bear101

bear101 commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

@amirmahdifard please clean up the commits. There should be one commit for /Library and one following for /Client

git rebase -i origin/master

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 I don't want to touch this branch anymore because @hwangsihu messed up this branch, so I don't know what is going on in this branch anymore. I'm now only responceable for my pause stream and rightswork branches. Thanks so @hwangsihu fix this branch because you touched it.

@bear101
bear101 marked this pull request as draft July 1, 2026 06:52
bear101 and others added 2 commits July 2, 2026 18:50
This will make a squash commit treat the values as unchanged and
thereby keeps existing compatibility
Revert to DEFAULT_AGC_ENABLE to true
@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 i've merged your pull request, and also I've enabled this branch access, so you can work on it directly.

TextView fixvolLabel = findViewById(R.id.fixvolumeLabel);
SeekBar fixvolume = findViewById(R.id.fixvolumeSeekBar);

fixvolume.setMax((SoundLevel.SOUND_GAIN_MAX - SoundLevel.SOUND_GAIN_MIN) / 1000);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amirmahdifard isn't this correct?

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

@bear101 yes. fixvolume.setMax((SoundLevel.SOUND_GAIN_MAX - SoundLevel.SOUND_GAIN_MIN) / 1000); works fine up on my tests when I was implementing this feature at first. But now I haven't tested this pr since a long time. But the last time I tested it and pushed to github It was correct. Do you want me to delete this completely and implement this again, or you want to work on the current implementation and add this one?

@bear101

bear101 commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

The "create channel activity" looks really bad with these changes. The Audio Configuration options should be moved to a sub-activity (like Audio Codec configuration). The main "create channel activity" should only contain a minimum set of information.

@amirmahdifard

Copy link
Copy Markdown
Contributor Author

But when I asked you one time, You told me to Add it to the main activity. Also, Audio codec configuration is devided by tabs, opuce, speeks, speeks vbr etc, but fixed audio volume for all users option is a globel option. So I don't understand what you mean or how you want to desighn this. This pr just adds 3 new controles to channel prop activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants