Android developer tool to draw overlay layout for GUI debug

Related tags

App LayoutOverlay
Overview

LayoutOverlay

actions

Overview

Make a overlay window to show transparent shape to compare size with view, margin.

Features

  • Overlay window
    • Drag
    • Drag and drop to remove
    • Double click to open Activity
  • Various shape
    • Rectangular
    • Square
    • Circle
  • Custom size, color, transparency
  • Multiple overlay

Architecture

  • Clean architecture
    • Multi module
    • app
      • Activity for navigation
    • feature
      • overlay
        • presentation
          • Service
            • Service to draw overlay window
        • domain
        • data
      • home
        • presentation
        • domain
        • data

Dependency

  • KTS
  • Gradle Version Catalog

Screenshot

Comments
  • Ktlint 적용

    Ktlint 적용

    Issue: https://github.com/7loro/LayoutOverlay/issues/27

    ktlint 적용 및 ktlint 이슈 수정 build task 수행 시 ktlint 수행 됨

    TODO: precommit 시 ktlint 수행되어 에러 검출 할 수 있으면 유용할 듯 합니다

    static analysis 
    opened by 7loro 2
  • Convert Line separator windows (\r\n) from Unix and MacOS Style (\n)

    Convert Line separator windows (\r\n) from Unix and MacOS Style (\n)

    윈도우에서 작업했던 파일들이 IDE 설정이 system dependent 하게 되어있어서 \r\n 로 되어있었음 해당 파일들에 대해 변경 및 IDE 설정 변경

    dos2unix 커맨드로 일괄 변경 find . -type f -print0 | xargs -0 dos2unix

    opened by 7loro 2
  • Make ThemeProvider singleton using Hilt

    Make ThemeProvider singleton using Hilt

    • Hilt 를 이용하여 ThemeProvider 싱글턴 제공
    • Settings 모듈에서 Shared 모듈의 리소스를 직접 참조하는 대신 상수값 참조하도록 변경
    • theme 설정 시점 Activity->Application   - Activity.onCreate 에서 수행 시 uiMode 값 변경에 따라 Activity 새로 생성 됨   - Application 에 해당 로직을 넣어 Activity 두 번 생성되지 않게 적용 가능

    TODO: 다크 모드로 앱 설정, 시스템은 light 일 때 앱 종료 상태에서 진입 시 white 윈도우 보여졌다가 뒤늦게 바뀌는 이슈

    enhancement dependency 
    opened by 7loro 1
  • Refactoring module

    Refactoring module

    module 개편

    • app
    • feature:service
    • feature:home
    • feature:overlay
    • feature:calculator
    • feature:settings
    • shared

    buildSrc 이용

    • buildSrc 에 정의한 값들을 이용하여 build.gradle.kts 에서 IDE 의 자동완성 이용 가능
    • GradlePluginId : Gradle plugin id 상수 값 모음
    • AndroidConfig : 빌드 버전 및 설정 관련 값 모음

    VersionCatalog 이용

    • settings.gradle.kts 에서 선언한 versionCatalog 값을 이용하여 build.gradle.kts 들이 사용하는 버전 통합 관리

    Overlay 탭 재선택 시 Fragment onDestroy 호출되어 Service unbind 되는 이슈

    • onDestroy 부분 제거
    • Activity 종료 시 Service onDestroy 호출되어 stopSelf 하므로, activity 종료 시 서비스 잘 종료 됨
    enhancement 
    opened by 7loro 1
  • Overlay Add DB 연동

    Overlay Add DB 연동

    Overlay Add DB 연동

    • OverlayListFragment
      • DB 저장 된 목록 RecyclerView 로 그려주기
      • 관련 ViewModel, Get usecase 추가
    • OverlayAddFragment
      • Add DB 연동
      • 관련 ViewModel, Add usecase 추가
    • Fragment navigation 추가
    • ViewState, Action 적용
    • lottie 적용

    Hilt 를 이용하여 ThemeProvider 싱글턴 제공 Settings 모듈에서 Shared 모듈의 리소스를 직접 참조하는 대신 상수값 참조하도록 변경 theme 설정 시점 Activity->Application

    • Activity.onCreate 에서 수행 시 uiMode 값 변경에 따라 Activity 새로 생성 됨
    • Application 에 해당 로직을 넣어 Activity 두 번 생성되지 않게 적용 가능

    TODO:

    • 다크 모드로 앱 설정, 시스템은 light 일 때 앱 종료 상태에서 진입 시 white 윈도우 보여졌다가 뒤늦게 바뀌는 이슈
    • 여러 아이템 지원 (현재는 1개 아이템만 지원 됨)
    • 앱 진입 시 DB 에 있는 목록들로 서비스 그려주기
    enhancement overlay 
    opened by 7loro 0
  • 빌드 에러 수정

    빌드 에러 수정

    https://github.com/7loro/LayoutOverlay/pull/17 에서 Actions 동작하지 않아 빌드 확인 없이 반영 #18 에서 빌드 에러 발견

    * What went wrong:
    Execution failed for task ':feature:calculator:verifyReleaseResources'.
    > A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
       > Android resource linking failed
         ERROR:/home/runner/work/LayoutOverlay/LayoutOverlay/feature/calculator/src/main/res/navigation/calculator_nav_graph.xml:2: AAPT: error: attribute startDestination (aka com.casper.layoutoverlay.calculator:startDestination) not found.
    
    bug 
    opened by amoseui 0
  • 정적 분석 적용

    정적 분석 적용

    ktlint

    • 코틀린으로 작성한 코드의 스타일 검사와, 형식에 맞지 않는 부분을 수정하는 기능
    • Kotlin 공식 코드 스타일 가이드를 기준

    detekt

    • detekt는 단순한 문법검사를 넘어 정적 분석으로 문제점을 야기할 수 있는 코드 파악하여 코드 품질 개선

    Android Lint

    • 프로젝트 구조를 검사
    • deprecated api, unused namespace 등

    참고 : http://tech.oliveyoung.co.kr/tech/2101231252/#%EC%B0%BD%EC%84%B8%EA%B8%B0-1%EC%9E%A5-%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98-%EC%88%98%EB%A6%BD

    static analysis 
    opened by 7loro 0
  • 개발자 정보 구현

    개발자 정보 구현

    보여줄 내용

    • maintainers
      • [icon] 7loro
      • [icon] amoseui
    • contributors
      • [icon] ...

    구현 예상

    1. json 형태로 asset 에 저장해 놓고 값을 읽어서 보여줌
    2. https://github.com/7loro.png 와 같은 url 로 프로필 사진 받아올 수 있음
    {
      "maintainers": [
        {
          "name": "7loro",
          "photoUrl": "https://github.com/7loro.png"
        },
        {
          "name": "amoseui",
          "photoUrl": "https://github.com/amoseui.png"
        }
      ]
    }
    
    enhancement settings 
    opened by amoseui 0
  • github 프로세스 제안

    github 프로세스 제안

    마일스톤, 프로젝트

    • 마일스톤은 릴리즈 기준, 프로젝트는 스프린트, iteration 등으로 기간으로 관리하는게 편함
      • 프로젝트 보드에 이슈 티켓이 계속 쌓일 것이기 때문에 주기적으로 교체하는게 관리하기 편함 -> 기간 주기
      • 릴리즈 목표 버전 별로 마일스톤을 만들어서 어느 이슈가 어느 버전에 들어갈지 관리
    • 보통 이슈 기준으로 PR을 만들기 때문에 PR은 마일스톤, 프로젝트에 따로 추가할 필요는 없을듯 (중복)
    • PR description 에 이슈 링크를 추가하거나 Linked pull requests 등으로 1:1 링크도 가능

    업무에서 사용하는 설정 + 개인 github 세팅

    • 리뷰 프로세스 관련
      • Settings > Branches > Branch protection rules (master branch)
        • 보통 체크하는 것
        • Require a pull request before merging
          • Require approvals (리뷰, 빌드 등)
          • Dismiss stale pull request approvals when new commits are pushed
          • Require review from Code Owners (선택, CODEOWNERS 파일로 폴더/파일 단위로 리뷰어 관리 가능)
        • Require status checks to pass before merging (CI 가 있는 경우 어떤 job을 require 할 것인지 설정 가능)
          • Require branches to be update before merging
    • Merge 방법
      • Settings > Options > Merge button
        • Allow squash merging 만 체크
          • 하나의 PR 당 하나의 commit 으로 submit 됨, 브랜치 분리, merge commit 없이 linear 하게 히스토리 관리돼서 보기 편함
          • PR에서 리뷰 중 추가 수정이 필요할 때는 amend 옵션 없이 추가 commit 을 새로 만들어서 올려서 추가 수정을 확인
          • merge 할 때는 하나로 합쳐서 submit됨

    CI 에서 확인하면 좋은 것

    • test coverage
      • gradle 에 jacoco 로 test coverage 추가
      • codecov, coveralls 등 외부 툴을 이용해서 PR에 봇이 comment 를 달거나 웹 UI로 따로 볼 수 있음
    • 코드 스타일 등 -> ktlint? detekt? 자동으로 확인
    DevOps 
    opened by amoseui 3
