Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
7dc2c45
SimpleWear: handle some errors
thewizrd Sep 7, 2024
16423d1
MediaPlayerUi: try to keep focus
thewizrd Sep 7, 2024
a193c92
MediaControllerService: show volume toast if interactive
thewizrd Sep 7, 2024
fc3bd04
MediaPlayerUi: fix crash when volume is invalid
thewizrd Sep 7, 2024
6504306
SimpleWear: v1.15.3
thewizrd Sep 7, 2024
5fc532b
MediaPlayerUi: add scale factor for low-res rotary
thewizrd Sep 15, 2024
454ff62
BatteryStatusComplicationService: set the actual battery level
thewizrd Sep 15, 2024
48bb45d
SimpleWear: v1.15.4
thewizrd Sep 15, 2024
bfc91a5
gradle: update dependencies
thewizrd Dec 13, 2024
0fd04e8
SimpleWear: fix build errors after update
thewizrd Dec 13, 2024
488cea6
BatteryStatusComplicationService: show charging status
thewizrd Dec 13, 2024
d2791e1
NotificationListener: update listener check condition
thewizrd Dec 13, 2024
d57df28
gradle: update dependencies
thewizrd Jan 12, 2025
021a493
shared_resources: update utils
thewizrd Jan 12, 2025
b06f5e2
SimpleWear: update tether handling
thewizrd Jan 12, 2025
638d1ae
media: improvements all around
thewizrd Jan 13, 2025
2f32b31
mobile: listen for volume and brightness changes
thewizrd Jan 17, 2025
b0bc84f
MediaControllerService: send status when controller is ready
thewizrd Jan 17, 2025
dc41432
SimpleWear: better brightness controls
thewizrd Jan 17, 2025
ec85a8b
CallController: remove DataClient usage
thewizrd Jan 17, 2025
97ea38f
WearableDataListenerService: update bridge supports
thewizrd Jan 17, 2025
512b82d
SimpleWear: send app data via channel
thewizrd Jan 17, 2025
35f6e94
MediaPlayerTile: update to load state from cache
thewizrd Jan 20, 2025
ab34da7
DashboardTile: update to load state from cache
thewizrd Jan 21, 2025
6cd0ac7
BatteryStatusComplication: load state from cache
thewizrd Jan 21, 2025
01cb52a
SimpleWear: v1.16.0-build0
thewizrd Jan 21, 2025
fb70e86
wear: update tiles previews
thewizrd Jan 22, 2025
b9daa2f
CallManagerUi: fix keypad ui
thewizrd Jan 22, 2025
664e853
SimpleWear: v1.16.0-build1
thewizrd Jan 22, 2025
e6e21e1
TetherHelper: fallback to ConnectivityManager if unable to get tether…
thewizrd Jan 29, 2025
2cc7b34
gradle: update dependencies
thewizrd Apr 6, 2025
9ee7183
GesturesUi: add support for navbar button actions
thewizrd Apr 7, 2025
e5c8b2e
MediaPlayerUi: fix focus for pager
thewizrd Apr 13, 2025
85680dc
SimpleWear: v1.16.0-build2
thewizrd Apr 13, 2025
00e79d9
CustomConfirmationOverlay: adjust layout
thewizrd Apr 14, 2025
9a138de
SimpleWear: add content descriptions where needed
thewizrd Apr 14, 2025
6e6d48e
SimpleWear: v1.16.0-build3
thewizrd Apr 14, 2025
dce0116
SimpleWear: remove CustomConfirmationOverlay usage
thewizrd Apr 20, 2025
c1517c6
gradle: update dependencies
thewizrd Apr 20, 2025
0109079
SimpleWear: v1.16.0-build4
thewizrd Apr 20, 2025
588ccc6
SimpleWear: add github pages
thewizrd Apr 21, 2025
1f6ffae
pages: fix formatting
thewizrd Apr 21, 2025
5771e0d
pages: update docs
thewizrd Apr 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ wear/google-services.json
wearsettings/debug
wearsettings/release
releases
allowed_wearsettings_callers.xml
PackageValidator.kt
allowed_wearsettings_callers.xml
44 changes: 23 additions & 21 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,29 @@

