---
# System prepended metadata

title: Patrol Inspection App RD Test scenario 2021/06~2021/12
tags: [Patrol Inspection App]

---

# Patrol Inspection App RD Test scenario 2021/06~2021/12
---
###### tags: `Patrol Inspection App`
## Tingwei
### Fine-tune long length UI of account name, first name and last name
- [🔗 test Advantech APK v.106001](https://drive.google.com/file/d/1yhfbY7poKafGJBh4zwV1ehWisfLLEY9J/view?usp=sharing)
- [🔗 test pjsslj APK v.106001](https://drive.google.com/file/d/1nHsB4GocD7fo9aaVO9Gqrk1a4-1lvaUb/view?usp=sharing)
- testflight

**Purpose**
1. [Change][Patrol] Show attachment files when the Station or Equip data confirmed. 
2. [Update] flutter version to 2.8.1 (stable)
3. [Change] Rename some class name the same as file name. Alse move my_job_detail_page relative file to a folder.
4. [Update][Issue dialog & Modify history] Add a space between : and text to improve break-line at space.
5. [Fix]Correct "Personel" to "Personnel" in en.json
6. [Fix][Home Tasks Page] Text "Patrol Schedule" is overflow in some small devices. Fix by break-line.
7. [Fix][Home Tasks Page] Report event button height is equal to Patrol Schedule button height. Fine-tune all buttons, make sure the border-radius and the shadow setting are the same.

** Test **
1. Login with max length account
- Home Task page
    - [x] Header -> name shows '...'
    - My Tasks -> click task
        - tab Task Info.
            - [x] -> name and account are break-line
            - [x] -> click yellow `i` button -> name and account are break-line
            - -> Forward -> Choose name page 
                - [x] -> list -> name is break-line
                - [x] -> select the max length account -> name is break-line in Header
        - tab Modify histroy
            - [x] -> name and account are break-line
    - Abnormal Events -> click the task assigned with a long length account name and name
        - tab Abnormality details
            - [x] -> Personnel name
        - tab Task management -> 
            - add task
                - [x] -> add task -> assign account into Person in charge -> name is break-line
            - tab Reported -> click a task -> tab Reported results
                - [x] -> Person in charge -> name is break-line
            - tab Completed -> click a task
                - [x] -> Person in charge -> name is break-line
                - Add Child task
                    - [x] -> assign account into Person in charge -> name is break-line

- Settings
    - [x] -> account name is break-line
    - [x] -> first name is break-line
    - [x] -> last name is break-line
2. test 5 with en
    - Abnormal Events -> click the task assigned with a long length account name and name
        - tab Abnormality details
            - [x] -> Personnel
3. test 6 with android simulator, Nexus S 480x800 dpi
    - [x] home tasks page -> "Patrol Schedule" is break-line
4. test 7
    - [x] home tasks page -> Report event button height is equal to Patrol Schedule button height.
    - [x] check border-radius and shadow of the buttons are same

### Tingwei
## For Google Play new target SDK version, update targetSdkVersion to 30.

** Test **
- [x] Upload Google Play Console -> test by David's Android mobile

## [Change][Patrol] Show attachment files when the Station or Equip patrol confirmed, etc.
- [🔗 test Advantech APK v.105012](https://drive.google.com/file/d/1eGrr4erbG6EElGA-rTXxBM45WgRKzQgH/view?usp=sharing)
- [🔗 test Pjsslj APK v.105012](https://drive.google.com/file/d/1Bdfj_ypSxLP6j9SrspDgQucDxszbxzLC/view?usp=sharing)
- testflight

**Purpose**
1. [Change][Patrol] Show attachment files when the Station or Equip data confirmed. 
2. [Change]FileTextField and SelectFileTextWidget support readOnly.
3. [Fix] On the Patrol Station/Equip page, the Back button crosses two background colors in the Pixel 4 Simulator. Add an empty Appbar() to fix it.

**test ios**
1. test with my iphone
    - [x] fill patrol -> upload some attachment files -> fill some file descriptions and some keep blank -> confirm -> check the preview attachment files and their description
    - [x] Patrol -> the Station or Equip page -> check the Back button
2. test advantech apk with David's android
    - [x] fill patrol -> upload some attachment files -> fill some file descriptions and some keep blank -> confirm -> check the preview attachment files and their description
    - [x] Patrol -> the Station or Equip page -> check the Back button
3. test pjsslj apk with David's android
    - [x] fill patrol -> upload some attachment files -> fill some file descriptions and some keep blank -> confirm -> check the preview attachment files and their description
    - [x] Patrol -> the Station or Equip page -> check the Back button
4. Pixel 4 Simulator, test purpose 3
    - [x] Patrol -> the Station or Equip page -> check the Back button


### Tingwei
## [Fix] Login error handle.
- [🔗 test Advantech APK v.105011](https://drive.google.com/file/d/1IDfzCKqsuwkkIaaYwFCbYajFQ-2Ish37/view?usp=sharing)
- [🔗 test Pjsslj APK v.105011](https://drive.google.com/file/d/1W5k9uyJYtFWBbpYjEybvFQJOV1oOyMaK/view?usp=sharing)
- testflight
**Purpose**
1. [Fix] Login error handle
2. [Change] set Default connectTimeout 60000 milliseconds.
3. [Add][goDealErrorCallBack] Add goDealErrorCallBack() to fine-tune request timeout error or the others error.  4. [Add][Login] validate URL should start from http:// or https

**test ios**
1. test android emulator
    - [x] en lang -> wrong http:// or https:// protocal `172.21.73.198/wainspection/` -> show "title:Login Failed, message\:URL should start from http:// or https://"
    - [x] en lang -> wrong URL format -> `http://inspectionapp-inspection841-eks002.hz.wise-paas.com../` -> show "title:Login Failed, message\:Please check Domain URL or contact the administer."
    - [x] en lang -> wrong url `http://172.21.73.198/wainspection/` (307)-> show "title:Login Failed, message\:Please check Domain URL or contact the administer."
    - [x] en lang -> wrong url `https://172.21.73.198` (404) -> show "title:Login Failed, message\:Please check Domain URL or contact the administer."
    - [x] en lang -> wrong account name (401) -> show -> "title:Login Failed, message\:Account or password is invalid."
    - [x] en lang -> wrong password (401) -> show -> "title:Login Failed, message\:Account or password is invalid."
    - [x] en lang -> status code 500 by changing code  -> show -> "title:Login Failed, message\:Status Code 500. Account or password is invalid."
    - [x] cn lang -> wrong http:// or https:// protocal `172.21.73.198/wainspection/` -> show "title:Login Failed, message\:URL 应以 http:// 或 https:// 开头"
    - [x] cn lang -> wrong URL format -> `http://inspectionapp-inspection841-eks002.hz.wise-paas.com../` -> show "title:Login Failed, message\:请检查网域地址或联系管理员。"
    - [x] cn lang -> wrong url `http://172.21.73.198/wainspection/` (307)-> show "title:登入失败, message\:请检查网域地址或联系管理员。"
    - [x] cn lang -> wrong url `https://172.21.73.198` (404) -> show "title:登入失败, message\:请检查网域地址或联系管理员。"
    - [x] cn lang -> wrong account name (401) -> show -> "title:登入失败, message\:密码或帐号错误。"
    - [x] cn lang -> wrong password (401) -> show -> "title:登入失败, message\:密码或帐号错误。"
    - [x] cn lang -> status code 500 by changing code  -> show -> "title:登入失败, message\:状态码 500。请检查网域地址或联系管理员。"
    - [x] tw lang -> wrong http:// or https:// protocal `http:/172.21.73.198/wainspection/` -> show "title:Login Failed, message\:URL 應以 http:// 或 https:// 開頭"
    - [x] tw lang -> wrong URL format -> `http://inspectionapp-inspection841-eks002.hz.wise-paas.com../` -> show "title:Login Failed, message\:請檢查網域地址或聯絡管理員。"
    - [x] tw lang -> wrong url `http://172.21.73.198/wainspection/` (307) -> show "title:登入失敗, message\:請檢查網域地址或聯絡管理員。"
    - [x] tw lang -> wrong url `https://172.21.73.198` (404) -> show "title:登入失敗, message\:請檢查網域地址或聯絡管理員。"
    - [x] tw lang -> wrong account name (401) -> show -> "title:登入失敗, message\:密碼或帳號錯誤。"
    - [x] tw lang -> wrong password (401) -> show -> "title:登入失敗, message\:密碼或帳號錯誤。"
    - [x] tw lang -> status code 500 by changing code  -> show -> "title:登入失敗, message\:狀態碼 500。請檢查網域地址或聯絡管理員。"
    - [x] valid login
    - [x] test timeout by overwriting `var url = apiServer + 'api/authorize/login';` to `url = https://httpstat.us/200?sleep=70000'` -> show "Network timed out"
2. test with my iphone
    - [x] tw lang -> wrong url -> show "title:登入失敗, message\:請檢查網域地址或聯絡管理員。"
    - [x] tw lang -> wrong password (401) -> show -> "title:登入失敗, message\:密碼或帳號錯誤。"
    - [x] test error response from server -> home tasks -> report -> scan not device qrcode
3. test advantech apk with David's android
    - [x] tw lang -> wrong url -> show "title:登入失敗, message\:請檢查網域地址或聯絡管理員。"
    - [x] tw lang -> wrong password (401) -> show -> "title:登入失敗, message\:密碼或帳號錯誤。"
    - [x] test error response from server -> patrol -> scan not station qrcode
3. test pjsslj apk with David's android
    - [x] tw lang -> wrong url -> show "title:登入失敗, message\:請檢查網域地址或聯絡管理員。"
    - [x] tw lang -> wrong password (401) -> show -> "title:登入失敗, message\:密碼或帳號錯誤。"


### Tingwei
## [Fix] Admin task list with wrong time zone.
- [🔗 test Advantech APK v.105010](https://drive.google.com/file/d/1JC5b51SniISHxxs1qClXdd18_2C1evSF/view?usp=sharing)
- [🔗 test Pjsslj APK v.105010](https://drive.google.com/file/d/13HsvwlHC63tPTpCctUPS0lp_ucIFPfCd/view?usp=sharing)
- testflight
**Purpose**
1. [Fix] Admin task list with wrong time zone.

**test ios**
1. test with my iphone
    - [x] admin tasks -> check time
2. test advantech apk with David's android
    - [x] admin tasks -> check time
3. test pjsslj apk with David's android
    - [x] admin tasks -> check time

### Tingwei
## [Update]Fetching data loading in home_tasks_page, home_schedule_page, setting_home_page, inspection_schedule_page, etc
- [🔗 test Advantech APK v.105009](https://drive.google.com/file/d/1Sfruiy020-6aHjr_0mGjNMlyHFGJZwOL/view?usp=sharing)
- [🔗 test Pjsslj APK v.105009](https://drive.google.com/file/d/1xJv6GwU95WxS73Z7qDxNcUGpp7KWfLx5/view?usp=sharing)
- testflight
**Purpose**
1. [Update]Fetching data loading in home_tasks_page, home_schedule_page, setting_home_page, inspection_schedule_page. 
2. Try Triggering HomePage loading by Provider (like store)
3. [Fix][Landing page & Forget Password page & Reset Password Page]The iPhone status bar color is too similar to the background color.

**test ios**
1. test 1 & 2 check loading
    - [x] home tasks
    - [x] -> inspection schedule page
    - [x] home schedules
    - [x] edit setting -> navigate back to home settings
2. test 3, check status bar color in iPhone
    - [x] Landing page
    - [x] Reset Password Page
    - [x] Forget Password Page


### Tingwei
## [Upgrade] Flutter 2.5.2
- [🔗 test Advantech APK v.105008](https://drive.google.com/file/d/1qXlvTVRen581KtaNT0Y7_HUZd8fcjgxv/view?usp=sharing)
- [🔗 test Pjsslj APK v.105008](https://drive.google.com/file/d/1qXlvTVRen581KtaNT0Y7_HUZd8fcjgxv/view?usp=sharing)
**Purpose**
1. upgrade to flutter 2.5.2
2. [Update]If user set "Always not allow camera", launch IOS or Android Setting when navigate to the QR Code page or the video recording page. 
3. [Fix][Event Report] when click "Event Report" button but scan an invalid QR code, show "Station/Equipment not found. Please check the QR code" error message. 
4. [Fix]When Station -> click the floating scan QR Code button -> scan a QR Code which is not in the Station, The English error message shows $1, but expect the current station name. 
5. [Add] Add dangerAlert method in base_state.dart 
6. [Add] Add replaceAsTextSpan method in LanUtility. It replaces $1, $2... to target TextSpan({...}), finally return a List<TextSpan>.
7. [Fix] enableAudio or not 
8. [Fix] Bug when click stop recording at 00:09 sec. In IOS, it saves two video files. In android, it navigates to the task list page. 
9. Fine-tune Permission handler of video recording widget
10. [Fix] Error, res 400, fieldId null, in condition Abnormal Event -> select an event which has a completed task -> Tasks management tab -> Completed tab -> select a completed task -> add a Child Task -> click Person in charge
11. [Fix][Abnormal events & Tasks management] Reviewing status chooses Others, fill Remarks field, click the Reviewed(submit api) button, but the request doesn't send. 
12. [Fix][Abnormal events] Clicking the child task list item causes a grey screen.
13. [Update] Sync password rules with EnSaaS. 
14. [Fix][Reset Password] Reset Password not work in Setting. 
15. [Update][Forget Password] Alert "New password successfully sent to xxx" when sent successfully. 
16. [Fix] Fix wrong key spelling, fountSize to fontSize.
17. [Update][Reset Password] Draw red color on the error rule if the Submit button has been clicked (isDirty true). 
18. [Update]Move the button in the bottom(Account list, Return to Sign in) of the screen into scrollView if in a small height device.
19. [Update][Forget Password & Edit Setting Email] Email invalid UI
20. [Fix][Abnormal Events: Add Extended Task Page] Clicking the blue i button causes a grey screen.
21. [Fix][Abnormal Events] Lacked or wrong fieldId causes causes a grey screen in condition Abnormal Events -> click processing event -> Tasks management tab -> Dispatched tab -> click a task which has a parent task -> click Subject of (parent tasks). 
22. [Change] For clearing naming, change job_manage/shcedule_page.dart to home_tasks_page.dart .
23. [Add] scan animation if ios

**test ios**
1. landing page 
    - [x] scan qrcode with scan animation
    - [x] -> password eye icon
    - [x] -> login
    - [x] -> account list
    - [x] -> forget password -> sned email -> login -> reset password
2. main page -> inspection schedule
    - [x] -> inspection schedule -> download
    - [x] -> scan to root station
    - [x] -> scan unknow qrcode
    - [x] -> click floating scan icon -> scan station/equip.
    - [x] -> click floating scan icon -> scan unknow qrcode
    - [x] -> fill all station & Equip.
    - [x] -> upload image
    - [x] -> upload audio
    - [x] -> upload video
    - [x] -> Result Normal
    - [x] -> fill abnormal -> upload image
    - [x] -> fill abnormal -> upload audio
    - [x] -> fill abnormal -> upload video
    - [x] -> Result Abnormal
    - [x] -> Result Skip
    - [x] -> open URL in the Equip. detail.
    - [x] -> upload inspection
    - [x] -> abort inspeciton
    - [x] -> pause inspection
    - [x] -> upload patrol
3. main page -> event report
    - [x] -> scan qrcode
    - [x] -> scan unknow qrcode
    - [x] -> fill report -> upload image
    - [x] -> fill report -> upload audio
    - [x] -> fill retort -> upload video
    - [x] -> send report
4. main page -> My Tasks
    - [x] -> filter area
    - [x] -> send forward
    - [x] -> fill report -> upload image
    - [x] -> fill report -> upload audio
    - [x] -> fill retort -> upload video
    - [x] -> send report
5. main page -> Abnormal Events
    - [x] -> filter area
    - [x] -> unprocessed -> Add a task
    - [x] -> processing -> Dispatched -> delete a task
    - [x] -> processing -> Completed -> add a child task
    - [x] -> processing -> Completed -> click a processing (assigned or reported) child task which is under `child task +`
    - [x] -> processing -> Completed -> click a completed child task which is under `child task +`
6. main page -> Tasks Management
    - [x] -> filter area
    - [x] -> Dispatched -> delete task
    - [x] -> Reported -> Delete Task
    - [x] -> Reported -> Reviewing -> Reviewed
    - [x] -> Reported -> Reviewing -> Redo unreviewed
    - [x] -> Reported -> Reviewing -> Complete unreviewed
    - [x] -> Reported -> Reviewing -> Modify task details
    - [x] -> Reported -> Reviewing -> Reassign person in charge
    - [x] -> Reported -> Reviewing -> Others
7. Schedule page 
    - [x] -> click task -> report task
    - [x] -> click patrol -> download -> finish this patrol
    - [x] -> upload multiple patrols
8. Setting page 
    - [x] -> Edit -> wrong email -> Save
    - [x] -> Reset Password
    - [x] -> Wrong Password rule
    - [x] -> valid password -> save

**test android**
1. landing page 
    - [x] -> scan qrcode
    - [x] -> password eye icon
    - [x] -> login
    - [x] -> account list
    - [x] -> forget password -> sned email -> login -> reset password
2. main page -> inspection schedule
    - [x] -> inspection schedule -> download
    - [x] -> scan
    - [x] -> scan unknow qrcode
    - [x] -> fill all station & Equip.
    - [x] -> Result Normal
    - [x] -> fill abnormal -> upload image
    - [x] -> fill abnormal -> upload audio
    - [x] -> fill abnormal -> upload video
    - [x] -> Result Abnormal
    - [x] -> Result Skip
    - [x] -> open URL in the Equip. detail.
    - [x] -> upload inspection
    - [x] -> abort inspeciton
    - [x] -> pause inspection
    - [x] -> upload patrol
3. main page -> Event report
    - [x] -> scan qrcode
    - [x] -> scan unknow qrcode
    - [x] -> fill report -> upload image
    - [x] -> fill report -> upload audio
    - [x] -> fill retort -> upload video
    - [x] -> send report
4. main page -> My Tasks
    - [x] -> filter area
    - [x] -> send forward
    - [x] -> fill report -> upload image
    - [x] -> fill report -> upload audio
    - [x] -> fill retort -> upload video
    - [x] -> send report
5. main page -> Abnormal Events
    - [x] -> filter area
    - [x] -> unprocessed -> Add a task
    - [x] -> processing -> Dispatched -> delete task
    - [x] -> processing -> Completed -> add a child task
    - [x] -> processing -> Completed -> click a processing (assigned or reported) child task which is under `child task +`
    - [x] -> processing -> Completed -> click a completed child task which is under `child task +`
6. main page -> Tasks Management
    - [x] -> filter area
    - [x] -> Dispatched -> delete task
    - [x] -> Reported -> Delete Task
    - [x] -> Reported -> Reviewing -> Reviewed
    - [x] -> Reported -> Reviewing -> Redo unreviewed
    - [x] -> Reported -> Reviewing -> Complete unreviewed
    - [x] -> Reported -> Reviewing -> Modify task details
    - [x] -> Reported -> Reviewing -> Reassign person in charge
    - [x] -> Reported -> Reviewing -> Others
7. Schedule page 
    - [x] -> click task -> report task
    - [x] -> click patrol -> download -> finish this patrol
    - [x] -> upload multiple patrols
8. Setting page 
    - [x] -> Edit -> wrong email -> Save
    - [x] -> Reset Password
    - [x] -> Wrong Password rule
    - [x] -> valid password -> save


## 2021/09/11
### Tingwei
#### [Add][Patrol] Equipment detail add URL. Clicking URL launches the website in the browser.

**Purpose**
1. [Add][Patrol] Equipment detail adds URL. Clicking URL launches the website in the browser. 
2. [Update][Gradle] To support clicking URL behavior, we need to add `<queries>` , and upgrade the Android Gradle Plugin version.
- [🔗 Advantech APK v.105007](https://drive.google.com/file/d/1ulSfQa0YjyhDTUZQUm5rKUktcZ7xsnzD/view?usp=sharing)
- [🔗 Pjsslj APK v.105007](https://drive.google.com/file/d/1hlTX87RCpiEaZIxIpmukIB_CWH6gZ0eC/view?usp=sharing)
- Testflight uploaded

**Test**
1. my iphone - Advantech version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
2. Davis's android (Android 8.0.0 API 26) - Advantech version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
3. android simulatior API 28 - Advantech version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
4. android simulatior API 29 - Advantech version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
5. android simulatior API 30 - Advantech version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
6. android simulatior API 31 - Advantech version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
7. android simulatior API 31 (the newest version) - pjsslj version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
8. android simulatior API 29 - pjsslj version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title
9. Davis's android (Android 8.0.0 API 26) - pjsslj version
    - [x] station detail -> no URL and its title
    - [x] equipment detail -> has http URL -> click URL
    - [x] equipment detail -> has https URL -> click URL
    - [x] equipment detail -> no URL but has title


## 2021/08/11
### Tingwei
#### [Fix][Schedule] Uniform Time format, change "hh" to "HH", etc.

**Purpose**
1. [Fix][Schedule] Uniform Time format, change "hh" to "HH". 
2. [Change][Schedule] Change Colors of Task and Patrol to increase identification.
3. [Fix][Task] "offsetMinutes" mistakenly uses "offset" which causes wrong time zoom offset. 
4. Add lock data of uni_links
[🔗 Advantech APK v.105006](https://drive.google.com/file/d/178RutMjO1GYIxeHbb-nP8rxuXq9Ok9s9/view?usp=sharing)
[🔗 Pjsslj APK v.105006](https://drive.google.com/file/d/1JEslnnhYkWcygOPqF2rY4j3csLm3oc23/view?usp=sharing)

**Test**
1. Davis's android - Advantech version
    - [x] schedule page -> time format
    - [x] schedule page -> color
    - [x] My Task -> check whether task time is UTC+8
2. my iphone - Advantech version
    - [x] schedule page -> time format
    - [x] schedule page -> color
    - [x] My Task -> check whether task time is UTC+8
3. android simulatior - pjsslj version
    - [x] schedule page -> time format
    - [x] schedule page -> color
    - [x] My Task -> check whether task time is UTC+8

## 2021/08/11
### Tingwei
[Add] ScrollBoxWidget & DialogWidget Component

[Download 105005 version APK 已更新](https://drive.google.com/file/d/1sq2lfDqewgJXV_TWIfa7BFnhf1UwReWi/view?usp=sharing)

**Purpose**
1. ScrollBoxWidget supports scrollbar. 
2. DialogWidget fine-tune dialog UI.
3. [Change] 中斷巡檢 -> 中斷，暫停巡檢 -> 暫停 . Fix text of button break-link in the small device.
4. [Fix] Fix, iPhone has a notch causing the onTap event area mismatching.

**Test**
1. android - simulatior
    - [x] main page
        - [x] -> Patrol Schedule Tasks List
            - [x] -> Station list
                - [x] -> Equipment/Sub-station list
                    - [x] -> Inspection detail
        - [x] -> My Tasks list
            - [x] -> Task Info
                - [x] -> Abnormalities dialog
                    - [x] -> Attachmemnt List
                        - [x] -> Attachmemnt Grid
            - [x] -> Reported Result
            - [x] -> Modify history
        - [x] -> Abnormal events
            - [x] -> Switch area
            - [x] -> All list
            - [x] -> Unprocessed list
                - [x] -> Abnoramlity detail
                    - [x] -> Attachmemnt List
                        - [x] -> Attachmemnt Grid
                - [x] -> Tasks management
                    - [x] -> Task Info
                    - [x] -> Abnormalities dialog
                        - [x] -> Attachmemnt List
                            - [x] -> Attachmemnt Grid
                    - [x] -> Add Task 
                        - [x] -> Person in charge -> Choose name list 
                    - [x] -> Reported Result
                    - [x] -> Modify history
        - [x] -> Tasks Management
            - [x] -> Switch area
            - [x] -> Dispatched list
            - [x] -> Reported list
                - [x] -> Abnoramlity detail
                - [x] -> Tasks management
                    - [x] -> Task Info
                    - [x] -> Abnormalities dialog
                        - [x] -> Attachmemnt List
                            - [x] -> Attachmemnt Grid
                    - [x] -> Add Task 
                    - [x] -> Reported Result
                        - [x] -> Reviewing Dialog
                    - [x] -> Modify history
    - [x] Schedule page
        - [x] -> list
            - [x] -> Station list
                - [x] -> Equipment/Sub-station list
                    - [x] -> Inspection detail
        - [x] -> Results not upload Page
    - [x] Settings page
        - [x] -> Edit Setting
    - [x] Login page
        - [x] -> Select Account
2. ios
    - [x] main page
        - [x] -> Patrol Schedule Tasks List
            - [x] -> Station list
                - [x] -> Equipment/Sub-station list
                    - [x] -> Inspection detail
        - [x] -> My Tasks list
            - [x] -> Task Info
                - [x] -> Abnormalities dialog
                    - [x] -> Attachmemnt List
                        - [x] -> Attachmemnt Grid
            - [x] -> Reported Result
            - [x] -> Modify history
        - [x] -> Abnormal events
            - [x] -> Switch area
            - [x] -> All list
            - [x] -> Unprocessed list
                - [x] -> Abnoramlity detail
                    - [x] -> Attachmemnt List
                        - [x] -> Attachmemnt Grid
                - [x] -> Tasks management
                    - [x] -> Task Info
                    - [x] -> Abnormalities dialog
                        - [x] -> Attachmemnt List
                            - [x] -> Attachmemnt Grid
                    - [x] -> Add Task 
                        - [x] -> Person in charge -> Choose name list 
                    - [x] -> Reported Result
                    - [x] -> Modify history
        - [x] -> Tasks Management
            - [x] -> Switch area
            - [x] -> Dispatched list
            - [x] -> Reported list
                - [x] -> Abnoramlity detail
                - [x] -> Tasks management
                    - [x] -> Task Info
                    - [x] -> Abnormalities dialog
                        - [x] -> Attachmemnt List
                            - [x] -> Attachmemnt Grid
                    - [x] -> Reported Result
                        - [x] -> Reviewing Dialog
                    - [x] -> Modify history
    - [x] Schedule page
        - [x] -> list
            - [x] -> Station list
                - [x] -> Equipment/Sub-station list
                    - [x] -> Inspection detail
        - [x] -> Results not upload Page
    - [x] Settings page
        - [x] -> Edit Setting (Only test in Simulator)
    - [x] Login page
        - [x] -> Select Account (Only test in Simulator)
3. test purpose 3 in Devid's android
    - [x] 中斷
    - [x] 暫停
4. test purpose 4 in 
    - [x] IPhone 12 max pro simulator
        - [x] Settings page
            - [x] -> Edit Setting
    - [x] my IPhone 8 plus
        - [x] Settings page
            - [x] -> Edit Setting
    - [x] Devid's android
        - [x] Settings page
            - [x] -> Edit Setting

## 2021/07/23
### Tingwei
[Add] My Tasks, issue info dialog adds attachment and download pdf, etc.

**Purpose**
1. Refer to the title
2. Fill domain and account by scanning QR code
3. Launch App by scanning QR code, then fill domain and account automatically
4. [Fix] Abnormalities Completed dialog and the search field of "Add Tasks -> select Person in Charge" can't input some keyboard types, i.g., Chinese. 
5. [Fix] High-speed input in some conditions happens input repeated changing, and then the changing gets a wrong result.

**Test**
1. Test attachment files in My tasks -> issue dialog 
    - [x] In IPhone simulatior, My tasks -> Select a task -> check attactment files in issue dialog
	- [x] In Android simulatior, My tasks -> Select a task -> check attactment files in issue dialog
	- [x] In IPhone with local server, My tasks -> Select a task -> Check attactment files in issue dialog
	- [x] Same component check, in Iphone with local server, abnormal events -> Select a event -> check attactment files
	- [x] In Android with production server, check video, audio, pdf, image
	- [x] testflight with production server, check video, audio, pdf, image

2. Test Scan QR code with Patrol Inspection App
    - [x] ios, scan QR code coded with domain && account
    - [x] ios, scan QR code coded with domain
    - [x] ios, scan QR code coded with account
    - [x] -> ios, when domain and account is not empty , scan qrcode with another domain and account
    - [x] ios, scan invalid scheme portal QR code, i.g., xxx://
    - [x] ios, scan invalid host QR code, i.g., `advantechpatrolinspection://com.advantech.www.advantechpatrolinspectio`

3. Test Scan QR code with IPhone original QR code Scanner
    - [x] scan qrcode with domain && account
    - [x] when app is not closed, scan qrcode with domain && account

4. Test Purpose 4 & 5
    - [x]  ios - Abnormalities Completed dialog -> input chinese
    - [x]  ios - Add Tasks -> select Person in Charge -> input chinese in search field
    - [x]  ios - Abnormalities Completed dialog -> High-Speed input
    - [x]  ios - Add Tasks -> select Person in Charge -> High-Speed input
    - [x]  android - Abnormalities Completed dialog -> input chinese
    - [x]  android - Add Tasks -> select Person in Charge -> input chinese in search field
    - [x]  android - Abnormalities Completed dialog -> High-Speed input
    - [x]  android - Add Tasks -> select Person in Charge -> High-Speed input

## 2021/06/3
### Tingwei
[Fix] "TaskManagement -> Reported -> Reported results -> select one -> Reviewing dialog" scrolling and fine-tune padding, etc.

**Purpose**
1. [Fix] "TaskManagement -> Reported -> Reported results -> Reviewing dialog" scrolling and fine-tune padding.
2. [Fix] The dialog does not show when clicking the blue "!" icon in "Abnormal Events -> click event -> Task Management -> Add task"
3. [Fix] There is no space between First Name and Last Name in the below conditions, 
	- "Abnormal Events -> click event -> Task Management -> Add task -> Person in charges"
	- "Abnormal Events -> click event -> Task Management -> Add task -> Person in charges -> Choose Name dialog -> select a name"
	- "My Tasks -> click one -> Assigned -> Forward -> select a name and click Confirm -> name in the Forward task dialog and Forwarded dialog"
4. [Change] Email Address aligns right in setting
5. [Change] Title of "Abnormalities reported" dialog shows '...' when it overflows.
6. [Fix] In en language, "My Tasks -> click one -> Assigned -> Forward -> select a name and click Confirm -> Forward -> Confirm -> Forwarded dialog" does not show name but showing #2 .

**Test**
1. purpose 1, check scroll 
    - [x] small size ios emulator - iphone 8
    - [x] big size ios emulator - iphone 12 pro max
    - [x] small size android emulator - Galaxy Naxus API 28
    - [x] testflight
2. purpose 2 & 5
    - [x] Abnormal Events -> click a event -> Task Management -> Add task -> click the blue "!" icon
    - [x] -> check whether the title of "Abnormalities reported" dialog shows '...' when it overflows
3. purpose 3 & 6, check whether a space between First Name and Last Name in the below conditions
	- [x] Abnormal Events -> click event -> Task Management -> Add task -> Person in charges -> Choose Name dialog -> select a name -> check name preview in the title
	- [x] -> Confirm -> chech name in "Person in charges"
	- [x] My Tasks -> click one -> Assigned -> Forward -> select a name and click Confirm -> check name in the Forward task dialog 
	- [x] -> check name in Forwarded dialog (purpose 3 & 6)
4. purpose 4
    - [x] check whether the email address aligns right in setting