Owner
7loro
Android app developer
7loro
AdpPad is a GUI application to use adb. adb is a command line tool to control android device.

AdbPad AdpPad is a GUI application to use adb. adb is a command line tool to control android device. Demo.mp4 ✨ Feature Observe a connected android de

katz 31 Dec 30, 2022
Wireguard-android - Android GUI for WireGuard

Android GUI for WireGuard Download from the Play Store This is an Android GUI fo

Wolfram Liebchen 0 Jan 28, 2022
A plugin for Termux to use native Android GUI components from CLI applications.

Termux:GUI This is a plugin for Termux that enables command line programs to use the native android GUI. In the examples directory you can find demo v

Termux 345 Jan 1, 2023
Linux GUI for Kuri's userspace tablet drivers. Supports non-wacom (XP-Pen, Huion, Gaomon) graphics tablets and pen displays

Kuri's Userspace tablet driver utility (GUI) This is a new GUI implementation for the userland driver I've written here: https://github.com/kurikaesu/

Aren Villanueva 12 Jan 4, 2023
Android app that allows you to draw anything and turn it into a jigsaw puzzle.

Android-Jigsaw-Puzzle Like to draw? Like to solve jigsaw puzzles? Try JigDraw! This is an Android app where a user draws something and use it to gener

Jay Paulynice 149 Nov 24, 2022
A canvas you can draw on with different colors.