buildscript {
ext {
compileSdkVersion = 34
compileSdkVersion = 35
minSdkVersion = 24
targetSdkVersion = 34

kotlin_version = '1.9.25'
kotlinx_version = '1.8.1'
kotlin_version = '2.1.10'
kotlinx_version = '1.10.2'

desugar_version = '2.1.1'
desugar_version = '2.1.5'

firebase_version = '33.2.0'
firebase_version = '33.12.0'

activity_version = '1.9.1'
activity_version = '1.10.1'
appcompat_version = '1.7.0'
constraintlayout_version = '2.1.4'
core_version = '1.13.1'
fragment_version = '1.8.2'
lifecycle_version = '2.8.4'
constraintlayout_version = '2.2.1'
core_version = '1.16.0'
fragment_version = '1.8.6'
lifecycle_version = '2.8.7'
preference_version = '1.2.1'
recyclerview_version = '1.3.2'
recyclerview_version = '1.4.0'
coresplash_version = '1.0.1'
work_version = '2.9.1'
navigation_version = '2.7.7'
work_version = '2.10.0'
navigation_version = '2.8.9'
datastore_version = '1.1.4'

test_core_version = '1.6.1'
test_runner_version = '1.6.2'
Expand All @@ -34,15 +35,15 @@ buildscript {

material_version = '1.12.0'

compose_bom_version = '2024.08.00'
compose_bom_version = '2025.04.00'
compose_compiler_version = '1.5.15'
wear_compose_version = '1.3.1'
wear_tiles_version = '1.4.0'
wear_compose_version = '1.4.1'
wear_tiles_version = '1.4.1'
wear_watchface_version = '1.2.1'
horologist_version = '0.5.28'
accompanist_version = '0.34.0'
horologist_version = '0.6.23'
accompanist_version = '0.37.2'

gson_version = '2.11.0'
gson_version = '2.13.0'
timber_version = '5.0.1'

// Shizuku
Expand All @@ -56,10 +57,11 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:8.5.2'
classpath 'com.android.tools.build:gradle:8.9.1'
classpath 'com.google.gms:google-services:4.4.2'
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.2'
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Expand Down
7 changes: 7 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor

Gemfile.lock
33 changes: 33 additions & 0 deletions docs/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
#gem "jekyll", "~> 4.4.1"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
#gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin]

# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
53 changes: 53 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
#
# If you need help with YAML syntax, here are some quick references for you:
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
# https://learnxinyminutes.com/docs/yaml/
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: SimpleWear
description: Control your Android phone from your watch
logo: /assets/img/logo.png
google_analytics:
show_downloads: true

google:
playstore_url: "https://play.google.com/store/apps/details?id=com.thewizrd.simplewear"

# Build settings
remote_theme: "godalming123/minimal"
plugins:
- jekyll-remote-theme # add this line to the plugins list if you already have one

# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
# - .sass-cache/
# - .jekyll-cache/
# - gemfiles/
# - Gemfile
# - Gemfile.lock
# - node_modules/
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
9 changes: 9 additions & 0 deletions docs/_includes/head-custom.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<!-- start custom head snippets, customize with your own _includes/head-custom.html file -->

<!-- Setup Google Analytics -->
{% include head-custom-google-analytics.html %}

<!-- You can set your favicon here -->
<link rel="shortcut icon" type="image/x-icon" href="{{ '/assets/img/favicon.ico' | relative_url }}">

<!-- end custom head snippets -->
63 changes: 63 additions & 0 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

{% seo %}

{%if site.color-scheme %}
<link rel="stylesheet" href="{{ "/assets/css/colors-ColorScheme.css?v=" | replace: "ColorScheme", site.color-scheme | append: site.github.build_revision | relative_url }}">
{% else %}
<link rel="stylesheet" href="{{ "/assets/css/colors-auto.css?v=" | append: site.github.build_revision | relative_url }}">
{% endif %}

<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
{% include head-custom.html %}
</head>
<body>
<div class="wrapper">
<header>
<h1><a href="{{ "/" | absolute_url }}">{{ site.title | default: site.github.repository_name }}</a></h1>

{% if site.logo %}
<img src="{{site.logo | relative_url}}" alt="Logo" />
{% endif %}

<p>{{ site.description | default: site.github.project_tagline }}</p>

{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}

{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}

{% if site.show_downloads %}
<ul class="downloads">
<li><a href="{{ site.google.playstore_url }}">Download On <strong>Play Store</strong></a></li>
<li><a href="{{ site.github.repository_url }}/releases">View <strong>Releases</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
</ul>
{% endif %}
</header>
<section>

{{ content }}

</section>
<footer>
{% if site.github.is_project_page %}
<p>This project is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p>
{% endif %}
<p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
</body>
</html>
Binary file added docs/assets/img/favicon.ico
Binary file not shown.
Binary file added docs/assets/img/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
layout: default
---

SimpleWear allows you to control your Android phone from your watch.

# Store

Download from the <a href='{{ site.google.playstore_url }}'>Google Play Store</a>

# Settings Helper

[Companion app for SimpleWear](./settings-helper)

# About

[Privacy Policy](./privacy-policy)
51 changes: 51 additions & 0 deletions docs/privacy-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
layout: default
title: Privacy Policy
permalink: /privacy-policy
---

# Privacy Policy

This privacy policy describes the permissions used for this application.

This application only asks for permission to perform certain functions on your phone.

SimpleWear does not store, collect or share any other personal identifiable information with anyone.

# App Permissions

### Camera

Allows the application to turn the flashlight on or off.

### Device admin access

Allows the application to lock your phone from your WearOS device.

### Do not Disturb access

Allows the application to change the do not disturb state on your phone.

### Notification access

Allows the application to access and control active media sessions / music on your phone.

### System Settings access

Allows the application to change system settings like brightness on your phone.

### Bluetooth, Nearby Devices

Allows the application to pair with wearable device and to toggle Bluetooth state on your phone.

### Phone Access

Allows the application to know if an active call is present on your phone (for Call Controller feature)

### Contacts

Allows the application to display caller name, if available (for Call Controller feature)

### Alarms and reminders

Allows the application to schedule actions (for Timed Actions feature)
13 changes: 13 additions & 0 deletions docs/root-access.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
layout: default
title: Root Access
permalink: /root-access
---

# Root Access

If you are reading this message you likely do not have **root** permissions on your device.

If you do not know what **root** is, [this article](https://www.androidauthority.com/root-android-277350/) explains what it is. _**I am not responsible for anything that may happen if you decide to root your device.**_

If your device is actually rooted, please check if this app was denied root access in your Superuser/Magisk/etc manager app.
Loading