8000 Why does Weather Master require so many system hooks and observers? · Issue #400 · PranshulGG/WeatherMaster · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Why does Weather Master require so many system hooks and observers? #400

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

Open
moonkidofhell opened this issue Apr 8, 2025 · 1 comment
Labels
next release Issues that will be included in the next planned release. priority: high

Comments

@moonkidofhell
Copy link
moonkidofhell commented Apr 8, 2025

I recently analyzed the behavior of the Weather Master app and noticed it's registering for a large number of Android system broadcasts and content observers that seem unrelated to standard weather functionality.


Observed Broadcast/Event Hooks

  • android.hardware.usb.action.USB_DEVICE_ATTACHED
  • android.hardware.usb.action.USB_DEVICE_DETACHED
  • android.intent.action.HEADSET_PLUG
  • android.intent.action.LOCALE_CHANGED
  • android.intent.action.PROXY_CHANGE
  • android.intent.action.TIMEZONE_CHANGED
  • android.security.action.KEYCHAIN_CHANGED
  • android.security.action.KEY_ACCESS_CHANGED
  • android.security.action.TRUST_STORE_CHANGED
  • com.example.weathermaster.GPU_PROFILER_START
  • com.example.weathermaster.GPU_PROFILER_STOP

Invoked Methods

  • android.media.AudioManager.getOutputLatency
  • android.os.Trace.asyncTraceBegin
  • android.os.Trace.asyncTraceEnd
  • android.os.Trace.isTagEnabled
  • android.os.Trace.traceCounter
  • android.security.net.config.RootTrustManager.checkServerTrusted
  • android.security.net.config.RootTrustManager.isSameTrustConfiguration
  • android.view.textclassifier.logging.SmartSelectionEventTracker.logEvent
  • com.example.weathermaster.MainActivity$1.onHideCustomView
  • com.example.weathermaster.MainActivity$1.onShowCustomView

Content Observers Registered

  • content://settings/global/animator_duration_scale
  • content://settings/secure/accessibility_captioning_background_color
  • content://settings/secure/accessibility_captioning_edge_color
  • content://settings/secure/accessibility_captioning_edge_type
  • content://settings/secure/accessibility_captioning_enabled
  • content://settings/secure/accessibility_captioning_font_scale
  • content://settings/secure/accessibility_captioning_foreground_color
  • content://settings/secure/accessibility_captioning_locale
  • content://settings/secure/accessibility_captioning_preset
  • content://settings/secure/accessibility_captioning_typeface
  • content://settings/secure/accessibility_captioning_window_color

These seem excessive for a weather app, especially considering the sensitivity of some hooks (USB attachment, trust store changes, keychain events, etc.).


Questions:

  1. Are these used for legitimate functionality, or were they included unintentionally?
  2. Is there a plan to reduce unnecessary hooks for privacy-conscious users?
  3. Can you clarify if any of these are dependencies of a library or analytics SDK?
@PranshulGG
Copy link
Owner

@moonkidofhell Hey! Thanks for the feedback!

I checked the codebase and didn’t find any Broadcast Receivers or Content Observers.

Are these used for legitimate functionality, or were they included unintentionally?

Yeah, it’s mostly for communication between Java and JS, so it uses a ton of interfaces, mainly for theming.

Is there a plan to reduce unnecessary hooks for privacy-conscious users?

I'll look into it further and see what I can improve

@PranshulGG PranshulGG added next release Issues that will be included in the next planned release. priority: high labels Apr 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next release Issues that will be included in the next planned release. priority: high
Projects
None yet
Development

No branches or pull requests

2 participants
0