Simple Draw A canvas you can draw on with different colors. Want to draw something but you have no paper? This app will suit you perfectly. Just pick

Simple Mobile Tools 410 Jan 4, 2023
Android Phishing Application.This Project is for Educational purposes only.The Developer of this application is not responsible of any bad usage

Android Phishing Application.This Project is for Educational purposes only.The Developer of this application is not responsible of any bad usage

Aria Shirazi 93 Oct 23, 2022
Projeto baseado nos desafios propostos pelo Bootcamping Carrefour Android Developer

Desafio Carrefour Android Developer Projeto baseado nos desafios propostos pelo Bootcamping Carrefour Android Developer Desafio Tema do Desafio Nível

Marcelo Alves 3 Sep 13, 2021
2017 Android Associate Developer Exam

Bug-Master-Android-Application This was the application I built to pass the Google Android Associate Exam in 2017. The app involved syncing with an in

null 0 Nov 20, 2021
Projeto baseado nos desafios propostos pelo Bootcamping Inter Android Developer

Desafio Bootcamping Inter Android Developer Projeto baseado nos desafios propostos pelo Bootcamping Inter Android Developer Desafio Tema do Desafio Ní

Marcelo Alves 10 Aug 3, 2022
This assignment has been given to me for Android developer position at SonyLiv.

asssignmentSonyLiv This assignment has been given to me for Android developer position at SonyLiv. This codeis not full functional but can give a cont

Rudra Chouhan 0 Nov 21, 2021
Mobile app to show images from Pixabay. Interview solution for Adanian Labs android developer role.

PixaBay An android app built using Kotlin that consumes Pixabay API to display images.It has been built following Clean Architecture Principle, Reposi

Kibet 4 Nov 24, 2022
Google Developer Student Clubs 2022 Solution Challenge - Team East River's Android Application

Solution-Challenge-2022-VEGATHER Google Developer Student Clubs 2022 Solution Challenge - Team East River's Android Application VEGATHER is an app ser

GDSC HUFS 5 Jun 19, 2022
Added more features to app's crash dialog, fixed custom rom deleted dialog, the best experience to Android developer.

AppErrorsTracking 应用异常跟踪 Added more features to app's crash dialog, fixed custom rom deleted dialog, the best experience to Android developer. 为原生 FC

狐狸派 83 Jan 8, 2023
Mobile Application Developer Technical Test

kotlin_incident_app Mobile Application Developer Technical Test Screenshots Notes You may have to wait a little bit when you click on a button as they

null 0 Nov 5, 2021
Attendance Management app made in Kotlin for students. Made during ASJ, Google Developer Students Club, AITR Indore

Android-Study-Jams Attendance Management Problem Statement: Based on the observation, there is no available student attendance system in many educatio

null 5 Dec 2, 2022
YourStore app made in Kotlin for Local e-commerce. made during ASJ, Developer Students Club, BIT Mesra

Android-Study-Jams YourStore , Vocal for Local Problem Statement: Over past two years, local businesses have faced lot of troubles due to Covid-19 and

Mayukh Pankaj 4 Apr 24, 2022
Modern Social Profile Layout For Android

Social Profile Layout Modern Simple Social Profile Layout for your Android App Project Installation Just run this project on your Android Studio Proje

Yogi Prasetyawan 4 Dec 21, 2022
Android Kotlin Fundamentals: 02.3 ConstraintLayout using the Layout Editor

ColorMyViews Android Kotlin Bootcamp from Google Developer website Android Kotli

Marcelo Viana 0 Feb 13, 2022