UOS2021 / U.O.S-Mobile

Untact Order Service의 고객 서비스를 제공하는 Android Application Service
Apache License 2.0
2 stars 4 forks source link

[U.O.S-Mobile] U.O.S-Mobile 내 Activity 및 Dialog 통합 클래스 구현 #91

Closed ByteAurora closed 3 years ago

ByteAurora commented 3 years ago

주요 변경사항

U.O.S-Mobile 내 Activity 및 Dialog의 통합 클래스 구현

  • 현재 U.O.S-Mobile에 있는 모든 Activity와 Dialog는 각각 UosActivity와 UosDialog를 상속받고 있으며 효율적인 관리를 위해 추후 생성하는 Activity와 Dialog에도 상속 받기를 권장

1. UosActivity 클래스

U.O.S-Mobile 내에 있는 모든 Activity가 상속받고 있으며 중복된 Activity 생성 방지 및 편리한 Activity 이동을 위한 클래스

  • onCreate() 실행 시 UosActivity.activities에 현재 Activity 추가

  • 동일한 클래스의 Activity가 이미 UosActivity.activities에 존재할 경우 기존 Activity를 종료 및 UosActivity.activities에서 제거하고 현재 Activity를 추가

  • onDestroy() 실행 시 UosActivity.activities에서 현재 Activity 제거

  • revertToActivity(Class targetUosActivity): UosActivity.activities에서 마지막 Activity부터 매개변수로 전달된 클래스와 동일한 클래스가 나오기 전까지 모든 Activity 종료 및 UosActivity.activities에서 제거

  • startFromActivity(Intent intent): UosActivity.activities에 생성되어있는 모든 Activity를 종료 및 UosActivity.activities에서 제거하고 매개변수로 전달된 Intent를 이용하여 새로운 Activity를 생성

  • clear(): UosActivity.activities에 있는 모든 Activity를 종료 및 UosActivity.activities에서 제거

  • get(Class targetUosActivity): UosActivity.activities에 매개변수로 전달된 클래스와 동일한 클래스가 있을 경우 해당 Activity를 반환

2. UosDialog 클래스

U.O.S-Mobile 내에 있는 모든 Dialog가 상속받고 있으며 중복된 Dialog 생성 방지를 위한 클래스

  • 생성자에서 UosDialog.dialogs에 현재 Dialog 추가

  • 동일한 클래스의 Dialog가 이미 UosDialog.dialogs에 존재할 경우 기존 Dialog 를 종료 및 UosDialog.dialogs에서 제거하고 현재 Dialog를 추가

  • dismiss() 실행 시 UosDialog.dialogs에서 현재 Dialog 제거



기타 변경사항

디자인

1. LoginActivity 비밀번호 표시 아이콘 색을 검정색으로 변경

2. OwnerLobbyActivity에서 QR코드 전시 버튼 제거

3. 회원 탈퇴 시 표시되던 잘못된 탈퇴 설명 제거

기능

1. QR코드에서 ip, port 추출 부분 제거

  • 기존의 Pos 프로그램을 외부 서버에서 동작하도록 옮기게 되면서 Pos와 모바일 앱간의 통신이 사라짐

  • 모든 통신은 고정 ip, port를 가진 외부서버와 이루어지기 때문에 ip, port 추출 로직을 제거

  • 접속한 매장을 구분하기 위해 QR코드에 U.O.S 파트너 아이디 추가

2. HttpManager의 String 매개변수 변경

  • string[0]: 접속할 URL

  • string[1]: 연결대기 Timeout 시간

  • string[2]: 응답대기 Timeout 시간

  • string[3]: 송신할 데이터

3. U.O.S 파트너 로그인 시 매장 QR코드를 불러오도록 구현

  • 불러온 QR코드는 기존과 동일하게 기기에 저장

4. QR코드 인식 시 데이터가 없을 경우에 대한 예외처리 추가

5. UosActivity, UosDialog 구현에 따른 Global.activities, Global.dialogs 관련 코드 제거



추후 구현사항

기능

1. U.O.S 파트너가 QR코드 전시 시 화면 잠금 기능 구현

  • 화면이 잠금 상태일 때는 비밀번호를 입력해야만 잠금화면을 해제할 수 있음

  • 잠금 시 기타 동작 불가능(뒤로가기, 앱 종료 등)