Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Settings: unconditionally enable 5GHz and 6GHz hotspots #309

Open
wants to merge 112 commits into
base: 15
Choose a base branch
from

Conversation

neelchauhan
Copy link

muhomorr and others added 30 commits December 6, 2024 08:06
This uses the standalone wallpaper picker class from WallpaperPicker2 as
seen in the Pixel stock ROM.
The NFC preference in Settings -> Connected devices -> Connection
preferences doesn't listen to changes from the NFC tile. (This wasn't an
issue in Android 10, because there used to be a SwitchPreference that
listened there.)
If no customization is needed, BoolSetting base class can be used directly from XML by adding
settings:boolSettingField="<class name> <BoolSetting field name>"
to the preference XML definition.
This preference controls the glove mode feature on Pixel devices for
increased touch sensitivity without requiring a custom HAL or other
device-side code. This is done by using the debug.touch_sensitivity_mode
system property, which Settings has permission to change. The
user-visible value is persisted in Settings.Secure, while the property
is persisted in persist.vendor.touch_sensitivity_mode.

Requires frameworks/base commit: "Add a config to state whether a device supports increased touch sensitivity."
Requires device/google/* commit: "Express support for increased touch sensitivity."

Closes: GrapheneOS#1
Co-authored-by: Diab Neiroukh <[email protected]>
Change-Id: I86af721fde33226d314d8a44525f310828299a72
It's added to Private Space screen instead of the Apps screen (where regular and work profile links
are) to avoid revealing whether the Private Space is present when the "Hide when locked" Private
Space option is enabled.
Allow sorting applications by size in Settings->Apps
just like in Settings->Storage/USB->Apps

Change-Id: I9e022162110e1feff20f257992086e66735e0f5e
We would need some kind of automation to do this for all languages.
Signed-off-by: June <[email protected]>
Co-authored-by: inthewaves <[email protected]>
Co-authored-by: June <[email protected]>
Co-authored-by: inthewaves <[email protected]>

Squashed with: Fix LTE Only mode on World Mode
Co-authored-by: flawedworld <[email protected]>
AOSP launcher doesn't have this feature.
"Additional services" category shows available CredentialProvider services. It should use the
Private Space userId, not the Owner userId.

Original change: GrapheneOS#297
"None" app picker option was invisible because this activity wasn't updated to support edge-to-edge.
There was a mismatch between checks in getContactSharingState() and setContactSharingState(),
which led to contacts access being granted by default when the user accepted a background
pairing request for a hands-free device, despite the contacts access toggle indicating that the
contacts access will not be granted.

Fix this check mismatch by removing the confusing setContactSharingState() method and switching code
that depends on setContactSharingState() to use the value of getContactSharingState() instead.
Before this change, contacts access toggle was turned on by default in foreground pairing dialogs
for hands-free devices.
Fix back button not working properly on the owner credential input screen after activity
configuration change. In that case, back button opened a second owner credential input screen
instead of returning to the previous screen (the one that has the Duress password link).
There's a "Clear storage" button in App info > Storage & cache. When app implements a "manage
storage space" activity, that button opens it instead of actually clearing the storage.

"Manage space" activity might not provide an option to clear app storage or it might not work at
all.

This change adds a separate button to launch that activity and makes the "Clear storage" button
ignore its presence.
@neelchauhan
Copy link
Author

I have a demo video on this here: https://youtu.be/zsbIcFIdm0o

@dill-shower
Copy link

This is a useful feature that many users need. But please, if you can, add a warning that this may violate local radio frequency laws, as is done with call recording. Otherwise, this PR will most likely not be accepted into the main branch.

@neelchauhan
Copy link
Author

This is a useful feature that many users need. But please, if you can, add a warning that this may violate local radio frequency laws, as is done with call recording. Otherwise, this PR will most likely not be accepted into the main branch.

I've added the warnings by updating the strings.xml. Do you want a more visible warning (i.e. a dialog) or is that good enough?

@dill-shower
Copy link

Screenshot_2024
It would be best to wait for thesigner's opinion, but it would probably be worth adding something like this, or maybe a pop-up bar with a choice of "ok" and "cancel" and text like "Google's standard WiFi frequency regulation policies prohibit the use of this frequency for distribution in your region. Please carefully consider your local radio frequency laws before activating". Only with correct English)

@neelchauhan
Copy link
Author

I like it. I'll update my PR shortly.

@neelchauhan
Copy link
Author

3072-4080-max
Here's a picture of my PR on a Pixel 8a. Sorry if it's not a screenshot.

The PR was also updated accordingly.

@dill-shower
Copy link

I hope this PR will be accepted to the main branch

@neelchauhan
Copy link
Author

neelchauhan commented Dec 12, 2024

I have another demonstration video of a 6GHz hotspot being broadcasted to a Wi-Fi 6E-enabled laptop: https://youtube.com/shorts/FP5eBFeHVsg

@@ -384,11 +384,7 @@ public boolean isDualBand() {
* @return {@code true} if Wi-Fi 5 GHz Band is supported
*/
public boolean is5GHzBandSupported() {
if (mIs5gBandSupported == null) {
mIs5gBandSupported = mWifiManager.is5GHzBandSupported();
Copy link
Member

Choose a reason for hiding this comment

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

Why are is5GHzBandSupported() and is6GHzBandSupported() checks removed?

Choose a reason for hiding this comment

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

Because that's the whole point of this PR and feature request? Google has been ignoring for years that the Linux kernel specifies normal frequencies, and Google is limiting them for no reason

Copy link

Choose a reason for hiding this comment

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

@dill-shower have you considered what would happen if the device does not physically have the hardware to use these frequencies? I believe that all supported devices should be able to do 5GHz, but the Pixel Tablet does not have 6GHz hardware.

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.

Bypass regional restrictions