Bug 83795 - Add UI for Wearable devices to the Impress Remote for Android
Summary: Add UI for Wearable devices to the Impress Remote for Android
Status: RESOLVED FIXED
Alias: None
Product: Impress Remote
Classification: Unclassified
Component: Android Remote App (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: Other other
: medium enhancement
Assignee: Efstratios Kamadanis
URL:
Whiteboard:
Keywords: difficultyBeginner, easyHack, skillJava
Depends on:
Blocks:
 
Reported: 2014-09-12 10:29 UTC by Christian Lohmaier
Modified: 2015-12-18 10:07 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Lohmaier 2014-09-12 10:29:27 UTC
Currently the Impress Remote for Android only supports Phones and Tablets, but doesn't have a UI for the new Android wearables (think watches).

Adding a simple UI to switch between slides, and to blank the screen would be a nice addition to make use of those kind of devices.

Instead of displaying a preview of the slide, it probably should restrict itself to only show a counter "current slide/total number of slides" and/or the timer(s).

Since wearables have timer that brings the user to the wearable's home-screen in case of no interaction, notifications should be used to allow easy access to the presentation's controls.

The code is available from gerrit:
https://gerrit.libreoffice.org/#/admin/projects/impress_remote

Import the "impress_remote/android/sdremote" folder as a project in Android Studio and you're ready to go.

The files for the wearable UI should go into a "wear" folder next to the "mobile" one.

https://developer.android.com/training/building-wearables.html

gives hint to the Android part of creating content for wearables and also describes how setup the emulators.
Comment 1 Christian Lohmaier 2014-09-12 10:33:31 UTC
Beginner difficulty, as the remote's code is small and there's not much magic needed to get going :-) - also the wearable's UI isn't complex.

Obviously SkillJava, as the remote/android-apps is written in Java
Comment 2 Efstratios Kamadanis 2014-12-20 12:48:29 UTC
I'm interested at working on that.It would be my first involvement on both LibreOffice and Android wear so I'm not very confident,am I supposed to assign it to my self and start working or should I first check if i am able to handle it and then assign?
Comment 3 Efstratios Kamadanis 2014-12-20 13:41:35 UTC
(In reply to foo.stratos from comment #2)
> I'm interested at working on that.It would be my first involvement on both
> LibreOffice and Android wear so I'm not very confident,am I supposed to
> assign it to my self and start working or should I first check if i am able
> to handle it and then assign?

I researched it and I believe I can handle it.Working on it.
Comment 4 Efstratios Kamadanis 2014-12-21 15:03:38 UTC
Update: Created a fairly simple full screen android wear app,implemented WearableListenerService on both mobile and wear,added new intents that are broadcast from the service to SlideShowActivity. In other words: the wear app can trigger slide transitions.

TODO:
-Sending presentation info(a counter) to wear.
-Implement notification UI.
-Optimize Google Api Client connection on both sides.

Should I change the bug status to "ASSIGNED"?Any feedback on how I'm supposed to post updates of the assignment is welcome.
Comment 5 Samuel Mehrbrodt (allotropia) 2014-12-22 11:45:31 UTC
> Should I change the bug status to "ASSIGNED"?Any feedback on how I'm
> supposed to post updates of the assignment is welcome.

Thanks for working on this. I changed the status to ASSIGNED. You might push your changes to gerrit even while your working on it so that others can have a look at your code.
Comment 6 Efstratios Kamadanis 2014-12-22 15:04:44 UTC
> You might push your changes to gerrit even while your
> working on it so that others can have a look at your code.

I could use some help on that since it is my first time contributing on an open source project and using git and I don't want to cause any trouble.So far I created an account at gerrit.libreoffice.org, managed to connect over ssh and sent a license statement at libreoffice@lists.freedesktop.org. 

-Do I have to wait to get added on the developer and contributor list? 

According to wiki,submitting requires something like    

git checkout -b <a_local_branch_name_of_your_choice>
git add file [file ...] # all the new files _and_ changed files
git commit
git push origin <a_local_branch_name_of_your_choice>:refs/for/master

-Would "wear" be an appropriate local branch name?
-Do i have to add all the changed/new files manually or is there a way to automatically check those files?
-Is libreoffice-dev channel a more appropriate place to ask questions like those above?(if it is I apologize for spamming those in the cc list)
Comment 7 Samuel Mehrbrodt (allotropia) 2014-12-22 16:25:52 UTC
(In reply to Efstratios Kamadanis from comment #6)
> -Do I have to wait to get added on the developer and contributor list? 
No.

> -Would "wear" be an appropriate local branch name?
Yes, that's ok.

> -Do i have to add all the changed/new files manually or is there a way to
> automatically check those files?
'git add .' (But please make sure that all your changes are intentional)

> -Is libreoffice-dev channel a more appropriate place to ask questions like
> those above?(if it is I apologize for spamming those in the cc list)
Yes, that's a better place to ask this kind of questions.
Comment 8 Efstratios Kamadanis 2014-12-22 19:27:26 UTC
I appreciate the help,Samuel.

Pushed my first commit: https://gerrit.libreoffice.org/#/c/13613/ 

TODO:
-Implement notification UI.
-Improve the full screen UI.
-Optimize Google Api Client connection on both sides.
Comment 9 Efstratios Kamadanis 2014-12-24 11:10:36 UTC
Would it be a good idea to allow the user exit the mobile application while a presentation is running,show a notification on the phone about it and allow the wearable application control the presentation?
Comment 10 Efstratios Kamadanis 2014-12-24 15:21:28 UTC
Update:
Added notifications. https://gerrit.libreoffice.org/#/c/13641/

TODO:
-Improve the way notifications are created.
-Improve the full screen UI.
-Optimize Google Api Client connection on both sides.
-Localization(?)
Comment 11 Efstratios Kamadanis 2014-12-27 13:27:14 UTC
Update: 
https://gerrit.libreoffice.org/#/c/13672/
-Overhauled the full screen UI.
-Simplified the wearable notifications.
-Improved the communication between mobile and wear.
-Optimized code.

I'm going to wait for feedback for further changes.
Comment 13 Adolfo Jayme Barrientos 2015-03-19 05:38:26 UTC
Efstratios’ work was released in Google Play six days ago (v. 2.2.0). Let’s call this bug FIXED. Further improvements are welcome of course!
Comment 14 Johnny 2015-03-30 13:10:07 UTC
Hi, I'm a newbie of open source contributor.
I saw this new feature of wear but the UI is quite coarse and simple.
I would to like to help.
Comment 15 Christian Lohmaier 2015-03-30 13:27:58 UTC
yes, the UI is simple, and doesn't have background artwork or other finishing touches yet - feel free to submit patches to gerrit/check out the code via

 git clone git://gerrit.libreoffice.org/impress_remote

Info on how to submit patches via gerrit:
https://wiki.documentfoundation.org/Development/gerrit

Efstratios also mentioned he's interested in further polishing the wear UI, so if you intend to work on some concrete feature, please create a separate tracking bug and feel free to cc him, so duplicate efforts are avoided.
Comment 16 Efstratios Kamadanis 2015-03-30 14:25:18 UTC
My main priority is the communication between the modules(not that artistic), unfortunately, some personal issues keep me away from the project but I'm still interested in it. That being said, please cc me so it's easier for me to follow changes, also, feel free to email me if you have any questions.
Comment 17 Robinson Tryon (qubit) 2015-12-18 10:07:16 UTC
Migrating Whiteboard tags to Keywords: (EasyHack DifficultyBeginner SkillJava)
[NinjaEdit]