[Nextcloud/android] passcode 화면에서 뒤로가기 누르면 앱 닫도록 코드 구현 후 PR
💚이전글 읽기💚
버그로 오해받은 이슈가 다시 enhancement label로 수정되었다.#7343
그리고 멤버 개발자가 설명 고맙다고 말하면서 좋은 개선 사항이라 칭찬해줬다..ㅎㅎ😎
멤버 개발자의 의견을 듣고 나니 PR을 날려도 되겠다고 생각했다.
tobiasKaminsky 멤버 개발자는 구현을 정말 빠르게하고 PR을 날린다. 그래서 지금 당장 코드 구현을 하지 않으면 코드 기여를 할 수 없을거란 조마조마한 마음에ㅋㅋㅋ 얼른 안드로이드 스튜디오를 열어 코드 분석을 하였다.
직전에 passcodelock.xml을 수정했기 때문에 이 레이아웃을 사용하는 클래스를 찾아봤다.
PassCodeActuvuty.java에서 사용하고 있었다. 그래서 이 클래스를 살펴봤다.
코드를 보니까 passcode를 설정하거나 해제할때도 이 클래스를 사용했다.
처음에는 onBackPressed()를 수정하여 앱을 실행시켜봤다. 근데.. 뒤로가기가 안된다.. 너무 쉽게 생각했나..😂
그래서 클래스 내부함수를 다시 확인했고, 그 중 onKeyDown()에서 키이벤트 관련 코드들이 있었다.
1 2 3 4 5 6 7 8 9 10 11 | @Override public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()== 0){ if (ACTION_REQUEST_WITH_RESULT.equals(getIntent().getAction()) || ACTION_CHECK_WITH_RESULT.equals(getIntent().getAction())) { finish(); } return true; } return super.onKeyDown(keyCode, event); } | cs |
주석을 읽어보니 여기서 뒤로가기 이벤트를 관리하는 것 같다!
ACTION_REQUEST_WITH_RESULT, ACTION_CHECK_WITH_RESULT는 passcode를 설정하거나 해제 동작 화면을 의미하는 변수인 것 같다. 그래서 다른 변수가 있나 찾아 봤는데, ACTION_CHECK 변수가 있었다. 변수명에서 오는 느낌이 딱 내가 원하는 passcode 화면이었다. 그래서 간단하게 Toast를 띄워 확인해봤는데.. 맞췄다!! 찾았다!!!
제일 안에 있는 if문에 else if문을 추가했다.
그런데 passcode를 설정하거나 해제하기보다는 확인하는 게 더더더 자주 사용되지 않을까? 그래서 if문의 순서를 바꿨다. 아주 조금이라도 효율이 더 좋아질거라 믿는다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @Override public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()== 0){ if(ACTION_CHECK.equals(getIntent().getAction())){ moveTaskToBack(true); finishAndRemoveTask(); }else if (ACTION_REQUEST_WITH_RESULT.equals(getIntent().getAction()) || ACTION_CHECK_WITH_RESULT.equals(getIntent().getAction())) { finish(); } return true; } return super.onKeyDown(keyCode, event); } | cs |
코드를 실행해보니 원하는 대로 잘 동작하였다.
현재는 PR을 날리고 의견을 기다리고 있는 상태이다.#7372 제발 제발 머지해주세요..🙏🏻
Android version: 5
Device model: Samsung Galaxy S9
Nextcloud app version: 3.15.0 Alpha 1
헉!😲 코드에 기여 하시다니 너무 잘 된 일이네요!
답글삭제꼭 merge 될 것 같아요~! 👍
감사합니다~💚💚
삭제얼른 merge되었다는 알림이 오면 좋겠어요🙏🏻
코드 구현 후 PR ,, ! 이뤄질 것 같아요! 👍👍 꼭 merge 되었으면 좋겠어요 🙏🏻
답글삭제헛! 감사합니다!!🙇🏻♀️
삭제코드 기여 대단해요 ㅠㅠㅠ
답글삭제확인해보니까 관리자님이 to review 태그 달아주셨네요!
merge 잘되셨으면 좋겠습니다^^
코드 기여라니 진짜 대단하신거 같아요!!
답글삭제