Git Product home page Git Product logo

lg-motion's Introduction

LG Motion - Android Application for Liquid Galaxy

The incredible app designed to elevate your Liquid Galaxy experience like never before! With a seamless connection to your Liquid Galaxy rig, you can now control it remotely using facial expressions, voice commands, hand gestures, poses, and even object manipulation all at your fingertips!

The app utilizes the power of the Mediapipe API for recognizing and processing facial gestures, hand gestures, and body poses, making it easy for users to control their Liquid Galaxy experience through their Android device.

Table of Contents

Screenshots

Light Theme

Light Theme Screenshots Light Theme Screenshots Light Theme Screenshots Light Theme Screenshots Light Theme Screenshots Light Theme Screenshots

Dark Theme

Dark Theme Screenshots Dark Theme Screenshots Dark Theme Screenshots Dark Theme Screenshots Dark Theme Screenshots Dark Theme Screenshots

Map Styles

Map Styles Screenshots Map Styles Screenshots Map Styles Screenshots Map Styles Screenshots Map Styles Screenshots Map Styles Screenshots Map Styles Screenshots Map Styles Screenshots

Installation

Manual Installation

  1. Clone this repository to your local machine using the following command:
git clone https://github.com/SidharthMudgil/lg-motion.git
  1. Open the project in Android Studio.

  2. Build the project and install it on your Android device.

APK Installation

  1. Download the latest APK file from the "Releases" section of this GitHub repository.

    Download APK Download AAB
  2. Enable "Unknown Sources" in your Android device settings to allow the installation of apps from external sources.

  3. Locate the downloaded APK file and install it on your Android device.

Contribution

We welcome contributions to LG Motion from the open-source community. If you want to contribute to the project, follow these steps:

  1. Fork this repository to your GitHub account.

  2. Clone the forked repository to your local machine.

git clone https://github.com/your-username/lg-motion.git
  1. Create a new branch with a specific naming scheme that describes the purpose of your contribution. For example:

    • For adding a new feature: feature-add-new-feature
    • For fixing a specific issue: fix-issue-description
    • For general improvements: enhancement-improvement-description
  2. Make the necessary changes and improvements in your branch.

  3. Test your changes to ensure they are working as expected.

  4. Follow the coding style and naming conventions of the existing codebase.

  5. Commit your changes and push them to your forked repository:

git commit -m "Add a concise commit message describing your changes"
git push origin your-branch-name
  1. Create a pull request from your branch to the main LG Motion repository.

  2. Pull request will be reviewed, and if everything is satisfactory, it will be merged into the main repository.

Please provide clear and descriptive pull request messages, along with before and after screenshots, to help with the review process.

Let's build LG Motion together and make Liquid Galaxy control even more exciting and accessible for everyone!

lg-motion's People

Contributors

sidharthmudgil avatar dharamveer-gupta avatar

Stargazers

Gagandeep Singh avatar Dharamveer Gupta avatar

Watchers

James Cloos avatar  avatar

lg-motion's Issues

App Logo Cropping in Splash Screen UI

Upon app launch, the logo displayed on the splash screen is consistently cropped on all Android devices, regardless of their screen size or resolution. As a result, the logo appears distorted, cut off, or improperly positioned, leading to an unprofessional and visually unpleasant splash screen experience.

IMG_20230815_145421

Adding Custom Settings for Controllers

Currently, the app lacks settings for controllers, limiting users' ability to customize their experience based on their preferences and needs. This leads to a one-size-fits-all approach, which may not cater to all users' unique workflows and use cases.

Custom Commands Binding: Users should be able to remap controller buttons to specific actions within the application. This will enable users to define keybindings that suit their muscle memory and playstyle.

Camera Front/Back Selection: Adding the option to switch between front and back cameras will provide users with greater flexibility when capturing content or interacting with the app's camera functionality.

Confidence Level Control: Introducing a confidence level slider will enable users to fine-tune the sensitivity of gestures or voice commands. This will accommodate users with varying skill levels and ensure a smoother interaction.

Threshold Adjustment: Allowing users to adjust the threshold for certain actions will provide granular control over triggering events, making the app adaptable to different environmental conditions and user preferences.

Hand Gesture and Body Pose Detection

As of the current version, our application successfully detects facial landmarks, body landmarks, and various objects. However, we have yet to implement hand gesture detection and body pose recognition using the detected landmarks. This functionality is crucial for enabling users to set custom commands based on different gestures and object manipulations, which will greatly enhance the user experience and interaction possibilities.

Key Objectives:

  • Hand Gesture Detection: Utilize the facial landmarks to recognize various hand gestures, such as palm open, palm lclosed, and pinches. These gestures can then be mapped to predefined actions or user-customized commands.
  • Body Pose Recognition: Use the body landmarks to determine different body poses, such as standing, sitting, or raising arms. These poses can serve as triggers for specific commands or actions within the application.
  • Object Mapping: Users can assign specific commands or interactions based on the detection of different objects.

Issue with Toast Messages not Always Showing

Currently, there is an issue with the snackbar messages in the application. In certain scenarios, the snackbar messages fail to appear, leading to a lack of feedback for important actions and errors. This impacts user experience negatively, as users may not be aware of the success or failure of certain operations.

Potential Causes:
The issue could be caused by improper handling of UI thread updates, conflicts with device rotation, and fragment changes.

Main Cause:
Fragment not attached to a context

Implement Visual Feedback for Liquid Galaxy Buttons

The Liquid Galaxy functionality in our Android app currently lacks visual feedback for various important buttons such as "Set Refresh," "Reset Refresh," "Relaunch," and others. When users interact with these buttons, there is no indication that the app has acknowledged their action, leading to a potentially confusing user experience.

To enhance usability and provide a more intuitive interface, we should address this issue by adding appropriate visual feedback for the aforementioned buttons.

Add Progress Indicator for Connect and Disconnect Buttons

The current version of the Android app lacks visual feedback when the user clicks on the "Connect" or "Disconnect" buttons. This results in a confusing user experience, as there is no indication that the process has started or is in progress. To improve the app's usability, we should implement a progress indicator or loading animation that appears when either button is pressed.

Add Gesture Information for Controllers

Currently, our application lacks clear information about what gestures correspond to specific commands when using the controllers. To enhance user experience and help users understand the available functionalities, we propose adding a gesture information feature.

Objective:
The objective of this issue is to implement a gesture information feature that provides users with a reference guide for the gestures and their corresponding commands for each controller.

Replace LG Dialog with Bottom Sheet and Side Sheet

The current Liquid Galaxy connection dialog in our Android app presents some usability challenges on different device sizes. On mobile devices, the dialog shrinks when the keyboard is shown, affecting the user experience. To overcome this issue and provide consistent and optimal UI, we should replace the existing dialog with adaptive bottom sheets for mobile devices and side sheets for tablet devices.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.